Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/evm can't invoke post-merge opcodes correctly #29782

Closed
Alleysira opened this issue May 15, 2024 · 3 comments · Fixed by #29799
Closed

cmd/evm can't invoke post-merge opcodes correctly #29782

Alleysira opened this issue May 15, 2024 · 3 comments · Fixed by #29799
Labels

Comments

@Alleysira
Copy link

System information

Geth version: geth & Tools 1.14.4
CL client & version: Nope
OS & Version: Linux
Commit hash : d2f00cb

Expected behaviour

cmd/evm should support opcodes introduced in shanghai fork.

Actual behaviour

cmd/evm raised "error":"invalid opcode: PUSH0" in the json file.

Steps to reproduce the behaviour

Hello guys, I think the problem that cmd/evm can't support for post-merge opcodes(like PUSH0) at #28690 is not fixed yet.

  1. I downloaded several recent binary archives of geth & Tools 1.14.0, 1.14.2 1.14.4 from https://geth.ethereum.org/downloads
  2. Create a genesis.json file that enables shanghai opcodes by setting shanghaiTime=0
{
    "config": {
      "chainId": 9599,
      "homesteadBlock": 0,
      "eip150Block": 0,
      "eip155Block": 0,
      "eip158Block": 0,
      "byzantiumBlock": 0,
      "constantinopleBlock": 0,
      "petersburgBlock": 0,
      "istanbulBlock": 0,
      "berlinBlock": 0,
      "londonBlock": 0,
      "shanghaiBlock": 0,
      "shanghaiTime":0
    },
    "alloc": {
      "0x1c7cd2d37ffd63856a5bd56a9af1643f2bcf545f": {
        "balance": "0xffffffffffffffffffffffffffffffffffffffff"
      }
    },
    "coinbase": "0x000000000000000000000000000000000000abcd",
    "difficulty": "0x0",
    "extraData": "",
    "gasLimit": "0xffffff",
    "nonce": "0x0000000000000042",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "timestamp": "0x00"
}
  1. Run the evm directly with the commands:
./evm --debug --verbosity 1 --gas 0xffffff --nomemory=false --json --sender 0x1c7cd2d37ffd63856a5bd56a9af1643f2bcf545f --receiver 0x000000000000000000000000636F6E7472616374 --code 6080604052348015600e575f80fd5b50600436106026575f3560e01c8063b349cb3214602a575b5f80fd5b60406004803603810190603c919060b2565b6042565b005b8073ffffffffffffffffffffffffffffffffffffffff16ff5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608682605f565b9050919050565b609481607e565b8114609d575f80fd5b50565b5f8135905060ac81608d565b92915050565b5f6020828403121560c45760c3605b565b5b5f60cf8482850160a0565b9150509291505056fea2646970667358221220802b048b24208868e10a279d062a61966de4d4410bf3b21674deb80178cc524964736f6c63430008170033 --input b349cb320000000000000000000000009957acb0b63afca54257b634bc605ec639f8165c --prestate ./genesis.json run 

Backtrace

The json outputs are

