From be42a1cbb5fed81fc1b72277bf66dc5b35586a3d Mon Sep 17 00:00:00 2001 From: Luis Pinto Date: Thu, 20 Feb 2025 16:19:42 +0000 Subject: [PATCH] Add verkle access witness stats in EVM to tracing Signed-off-by: Luis Pinto --- .../besu/datatypes/AccessWitness.java | 8 + .../besu/datatypes/BranchAccessKey.java | 25 + .../besu/datatypes/LeafAccessKey.java | 39 + .../methods/AbstractTraceByBlock.java | 1 + .../internal/methods/AbstractTraceByHash.java | 3 +- .../internal/methods/DebugAccountAt.java | 3 +- .../jsonrpc/internal/methods/TraceBlock.java | 2 +- .../jsonrpc/internal/methods/TraceFilter.java | 2 +- .../methods/TraceReplayBlockTransactions.java | 2 +- .../parameters/TransactionTraceParams.java | 9 +- .../priv/AbstractPrivateTraceByHash.java | 3 +- .../internal/processor/TransactionTracer.java | 4 +- .../jsonrpc/internal/results/StructLog.java | 28 +- .../methods/DebugTraceBlockByHashTest.java | 1 + .../methods/DebugTraceBlockByNumberTest.java | 1 + .../internal/methods/DebugTraceBlockTest.java | 1 + .../methods/DebugTraceTransactionTest.java | 2 + .../debug/trace-call/debug_traceCall_all.json | 31 +- .../trace-call/debug_traceCall_complete.json | 27 + .../debug_traceCall_disableMemory.json | 27 + .../debug_traceCall_disableStack.json | 27 + ...bug_traceCall_disableStatelessWitness.json | 327 ++++ .../debug_traceCall_disableStorage.json | 27 + .../debug_traceCall_noGasPrice.json | 1 + .../debug_traceTransaction_complete.json | 106 + .../debug_traceTransaction_disableMemory.json | 106 + .../debug_traceTransaction_disableStack.json | 106 + ...ceTransaction_disableStatelessWitness.json | 1736 +++++++++++++++++ ...debug_traceTransaction_disableStorage.json | 106 + .../vm/TraceTransactionIntegrationTest.java | 4 +- .../besu/ethereum/debug/TraceFrame.java | 10 + .../besu/ethereum/debug/TraceOptions.java | 29 +- .../ethereum/vm/DebugOperationTracer.java | 19 +- .../core/MessageFrameTestFixture.java | 8 + .../ethereum/vm/DebugOperationTracerTest.java | 64 +- .../besu/evmtool/EvmToolCommand.java | 11 +- .../besu/evmtool/StateTestSubCommand.java | 3 +- .../besu/evmtool/T8nServerSubCommand.java | 3 +- .../besu/evmtool/T8nSubCommand.java | 3 +- .../stateless/Eip4762AccessWitness.java | 9 +- .../stateless/NoopAccessWitness.java | 8 + .../besu/evm/tracing/StandardJsonTracer.java | 22 +- .../besu/evm/StandardJsonTracerTest.java | 4 +- .../besu/evm/fluent/EVMExecutorTest.java | 2 +- .../besu/evm/toy/EvmToyCommand.java | 8 +- 45 files changed, 2897 insertions(+), 71 deletions(-) create mode 100644 datatypes/src/main/java/org/hyperledger/besu/datatypes/BranchAccessKey.java create mode 100644 datatypes/src/main/java/org/hyperledger/besu/datatypes/LeafAccessKey.java create mode 100644 ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStatelessWitness.json create mode 100644 ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStatelessWitness.json diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/AccessWitness.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/AccessWitness.java index 2180eece915..28bf8af7db7 100644 --- a/datatypes/src/main/java/org/hyperledger/besu/datatypes/AccessWitness.java +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/AccessWitness.java @@ -14,6 +14,7 @@ */ package org.hyperledger.besu.datatypes; +import java.util.List; import java.util.Optional; import org.apache.tuweni.units.bigints.UInt256; @@ -133,4 +134,11 @@ long touchAndChargeValueTransferSelfDestruct( */ long touchCodeChunks( Address address, boolean isContractInDeployment, long offset, long readSize, long codeLength); + + /** + * Get all of the access events that constitute accesses to leaves. + * + * @return list of leaf access events. + */ + List getLeafAccesses(); } diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/BranchAccessKey.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BranchAccessKey.java new file mode 100644 index 00000000000..de027d366da --- /dev/null +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/BranchAccessKey.java @@ -0,0 +1,25 @@ +/* + * Copyright contributors to Besu. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.datatypes; + +import org.apache.tuweni.units.bigints.UInt256; + +/** + * The access event key corresponding to a branch (stem) access in the stateless trie. + * + * @param address address of the account being accessed. + * @param treeIndex stateless trie index of the branch being accessed, also called stem hash. + */ +public record BranchAccessKey(Address address, UInt256 treeIndex) {} diff --git a/datatypes/src/main/java/org/hyperledger/besu/datatypes/LeafAccessKey.java b/datatypes/src/main/java/org/hyperledger/besu/datatypes/LeafAccessKey.java new file mode 100644 index 00000000000..4b114527e8c --- /dev/null +++ b/datatypes/src/main/java/org/hyperledger/besu/datatypes/LeafAccessKey.java @@ -0,0 +1,39 @@ +/* + * Copyright contributors to Besu. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.besu.datatypes; + +import org.apache.tuweni.units.bigints.UInt256; + +/** + * The access event key corresponding to a leaf access in the stateless trie. + * + * @param branchAccessKey key to the stateless trie of the branch being accessed. + * @param leafIndex stateless trie index of the leaf being accessed. + */ +public record LeafAccessKey(BranchAccessKey branchAccessKey, UInt256 leafIndex) { + + /** + * Prints a {@code toString()} version suitable printed in JSON format. + * + * @return the string + */ + public String toJsonObject() { + return String.format( + "{\"addr\": \"%s\",\"treeIndex\": \"%s\",\"subIndex\": \"%s\"}", + branchAccessKey.address(), + branchAccessKey.treeIndex().toShortHexString(), + leafIndex.toShortHexString()); + } +} diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByBlock.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByBlock.java index b7ec1449e95..e0695cfb4e0 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByBlock.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByBlock.java @@ -123,6 +123,7 @@ protected TraceOptions buildTraceOptions(final Set return new TraceOptions( traceTypes.contains(TraceType.STATE_DIFF), false, + traceTypes.contains(TraceType.TRACE) || traceTypes.contains(TraceType.VM_TRACE), traceTypes.contains(TraceType.TRACE) || traceTypes.contains(TraceType.VM_TRACE)); } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByHash.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByHash.java index 545d8f76ae3..3a3a4ff2006 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByHash.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AbstractTraceByHash.java @@ -84,7 +84,8 @@ private TransactionTrace getTransactionTrace(final Block block, final Hash trans .trace( mutableWorldState, block, - new DebugOperationTracer(new TraceOptions(false, false, true), false)) + new DebugOperationTracer( + new TraceOptions(false, false, true, false), false)) .map(BlockTrace::getTransactionTraces) .orElse(Collections.emptyList()) .stream() diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugAccountAt.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugAccountAt.java index 318d8a0b8de..51d8e333e9d 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugAccountAt.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugAccountAt.java @@ -119,7 +119,8 @@ protected Object resultByBlockHash( .trace( mutableWorldState, blockHash, - new DebugOperationTracer(new TraceOptions(false, true, true), false)) + new DebugOperationTracer( + new TraceOptions(false, true, true, false), false)) .map(BlockTrace::getTransactionTraces) .orElse(Collections.emptyList()) .stream() diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceBlock.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceBlock.java index 16798160d8e..5d5b68af76a 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceBlock.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceBlock.java @@ -125,7 +125,7 @@ protected ArrayNodeWrapper traceBlock( TransactionSource transactionSource = new TransactionSource(block); DebugOperationTracer debugOperationTracer = - new DebugOperationTracer(new TraceOptions(false, false, true), false); + new DebugOperationTracer(new TraceOptions(false, false, true, false), false); ExecuteTransactionStep executeTransactionStep = new ExecuteTransactionStep( chainUpdater, diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceFilter.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceFilter.java index 6be65149cb9..40837402bfd 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceFilter.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceFilter.java @@ -164,7 +164,7 @@ private JsonRpcResponse traceFilterWithPipeline( final ChainUpdater chainUpdater = new ChainUpdater(traceableState); DebugOperationTracer debugOperationTracer = - new DebugOperationTracer(new TraceOptions(false, false, true), false); + new DebugOperationTracer(new TraceOptions(false, false, true, false), false); ExecuteTransactionStep executeTransactionStep = new ExecuteTransactionStep( chainUpdater, diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceReplayBlockTransactions.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceReplayBlockTransactions.java index 51eeebb9592..de56bd96d1c 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceReplayBlockTransactions.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TraceReplayBlockTransactions.java @@ -143,7 +143,7 @@ private ArrayNode traceBlock(final Block block, final TraceTypeParameter traceTy final TransactionSource transactionSource = new TransactionSource(block); final DebugOperationTracer debugOperationTracer = - new DebugOperationTracer(new TraceOptions(false, false, true), false); + new DebugOperationTracer(new TraceOptions(false, false, true, false), false); final ExecuteTransactionStep executeTransactionStep = new ExecuteTransactionStep( chainUpdater, diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/TransactionTraceParams.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/TransactionTraceParams.java index da7014f5bec..b8f9cfba829 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/TransactionTraceParams.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/TransactionTraceParams.java @@ -52,7 +52,14 @@ default boolean disableStack() { return false; } + @JsonProperty(value = "disableStatelessWitness") + @Value.Default + default boolean disableStatelessWitness() { + return false; + } + default TraceOptions traceOptions() { - return new TraceOptions(!disableStorage(), !disableMemory(), !disableStack()); + return new TraceOptions( + !disableStorage(), !disableMemory(), !disableStack(), !disableStatelessWitness()); } } diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/AbstractPrivateTraceByHash.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/AbstractPrivateTraceByHash.java index 8852cac0d0d..48e418c912a 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/AbstractPrivateTraceByHash.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/AbstractPrivateTraceByHash.java @@ -135,7 +135,8 @@ private PrivateTransactionTrace getTransactionTrace( .trace( mutableWorldState, block, - new DebugOperationTracer(new TraceOptions(false, false, true), false), + new DebugOperationTracer( + new TraceOptions(false, false, true, false), false), enclaveKey, privacyGroupId, privateBlockMetadata) diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java index 8416b499bc2..0fa377fdfcd 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracer.java @@ -98,7 +98,7 @@ public List traceTransactionToFile( final boolean showMemory = transactionTraceParams .map(TransactionTraceParams::traceOptions) - .map(TraceOptions::isMemoryEnabled) + .map(TraceOptions::traceMemory) .orElse(true); if (!Files.isDirectory(traceDir) && !traceDir.toFile().mkdirs()) { @@ -135,7 +135,7 @@ public List traceTransactionToFile( stackedUpdater, transaction, transactionProcessor, - new StandardJsonTracer(out, showMemory, true, true, false), + new StandardJsonTracer(out, showMemory, true, true, false, true), blobGasPrice); out.println( summaryTrace( diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/StructLog.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/StructLog.java index 50ec093576d..84c7ab1002f 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/StructLog.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/StructLog.java @@ -14,6 +14,7 @@ */ package org.hyperledger.besu.ethereum.api.jsonrpc.internal.results; +import org.hyperledger.besu.datatypes.LeafAccessKey; import org.hyperledger.besu.ethereum.debug.TraceFrame; import java.util.Arrays; @@ -27,7 +28,17 @@ import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.units.bigints.UInt256; -@JsonPropertyOrder({"pc", "op", "gas", "gasCost", "depth", "stack", "memory", "storage"}) +@JsonPropertyOrder({ + "pc", + "op", + "gas", + "gasCost", + "depth", + "stack", + "memory", + "storage", + "statelessWitness" +}) public class StructLog { private final int depth; @@ -38,6 +49,7 @@ public class StructLog { private final int pc; private final String[] stack; private final Object storage; + private final String[] statelessWitness; private final String reason; static final String bytes32ZeroString = Bytes32.ZERO.toUnprefixedHexString(); @@ -50,6 +62,11 @@ public StructLog(final TraceFrame traceFrame) { .getMemory() .map(a -> Arrays.stream(a).map(Bytes::toUnprefixedHexString).toArray(String[]::new)) .orElse(null); + statelessWitness = + traceFrame + .getStatelessWitness() + .map(list -> list.stream().map(LeafAccessKey::toJsonObject).toArray(String[]::new)) + .orElse(null); op = traceFrame.getOpcode(); pc = traceFrame.getPc(); stack = @@ -122,6 +139,11 @@ public Object storage() { return storage; } + @JsonGetter("statelessWitness") + public String[] statelessWitness() { + return statelessWitness; + } + @JsonGetter("reason") public String reason() { return reason; @@ -143,7 +165,8 @@ public boolean equals(final Object o) { && Arrays.equals(memory, structLog.memory) && Objects.equals(op, structLog.op) && Arrays.equals(stack, structLog.stack) - && Objects.equals(storage, structLog.storage); + && Objects.equals(storage, structLog.storage) + && Arrays.equals(statelessWitness, structLog.statelessWitness); } @Override @@ -151,6 +174,7 @@ public int hashCode() { int result = Objects.hash(depth, gas, gasCost, op, pc, storage); result = 31 * result + Arrays.hashCode(memory); result = 31 * result + Arrays.hashCode(stack); + result = 31 * result + Arrays.hashCode(statelessWitness); return result; } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByHashTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByHashTest.java index 75d7ae26a95..43c4de31f8c 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByHashTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByHashTest.java @@ -104,6 +104,7 @@ public void shouldReturnCorrectResponse() { Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), null, Optional.empty(), Optional.empty(), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByNumberTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByNumberTest.java index 99e599ec110..0048043706b 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByNumberTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockByNumberTest.java @@ -90,6 +90,7 @@ public void shouldReturnCorrectResponse() { Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), null, Optional.empty(), Optional.empty(), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockTest.java index f35f3d1a16a..db0e05f8f39 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceBlockTest.java @@ -96,6 +96,7 @@ public void shouldReturnCorrectResponse() { Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), null, Optional.empty(), Optional.empty(), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java index f57fd716c06..2848f22a73e 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java @@ -129,6 +129,7 @@ public void shouldTraceTheTransactionUsingTheTransactionTracer() { Optional.of(stackBytes), Optional.of(memoryBytes), Optional.empty(), + Optional.empty(), null, Optional.of(Bytes.fromHexString("0x1122334455667788")), Optional.empty(), @@ -197,6 +198,7 @@ public void shouldNotTraceTheTransactionIfNotFound() { Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), null, Optional.of(Bytes.fromHexString("0x1122334455667788")), Optional.empty(), diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_all.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_all.json index 69d19bb5e6d..69319134349 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_all.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_all.json @@ -12,7 +12,7 @@ "nonce" : "0x0" }, "latest", { - "disableMemory": true, "disableStack": true, "disableStorage": true + "disableMemory": true, "disableStack": true, "disableStorage": true, "disableStatelessWitness": true } ], "id" : 1 }, @@ -32,6 +32,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 2, @@ -42,6 +43,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 4, @@ -52,6 +54,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 6, @@ -62,6 +65,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 7, @@ -72,6 +76,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 8, @@ -82,6 +87,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 9, @@ -92,6 +98,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 11, @@ -102,6 +109,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 13, @@ -112,6 +120,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 14, @@ -122,6 +131,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 16, @@ -132,6 +142,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 17, @@ -142,6 +153,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 19, @@ -152,6 +164,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 20, @@ -162,6 +175,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 21, @@ -172,6 +186,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 0, @@ -182,6 +197,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 2, @@ -192,6 +208,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 3, @@ -202,6 +219,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 5, @@ -212,6 +230,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 6, @@ -222,6 +241,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 8, @@ -232,6 +252,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 9, @@ -242,6 +263,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 11, @@ -252,6 +274,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 13, @@ -262,6 +285,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 22, @@ -272,6 +296,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 24, @@ -282,6 +307,7 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null }, { "pc" : 26, @@ -292,9 +318,10 @@ "stack" : null, "memory" : null, "storage" : null, + "statelessWitness" : null, "reason" : null } ] } }, "statusCode": 200 -} \ No newline at end of file +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_complete.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_complete.json index fb84953c078..72769a0a7e4 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_complete.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_complete.json @@ -29,6 +29,7 @@ "stack" : [ ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -39,6 +40,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 4, @@ -49,6 +51,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -59,6 +62,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 7, @@ -69,6 +73,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000040" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -79,6 +84,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -89,6 +95,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -99,6 +106,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -109,6 +117,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 14, @@ -119,6 +128,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 16, @@ -129,6 +139,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 17, @@ -139,6 +150,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 19, @@ -149,6 +161,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 20, @@ -159,6 +172,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 21, @@ -169,6 +183,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000ffac99" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 0, @@ -179,6 +194,7 @@ "stack" : [ ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -189,6 +205,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 3, @@ -199,6 +216,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 5, @@ -209,6 +227,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -219,6 +238,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -229,6 +249,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -239,6 +260,7 @@ "stack" : [ ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -249,6 +271,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -259,6 +282,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 22, @@ -269,6 +293,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 24, @@ -279,6 +304,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 26, @@ -289,6 +315,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null } ] } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableMemory.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableMemory.json index 73b391f022a..17e1293340b 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableMemory.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableMemory.json @@ -32,6 +32,7 @@ "stack" : [ ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -42,6 +43,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 4, @@ -52,6 +54,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -62,6 +65,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 7, @@ -72,6 +76,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000040" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -82,6 +87,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -92,6 +98,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -102,6 +109,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -112,6 +120,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 14, @@ -122,6 +131,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 16, @@ -132,6 +142,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 17, @@ -142,6 +153,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 19, @@ -152,6 +164,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 20, @@ -162,6 +175,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 21, @@ -172,6 +186,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000ffac99" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 0, @@ -182,6 +197,7 @@ "stack" : [ ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -192,6 +208,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 3, @@ -202,6 +219,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 5, @@ -212,6 +230,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -222,6 +241,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -232,6 +252,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -242,6 +263,7 @@ "stack" : [ ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -252,6 +274,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -262,6 +285,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 22, @@ -272,6 +296,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 24, @@ -282,6 +307,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 26, @@ -292,6 +318,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : null, "storage" : { }, + "statelessWitness" : [ ], "reason" : null } ] } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStack.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStack.json index 226fcb2cd0f..57b74d41776 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStack.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStack.json @@ -32,6 +32,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -42,6 +43,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 4, @@ -52,6 +54,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -62,6 +65,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 7, @@ -72,6 +76,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -82,6 +87,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -92,6 +98,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -102,6 +109,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -112,6 +120,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 14, @@ -122,6 +131,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 16, @@ -132,6 +142,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 17, @@ -142,6 +153,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 19, @@ -152,6 +164,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 20, @@ -162,6 +175,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 21, @@ -172,6 +186,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 0, @@ -182,6 +197,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -192,6 +208,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 3, @@ -202,6 +219,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 5, @@ -212,6 +230,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -222,6 +241,7 @@ "stack" : null, "memory" : [ ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -232,6 +252,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -242,6 +263,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -252,6 +274,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -262,6 +285,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 22, @@ -272,6 +296,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 24, @@ -282,6 +307,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 26, @@ -292,6 +318,7 @@ "stack" : null, "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : { }, + "statelessWitness" : [ ], "reason" : null } ] } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStatelessWitness.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStatelessWitness.json new file mode 100644 index 00000000000..e5e0063fe9c --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStatelessWitness.json @@ -0,0 +1,327 @@ +{ + "request" : { + "jsonrpc" : "2.0", + "method" : "debug_traceCall", + "params" : [ { + "from" : "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", + "to" : "0x0050000000000000000000000000000000000000", + "gas" : "0xfffff2", + "gasPrice" : "0xef", + "value" : "0x0", + "data" : "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", + "nonce" : "0x0" + }, "latest", + { + "disableStatelessWitness": true + } ], + "id" : 1 + }, + "response": { + "jsonrpc": "2.0", + "id": 1, + "result": { + "gas" : 22070, + "failed" : false, + "returnValue" : "f000000000000000000000000000000000000000000000000000000000000002", + "structLogs" : [ { + "pc" : 0, + "op" : "PUSH1", + "gas" : 16755910, + "gasCost" : 3, + "depth" : 1, + "stack" : [ ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 2, + "op" : "PUSH1", + "gas" : 16755907, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 4, + "op" : "PUSH1", + "gas" : 16755904, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 6, + "op" : "CALLDATASIZE", + "gas" : 16755901, + "gasCost" : 2, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 7, + "op" : "SUB", + "gas" : 16755899, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000040" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 8, + "op" : "DUP1", + "gas" : 16755896, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 9, + "op" : "PUSH1", + "gas" : 16755893, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 11, + "op" : "PUSH1", + "gas" : 16755890, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 13, + "op" : "CALLDATACOPY", + "gas" : 16755887, + "gasCost" : 9, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 14, + "op" : "PUSH1", + "gas" : 16755878, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 16, + "op" : "CALLVALUE", + "gas" : 16755875, + "gasCost" : 2, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 17, + "op" : "PUSH1", + "gas" : 16755873, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 19, + "op" : "CALLDATALOAD", + "gas" : 16755870, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 20, + "op" : "GAS", + "gas" : 16755867, + "gasCost" : 2, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 21, + "op" : "CALLCODE", + "gas" : 16755865, + "gasCost" : 16494066, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000ffac99" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 0, + "op" : "PUSH1", + "gas" : 16493366, + "gasCost" : 3, + "depth" : 2, + "stack" : [ ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 2, + "op" : "CALLDATALOAD", + "gas" : 16493363, + "gasCost" : 3, + "depth" : 2, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 3, + "op" : "PUSH1", + "gas" : 16493360, + "gasCost" : 3, + "depth" : 2, + "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 5, + "op" : "ADD", + "gas" : 16493357, + "gasCost" : 3, + "depth" : 2, + "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000001" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 6, + "op" : "PUSH1", + "gas" : 16493354, + "gasCost" : 3, + "depth" : 2, + "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "memory" : [ ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 8, + "op" : "MSTORE", + "gas" : 16493351, + "gasCost" : 6, + "depth" : 2, + "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 9, + "op" : "PUSH1", + "gas" : 16493345, + "gasCost" : 3, + "depth" : 2, + "stack" : [ ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 11, + "op" : "PUSH1", + "gas" : 16493342, + "gasCost" : 3, + "depth" : 2, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 13, + "op" : "RETURN", + "gas" : 16493339, + "gasCost" : 0, + "depth" : 2, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 22, + "op" : "PUSH1", + "gas" : 16755138, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 24, + "op" : "PUSH1", + "gas" : 16755135, + "gasCost" : 3, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + }, { + "pc" : 26, + "op" : "RETURN", + "gas" : 16755132, + "gasCost" : 0, + "depth" : 1, + "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], + "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], + "storage" : { }, + "statelessWitness" : null, + "reason" : null + } ] + } + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStorage.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStorage.json index a515b46b744..2d66a68fa5b 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStorage.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_disableStorage.json @@ -32,6 +32,7 @@ "stack" : [ ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -42,6 +43,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 4, @@ -52,6 +54,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -62,6 +65,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 7, @@ -72,6 +76,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000040" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -82,6 +87,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -92,6 +98,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -102,6 +109,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -112,6 +120,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 14, @@ -122,6 +131,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 16, @@ -132,6 +142,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 17, @@ -142,6 +153,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 19, @@ -152,6 +164,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 20, @@ -162,6 +175,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 21, @@ -172,6 +186,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000000000", "0000000000000000000000000030000000000000000000000000000000000000", "0000000000000000000000000000000000000000000000000000000000ffac99" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 0, @@ -182,6 +197,7 @@ "stack" : [ ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 2, @@ -192,6 +208,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 3, @@ -202,6 +219,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 5, @@ -212,6 +230,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 6, @@ -222,6 +241,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "memory" : [ ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 8, @@ -232,6 +252,7 @@ "stack" : [ "f000000000000000000000000000000000000000000000000000000000000002", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 9, @@ -242,6 +263,7 @@ "stack" : [ ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 11, @@ -252,6 +274,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 13, @@ -262,6 +285,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 22, @@ -272,6 +296,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 24, @@ -282,6 +307,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null }, { "pc" : 26, @@ -292,6 +318,7 @@ "stack" : [ "0000000000000000000000000000000000000000000000000000000000000001", "0000000000000000000000000000000000000000000000000000000000000020", "0000000000000000000000000000000000000000000000000000000000000000" ], "memory" : [ "f000000000000000000000000000000000000000000000000000000000000002" ], "storage" : null, + "statelessWitness" : [ ], "reason" : null } ] } diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_noGasPrice.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_noGasPrice.json index 18fe53baa16..d1d546833e2 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_noGasPrice.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-call/debug_traceCall_noGasPrice.json @@ -33,6 +33,7 @@ "stack": null, "memory": null, "storage": null, + "statelessWitness" : [ ], "reason": null } ] diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_complete.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_complete.json index c9737df6ce8..6bef4e6422c 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_complete.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_complete.json @@ -24,6 +24,7 @@ "stack": [], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -37,6 +38,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -50,6 +52,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -64,6 +67,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -78,6 +82,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -91,6 +96,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -105,6 +111,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -120,6 +127,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -134,6 +142,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -149,6 +158,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -162,6 +172,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -176,6 +187,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -191,6 +203,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -205,6 +218,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -220,6 +234,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -233,6 +248,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -247,6 +263,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -262,6 +279,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -276,6 +294,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -291,6 +310,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -304,6 +324,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -318,6 +339,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -333,6 +355,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -347,6 +370,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -362,6 +386,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -375,6 +400,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -389,6 +415,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -404,6 +431,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -418,6 +446,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -433,6 +462,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -446,6 +476,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -460,6 +491,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -475,6 +507,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -489,6 +522,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -504,6 +538,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -517,6 +552,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -531,6 +567,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -546,6 +583,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -560,6 +598,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -575,6 +614,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -588,6 +628,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -602,6 +643,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -617,6 +659,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -631,6 +674,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -646,6 +690,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -659,6 +704,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -673,6 +719,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -688,6 +735,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -702,6 +750,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -717,6 +766,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -730,6 +780,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -744,6 +795,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -759,6 +811,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -773,6 +826,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -788,6 +842,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -801,6 +856,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -815,6 +871,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -830,6 +887,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -844,6 +902,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -859,6 +918,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -872,6 +932,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -886,6 +947,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -901,6 +963,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -915,6 +978,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -930,6 +994,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -943,6 +1008,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -957,6 +1023,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -972,6 +1039,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -986,6 +1054,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1001,6 +1070,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1014,6 +1084,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1028,6 +1099,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1043,6 +1115,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1057,6 +1130,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1072,6 +1146,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1085,6 +1160,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1098,6 +1174,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1112,6 +1189,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1127,6 +1205,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1141,6 +1220,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1155,6 +1235,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1170,6 +1251,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1186,6 +1268,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1201,6 +1284,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1217,6 +1301,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1234,6 +1319,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1250,6 +1336,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1267,6 +1354,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1285,6 +1373,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1304,6 +1393,7 @@ ], "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1326,6 +1416,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1346,6 +1437,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1367,6 +1459,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1387,6 +1480,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1408,6 +1502,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1431,6 +1526,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1452,6 +1548,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1474,6 +1571,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1495,6 +1593,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1517,6 +1616,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1534,6 +1634,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1551,6 +1652,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1567,6 +1669,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1583,6 +1686,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1600,6 +1704,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1618,6 +1723,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null } ] diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableMemory.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableMemory.json index cdd21f5f180..f4dcbb83e29 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableMemory.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableMemory.json @@ -27,6 +27,7 @@ "stack": [], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -40,6 +41,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -53,6 +55,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -67,6 +70,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -81,6 +85,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -94,6 +99,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -108,6 +114,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -123,6 +130,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -137,6 +145,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -152,6 +161,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -165,6 +175,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -179,6 +190,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -194,6 +206,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -208,6 +221,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -223,6 +237,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -236,6 +251,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -250,6 +266,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -265,6 +282,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -279,6 +297,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -294,6 +313,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -307,6 +327,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -321,6 +342,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -336,6 +358,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -350,6 +373,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -365,6 +389,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -378,6 +403,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -392,6 +418,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -407,6 +434,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -421,6 +449,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -436,6 +465,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -449,6 +479,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -463,6 +494,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -478,6 +510,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -492,6 +525,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -507,6 +541,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -520,6 +555,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -534,6 +570,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -549,6 +586,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -563,6 +601,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -578,6 +617,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -591,6 +631,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -605,6 +646,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -620,6 +662,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -634,6 +677,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -649,6 +693,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -662,6 +707,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -676,6 +722,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -691,6 +738,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -705,6 +753,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -720,6 +769,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -733,6 +783,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -747,6 +798,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -762,6 +814,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -776,6 +829,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -791,6 +845,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -804,6 +859,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -818,6 +874,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -833,6 +890,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -847,6 +905,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -862,6 +921,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -875,6 +935,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -889,6 +950,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -904,6 +966,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -918,6 +981,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -933,6 +997,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -946,6 +1011,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -960,6 +1026,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -975,6 +1042,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -989,6 +1057,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1004,6 +1073,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1017,6 +1087,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1031,6 +1102,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1046,6 +1118,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1060,6 +1133,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1075,6 +1149,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1088,6 +1163,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1101,6 +1177,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1115,6 +1192,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1130,6 +1208,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1144,6 +1223,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1158,6 +1238,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1173,6 +1254,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1189,6 +1271,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1204,6 +1287,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1220,6 +1304,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1237,6 +1322,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1253,6 +1339,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1270,6 +1357,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1288,6 +1376,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1307,6 +1396,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1327,6 +1417,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1345,6 +1436,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1364,6 +1456,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1382,6 +1475,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1401,6 +1495,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1421,6 +1516,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1439,6 +1535,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1458,6 +1555,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1476,6 +1574,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1495,6 +1594,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1509,6 +1609,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1523,6 +1624,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1536,6 +1638,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1549,6 +1652,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1563,6 +1667,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1578,6 +1683,7 @@ ], "memory": null, "storage": {}, + "statelessWitness" : [ ], "reason": null } ] diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStack.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStack.json index 0218602589d..837619653b7 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStack.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStack.json @@ -27,6 +27,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -38,6 +39,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -49,6 +51,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -60,6 +63,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -71,6 +75,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -82,6 +87,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -93,6 +99,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -104,6 +111,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -115,6 +123,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -126,6 +135,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -137,6 +147,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -148,6 +159,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -159,6 +171,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -170,6 +183,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -181,6 +195,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -192,6 +207,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -203,6 +219,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -214,6 +231,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -225,6 +243,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -236,6 +255,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -247,6 +267,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -258,6 +279,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -269,6 +291,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -280,6 +303,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -291,6 +315,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -302,6 +327,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -313,6 +339,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -324,6 +351,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -335,6 +363,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -346,6 +375,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -357,6 +387,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -368,6 +399,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -379,6 +411,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -390,6 +423,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -401,6 +435,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -412,6 +447,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -423,6 +459,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -434,6 +471,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -445,6 +483,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -456,6 +495,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -467,6 +507,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -478,6 +519,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -489,6 +531,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -500,6 +543,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -511,6 +555,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -522,6 +567,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -533,6 +579,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -544,6 +591,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -555,6 +603,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -566,6 +615,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -577,6 +627,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -588,6 +639,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -599,6 +651,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -610,6 +663,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -621,6 +675,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -632,6 +687,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -643,6 +699,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -654,6 +711,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -665,6 +723,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -676,6 +735,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -687,6 +747,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -698,6 +759,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -709,6 +771,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -720,6 +783,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -731,6 +795,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -742,6 +807,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -753,6 +819,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -764,6 +831,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -775,6 +843,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -786,6 +855,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -797,6 +867,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -808,6 +879,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -819,6 +891,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -830,6 +903,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -841,6 +915,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -852,6 +927,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -863,6 +939,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -874,6 +951,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -885,6 +963,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -896,6 +975,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -907,6 +987,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -918,6 +999,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -929,6 +1011,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -940,6 +1023,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -951,6 +1035,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -962,6 +1047,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -973,6 +1059,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -984,6 +1071,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -995,6 +1083,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1006,6 +1095,7 @@ "stack": null, "memory": [], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1019,6 +1109,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1032,6 +1123,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1045,6 +1137,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1058,6 +1151,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1071,6 +1165,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1085,6 +1180,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1099,6 +1195,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1113,6 +1210,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1127,6 +1225,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1141,6 +1240,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1155,6 +1255,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1169,6 +1270,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1183,6 +1285,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1197,6 +1300,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1211,6 +1315,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null }, { @@ -1225,6 +1330,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": {}, + "statelessWitness" : [ ], "reason": null } ] diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStatelessWitness.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStatelessWitness.json new file mode 100644 index 00000000000..72a288d6cd8 --- /dev/null +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStatelessWitness.json @@ -0,0 +1,1736 @@ +{ + "request": { + "id": 1, + "jsonrpc": "2.0", + "method": "debug_traceTransaction", + "params": [ + "0xcef53f2311d7c80e9086d661e69ac11a5f3d081e28e02a9ba9b66749407ac310", + { + "disableStatelessWitness": true + } + ] + }, + "response": { + "jsonrpc": "2.0", + "id": 1, + "result": { + "gas": 23705, + "failed": false, + "returnValue": "", + "structLogs": [ + { + "pc": 0, + "op": "PUSH1", + "gas": 292887, + "gasCost": 3, + "depth": 1, + "stack": [], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 2, + "op": "CALLDATALOAD", + "gas": 292884, + "gasCost": 3, + "depth": 1, + "stack": [ + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 3, + "op": "PUSH29", + "gas": 292881, + "gasCost": 3, + "depth": 1, + "stack": [ + "9dc2c8f500000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 33, + "op": "SWAP1", + "gas": 292878, + "gasCost": 3, + "depth": 1, + "stack": [ + "9dc2c8f500000000000000000000000000000000000000000000000000000000", + "0000000100000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 34, + "op": "DIV", + "gas": 292875, + "gasCost": 5, + "depth": 1, + "stack": [ + "0000000100000000000000000000000000000000000000000000000000000000", + "9dc2c8f500000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 35, + "op": "DUP1", + "gas": 292870, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 36, + "op": "PUSH4", + "gas": 292867, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 41, + "op": "EQ", + "gas": 292864, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "00000000000000000000000000000000000000000000000000000000102accc1" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 42, + "op": "PUSH2", + "gas": 292861, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 45, + "op": "JUMPI", + "gas": 292858, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000012c" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 46, + "op": "DUP1", + "gas": 292848, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 47, + "op": "PUSH4", + "gas": 292845, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 52, + "op": "EQ", + "gas": 292842, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000012a7b914" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 53, + "op": "PUSH2", + "gas": 292839, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 56, + "op": "JUMPI", + "gas": 292836, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000013a" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 57, + "op": "DUP1", + "gas": 292826, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 58, + "op": "PUSH4", + "gas": 292823, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 63, + "op": "EQ", + "gas": 292820, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000001774e646" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 64, + "op": "PUSH2", + "gas": 292817, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 67, + "op": "JUMPI", + "gas": 292814, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000014c" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 68, + "op": "DUP1", + "gas": 292804, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 69, + "op": "PUSH4", + "gas": 292801, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 74, + "op": "EQ", + "gas": 292798, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000001e26fd33" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 75, + "op": "PUSH2", + "gas": 292795, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 78, + "op": "JUMPI", + "gas": 292792, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000015d" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 79, + "op": "DUP1", + "gas": 292782, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 80, + "op": "PUSH4", + "gas": 292779, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 85, + "op": "EQ", + "gas": 292776, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000001f903037" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 86, + "op": "PUSH2", + "gas": 292773, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 89, + "op": "JUMPI", + "gas": 292770, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000016e" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 90, + "op": "DUP1", + "gas": 292760, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 91, + "op": "PUSH4", + "gas": 292757, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 96, + "op": "EQ", + "gas": 292754, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "00000000000000000000000000000000000000000000000000000000343a875d" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 97, + "op": "PUSH2", + "gas": 292751, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 100, + "op": "JUMPI", + "gas": 292748, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000180" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 101, + "op": "DUP1", + "gas": 292738, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 102, + "op": "PUSH4", + "gas": 292735, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 107, + "op": "EQ", + "gas": 292732, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000038cc4831" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 108, + "op": "PUSH2", + "gas": 292729, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 111, + "op": "JUMPI", + "gas": 292726, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000195" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 112, + "op": "DUP1", + "gas": 292716, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 113, + "op": "PUSH4", + "gas": 292713, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 118, + "op": "EQ", + "gas": 292710, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000004e7ad367" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 119, + "op": "PUSH2", + "gas": 292707, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 122, + "op": "JUMPI", + "gas": 292704, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000001bd" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 123, + "op": "DUP1", + "gas": 292694, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 124, + "op": "PUSH4", + "gas": 292691, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 129, + "op": "EQ", + "gas": 292688, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000057cb2fc4" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 130, + "op": "PUSH2", + "gas": 292685, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 133, + "op": "JUMPI", + "gas": 292682, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000001cb" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 134, + "op": "DUP1", + "gas": 292672, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 135, + "op": "PUSH4", + "gas": 292669, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 140, + "op": "EQ", + "gas": 292666, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000065538c73" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 141, + "op": "PUSH2", + "gas": 292663, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 144, + "op": "JUMPI", + "gas": 292660, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000001e0" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 145, + "op": "DUP1", + "gas": 292650, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 146, + "op": "PUSH4", + "gas": 292647, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 151, + "op": "EQ", + "gas": 292644, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000068895979" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 152, + "op": "PUSH2", + "gas": 292641, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 155, + "op": "JUMPI", + "gas": 292638, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "00000000000000000000000000000000000000000000000000000000000001ee" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 156, + "op": "DUP1", + "gas": 292628, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 157, + "op": "PUSH4", + "gas": 292625, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 162, + "op": "EQ", + "gas": 292622, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000076bc21d9" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 163, + "op": "PUSH2", + "gas": 292619, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 166, + "op": "JUMPI", + "gas": 292616, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000200" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 167, + "op": "DUP1", + "gas": 292606, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 168, + "op": "PUSH4", + "gas": 292603, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 173, + "op": "EQ", + "gas": 292600, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009a19a953" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 174, + "op": "PUSH2", + "gas": 292597, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 177, + "op": "JUMPI", + "gas": 292594, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "000000000000000000000000000000000000000000000000000000000000020e" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 178, + "op": "DUP1", + "gas": 292584, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 179, + "op": "PUSH4", + "gas": 292581, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 184, + "op": "EQ", + "gas": 292578, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 185, + "op": "PUSH2", + "gas": 292575, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000001" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 188, + "op": "JUMPI", + "gas": 292572, + "gasCost": 10, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000001", + "000000000000000000000000000000000000000000000000000000000000021f" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 543, + "op": "JUMPDEST", + "gas": 292562, + "gasCost": 1, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 544, + "op": "PUSH2", + "gas": 292561, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 547, + "op": "PUSH2", + "gas": 292558, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 550, + "op": "JUMP", + "gas": 292555, + "gasCost": 8, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "0000000000000000000000000000000000000000000000000000000000000693" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1683, + "op": "JUMPDEST", + "gas": 292547, + "gasCost": 1, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1684, + "op": "PUSH32", + "gas": 292546, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1717, + "op": "PUSH1", + "gas": 292543, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1719, + "op": "MUL", + "gas": 292540, + "gasCost": 5, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "0000000000000000000000000000000000000000000000000000000000000001" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1720, + "op": "CALLER", + "gas": 292535, + "gasCost": 2, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1721, + "op": "PUSH20", + "gas": 292533, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1742, + "op": "AND", + "gas": 292530, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "000000000000000000000000ffffffffffffffffffffffffffffffffffffffff" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1743, + "op": "PUSH1", + "gas": 292527, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1745, + "op": "PUSH1", + "gas": 292524, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1747, + "op": "PUSH32", + "gas": 292521, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1780, + "op": "DUP2", + "gas": 292518, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000000", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "memory": [], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1781, + "op": "MSTORE", + "gas": 292515, + "gasCost": 6, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000000", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1782, + "op": "PUSH1", + "gas": 292509, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1784, + "op": "ADD", + "gas": 292506, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000020" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1785, + "op": "PUSH1", + "gas": 292503, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000020" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1787, + "op": "DUP2", + "gas": 292500, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000020", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1788, + "op": "MSTORE", + "gas": 292497, + "gasCost": 6, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000020", + "000000000000000000000000000000000000000000000000000000000000002a", + "0000000000000000000000000000000000000000000000000000000000000020" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1789, + "op": "PUSH1", + "gas": 292491, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000020" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1791, + "op": "ADD", + "gas": 292488, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000020", + "0000000000000000000000000000000000000000000000000000000000000020" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1792, + "op": "PUSH1", + "gas": 292485, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000040" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1794, + "op": "LOG3", + "gas": 292482, + "gasCost": 2012, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "000000000000000000000000a94f5374fce5edbc8e2a8697c15331677e6ebf0b", + "0000000000000000000000000000000000000000000000000000000000000001", + "0000000000000000000000000000000000000000000000000000000000000040", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1795, + "op": "JUMPDEST", + "gas": 290470, + "gasCost": 1, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 1796, + "op": "JUMP", + "gas": 290469, + "gasCost": 8, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000227" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 551, + "op": "JUMPDEST", + "gas": 290461, + "gasCost": 1, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 552, + "op": "PUSH1", + "gas": 290460, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 554, + "op": "PUSH1", + "gas": 290457, + "gasCost": 3, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + }, + { + "pc": 556, + "op": "RETURN", + "gas": 290454, + "gasCost": 0, + "depth": 1, + "stack": [ + "000000000000000000000000000000000000000000000000000000009dc2c8f5", + "0000000000000000000000000000000000000000000000000000000000000000", + "0000000000000000000000000000000000000000000000000000000000000000" + ], + "memory": [ + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9", + "000000000000000000000000000000000000000000000000000000000000002a" + ], + "storage": {}, + "statelessWitness" : null, + "reason": null + } + ] + } + }, + "statusCode": 200 +} diff --git a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStorage.json b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStorage.json index c0e2f0f2f06..cde735aa7c1 100644 --- a/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStorage.json +++ b/ethereum/api/src/test/resources/org/hyperledger/besu/ethereum/api/jsonrpc/debug/trace-transaction/debug_traceTransaction_disableStorage.json @@ -27,6 +27,7 @@ "stack": [], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -40,6 +41,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -53,6 +55,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -67,6 +70,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -81,6 +85,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -94,6 +99,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -108,6 +114,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -123,6 +130,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -137,6 +145,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -152,6 +161,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -165,6 +175,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -179,6 +190,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -194,6 +206,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -208,6 +221,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -223,6 +237,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -236,6 +251,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -250,6 +266,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -265,6 +282,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -279,6 +297,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -294,6 +313,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -307,6 +327,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -321,6 +342,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -336,6 +358,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -350,6 +373,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -365,6 +389,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -378,6 +403,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -392,6 +418,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -407,6 +434,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -421,6 +449,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -436,6 +465,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -449,6 +479,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -463,6 +494,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -478,6 +510,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -492,6 +525,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -507,6 +541,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -520,6 +555,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -534,6 +570,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -549,6 +586,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -563,6 +601,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -578,6 +617,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -591,6 +631,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -605,6 +646,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -620,6 +662,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -634,6 +677,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -649,6 +693,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -662,6 +707,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -676,6 +722,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -691,6 +738,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -705,6 +753,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -720,6 +769,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -733,6 +783,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -747,6 +798,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -762,6 +814,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -776,6 +829,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -791,6 +845,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -804,6 +859,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -818,6 +874,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -833,6 +890,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -847,6 +905,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -862,6 +921,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -875,6 +935,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -889,6 +950,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -904,6 +966,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -918,6 +981,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -933,6 +997,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -946,6 +1011,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -960,6 +1026,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -975,6 +1042,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -989,6 +1057,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1004,6 +1073,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1017,6 +1087,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1031,6 +1102,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1046,6 +1118,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1060,6 +1133,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1075,6 +1149,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1088,6 +1163,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1101,6 +1177,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1115,6 +1192,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1130,6 +1208,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1144,6 +1223,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1158,6 +1238,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1173,6 +1254,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1189,6 +1271,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1204,6 +1287,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1220,6 +1304,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1237,6 +1322,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1253,6 +1339,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1270,6 +1357,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1288,6 +1376,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1307,6 +1396,7 @@ ], "memory": [], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1329,6 +1419,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1349,6 +1440,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1370,6 +1462,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1390,6 +1483,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1411,6 +1505,7 @@ "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1434,6 +1529,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1455,6 +1551,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1477,6 +1574,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1498,6 +1596,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1520,6 +1619,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1537,6 +1637,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1554,6 +1655,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1570,6 +1672,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1586,6 +1689,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1603,6 +1707,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null }, { @@ -1621,6 +1726,7 @@ "000000000000000000000000000000000000000000000000000000000000002a" ], "storage": null, + "statelessWitness" : [ ], "reason": null } ] diff --git a/ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/vm/TraceTransactionIntegrationTest.java b/ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/vm/TraceTransactionIntegrationTest.java index 6ea4a25f5fa..f48c432dffc 100644 --- a/ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/vm/TraceTransactionIntegrationTest.java +++ b/ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/vm/TraceTransactionIntegrationTest.java @@ -125,7 +125,7 @@ public void shouldTraceSStoreOperation() { // Now call the transaction to execute the SSTORE. final DebugOperationTracer tracer = - new DebugOperationTracer(new TraceOptions(true, true, true), false); + new DebugOperationTracer(new TraceOptions(true, true, true, true), false); final Transaction executeTransaction = Transaction.builder() .type(TransactionType.FRONTIER) @@ -171,7 +171,7 @@ public void shouldTraceSStoreOperation() { @Test public void shouldTraceContractCreation() { final DebugOperationTracer tracer = - new DebugOperationTracer(new TraceOptions(true, true, true), false); + new DebugOperationTracer(new TraceOptions(true, true, true, true), false); final Transaction transaction = Transaction.readFrom( new BytesValueRLPInput(Bytes.fromHexString(CONTRACT_CREATION_TX), false)); diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceFrame.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceFrame.java index cd6a9c3584f..e9776c79730 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceFrame.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceFrame.java @@ -15,6 +15,7 @@ package org.hyperledger.besu.ethereum.debug; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.LeafAccessKey; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.evm.Code; import org.hyperledger.besu.evm.frame.ExceptionalHaltReason; @@ -22,6 +23,7 @@ import org.hyperledger.besu.evm.internal.StorageEntry; import org.hyperledger.besu.evm.worldstate.WorldUpdater; +import java.util.List; import java.util.Map; import java.util.Optional; import java.util.OptionalLong; @@ -54,6 +56,7 @@ public class TraceFrame { private final Optional maybeCode; private final int stackItemsProduced; private final Optional stackPostExecution; + private final Optional> statelessWitness; private long gasRemainingPostExecution; private final boolean virtualOperation; @@ -77,6 +80,7 @@ public TraceFrame( final Optional stack, final Optional memory, final Optional> storage, + final Optional> statelessWitness, final WorldUpdater worldUpdater, final Optional revertReason, final Optional> maybeRefunds, @@ -101,6 +105,7 @@ public TraceFrame( this.stack = stack; this.memory = memory; this.storage = storage; + this.statelessWitness = statelessWitness; this.worldUpdater = worldUpdater; this.revertReason = revertReason; this.maybeRefunds = maybeRefunds; @@ -177,6 +182,10 @@ public Optional> getStorage() { return storage; } + public Optional> getStatelessWitness() { + return statelessWitness; + } + public WorldUpdater getWorldUpdater() { return worldUpdater; } @@ -201,6 +210,7 @@ public String toString() { .add("stack", stack) .add("memory", memory) .add("storage", storage) + .add("stalessWitness", statelessWitness) .toString(); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceOptions.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceOptions.java index 012c1b9e1c1..d7720e13da1 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceOptions.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/debug/TraceOptions.java @@ -14,30 +14,7 @@ */ package org.hyperledger.besu.ethereum.debug; -public class TraceOptions { - - private final boolean traceStorage; - private final boolean traceMemory; - private final boolean traceStack; - - public static final TraceOptions DEFAULT = new TraceOptions(true, true, true); - - public TraceOptions( - final boolean traceStorage, final boolean traceMemory, final boolean traceStack) { - this.traceStorage = traceStorage; - this.traceMemory = traceMemory; - this.traceStack = traceStack; - } - - public boolean isStorageEnabled() { - return traceStorage; - } - - public boolean isMemoryEnabled() { - return traceMemory; - } - - public boolean isStackEnabled() { - return traceStack; - } +public record TraceOptions( + boolean traceStorage, boolean traceMemory, boolean traceStack, boolean traceStatelessWitness) { + public static final TraceOptions DEFAULT = new TraceOptions(true, true, true, true); } diff --git a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java index 485420df772..7ec4e74deb6 100644 --- a/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java +++ b/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java @@ -15,6 +15,7 @@ package org.hyperledger.besu.ethereum.vm; import org.hyperledger.besu.datatypes.Address; +import org.hyperledger.besu.datatypes.LeafAccessKey; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.debug.TraceFrame; import org.hyperledger.besu.ethereum.debug.TraceOptions; @@ -89,6 +90,7 @@ public void tracePostExecution(final MessageFrame frame, final OperationResult o final Bytes outputData = frame.getOutputData(); final Optional memory = captureMemory(frame); final Optional stackPostExecution = captureStack(frame); + final Optional> statelessWitness = captureStatelessWitness(frame); if (lastFrame != null) { lastFrame.setGasRemainingPostExecution(gasRemaining); @@ -118,6 +120,7 @@ public void tracePostExecution(final MessageFrame frame, final OperationResult o preExecutionStack, memory, storage, + statelessWitness, worldUpdater, frame.getRevertReason(), maybeRefunds, @@ -152,6 +155,7 @@ public void tracePrecompileCall( Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), frame.getWorldUpdater(), Optional.empty(), Optional.ofNullable(frame.getRefunds()), @@ -199,6 +203,7 @@ public void traceAccountCreationResult( Optional.empty(), Optional.empty(), Optional.empty(), + Optional.empty(), frame.getWorldUpdater(), Optional.empty(), Optional.ofNullable(frame.getRefunds()), @@ -214,7 +219,7 @@ public void traceAccountCreationResult( } private Optional> captureStorage(final MessageFrame frame) { - if (!options.isStorageEnabled()) { + if (!options.traceStorage()) { return Optional.empty(); } try { @@ -229,7 +234,7 @@ private Optional> captureStorage(final MessageFrame frame) } private Optional captureMemory(final MessageFrame frame) { - if (!options.isMemoryEnabled()) { + if (!options.traceMemory()) { return Optional.empty(); } final Bytes[] memoryContents = new Bytes[frame.memoryWordSize()]; @@ -240,7 +245,7 @@ private Optional captureMemory(final MessageFrame frame) { } private Optional captureStack(final MessageFrame frame) { - if (!options.isStackEnabled()) { + if (!options.traceStack()) { return Optional.empty(); } @@ -252,6 +257,14 @@ private Optional captureStack(final MessageFrame frame) { return Optional.of(stackContents); } + private Optional> captureStatelessWitness(final MessageFrame frame) { + if (!options.traceStatelessWitness()) { + return Optional.empty(); + } + + return Optional.of(frame.getAccessWitness().getLeafAccesses()); + } + public List getTraceFrames() { return traceFrames; } diff --git a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/MessageFrameTestFixture.java b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/MessageFrameTestFixture.java index c4f492e3c80..31fd2f59a9d 100644 --- a/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/MessageFrameTestFixture.java +++ b/ethereum/core/src/test-support/java/org/hyperledger/besu/ethereum/core/MessageFrameTestFixture.java @@ -16,6 +16,7 @@ import static org.hyperledger.besu.evm.frame.MessageFrame.DEFAULT_MAX_STACK_SIZE; +import org.hyperledger.besu.datatypes.AccessWitness; import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.chain.Blockchain; @@ -56,6 +57,7 @@ public class MessageFrameTestFixture { private Optional blockHeader = Optional.empty(); private Optional blockHashLookup = Optional.empty(); private ExecutionContextTestFixture executionContextTestFixture; + private AccessWitness accessWitness; public MessageFrameTestFixture parentFrame(final MessageFrame parentFrame) { this.parentFrame = parentFrame; @@ -153,6 +155,11 @@ public MessageFrameTestFixture blockHashLookup(final BlockHashLookup blockHashLo return this; } + public MessageFrameTestFixture accessWitness(final AccessWitness accessWitness) { + this.accessWitness = accessWitness; + return this; + } + public MessageFrame build() { final Blockchain localBlockchain = this.blockchain.orElseGet(this::createDefaultBlockchain); final BlockHeader localBlockHeader = @@ -185,6 +192,7 @@ public MessageFrame build() { .getBlockHashProcessor() .createBlockHashLookup(localBlockchain, localBlockHeader))) .maxStackSize(maxStackSize) + .accessWitness(accessWitness) .build(); stackItems.forEach(frame::pushStackItem); return frame; diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracerTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracerTest.java index 2d97f4308bc..8d6e9d3a085 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracerTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracerTest.java @@ -18,6 +18,9 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import org.hyperledger.besu.datatypes.AccessWitness; +import org.hyperledger.besu.datatypes.BranchAccessKey; +import org.hyperledger.besu.datatypes.LeafAccessKey; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; @@ -31,12 +34,14 @@ import org.hyperledger.besu.evm.frame.ExceptionalHaltReason; import org.hyperledger.besu.evm.frame.MessageFrame; import org.hyperledger.besu.evm.gascalculator.CancunGasCalculator; +import org.hyperledger.besu.evm.gascalculator.stateless.Eip4762AccessWitness; import org.hyperledger.besu.evm.operation.AbstractOperation; import org.hyperledger.besu.evm.operation.CallOperation; import org.hyperledger.besu.evm.operation.Operation; import org.hyperledger.besu.evm.operation.Operation.OperationResult; import org.hyperledger.besu.evm.worldstate.WorldUpdater; +import java.util.List; import java.util.Map; import java.util.OptionalLong; import java.util.TreeMap; @@ -114,7 +119,8 @@ void shouldRecordStackWhenEnabled() { frame.pushStackItem(stackItem1); frame.pushStackItem(stackItem2); frame.pushStackItem(stackItem3); - final TraceFrame traceFrame = traceFrame(frame, new TraceOptions(false, false, true), false); + final TraceFrame traceFrame = + traceFrame(frame, new TraceOptions(false, false, true, false), false); assertThat(traceFrame.getStack()).isPresent(); assertThat(traceFrame.getStack().get()).containsExactly(stackItem1, stackItem2, stackItem3); } @@ -122,7 +128,7 @@ void shouldRecordStackWhenEnabled() { @Test void shouldNotRecordStackWhenDisabled() { final TraceFrame traceFrame = - traceFrame(validMessageFrame(), new TraceOptions(false, false, false), false); + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), false); assertThat(traceFrame.getStack()).isEmpty(); } @@ -135,7 +141,8 @@ void shouldRecordMemoryWhenEnabled() { frame.writeMemory(0, 32, word1); frame.writeMemory(32, 32, word2); frame.writeMemory(64, 32, word3); - final TraceFrame traceFrame = traceFrame(frame, new TraceOptions(false, true, false), false); + final TraceFrame traceFrame = + traceFrame(frame, new TraceOptions(false, true, false, false), false); assertThat(traceFrame.getMemory()).isPresent(); assertThat(traceFrame.getMemory().get()).containsExactly(word1, word2, word3); } @@ -143,7 +150,7 @@ void shouldRecordMemoryWhenEnabled() { @Test void shouldNotRecordMemoryWhenDisabled() { final TraceFrame traceFrame = - traceFrame(validMessageFrame(), new TraceOptions(false, false, false), false); + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), false); assertThat(traceFrame.getMemory()).isEmpty(); } @@ -151,7 +158,8 @@ void shouldNotRecordMemoryWhenDisabled() { void shouldRecordStorageWhenEnabled() { final MessageFrame frame = validMessageFrame(); final Map updatedStorage = setupStorageForCapture(frame); - final TraceFrame traceFrame = traceFrame(frame, new TraceOptions(true, false, false), false); + final TraceFrame traceFrame = + traceFrame(frame, new TraceOptions(true, false, false, false), false); assertThat(traceFrame.getStorage()).isPresent(); assertThat(traceFrame.getStorage()).contains(updatedStorage); } @@ -159,30 +167,53 @@ void shouldRecordStorageWhenEnabled() { @Test void shouldNotRecordStorageWhenDisabled() { final TraceFrame traceFrame = - traceFrame(validMessageFrame(), new TraceOptions(false, false, false), false); + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), false); assertThat(traceFrame.getStorage()).isEmpty(); } + @Test + void shouldRecordStatelessWitnessWhenEnabled() { + AccessWitness accessWitness = new Eip4762AccessWitness(); + final MessageFrame frame = validMessageFrame(accessWitness); + accessWitness.touchAddressAndChargeRead(frame.getSenderAddress(), UInt256.ZERO); + LeafAccessKey expectedLeafKey = + new LeafAccessKey( + new BranchAccessKey(frame.getSenderAddress(), UInt256.ZERO), UInt256.ZERO); + final TraceFrame traceFrame = + traceFrame(frame, new TraceOptions(false, false, false, true), false); + assertThat(traceFrame.getStatelessWitness()).hasValue(List.of(expectedLeafKey)); + } + + @Test + void shouldNotRecordStatelessWitnessWhenDisabled() { + AccessWitness accessWitness = new Eip4762AccessWitness(); + final MessageFrame frame = validMessageFrame(accessWitness); + accessWitness.touchAddressAndChargeRead(frame.getSenderAddress(), UInt256.ZERO); + final TraceFrame traceFrame = + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), false); + assertThat(traceFrame.getStatelessWitness()).isEmpty(); + } + @Test void shouldNotAddGasWhenDisabled() { final TraceFrame traceFrame = - traceFrame(validCallFrame(), new TraceOptions(false, false, false), false); + traceFrame(validCallFrame(), new TraceOptions(false, false, false, false), false); assertThat(traceFrame.getGasCost()).isEqualTo(OptionalLong.of(20)); } @Test void shouldAddGasWhenEnabled() { final TraceFrame traceFrame = - traceFrame(validCallFrame(), new TraceOptions(false, false, false), true); + traceFrame(validCallFrame(), new TraceOptions(false, false, false, false), true); assertThat(traceFrame.getGasCost()).isEqualTo(OptionalLong.of(1020L)); } @Test void childGasFlagDoesNotMatterForNonCallOperations() { final TraceFrame flagDisabledTracer = - traceFrame(validMessageFrame(), new TraceOptions(false, false, false), false); + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), false); final TraceFrame flagEnabledTracer = - traceFrame(validMessageFrame(), new TraceOptions(false, false, false), true); + traceFrame(validMessageFrame(), new TraceOptions(false, false, false, false), true); assertThat(flagEnabledTracer.getGasCost()).isEqualTo(flagDisabledTracer.getGasCost()); } @@ -193,7 +224,7 @@ void shouldCaptureFrameWhenExceptionalHaltOccurs() { final Map updatedStorage = setupStorageForCapture(frame); final DebugOperationTracer tracer = - new DebugOperationTracer(new TraceOptions(true, true, true), false); + new DebugOperationTracer(new TraceOptions(true, true, true, false), false); tracer.tracePostExecution( frame, new OperationResult(50L, ExceptionalHaltReason.INSUFFICIENT_GAS)); @@ -204,7 +235,7 @@ void shouldCaptureFrameWhenExceptionalHaltOccurs() { } private TraceFrame traceFrame(final MessageFrame frame) { - return traceFrame(frame, new TraceOptions(false, false, false), false); + return traceFrame(frame, new TraceOptions(false, false, false, false), false); } private TraceFrame traceFrame( @@ -223,6 +254,13 @@ private MessageFrame validMessageFrame() { return frame; } + private MessageFrame validMessageFrame(final AccessWitness accessWitness) { + final MessageFrame frame = validMessageFrameBuilder().accessWitness(accessWitness).build(); + frame.setCurrentOperation(anOperation); + frame.setPC(10); + return frame; + } + private MessageFrame validCallFrame() { final MessageFrame frame = validMessageFrameBuilder().build(); frame.setCurrentOperation(callOperation); @@ -232,7 +270,7 @@ private MessageFrame validCallFrame() { private TraceFrame getOnlyTraceFrame(final DebugOperationTracer tracer) { Assertions.assertThat(tracer.getTraceFrames()).hasSize(1); - return tracer.getTraceFrames().get(0); + return tracer.getTraceFrames().getFirst(); } private MessageFrameTestFixture validMessageFrameBuilder() { diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java index 0ff6a21da83..d3e3f82ca2b 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/EvmToolCommand.java @@ -230,6 +230,14 @@ void setBytes(final String optionValue) { negatable = true) final Boolean showStorage = false; + @Option( + names = {"--trace.statelesswitness"}, + description = + "Show the state of the access witness for stateless. Default is to not show stateless witness.", + scope = INHERIT, + negatable = true) + final Boolean showWitness = false; + @Option( names = {"--notime"}, description = "Don't include time data in summary output.", @@ -440,7 +448,8 @@ public void run() { final OperationTracer tracer = // You should have picked Mercy. lastLoop && showJsonResults - ? new StandardJsonTracer(out, showMemory, !hideStack, showReturnData, showStorage) + ? new StandardJsonTracer( + out, showMemory, !hideStack, showReturnData, showStorage, showWitness) : OperationTracer.NO_TRACING; WorldUpdater updater = component.getWorldUpdater(); diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java index b15aec6b9d0..e13e7ae3cee 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/StateTestSubCommand.java @@ -208,7 +208,8 @@ private void traceTestSpecs(final String test, final List