Skip to content

Commit de87e24

Browse files
committed
tests: add generated tests for eth_simulateV1
1 parent 8f3251f commit de87e24

File tree

93 files changed

+277
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+277
-1
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
// queries for logs with two topics, with both topics set explicitly
1+
// queries for logs with two topics, with both topics set explictly
22
>> {"jsonrpc":"2.0","id":1,"method":"eth_getLogs","params":[{"address":null,"fromBlock":"0x3","toBlock":"0x6","topics":[["0x00000000000000000000000000000000000000000000000000000000656d6974"],["0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"]]}]}
33
<< {"jsonrpc":"2.0","id":1,"result":[{"address":"0x7dcd17433742f4c0ca53122ab541d0ba67fc27df","topics":["0x00000000000000000000000000000000000000000000000000000000656d6974","0x4238ace0bf7e66fd40fea01bdf43f4f30423f48432efd0da3af5fcb17a977fd4"],"data":"0x0000000000000000000000000000000000000000000000000000000000000001","blockNumber":"0x4","transactionHash":"0xf047c5133c96c405a79d01038b4ccf8208c03e296dd9f6bea083727c9513f805","transactionIndex":"0x0","blockHash":"0x94540b21748e45497c41518ed68b2a0c16d728e917b665ae50d51f6895242e53","logIndex":"0x0","removed":false}]}

tests/eth_simulateV1/ethSimulate-add-more-non-defined-BlockStateCalls-than-fit-but-now-with-fit.io

Lines changed: 3 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Add more BlockStateCalls between two BlockStateCalls than it actually fits there
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"number":"0x91"},"stateOverrides":{"0xc100000000000000000000000000000000000000":{"code":"0x608060405234801561001057600080fd5b506000366060484641444543425a3a60014361002c919061009b565b406040516020016100469a99989796959493929190610138565b6040516020818303038152906040529050915050805190602001f35b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006100a682610062565b91506100b183610062565b92508282039050818111156100c9576100c861006c565b5b92915050565b6100d881610062565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610109826100de565b9050919050565b610119816100fe565b82525050565b6000819050919050565b6101328161011f565b82525050565b60006101408201905061014e600083018d6100cf565b61015b602083018c6100cf565b610168604083018b610110565b610175606083018a6100cf565b61018260808301896100cf565b61018f60a08301886100cf565b61019c60c08301876100cf565b6101a960e08301866100cf565b6101b76101008301856100cf565b6101c5610120830184610129565b9b9a505050505050505050505056fea26469706673582212205139ae3ba8d46d11c29815d001b725f9840c90e330884ed070958d5af4813d8764736f6c63430008120033"}},"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","input":"0x"}]},{"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","input":"0x"}]},{"blockOverrides":{"number":"0x92"},"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","input":"0x"}]}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"error":{"code":-38020,"message":"block numbers must be in order: 146 \u003c= 146"}}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Error: BaseFeePerGas too low with validation (-38012)
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"baseFeePerGas":"0xa"},"stateOverrides":{"0xc000000000000000000000000000000000000000":{"balance":"0x7d0"}},"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","maxFeePerGas":"0x0","maxPriorityFeePerGas":"0x0"}]}],"validation":true},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"error":{"code":-32602,"message":"err: max fee per gas less than block base fee: address 0xC000000000000000000000000000000000000000, maxFeePerGas: 0, baseFee: 10 (supplied gas 50000000)"}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// tries to send transaction with zero basefee
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"calls":[{"from":"0xc100000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","maxFeePerGas":"0x0","maxPriorityFeePerGas":"0x0"}]}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"result":[{"baseFeePerGas":"0x0","blobGasUsed":"0x0","calls":[{"returnData":"0x","logs":[],"gasUsed":"0x5208","status":"0x1"}],"difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x5208","hash":"0x32d899b4a5d5820986b0e57317e8297483dbee47ed34e142b40af57d748ec7e8","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2e","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","receiptsRoot":"0xf78dfb743fbd92ade140711c8bbc542b5e307f0ab7984eff35d751969fe57efa","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x292","stateRoot":"0xa69d1ef0916741b71d3fdf396154b0e2ba97522cef111db4982a932ae59f55dd","timestamp":"0x1ce","transactions":["0x234a1d9897819c206fdeb6af312d742010a91b5b4159978a902c9a0b90e7bee5"],"transactionsRoot":"0xed81b1bfe79c8c81d3fe874f7214a9fb9dd186e8243abfeabc506550a532c09a","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}]}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Error: BaseFeePerGas too low with no validation (-38012)
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"baseFeePerGas":"0xa"},"stateOverrides":{"0xc000000000000000000000000000000000000000":{"balance":"0x7d0"}},"calls":[{"from":"0xc100000000000000000000000000000000000000","to":"0xc100000000000000000000000000000000000000","maxFeePerGas":"0x0","maxPriorityFeePerGas":"0x0"}]}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"result":[{"baseFeePerGas":"0xa","blobGasUsed":"0x0","calls":[{"returnData":"0x","logs":[],"gasUsed":"0x5208","status":"0x1"}],"difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x5208","hash":"0x8e155c8b6645458f71fe5fb4bb58e3d9cec312ce6594c56ff2281383fb9af1d5","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2e","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","receiptsRoot":"0xf78dfb743fbd92ade140711c8bbc542b5e307f0ab7984eff35d751969fe57efa","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x292","stateRoot":"0x52915ed2e3168e3ea4e892a871902e08f77ed467a92bf4a997eca254a3c760e3","timestamp":"0x1ce","transactions":["0x234a1d9897819c206fdeb6af312d742010a91b5b4159978a902c9a0b90e7bee5"],"transactionsRoot":"0xed81b1bfe79c8c81d3fe874f7214a9fb9dd186e8243abfeabc506550a532c09a","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}]}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Have a block state calls with 300 blocks
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"error":{"code":-38026,"message":"too many blocks"}}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// simulates a simple blob transaction
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"baseFeePerGas":"0xf","blobBaseFee":"0x0"},"stateOverrides":{"0xc000000000000000000000000000000000000000":{"balance":"0x3b9aca00"},"0xc200000000000000000000000000000000000000":{"code":"0x6080604052348015600e575f80fd5b505f3660605f49600149600249604051602001602b93929190605d565b6040516020818303038152906040529050915050805190602001f35b5f819050919050565b6057816047565b82525050565b5f606082019050606e5f8301866050565b607960208301856050565b608460408301846050565b94935050505056fea26469706673582212206284471b14925acedc8cf50c596b6850cfda0372471ee8893750f3e61bf3778164736f6c634300081a0033"}},"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc200000000000000000000000000000000000000","maxFeePerGas":"0x10","maxFeePerBlobGas":"0xa","blobVersionedHashes":["0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"]}]},{"blockOverrides":{"blobBaseFee":"0x1"},"calls":[{"from":"0xc000000000000000000000000000000000000000","to":"0xc200000000000000000000000000000000000000","maxFeePerGas":"0x10","maxFeePerBlobGas":"0xa","blobVersionedHashes":["0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"]}]}],"validation":true,"returnFullTransactions":true},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"result":[{"baseFeePerGas":"0xf","blobGasUsed":"0x20000","calls":[{"returnData":"0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","logs":[],"gasUsed":"0x53f6","status":"0x1"}],"difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x53f6","hash":"0x974d555bd544ec06c8f91030ed6535edb7a36d9ee2c96d5fafbc243291fef787","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2e","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0xaf51811799f22260e5b4e1f95504dae760505f102dcb2e9ca7d897d8a40124a1","receiptsRoot":"0x61d638ad6837c75ea2c4a8e413d9c5a2c2bcf40979e6ba9293a113b6769d2fa6","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2bb","stateRoot":"0x390647bdf98d8f7ba1f9a16bde42e31f33ac2c9f45a8044229c462dc7d9adef3","timestamp":"0x1ce","transactions":[{"blockHash":"0x974d555bd544ec06c8f91030ed6535edb7a36d9ee2c96d5fafbc243291fef787","blockNumber":"0x2e","from":"0xc000000000000000000000000000000000000000","gas":"0x2faf080","gasPrice":"0xf","maxFeePerGas":"0x10","maxPriorityFeePerGas":"0x0","maxFeePerBlobGas":"0xa","hash":"0x6dd302137bafa6817cdd92b1157be1eb7b884b32e9bcab7f4084ee4c05a5dba3","input":"0x","nonce":"0x0","to":"0xc200000000000000000000000000000000000000","transactionIndex":"0x0","value":"0x0","type":"0x3","accessList":[],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"],"v":"0x0","r":"0x0","s":"0x0","yParity":"0x0"}],"transactionsRoot":"0x7dd14954593162835c846350d8da40d6164b21bcee321e835d00b902adc4fa2d","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"},{"baseFeePerGas":"0xe","blobGasUsed":"0x20000","calls":[{"returnData":"0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","logs":[],"gasUsed":"0x53f6","status":"0x1"}],"difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x47e7c40","gasUsed":"0x53f6","hash":"0xfe9d27439e8a602340fdf47e084f1e35bc64e9399d1c4ef542329ea00170ae35","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nonce":"0x0000000000000000","number":"0x2f","parentBeaconBlockRoot":"0x0000000000000000000000000000000000000000000000000000000000000000","parentHash":"0x974d555bd544ec06c8f91030ed6535edb7a36d9ee2c96d5fafbc243291fef787","receiptsRoot":"0x61d638ad6837c75ea2c4a8e413d9c5a2c2bcf40979e6ba9293a113b6769d2fa6","requestsHash":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2bb","stateRoot":"0xb090f28bc28d4dd66594683d4b52368929c7d8f89ef67c83ea0e0c67506af511","timestamp":"0x1da","transactions":[{"blockHash":"0xfe9d27439e8a602340fdf47e084f1e35bc64e9399d1c4ef542329ea00170ae35","blockNumber":"0x2f","from":"0xc000000000000000000000000000000000000000","gas":"0x2fa9c8a","gasPrice":"0xe","maxFeePerGas":"0x10","maxPriorityFeePerGas":"0x0","maxFeePerBlobGas":"0xa","hash":"0x08fae926ea323fb66e5cd130bc2d656f5cc51fcd8a13899c98c6037b7dad36af","input":"0x","nonce":"0x1","to":"0xc200000000000000000000000000000000000000","transactionIndex":"0x0","value":"0x0","type":"0x3","accessList":[],"chainId":"0xc72dd9d5e883e","blobVersionedHashes":["0x010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c444014"],"v":"0x0","r":"0x0","s":"0x0","yParity":"0x0"}],"transactionsRoot":"0x8364e744eb2e6d7e3c2e87ba7e3306b4ded112e46dbaa09e577ea118beb7078d","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}]}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// simulates calls with invalid block num order (-38020)
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"number":"0x91"},"calls":[{"from":"0xc100000000000000000000000000000000000000","input":"0x4360005260206000f3"}]},{"blockOverrides":{"number":"0x87"},"calls":[{"from":"0xc000000000000000000000000000000000000000","input":"0x4360005260206000f3"}]}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"error":{"code":-38020,"message":"block numbers must be in order: 135 \u003c= 145"}}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// Checks that block overrides are true in contract for block number and time
2+
>> {"jsonrpc":"2.0","id":1,"method":"eth_simulateV1","params":[{"blockStateCalls":[{"blockOverrides":{"number":"0x32","time":"0x1cc"}},{"blockOverrides":{"number":"0x37","time":"0x1d6"}},{"blockOverrides":{"number":"0x41","time":"0x1e0"}}]},"latest"]}
3+
<< {"jsonrpc":"2.0","id":1,"error":{"code":-38021,"message":"block timestamps must be in order: 460 \u003c= 498"}}

0 commit comments

Comments
 (0)