{"pc":0,"op":96,"gas":"0xffffff","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":2,"op":96,"gas":"0xfffffc","gasCost":"0x3","memSize":0,"stack":["0x80"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":4,"op":82,"gas":"0xfffff9","gasCost":"0xc","memSize":0,"stack":["0x80","0x40"],"depth":1,"refund":0,"opName":"MSTORE"}
{"pc":5,"op":52,"gas":"0xffffed","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"CALLVALUE"}
{"pc":6,"op":128,"gas":"0xffffeb","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"DUP1"}
{"pc":7,"op":21,"gas":"0xffffe8","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x0"],"depth":1,"refund":0,"opName":"ISZERO"}
{"pc":8,"op":96,"gas":"0xffffe5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":10,"op":87,"gas":"0xffffe2","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x1","0xe"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":14,"op":91,"gas":"0xffffd8","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":15,"op":80,"gas":"0xffffd7","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":16,"op":96,"gas":"0xffffd5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":18,"op":54,"gas":"0xffffd2","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x4"],"depth":1,"refund":0,"opName":"CALLDATASIZE"}
{"pc":19,"op":16,"gas":"0xffffd0","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x4","0x24"],"depth":1,"refund":0,"opName":"LT"}
{"pc":20,"op":96,"gas":"0xffffcd","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":22,"op":87,"gas":"0xffffca","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x26"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":23,"op":95,"gas":"0xffffc0","gasCost":"0x0","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":23,"op":95,"gas":"0xffffc0","gasCost":"0x0","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH0","error":"invalid opcode: PUSH0"}
{"output":"","gasUsed":"0xffffff","error":"invalid opcode: PUSH0"}
#### LOGS ####

The same commands and genesis.json work fine in geth 1.13.4-stable-3f907d6a but fail in geth 1.14.0-stable-87246f3c. The expected output from geth 1.13.4 is

{"pc":0,"op":96,"gas":"0xffffff","gasCost":"0x3","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":2,"op":96,"gas":"0xfffffc","gasCost":"0x3","memSize":0,"stack":["0x80"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":4,"op":82,"gas":"0xfffff9","gasCost":"0xc","memSize":0,"stack":["0x80","0x40"],"depth":1,"refund":0,"opName":"MSTORE"}
{"pc":5,"op":52,"gas":"0xffffed","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"CALLVALUE"}
{"pc":6,"op":128,"gas":"0xffffeb","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"DUP1"}
{"pc":7,"op":21,"gas":"0xffffe8","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x0"],"depth":1,"refund":0,"opName":"ISZERO"}
{"pc":8,"op":96,"gas":"0xffffe5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":10,"op":87,"gas":"0xffffe2","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x1","0xe"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":14,"op":91,"gas":"0xffffd8","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":15,"op":80,"gas":"0xffffd7","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":16,"op":96,"gas":"0xffffd5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":18,"op":54,"gas":"0xffffd2","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x4"],"depth":1,"refund":0,"opName":"CALLDATASIZE"}
{"pc":19,"op":16,"gas":"0xffffd0","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x4","0x24"],"depth":1,"refund":0,"opName":"LT"}
{"pc":20,"op":96,"gas":"0xffffcd","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":22,"op":87,"gas":"0xffffca","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0","0x26"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":23,"op":95,"gas":"0xffffc0","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":[],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":24,"op":53,"gas":"0xffffbe","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0x0"],"depth":1,"refund":0,"opName":"CALLDATALOAD"}
{"pc":25,"op":96,"gas":"0xffffbb","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb320000000000000000000000009957acb0b63afca54257b634bc605ec6"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":27,"op":28,"gas":"0xffffb8","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb320000000000000000000000009957acb0b63afca54257b634bc605ec6","0xe0"],"depth":1,"refund":0,"opName":"SHR"}
{"pc":28,"op":128,"gas":"0xffffb5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32"],"depth":1,"refund":0,"opName":"DUP1"}
{"pc":29,"op":99,"gas":"0xffffb2","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0xb349cb32"],"depth":1,"refund":0,"opName":"PUSH4"}
{"pc":34,"op":20,"gas":"0xffffaf","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0xb349cb32","0xb349cb32"],"depth":1,"refund":0,"opName":"EQ"}
{"pc":35,"op":96,"gas":"0xffffac","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":37,"op":87,"gas":"0xffffa9","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x1","0x2a"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":42,"op":91,"gas":"0xffff9f","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":43,"op":96,"gas":"0xffff9e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":45,"op":96,"gas":"0xffff9b","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":47,"op":128,"gas":"0xffff98","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4"],"depth":1,"refund":0,"opName":"DUP1"}
{"pc":48,"op":54,"gas":"0xffff95","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4","0x4"],"depth":1,"refund":0,"opName":"CALLDATASIZE"}
{"pc":49,"op":3,"gas":"0xffff93","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4","0x4","0x24"],"depth":1,"refund":0,"opName":"SUB"}
{"pc":50,"op":129,"gas":"0xffff90","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4","0x20"],"depth":1,"refund":0,"opName":"DUP2"}
{"pc":51,"op":1,"gas":"0xffff8d","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4","0x20","0x4"],"depth":1,"refund":0,"opName":"ADD"}
{"pc":52,"op":144,"gas":"0xffff8a","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x4","0x24"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":53,"op":96,"gas":"0xffff87","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x24","0x4"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":55,"op":145,"gas":"0xffff84","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x24","0x4","0x3c"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":56,"op":144,"gas":"0xffff81","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x4","0x24"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":57,"op":96,"gas":"0xffff7e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":59,"op":86,"gas":"0xffff7b","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0xb2"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":178,"op":91,"gas":"0xffff73","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":179,"op":95,"gas":"0xffff72","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4"],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":180,"op":96,"gas":"0xffff70","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":182,"op":130,"gas":"0xffff6d","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x20"],"depth":1,"refund":0,"opName":"DUP3"}
{"pc":183,"op":132,"gas":"0xffff6a","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x20","0x4"],"depth":1,"refund":0,"opName":"DUP5"}
{"pc":184,"op":3,"gas":"0xffff67","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x20","0x4","0x24"],"depth":1,"refund":0,"opName":"SUB"}
{"pc":185,"op":18,"gas":"0xffff64","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x20","0x20"],"depth":1,"refund":0,"opName":"SLT"}
{"pc":186,"op":21,"gas":"0xffff61","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0"],"depth":1,"refund":0,"opName":"ISZERO"}
{"pc":187,"op":96,"gas":"0xffff5e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":189,"op":87,"gas":"0xffff5b","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x1","0xc4"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":196,"op":91,"gas":"0xffff51","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":197,"op":95,"gas":"0xffff50","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0"],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":198,"op":96,"gas":"0xffff4e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":200,"op":132,"gas":"0xffff4b","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf"],"depth":1,"refund":0,"opName":"DUP5"}
{"pc":201,"op":130,"gas":"0xffff48","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24"],"depth":1,"refund":0,"opName":"DUP3"}
{"pc":202,"op":133,"gas":"0xffff45","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x0"],"depth":1,"refund":0,"opName":"DUP6"}
{"pc":203,"op":1,"gas":"0xffff42","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x0","0x4"],"depth":1,"refund":0,"opName":"ADD"}
{"pc":204,"op":96,"gas":"0xffff3f","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":206,"op":86,"gas":"0xffff3c","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0xa0"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":160,"op":91,"gas":"0xffff34","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":161,"op":95,"gas":"0xffff33","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4"],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":162,"op":129,"gas":"0xffff31","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x0"],"depth":1,"refund":0,"opName":"DUP2"}
{"pc":163,"op":53,"gas":"0xffff2e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x0","0x4"],"depth":1,"refund":0,"opName":"CALLDATALOAD"}
{"pc":164,"op":144,"gas":"0xffff2b","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":165,"op":80,"gas":"0xffff28","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":166,"op":96,"gas":"0xffff26","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":168,"op":129,"gas":"0xffff23","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac"],"depth":1,"refund":0,"opName":"DUP2"}
{"pc":169,"op":96,"gas":"0xffff20","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":171,"op":86,"gas":"0xffff1d","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x8d"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":141,"op":91,"gas":"0xffff15","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":142,"op":96,"gas":"0xffff14","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":144,"op":129,"gas":"0xffff11","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94"],"depth":1,"refund":0,"opName":"DUP2"}
{"pc":145,"op":96,"gas":"0xffff0e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":147,"op":86,"gas":"0xffff0b","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x7e"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":126,"op":91,"gas":"0xffff03","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":127,"op":95,"gas":"0xffff02","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":128,"op":96,"gas":"0xffff00","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":130,"op":130,"gas":"0xfffefd","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86"],"depth":1,"refund":0,"opName":"DUP3"}
{"pc":131,"op":96,"gas":"0xfffefa","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":133,"op":86,"gas":"0xfffef7","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x5f"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":95,"op":91,"gas":"0xfffeef","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":96,"op":95,"gas":"0xfffeee","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":97,"op":115,"gas":"0xfffeec","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"PUSH20"}
{"pc":118,"op":130,"gas":"0xfffee9","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0xffffffffffffffffffffffffffffffffffffffff"],"depth":1,"refund":0,"opName":"DUP3"}
{"pc":119,"op":22,"gas":"0xfffee6","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0xffffffffffffffffffffffffffffffffffffffff","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"AND"}
{"pc":120,"op":144,"gas":"0xfffee3","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":121,"op":80,"gas":"0xfffee0","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":122,"op":145,"gas":"0xfffede","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":123,"op":144,"gas":"0xfffedb","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x86"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":124,"op":80,"gas":"0xfffed8","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0x86","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"POP"}
{"pc":125,"op":86,"gas":"0xfffed6","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0x86"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":134,"op":91,"gas":"0xfffece","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":135,"op":144,"gas":"0xfffecd","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":136,"op":80,"gas":"0xfffeca","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":137,"op":145,"gas":"0xfffec8","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":138,"op":144,"gas":"0xfffec5","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94"],"depth":1,"refund":0,"opName":"SWAP1"}
{"pc":139,"op":80,"gas":"0xfffec2","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"POP"}
{"pc":140,"op":86,"gas":"0xfffec0","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x94"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":148,"op":91,"gas":"0xfffeb8","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":149,"op":129,"gas":"0xfffeb7","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"DUP2"}
{"pc":150,"op":20,"gas":"0xfffeb4","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"EQ"}
{"pc":151,"op":96,"gas":"0xfffeb1","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x1"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":153,"op":87,"gas":"0xfffeae","gasCost":"0xa","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c","0x1","0x9d"],"depth":1,"refund":0,"opName":"JUMPI"}
{"pc":157,"op":91,"gas":"0xfffea4","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":158,"op":80,"gas":"0xfffea3","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"POP"}
{"pc":159,"op":86,"gas":"0xfffea1","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0xac"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":172,"op":91,"gas":"0xfffe99","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":173,"op":146,"gas":"0xfffe98","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0xcf","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP3"}
{"pc":174,"op":145,"gas":"0xfffe95","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0x24","0x4","0xcf"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":175,"op":80,"gas":"0xfffe92","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0xcf","0x4","0x24"],"depth":1,"refund":0,"opName":"POP"}
{"pc":176,"op":80,"gas":"0xfffe90","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0xcf","0x4"],"depth":1,"refund":0,"opName":"POP"}
{"pc":177,"op":86,"gas":"0xfffe8e","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c","0xcf"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":207,"op":91,"gas":"0xfffe86","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":208,"op":145,"gas":"0xfffe85","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x0","0x0","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":209,"op":80,"gas":"0xfffe82","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0","0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":210,"op":80,"gas":"0xfffe80","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c","0x0"],"depth":1,"refund":0,"opName":"POP"}
{"pc":211,"op":146,"gas":"0xfffe7e","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x3c","0x24","0x4","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SWAP3"}
{"pc":212,"op":145,"gas":"0xfffe7b","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x24","0x4","0x3c"],"depth":1,"refund":0,"opName":"SWAP2"}
{"pc":213,"op":80,"gas":"0xfffe78","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x3c","0x4","0x24"],"depth":1,"refund":0,"opName":"POP"}
{"pc":214,"op":80,"gas":"0xfffe76","gasCost":"0x2","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x3c","0x4"],"depth":1,"refund":0,"opName":"POP"}
{"pc":215,"op":86,"gas":"0xfffe74","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x3c"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":60,"op":91,"gas":"0xfffe6c","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":61,"op":96,"gas":"0xfffe6b","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH1"}
{"pc":63,"op":86,"gas":"0xfffe68","gasCost":"0x8","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x42"],"depth":1,"refund":0,"opName":"JUMP"}
{"pc":66,"op":91,"gas":"0xfffe60","gasCost":"0x1","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"JUMPDEST"}
{"pc":67,"op":128,"gas":"0xfffe5f","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"DUP1"}
{"pc":68,"op":115,"gas":"0xfffe5c","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"PUSH20"}
{"pc":89,"op":22,"gas":"0xfffe59","gasCost":"0x3","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c","0xffffffffffffffffffffffffffffffffffffffff"],"depth":1,"refund":0,"opName":"AND"}
{"pc":90,"op":255,"gas":"0xfffe56","gasCost":"0x1db0","memory":"0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080","memSize":96,"stack":["0xb349cb32","0x40","0x9957acb0b63afca54257b634bc605ec639f8165c","0x9957acb0b63afca54257b634bc605ec639f8165c"],"depth":1,"refund":0,"opName":"SELFDESTRUCT"}
{"output":"","gasUsed":"0x1f59"}

I want to know whether this is a bug or the way to set evm genesis has changed. As I'm fuzzing evm implementations, to let geth/evm support new opcodes is important to me.
Thanks for your time :)

@holiman
Copy link
Contributor

holiman commented May 15, 2024

Minimal repro

$ go run ./cmd/evm --nomemory=false --json --code 5f run   
{"pc":0,"op":95,"gas":"0x2540be400","gasCost":"0x0","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH0"}
{"pc":0,"op":95,"gas":"0x2540be400","gasCost":"0x0","memSize":0,"stack":[],"depth":1,"refund":0,"opName":"PUSH0","error":"invalid opcode: PUSH0"}
{"output":"","gasUsed":"0x2540be400","error":"invalid opcode: PUSH0"}

The problem seems to be that it chooses IsMerge to false, because it doesn't have any randao input.

As I'm fuzzing evm implementations, to let geth/evm support new opcodes is important to me.

I'd advise you to use evm statetest. It's what I use in goevmlab, https://github.com/holiman/goevmlab/tree/master/evms , e.g geth https://github.com/holiman/goevmlab/blob/master/evms/geth.go#L91 , besu https://github.com/holiman/goevmlab/blob/master/evms/besu.go#L67 etc.

@Alleysira
Copy link
Author

Thanks for your quick reply! @holiman. I'll get to learn about how goevmlab works.

@holiman
Copy link
Contributor

holiman commented May 15, 2024

I'll get to learn about how goevmlab works.

I'm not saying you have to use goevmlab (although you probably should :) ) , but for differential fuzzing, statetest is the reference input format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants