diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/TraceJsonRpcHttpBySpecTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/TraceJsonRpcHttpBySpecTest.java index 3cabd73fe6..3cd1c3f955 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/TraceJsonRpcHttpBySpecTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/TraceJsonRpcHttpBySpecTest.java @@ -75,6 +75,6 @@ public class TraceJsonRpcHttpBySpecTest extends AbstractJsonRpcHttpBySpecTest { @Parameters(name = "{index}: {0}") public static Object[][] specs() { return AbstractJsonRpcHttpBySpecTest.findSpecFiles( - "trace/specs/flat", "trace/specs/vm-trace", "trace/specs/statediff"); + "trace/specs/flat", "trace/specs/vm-trace", "trace/specs/statediff", "trace/specs/all"); } } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x0.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x0.json new file mode 100644 index 0000000000..261a9af17b --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x0.json @@ -0,0 +1,21 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x0", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x1.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x1.json new file mode 100644 index 0000000000..1107db0cb5 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x1.json @@ -0,0 +1,21 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x1", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x2.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x2.json new file mode 100644 index 0000000000..d2179c4104 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x2.json @@ -0,0 +1,90 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x2", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x1bc16d674ec80000", + "to": "0x1bc16d674f149578" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0000000000000000000000000000000000000999": { + "balance": { + "+": "0x1" + }, + "code": { + "+": "0x" + }, + "nonce": { + "+": "0x0" + }, + "storage": {} + }, + "0x627306090abab3a6e1400e9345bc60c78a8bef57": { + "balance": { + "*": { + "from": "0xf0000000000000000000000", + "to": "0xeffffffffffffffffb36a87" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x0", + "to": "0x1" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gas": "0xffadea", + "input": "0x", + "to": "0x0000000000000000000000000000000000000999", + "value": "0x1" + }, + "result": { + "gasUsed": "0x0", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x28fa8042c7b5835f4f91fc20937f3e70dcf3585c1afe31202bb6075185f9abfe", + "vmTrace": { + "code": "0x", + "ops": [] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x3.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x3.json new file mode 100644 index 0000000000..ad0cbbd084 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x3.json @@ -0,0 +1,180 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x3", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x600035ff", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x3782dace9ddc9578", + "to": "0x3782dace9ea423b8" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x627306090abab3a6e1400e9345bc60c78a8bef57": { + "balance": { + "*": { + "from": "0xeffffffffffffffffb36a87", + "to": "0xefffffffffffffffeebdc47" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x1", + "to": "0x2" + } + }, + "storage": {} + }, + "0xf12b5dd4ead5f743c6baa640b0216200e89b60da": { + "balance": { + "+": "0x0" + }, + "code": { + "+": "0x600035ff" + }, + "nonce": { + "+": "0x1" + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gas": "0xff2d6a", + "init": "0x6004600c60003960046000f3600035ff", + "value": "0x0" + }, + "result": { + "address": "0xf12b5dd4ead5f743c6baa640b0216200e89b60da", + "code": "0x600035ff", + "gasUsed": "0x338" + }, + "subtraces": 0, + "traceAddress": [], + "type": "create" + } + ], + "transactionHash": "0x8d5477f0aae852c3e9487b0f8e7b9ecf9ccdf23d7934d4b4b7eff40c271031e5", + "vmTrace": { + "code": "0x6004600c60003960046000f3600035ff", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16723303 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xc" + ], + "store": null, + "used": 16723300 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16723297 + }, + "pc": 4, + "sub": null + }, + { + "cost": 9, + "ex": { + "mem": { + "data": "0x600035ff", + "off": 0 + }, + "push": [], + "store": null, + "used": 16723288 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16723285 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16723282 + }, + "pc": 9, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16723282 + }, + "pc": 11, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x4.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x4.json new file mode 100644 index 0000000000..53f738acda --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x4.json @@ -0,0 +1,438 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x4", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x53444835ed6c23b8", + "to": "0x53444835ee4d7c58" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0010000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000000", + "to": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + }, + "0x0000000000000000000000000000000000000000000000000000000000000002": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000000", + "to": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + } + } + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffffffffffff", + "to": "0xfffffffffffffffffffffffffffffffffff1ea75f" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x0", + "to": "0x1" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffaaea", + "input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", + "to": "0x0010000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x9c58", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7", + "vmTrace": { + "code": "0x6020356000355560603560403555", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755431 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755428 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755425 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755422 + }, + "pc": 5, + "sub": null + }, + { + "cost": 20000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x1", + "val": "0x1" + }, + "used": 16735422 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 16735419 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16735416 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16735413 + }, + "pc": 10, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16735410 + }, + "pc": 12, + "sub": null + }, + { + "cost": 20000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x2", + "val": "0x2" + }, + "used": 16715410 + }, + "pc": 13, + "sub": null + } + ] + } + }, + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x53444835ee4d7c58", + "to": "0x53444835eec16d28" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0010000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0000000000000000000000000000000000000000000000000000000000000003" + } + }, + "0x0000000000000000000000000000000000000000000000000000000000000002": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000002", + "to": "0x0000000000000000000000000000000000000000000000000000000000000004" + } + } + } + }, + "0x627306090abab3a6e1400e9345bc60c78a8bef57": { + "balance": { + "*": { + "from": "0xefffffffffffffffeebdc47", + "to": "0xefffffffffffffffe77eb77" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x2", + "to": "0x3" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", + "gas": "0xffaaea", + "input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", + "to": "0x0010000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x2728", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9", + "vmTrace": { + "code": "0x6020356000355560603560403555", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755431 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x3" + ], + "store": null, + "used": 16755428 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755425 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755422 + }, + "pc": 5, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x1", + "val": "0x3" + }, + "used": 16750422 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 16750419 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16750416 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16750413 + }, + "pc": 10, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16750410 + }, + "pc": 12, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x2", + "val": "0x4" + }, + "used": 16745410 + }, + "pc": 13, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x5.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x5.json new file mode 100644 index 0000000000..91122716b2 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x5.json @@ -0,0 +1,230 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x5", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x6f05b59d3d896d28", + "to": "0x6f05b59d3dc329d0" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0010000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000001": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000003", + "to": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + }, + "0x0000000000000000000000000000000000000000000000000000000000000002": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000004", + "to": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + } + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffffff1ea75f", + "to": "0xffffffffffffffffffffffffffffffffffee4eab7" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x1", + "to": "0x2" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffab6a", + "input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", + "to": "0x0010000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x2728", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0xdb2cd5e93dedae66371fc4a95452c746e11f7d2097464707597b8807c889ef5b", + "vmTrace": { + "code": "0x6020356000355560603560403555", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755559 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755556 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755553 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755550 + }, + "pc": 5, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x1", + "val": "0x0" + }, + "used": 16750550 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 16750547 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16750544 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16750541 + }, + "pc": 10, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16750538 + }, + "pc": 12, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x2", + "val": "0x0" + }, + "used": 16745538 + }, + "pc": 13, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x6.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x6.json new file mode 100644 index 0000000000..a49fb33d4f --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x6.json @@ -0,0 +1,153 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x6", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x8ac723048c8b29d0", + "to": "0x8ac723048cee68a2" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0000000000000999000000000000000000000000": { + "balance": { + "+": "0x300" + }, + "code": { + "+": "0x" + }, + "nonce": { + "+": "0x0" + }, + "storage": {} + }, + "0x0020000000000000000000000000000000000000": { + "balance": { + "-": "0x300" + }, + "code": { + "-": "0x600035ff" + }, + "nonce": { + "-": "0x0" + }, + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffee4eab7", + "to": "0xffffffffffffffffffffffffffffffffffe81abe5" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x2", + "to": "0x3" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffad1a", + "input": "0x0000000000000000000000000000000000000999", + "to": "0x0020000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x7536", + "output": "0x" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "address": "0x0020000000000000000000000000000000000000", + "balance": "0x300", + "refundAddress": "0x0000000000000999000000000000000000000000" + }, + "result": null, + "subtraces": 0, + "traceAddress": [ + 0 + ], + "type": "suicide" + } + ], + "transactionHash": "0x91eeabc671e2dd2b1c8ddebb46ba59e8cb3e7d189f80bcc868a9787728c6e59e", + "vmTrace": { + "code": "0x600035ff", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755991 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x999000000000000000000000000" + ], + "store": null, + "used": 16755988 + }, + "pc": 2, + "sub": null + }, + { + "cost": 30000, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16725988 + }, + "pc": 3, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x7.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x7.json new file mode 100644 index 0000000000..df86c3bdf7 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x7.json @@ -0,0 +1,195 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x7", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0xf000000000000000000000000000000000000000000000000000000000000002", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0xa688906bdbb668a2", + "to": "0xa688906bdc04064f" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffe81abe5", + "to": "0xffffffffffffffffffffffffffffffffffe340e38" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x3", + "to": "0x4" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffacea", + "input": "0xf000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0030000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1b", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x47f4d445ea1812cb1ddd3464ab23d2bfc6ed408a8a9db1c497f94e8e06e85286", + "vmTrace": { + "code": "0x60003560010160005260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755943 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000001" + ], + "store": null, + "used": 16755940 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755937 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000002" + ], + "store": null, + "used": 16755934 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755931 + }, + "pc": 6, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755925 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755922 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755919 + }, + "pc": 11, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16755919 + }, + "pc": 13, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x8.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x8.json new file mode 100644 index 0000000000..02c31327a6 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x8.json @@ -0,0 +1,455 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x8", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0xf000000000000000000000000000000000000000000000000000000000000002", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0xc249fdd32acc064f", + "to": "0xc249fdd32b1d145d" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffe340e38", + "to": "0xffffffffffffffffffffffffffffffffffde3002a" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x4", + "to": "0x5" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffac2a", + "input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0040000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x30a", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "callType": "call", + "from": "0x0040000000000000000000000000000000000000", + "gas": "0xfbaa9c", + "input": "0xf000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0030000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1b", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 0, + "traceAddress": [ + 0 + ], + "type": "call" + } + ], + "transactionHash": "0xa29f9d6a4f183f4c22c4857544a9a6b69c48d7bb8a97652be06e50bb69470666", + "vmTrace": { + "code": "0x60206000602036038060206000376000346000355af160206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755751 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755748 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755745 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16755743 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755740 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20", + "0x20" + ], + "store": null, + "used": 16755737 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755734 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755731 + }, + "pc": 11, + "sub": null + }, + { + "cost": 9, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755722 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755719 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755717 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755714 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x30000000000000000000000000000000000000" + ], + "store": null, + "used": 16755711 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xffabfd" + ], + "store": null, + "used": 16755709 + }, + "pc": 20, + "sub": null + }, + { + "cost": 16493912, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [ + "0x1" + ], + "store": null, + "used": 16754982 + }, + "pc": 21, + "sub": { + "code": "0x60003560010160005260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493209 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000001" + ], + "store": null, + "used": 16493206 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16493203 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000002" + ], + "store": null, + "used": 16493200 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493197 + }, + "pc": 6, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [], + "store": null, + "used": 16493191 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16493188 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493185 + }, + "pc": 11, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16493185 + }, + "pc": 13, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16754979 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16754976 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16754976 + }, + "pc": 26, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x9.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x9.json new file mode 100644 index 0000000000..838f19f222 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0x9.json @@ -0,0 +1,978 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0x9", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0xf000000000000000000000000000000000000000000000000000000000000002", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0xde0b6b3a79e5145d", + "to": "0xde0b6b3a7a3d13fb" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffde3002a", + "to": "0xffffffffffffffffffffffffffffffffffd8b008c" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x5", + "to": "0x6" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffaaaa", + "input": "0x000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0040000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x8fa", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "callType": "call", + "from": "0x0040000000000000000000000000000000000000", + "gas": "0xfba917", + "input": "0x00000000000000000000000000400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0040000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x5ff", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 1, + "traceAddress": [ + 0 + ], + "type": "call" + }, + { + "action": { + "callType": "call", + "from": "0x0040000000000000000000000000000000000000", + "gas": "0xf7b790", + "input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0040000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x30a", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 1, + "traceAddress": [ + 0, + 0 + ], + "type": "call" + }, + { + "action": { + "callType": "call", + "from": "0x0040000000000000000000000000000000000000", + "gas": "0xf3d5d5", + "input": "0xf000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0030000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1b", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 0, + "traceAddress": [ + 0, + 0, + 0 + ], + "type": "call" + } + ], + "transactionHash": "0x4af0ef28fbfcbdee7cc5925797c1b9030b3848c2f63f92737c3fe76b45582af5", + "vmTrace": { + "code": "0x60206000602036038060206000376000346000355af160206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755367 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755364 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755361 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x80" + ], + "store": null, + "used": 16755359 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 16755356 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x60", + "0x60" + ], + "store": null, + "used": 16755353 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755350 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755347 + }, + "pc": 11, + "sub": null + }, + { + "cost": 21, + "ex": { + "mem": { + "data": "0x00000000000000000000000000400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755326 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755323 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755321 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755318 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40000000000000000000000000000000000000" + ], + "store": null, + "used": 16755315 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xffaa71" + ], + "store": null, + "used": 16755313 + }, + "pc": 20, + "sub": null + }, + { + "cost": 16493523, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [ + "0x1" + ], + "store": null, + "used": 16753078 + }, + "pc": 21, + "sub": { + "code": "0x60206000602036038060206000376000346000355af160206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16492820 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16492817 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16492814 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x60" + ], + "store": null, + "used": 16492812 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16492809 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40", + "0x40" + ], + "store": null, + "used": 16492806 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16492803 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16492800 + }, + "pc": 11, + "sub": null + }, + { + "cost": 15, + "ex": { + "mem": { + "data": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16492785 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16492782 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16492780 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16492777 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x40000000000000000000000000000000000000" + ], + "store": null, + "used": 16492774 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xfba8e4" + ], + "store": null, + "used": 16492772 + }, + "pc": 20, + "sub": null + }, + { + "cost": 16235084, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [ + "0x1" + ], + "store": null, + "used": 16491294 + }, + "pc": 21, + "sub": { + "code": "0x60206000602036038060206000376000346000355af160206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16234381 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16234378 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16234375 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16234373 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16234370 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20", + "0x20" + ], + "store": null, + "used": 16234367 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16234364 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16234361 + }, + "pc": 11, + "sub": null + }, + { + "cost": 9, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16234352 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16234349 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16234347 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16234344 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x30000000000000000000000000000000000000" + ], + "store": null, + "used": 16234341 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xf7b763" + ], + "store": null, + "used": 16234339 + }, + "pc": 20, + "sub": null + }, + { + "cost": 15980689, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [ + "0x1" + ], + "store": null, + "used": 16233612 + }, + "pc": 21, + "sub": { + "code": "0x60003560010160005260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 15979986 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000001" + ], + "store": null, + "used": 15979983 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 15979980 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000002" + ], + "store": null, + "used": 15979977 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 15979974 + }, + "pc": 6, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [], + "store": null, + "used": 15979968 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 15979965 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 15979962 + }, + "pc": 11, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 15979962 + }, + "pc": 13, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16233609 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16233606 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16233606 + }, + "pc": 26, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16491291 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16491288 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16491288 + }, + "pc": 26, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16753075 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16753072 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16753072 + }, + "pc": 26, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xA.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xA.json new file mode 100644 index 0000000000..2afcaec2a2 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xA.json @@ -0,0 +1,455 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xA", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0xf000000000000000000000000000000000000000000000000000000000000002", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0xf9ccd8a1c90513fb", + "to": "0xf9ccd8a1c9562209" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffd8b008c", + "to": "0xffffffffffffffffffffffffffffffffffd39f27e" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x6", + "to": "0x7" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffac2a", + "input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0050000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x30a", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "callType": "callcode", + "from": "0x0050000000000000000000000000000000000000", + "gas": "0xfbaa9c", + "input": "0xf000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0030000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1b", + "output": "0xf000000000000000000000000000000000000000000000000000000000000002" + }, + "subtraces": 0, + "traceAddress": [ + 0 + ], + "type": "call" + } + ], + "transactionHash": "0x4ec95b7de430b61fc9a57ed35274fd766b7f5fac5213ab946963eb528deae6b5", + "vmTrace": { + "code": "0x60206000602036038060206000376000346000355af260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755751 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755748 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755745 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16755743 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755740 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20", + "0x20" + ], + "store": null, + "used": 16755737 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755734 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755731 + }, + "pc": 11, + "sub": null + }, + { + "cost": 9, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755722 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755719 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755717 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755714 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x30000000000000000000000000000000000000" + ], + "store": null, + "used": 16755711 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xffabfd" + ], + "store": null, + "used": 16755709 + }, + "pc": 20, + "sub": null + }, + { + "cost": 16493912, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [ + "0x1" + ], + "store": null, + "used": 16754982 + }, + "pc": 21, + "sub": { + "code": "0x60003560010160005260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493209 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000001" + ], + "store": null, + "used": 16493206 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16493203 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xf000000000000000000000000000000000000000000000000000000000000002" + ], + "store": null, + "used": 16493200 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493197 + }, + "pc": 6, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000002", + "off": 0 + }, + "push": [], + "store": null, + "used": 16493191 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16493188 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493185 + }, + "pc": 11, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16493185 + }, + "pc": 13, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16754979 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16754976 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16754976 + }, + "pc": 26, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xB.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xB.json new file mode 100644 index 0000000000..b26ec56c72 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xB.json @@ -0,0 +1,452 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xB", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0xf000000000000000000000000000000000000000000000000000000000000001", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x1158e4609181e2209", + "to": "0x1158e4609186f3017" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffd39f27e", + "to": "0xffffffffffffffffffffffffffffffffffce8e470" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x7", + "to": "0x8" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffac2a", + "input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0060000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x30a", + "output": "0xf000000000000000000000000000000000000000000000000000000000000001" + }, + "subtraces": 1, + "traceAddress": [], + "type": "call" + }, + { + "action": { + "callType": "delegatecall", + "from": "0x0060000000000000000000000000000000000000", + "gas": "0xfbaa9c", + "input": "0x", + "to": "0x0030000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1b", + "output": "0x0000000000000000000000000000000000000000000000000000000000000001" + }, + "subtraces": 0, + "traceAddress": [ + 0 + ], + "type": "call" + } + ], + "transactionHash": "0x6f77512ee9d43474a884c0703c86712fb98dca772fa6e12252786e3e23f196c1", + "vmTrace": { + "code": "0x60206000602036038060206000376000346000355af460206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755751 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755748 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755745 + }, + "pc": 4, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x40" + ], + "store": null, + "used": 16755743 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755740 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20", + "0x20" + ], + "store": null, + "used": 16755737 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16755734 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755731 + }, + "pc": 11, + "sub": null + }, + { + "cost": 9, + "ex": { + "mem": { + "data": "0xf000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755722 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755719 + }, + "pc": 14, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755717 + }, + "pc": 16, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755714 + }, + "pc": 17, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x30000000000000000000000000000000000000" + ], + "store": null, + "used": 16755711 + }, + "pc": 19, + "sub": null + }, + { + "cost": 2, + "ex": { + "mem": null, + "push": [ + "0xffabfd" + ], + "store": null, + "used": 16755709 + }, + "pc": 20, + "sub": null + }, + { + "cost": 16493912, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16754982 + }, + "pc": 21, + "sub": { + "code": "0x60003560010160005260206000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493209 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493206 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16493203 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16493200 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493197 + }, + "pc": 6, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x0000000000000000000000000000000000000000000000000000000000000001", + "off": 0 + }, + "push": [], + "store": null, + "used": 16493191 + }, + "pc": 8, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16493188 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16493185 + }, + "pc": 11, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16493185 + }, + "pc": 13, + "sub": null + } + ] + } + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x20" + ], + "store": null, + "used": 16754979 + }, + "pc": 22, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16754976 + }, + "pc": 24, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16754976 + }, + "pc": 26, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xC.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xC.json new file mode 100644 index 0000000000..32f7e284e3 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xC.json @@ -0,0 +1,199 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xC", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x1314fb37067373017", + "to": "0x1314fb3706783e191" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffce8e470", + "to": "0xffffffffffffffffffffffffffffffffffc9c32f6" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x8", + "to": "0x9" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x0070000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x1e", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x12e4a98e63825852a69d7702202a3b593e4059ec913c479443665d590da18724", + "vmTrace": { + "code": "0x600160025360036004536001600553", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16756196 + }, + "pc": 2, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x01", + "off": 2 + }, + "push": [], + "store": null, + "used": 16756190 + }, + "pc": 4, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x3" + ], + "store": null, + "used": 16756187 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16756184 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": { + "data": "0x03", + "off": 4 + }, + "push": [], + "store": null, + "used": 16756181 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16756178 + }, + "pc": 10, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x5" + ], + "store": null, + "used": 16756175 + }, + "pc": 12, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": { + "data": "0x01", + "off": 5 + }, + "push": [], + "store": null, + "used": 16756172 + }, + "pc": 14, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xD.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xD.json new file mode 100644 index 0000000000..2d7fed9292 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xD.json @@ -0,0 +1,102 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xD", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x14d1120d7b64be191", + "to": "0x14d1120d8a54bd47f" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xffffffffffffffffffffffffffffffffffc9c32f6", + "to": "0xfffffffffffffffffffffffffffffffff0d9c4008" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0x9", + "to": "0xa" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x0080000000000000000000000000000000000000", + "value": "0x0" + }, + "error": "Out of gas", + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x547c7e2fcdf9f88b03b4f4184d667d6768c669f279785774d0cf42435cab06f1", + "vmTrace": { + "code": "0x7f3940be4289e4c3587d88c1856cc95352461992db0a584c281226faefe560b3017f14c4d2c102bdeb2354bfc3dc96a95e4512cf3a8461e0560e2272dbf884ef390552", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x3940be4289e4c3587d88c1856cc95352461992db0a584c281226faefe560b301" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x14c4d2c102bdeb2354bfc3dc96a95e4512cf3a8461e0560e2272dbf884ef3905" + ], + "store": null, + "used": 16756196 + }, + "pc": 33, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xE.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xE.json new file mode 100644 index 0000000000..0eea3f0733 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xE.json @@ -0,0 +1,703 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xE", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x01", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x168d28e3ff413d47f", + "to": "0x168d28e3ff4aa3091" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0090000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000000", + "to": "0x0000000000000000000000000000000000000000000000000000000000000001" + } + } + } + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffff0d9c4008", + "to": "0xfffffffffffffffffffffffffffffffff0d05e3f6" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0xa", + "to": "0xb" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x0090000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x4f06", + "output": "0x01" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0xe3ebc73c55176c3f2e72b289f8a9cefbcd5b25dcd205db5661f81b0bb974fa73", + "vmTrace": { + "code": "0x6000546001018060005360005560016000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 200, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755999 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755996 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755993 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1", + "0x1" + ], + "store": null, + "used": 16755990 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755987 + }, + "pc": 7, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x01", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755981 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755978 + }, + "pc": 10, + "sub": null + }, + { + "cost": 20000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x0", + "val": "0x1" + }, + "used": 16735978 + }, + "pc": 12, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16735975 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16735972 + }, + "pc": 15, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16735972 + }, + "pc": 17, + "sub": null + } + ] + } + }, + { + "output": "0x02", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x168d28e3ff4aa3091", + "to": "0x168d28e3ff509d8bb" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0090000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000001", + "to": "0x0000000000000000000000000000000000000000000000000000000000000002" + } + } + } + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffff0d05e3f6", + "to": "0xfffffffffffffffffffffffffffffffff0ca63bcc" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0xb", + "to": "0xc" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x0090000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x146e", + "output": "0x02" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0xb4dc55ca4a7c1f72402860c594efaa7da32035003f8e203b7f6a3cf1826685a5", + "vmTrace": { + "code": "0x6000546001018060005360005560016000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 200, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755999 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755996 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16755993 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x2", + "0x2" + ], + "store": null, + "used": 16755990 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755987 + }, + "pc": 7, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x02", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755981 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755978 + }, + "pc": 10, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x0", + "val": "0x2" + }, + "used": 16750978 + }, + "pc": 12, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16750975 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16750972 + }, + "pc": 15, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16750972 + }, + "pc": 17, + "sub": null + } + ] + } + }, + { + "output": "0x03", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x168d28e3ff509d8bb", + "to": "0x168d28e3ff56980e5" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0x0090000000000000000000000000000000000000": { + "balance": "=", + "code": "=", + "nonce": "=", + "storage": { + "0x0000000000000000000000000000000000000000000000000000000000000000": { + "*": { + "from": "0x0000000000000000000000000000000000000000000000000000000000000002", + "to": "0x0000000000000000000000000000000000000000000000000000000000000003" + } + } + } + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffff0ca63bcc", + "to": "0xfffffffffffffffffffffffffffffffff0c4693a2" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0xc", + "to": "0xd" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x0090000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x146e", + "output": "0x03" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x1a9f6256886437cfa21ee7685dd7a996024bea4d4bf6554b14787a6c9e5b90e6", + "vmTrace": { + "code": "0x6000546001018060005360005560016000f3", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 200, + "ex": { + "mem": null, + "push": [ + "0x2" + ], + "store": null, + "used": 16755999 + }, + "pc": 2, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16755996 + }, + "pc": 3, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x3" + ], + "store": null, + "used": 16755993 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x3", + "0x3" + ], + "store": null, + "used": 16755990 + }, + "pc": 6, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755987 + }, + "pc": 7, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x03", + "off": 0 + }, + "push": [], + "store": null, + "used": 16755981 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16755978 + }, + "pc": 10, + "sub": null + }, + { + "cost": 5000, + "ex": { + "mem": null, + "push": [], + "store": { + "key": "0x0", + "val": "0x3" + }, + "used": 16750978 + }, + "pc": 12, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16750975 + }, + "pc": 13, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x0" + ], + "store": null, + "used": 16750972 + }, + "pc": 15, + "sub": null + }, + { + "cost": 0, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16750972 + }, + "pc": 17, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xF.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xF.json new file mode 100644 index 0000000000..85d3273c47 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/trace/specs/all/trace_replayBlockTransactions_all_0xF.json @@ -0,0 +1,329 @@ +{ + "request": { + "jsonrpc": "2.0", + "method": "trace_replayBlockTransactions", + "params": [ + "0xF", + [ + "trace", + "vmTrace", + "stateDiff" + ] + ], + "id": 415 + }, + "response": { + "jsonrpc": "2.0", + "result": [ + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x18493fba7443180e5", + "to": "0x18493fba74480eda2" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffff0c4693a2", + "to": "0xfffffffffffffffffffffffffffffffff0bf726e5" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0xd", + "to": "0xe" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x00a0000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x30b", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0x293cefc718137a74d36a5da204e3617604a9e8dfc79b6a6efb11056b3efd3b4a", + "vmTrace": { + "code": "0x608b60045360ff60016004a1", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x8b" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16756196 + }, + "pc": 2, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x8b", + "off": 4 + }, + "push": [], + "store": null, + "used": 16756190 + }, + "pc": 4, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xff" + ], + "store": null, + "used": 16756187 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16756184 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16756181 + }, + "pc": 9, + "sub": null + }, + { + "cost": 758, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16755423 + }, + "pc": 11, + "sub": null + } + ] + } + }, + { + "output": "0x", + "stateDiff": { + "0x0000000000000000000000000000000000000000": { + "balance": { + "*": { + "from": "0x18493fba74480eda2", + "to": "0x18493fba744d1bb45" + } + }, + "code": "=", + "nonce": "=", + "storage": {} + }, + "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73": { + "balance": { + "*": { + "from": "0xfffffffffffffffffffffffffffffffff0bf726e5", + "to": "0xfffffffffffffffffffffffffffffffff0ba65942" + } + }, + "code": "=", + "nonce": { + "*": { + "from": "0xe", + "to": "0xf" + } + }, + "storage": {} + } + }, + "trace": [ + { + "action": { + "callType": "call", + "from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "gas": "0xffadea", + "input": "0x", + "to": "0x00b0000000000000000000000000000000000000", + "value": "0x0" + }, + "result": { + "gasUsed": "0x485", + "output": "0x" + }, + "subtraces": 0, + "traceAddress": [], + "type": "call" + } + ], + "transactionHash": "0xb19370be2ace59794ee9bb5a69db98464cd6cb0b02b9afb3b978c9aad2bf5417", + "vmTrace": { + "code": "0x608b60045360aa60ff60016004a2", + "ops": [ + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x8b" + ], + "store": null, + "used": 16756199 + }, + "pc": 0, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16756196 + }, + "pc": 2, + "sub": null + }, + { + "cost": 6, + "ex": { + "mem": { + "data": "0x8b", + "off": 4 + }, + "push": [], + "store": null, + "used": 16756190 + }, + "pc": 4, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xaa" + ], + "store": null, + "used": 16756187 + }, + "pc": 5, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0xff" + ], + "store": null, + "used": 16756184 + }, + "pc": 7, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x1" + ], + "store": null, + "used": 16756181 + }, + "pc": 9, + "sub": null + }, + { + "cost": 3, + "ex": { + "mem": null, + "push": [ + "0x4" + ], + "store": null, + "used": 16756178 + }, + "pc": 11, + "sub": null + }, + { + "cost": 1133, + "ex": { + "mem": null, + "push": [], + "store": null, + "used": 16755045 + }, + "pc": 13, + "sub": null + } + ] + } + } + ], + "id": 415 + }, + "statusCode": 200 +}