mirror of
https://github.com/vacp2p/linea-besu.git
synced 2026-01-09 15:37:54 -05:00
Merge branch 'hyperledger:main' into zkbesu
This commit is contained in:
@@ -1587,13 +1587,37 @@ public class BesuCommand implements DefaultCommandValues, Runnable {
|
||||
}
|
||||
|
||||
private void validateChainDataPruningParams() {
|
||||
if (unstableChainPruningOptions.getChainDataPruningEnabled()
|
||||
&& unstableChainPruningOptions.getChainDataPruningBlocksRetained()
|
||||
< unstableChainPruningOptions.getChainDataPruningBlocksRetainedLimit()) {
|
||||
throw new ParameterException(
|
||||
this.commandLine,
|
||||
"--Xchain-pruning-blocks-retained must be >= "
|
||||
+ unstableChainPruningOptions.getChainDataPruningBlocksRetainedLimit());
|
||||
Long chainDataPruningBlocksRetained =
|
||||
unstableChainPruningOptions.getChainDataPruningBlocksRetained();
|
||||
if (unstableChainPruningOptions.getChainDataPruningEnabled()) {
|
||||
final GenesisConfigOptions genesisConfigOptions = readGenesisConfigOptions();
|
||||
if (chainDataPruningBlocksRetained
|
||||
< unstableChainPruningOptions.getChainDataPruningBlocksRetainedLimit()) {
|
||||
throw new ParameterException(
|
||||
this.commandLine,
|
||||
"--Xchain-pruning-blocks-retained must be >= "
|
||||
+ unstableChainPruningOptions.getChainDataPruningBlocksRetainedLimit());
|
||||
} else if (genesisConfigOptions.isPoa()) {
|
||||
Long epochLength = 0L;
|
||||
String consensusMechanism = "";
|
||||
if (genesisConfigOptions.isIbft2()) {
|
||||
epochLength = genesisConfigOptions.getBftConfigOptions().getEpochLength();
|
||||
consensusMechanism = "IBFT2";
|
||||
} else if (genesisConfigOptions.isQbft()) {
|
||||
epochLength = genesisConfigOptions.getQbftConfigOptions().getEpochLength();
|
||||
consensusMechanism = "QBFT";
|
||||
} else if (genesisConfigOptions.isClique()) {
|
||||
epochLength = genesisConfigOptions.getCliqueConfigOptions().getEpochLength();
|
||||
consensusMechanism = "Clique";
|
||||
}
|
||||
if (chainDataPruningBlocksRetained < epochLength) {
|
||||
throw new ParameterException(
|
||||
this.commandLine,
|
||||
String.format(
|
||||
"--Xchain-pruning-blocks-retained(%d) must be >= epochlength(%d) for %s",
|
||||
chainDataPruningBlocksRetained, epochLength, consensusMechanism));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2598,4 +2598,91 @@ public class BesuCommandTest extends CommandTestAbstract {
|
||||
|
||||
assertThat(errorOutputString).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
void chainPruningEnabledWithPOAShouldFailWhenChainPruningBlocksRetainedValueLessThanEpochLength()
|
||||
throws IOException {
|
||||
JsonObject genesis = GENESIS_VALID_JSON;
|
||||
|
||||
// for QBFT
|
||||
genesis.getJsonObject("config").put("qbft", new JsonObject().put("epochlength", 25000));
|
||||
final Path genesisFileQBFT = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileQBFT.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=7200",
|
||||
"--version-compatibility-protection=false");
|
||||
assertThat(commandErrorOutput.toString(UTF_8))
|
||||
.contains("--Xchain-pruning-blocks-retained(7200) must be >= epochlength(25000) for QBFT");
|
||||
commandErrorOutput.reset();
|
||||
|
||||
// for IBFT2
|
||||
genesis.getJsonObject("config").put("ibft2", new JsonObject().put("epochlength", 20000));
|
||||
genesis.getJsonObject("config").remove("qbft");
|
||||
final Path genesisFileIBFT = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileIBFT.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=7200",
|
||||
"--version-compatibility-protection=false");
|
||||
assertThat(commandErrorOutput.toString(UTF_8))
|
||||
.contains("--Xchain-pruning-blocks-retained(7200) must be >= epochlength(20000) for IBFT2");
|
||||
commandErrorOutput.reset();
|
||||
|
||||
// for Clique
|
||||
genesis.getJsonObject("config").put("clique", new JsonObject().put("epochlength", 10000));
|
||||
genesis.getJsonObject("config").remove("ibft2");
|
||||
final Path genesisFileClique = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileClique.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=7200",
|
||||
"--version-compatibility-protection=false");
|
||||
assertThat(commandErrorOutput.toString(UTF_8))
|
||||
.contains(
|
||||
"--Xchain-pruning-blocks-retained(7200) must be >= epochlength(10000) for Clique");
|
||||
}
|
||||
|
||||
@Test
|
||||
void chainPruningEnabledWithPOA() throws IOException {
|
||||
JsonObject genesis = GENESIS_VALID_JSON;
|
||||
// for QBFT
|
||||
genesis.getJsonObject("config").put("qbft", new JsonObject().put("epochlength", 25000));
|
||||
final Path genesisFileForQBFT = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileForQBFT.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=25000",
|
||||
"--version-compatibility-protection=false");
|
||||
assertThat(commandErrorOutput.toString(UTF_8)).isEmpty();
|
||||
|
||||
// for IBFT2
|
||||
genesis.getJsonObject("config").put("ibft2", new JsonObject().put("epochlength", 20000));
|
||||
genesis.getJsonObject("config").remove("qbft");
|
||||
final Path genesisFileIBFT = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileIBFT.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=20000",
|
||||
"--version-compatibility-protection=false");
|
||||
|
||||
assertThat(commandErrorOutput.toString(UTF_8)).isEmpty();
|
||||
|
||||
// for Clique
|
||||
genesis.getJsonObject("config").put("clique", new JsonObject().put("epochlength", 10000));
|
||||
genesis.getJsonObject("config").remove("ibft2");
|
||||
final Path genesisFileClique = createFakeGenesisFile(genesis);
|
||||
parseCommand(
|
||||
"--genesis-file",
|
||||
genesisFileClique.toString(),
|
||||
"--Xchain-pruning-enabled=true",
|
||||
"--Xchain-pruning-blocks-retained=10000",
|
||||
"--version-compatibility-protection=false");
|
||||
assertThat(commandErrorOutput.toString(UTF_8)).isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.JsonRpcMethod;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.plugin.services.rpc.RpcResponseType;
|
||||
import org.hyperledger.besu.testutil.BlockTestUtil;
|
||||
|
||||
@@ -60,22 +60,20 @@ public class DebugTraceTransactionIntegrationTest {
|
||||
@Test
|
||||
public void debugTraceTransactionSuccessTest() {
|
||||
final Map<String, Boolean> map = Map.of("disableStorage", true);
|
||||
final Object[] params =
|
||||
new Object[] {
|
||||
Hash.fromHexString("0xcef53f2311d7c80e9086d661e69ac11a5f3d081e28e02a9ba9b66749407ac310"),
|
||||
map
|
||||
};
|
||||
final Hash trxHash =
|
||||
Hash.fromHexString("0xcef53f2311d7c80e9086d661e69ac11a5f3d081e28e02a9ba9b66749407ac310");
|
||||
final Object[] params = new Object[] {trxHash, map};
|
||||
final JsonRpcRequestContext request =
|
||||
new JsonRpcRequestContext(new JsonRpcRequest("2.0", DEBUG_TRACE_TRANSACTION, params));
|
||||
|
||||
final JsonRpcResponse response = method.response(request);
|
||||
assertThat(response.getType()).isEqualTo(RpcResponseType.SUCCESS);
|
||||
DebugTraceTransactionResult debugTraceTransactionResult =
|
||||
(DebugTraceTransactionResult) ((JsonRpcSuccessResponse) response).getResult();
|
||||
assertThat(debugTraceTransactionResult.getGas()).isEqualTo(23705L);
|
||||
assertThat(debugTraceTransactionResult.getReturnValue()).isEmpty();
|
||||
assertThat(debugTraceTransactionResult.failed()).isFalse();
|
||||
assertThat(debugTraceTransactionResult.getStructLogs()).hasSize(106);
|
||||
DebugTraceTransactionDetails debugTraceTransactionDetails =
|
||||
(DebugTraceTransactionDetails) ((JsonRpcSuccessResponse) response).getResult();
|
||||
assertThat(debugTraceTransactionDetails.getGas()).isEqualTo(23705L);
|
||||
assertThat(debugTraceTransactionDetails.getReturnValue()).isEmpty();
|
||||
assertThat(debugTraceTransactionDetails.failed()).isFalse();
|
||||
assertThat(debugTraceTransactionDetails.getStructLogs()).hasSize(106);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionT
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.debug.TraceOptions;
|
||||
import org.hyperledger.besu.ethereum.mainnet.ImmutableTransactionValidationParams;
|
||||
@@ -104,7 +104,7 @@ public class DebugTraceCall extends AbstractTraceCall {
|
||||
new TransactionTrace(
|
||||
result.transaction(), result.result(), tracer.getTraceFrames());
|
||||
|
||||
return new DebugTraceTransactionResult(transactionTrace);
|
||||
return new DebugTraceTransactionDetails(transactionTrace);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionT
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.api.query.TransactionWithMetadata;
|
||||
import org.hyperledger.besu.ethereum.debug.TraceOptions;
|
||||
@@ -76,7 +76,7 @@ public class DebugTraceTransaction implements JsonRpcMethod {
|
||||
RpcErrorType.INVALID_TRANSACTION_TRACE_PARAMS,
|
||||
e);
|
||||
}
|
||||
final DebugTraceTransactionResult debugTraceTransactionResult =
|
||||
final DebugTraceTransactionDetails debugTraceTransactionResult =
|
||||
debugTraceTransactionResult(hash, transactionWithMetadata.get(), traceOptions);
|
||||
|
||||
return new JsonRpcSuccessResponse(
|
||||
@@ -86,7 +86,7 @@ public class DebugTraceTransaction implements JsonRpcMethod {
|
||||
}
|
||||
}
|
||||
|
||||
private DebugTraceTransactionResult debugTraceTransactionResult(
|
||||
private DebugTraceTransactionDetails debugTraceTransactionResult(
|
||||
final Hash hash,
|
||||
final TransactionWithMetadata transactionWithMetadata,
|
||||
final TraceOptions traceOptions) {
|
||||
@@ -100,7 +100,7 @@ public class DebugTraceTransaction implements JsonRpcMethod {
|
||||
mutableWorldState ->
|
||||
transactionTracer
|
||||
.traceTransaction(mutableWorldState, blockHash, hash, execTracer)
|
||||
.map(DebugTraceTransactionResult::new))
|
||||
.map(DebugTraceTransactionDetails::new))
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* 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.ethereum.api.jsonrpc.internal.results;
|
||||
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTrace;
|
||||
import org.hyperledger.besu.ethereum.debug.TraceFrame;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
@JsonPropertyOrder({"gas", "failed", "returnValue", "structLogs"})
|
||||
public class DebugTraceTransactionDetails {
|
||||
|
||||
private final List<StructLog> structLogs;
|
||||
private final String returnValue;
|
||||
private final long gas;
|
||||
private final boolean failed;
|
||||
|
||||
public DebugTraceTransactionDetails(final TransactionTrace transactionTrace) {
|
||||
gas = transactionTrace.getGas();
|
||||
returnValue = transactionTrace.getResult().getOutput().toString().substring(2);
|
||||
structLogs = new ArrayList<>(transactionTrace.getTraceFrames().size());
|
||||
transactionTrace.getTraceFrames().parallelStream()
|
||||
.map(DebugTraceTransactionDetails::createStructLog)
|
||||
.forEachOrdered(structLogs::add);
|
||||
failed = !transactionTrace.getResult().isSuccessful();
|
||||
}
|
||||
|
||||
public static Collection<DebugTraceTransactionResult> of(
|
||||
final Collection<TransactionTrace> traces) {
|
||||
return traces.stream().map(DebugTraceTransactionResult::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static StructLog createStructLog(final TraceFrame frame) {
|
||||
return frame
|
||||
.getExceptionalHaltReason()
|
||||
.map(__ -> (StructLog) new StructLogWithError(frame))
|
||||
.orElse(new StructLog(frame));
|
||||
}
|
||||
|
||||
@JsonGetter(value = "structLogs")
|
||||
public List<StructLog> getStructLogs() {
|
||||
return structLogs;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "returnValue")
|
||||
public String getReturnValue() {
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "gas")
|
||||
public long getGas() {
|
||||
return gas;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "failed")
|
||||
public boolean failed() {
|
||||
return failed;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright ConsenSys AG.
|
||||
* 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
|
||||
@@ -15,32 +15,23 @@
|
||||
package org.hyperledger.besu.ethereum.api.jsonrpc.internal.results;
|
||||
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTrace;
|
||||
import org.hyperledger.besu.ethereum.debug.TraceFrame;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
@JsonPropertyOrder({"gas", "failed", "returnValue", "structLogs"})
|
||||
@JsonPropertyOrder({"txHash", "result"})
|
||||
public class DebugTraceTransactionResult {
|
||||
|
||||
private final List<StructLog> structLogs;
|
||||
private final String returnValue;
|
||||
private final long gas;
|
||||
private final boolean failed;
|
||||
private final String txHash;
|
||||
|
||||
private final DebugTraceTransactionDetails result;
|
||||
|
||||
public DebugTraceTransactionResult(final TransactionTrace transactionTrace) {
|
||||
gas = transactionTrace.getGas();
|
||||
returnValue = transactionTrace.getResult().getOutput().toString().substring(2);
|
||||
structLogs = new ArrayList<>(transactionTrace.getTraceFrames().size());
|
||||
transactionTrace.getTraceFrames().parallelStream()
|
||||
.map(DebugTraceTransactionResult::createStructLog)
|
||||
.forEachOrdered(structLogs::add);
|
||||
failed = !transactionTrace.getResult().isSuccessful();
|
||||
this.txHash = transactionTrace.getTransaction().getHash().toHexString();
|
||||
this.result = new DebugTraceTransactionDetails(transactionTrace);
|
||||
}
|
||||
|
||||
public static Collection<DebugTraceTransactionResult> of(
|
||||
@@ -48,30 +39,13 @@ public class DebugTraceTransactionResult {
|
||||
return traces.stream().map(DebugTraceTransactionResult::new).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static StructLog createStructLog(final TraceFrame frame) {
|
||||
return frame
|
||||
.getExceptionalHaltReason()
|
||||
.map(__ -> (StructLog) new StructLogWithError(frame))
|
||||
.orElse(new StructLog(frame));
|
||||
@JsonGetter(value = "txHash")
|
||||
public String getTxHash() {
|
||||
return txHash;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "structLogs")
|
||||
public List<StructLog> getStructLogs() {
|
||||
return structLogs;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "returnValue")
|
||||
public String getReturnValue() {
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "gas")
|
||||
public long getGas() {
|
||||
return gas;
|
||||
}
|
||||
|
||||
@JsonGetter(value = "failed")
|
||||
public boolean failed() {
|
||||
return failed;
|
||||
@JsonGetter(value = "result")
|
||||
public DebugTraceTransactionDetails getResult() {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,8 @@ public class DebugTraceJsonRpcHttpBySpecTest extends AbstractJsonRpcHttpBySpecTe
|
||||
}
|
||||
|
||||
public static Object[][] specs() {
|
||||
return AbstractJsonRpcHttpBySpecTest.findSpecFiles(new String[] {"debug/trace-call"});
|
||||
return AbstractJsonRpcHttpBySpecTest.findSpecFiles(
|
||||
new String[] {"debug/trace-call", "debug/trace-block"});
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -39,7 +39,8 @@ public class DebugTraceJsonRpcHttpBySpecTest extends AbstractJsonRpcHttpBySpecTe
|
||||
}
|
||||
|
||||
public static Object[][] specs() {
|
||||
return AbstractJsonRpcHttpBySpecTest.findSpecFiles(new String[] {"debug/trace-call"});
|
||||
return AbstractJsonRpcHttpBySpecTest.findSpecFiles(
|
||||
new String[] {"debug/trace-call", "debug/trace-block"});
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonR
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
import org.hyperledger.besu.ethereum.core.Block;
|
||||
@@ -90,10 +90,10 @@ public class DebugTraceBlockByHashTest {
|
||||
when(blockchainQueries.getBlockchain()).thenReturn(blockchain);
|
||||
when(blockchain.getBlockByHash(block.getHash())).thenReturn(Optional.of(block));
|
||||
|
||||
DebugTraceTransactionResult result1 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionResult result2 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionDetails result1 = mock(DebugTraceTransactionDetails.class);
|
||||
DebugTraceTransactionDetails result2 = mock(DebugTraceTransactionDetails.class);
|
||||
|
||||
List<DebugTraceTransactionResult> resultList = Arrays.asList(result1, result2);
|
||||
List<DebugTraceTransactionDetails> resultList = Arrays.asList(result1, result2);
|
||||
|
||||
try (MockedStatic<Tracer> mockedTracer = mockStatic(Tracer.class)) {
|
||||
mockedTracer
|
||||
@@ -109,7 +109,7 @@ public class DebugTraceBlockByHashTest {
|
||||
assertThat(jsonRpcResponse).isInstanceOf(JsonRpcSuccessResponse.class);
|
||||
JsonRpcSuccessResponse response = (JsonRpcSuccessResponse) jsonRpcResponse;
|
||||
|
||||
final Collection<DebugTraceTransactionResult> traceResult = getResult(response);
|
||||
final Collection<DebugTraceTransactionDetails> traceResult = getResult(response);
|
||||
assertThat(traceResult).isNotEmpty();
|
||||
assertThat(traceResult).isInstanceOf(Collection.class).hasSize(2);
|
||||
assertThat(traceResult).containsExactly(result1, result2);
|
||||
@@ -117,8 +117,9 @@ public class DebugTraceBlockByHashTest {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Collection<DebugTraceTransactionResult> getResult(final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionResult>) response.getResult();
|
||||
private Collection<DebugTraceTransactionDetails> getResult(
|
||||
final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionDetails>) response.getResult();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.exception.InvalidJsonR
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
import org.hyperledger.besu.ethereum.core.Block;
|
||||
@@ -88,10 +88,10 @@ public class DebugTraceBlockByNumberTest {
|
||||
when(blockchain.getBlockByNumber(blockNumber)).thenReturn(Optional.of(block));
|
||||
when(block.getHeader()).thenReturn(blockHeader);
|
||||
|
||||
DebugTraceTransactionResult result1 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionResult result2 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionDetails result1 = mock(DebugTraceTransactionDetails.class);
|
||||
DebugTraceTransactionDetails result2 = mock(DebugTraceTransactionDetails.class);
|
||||
|
||||
List<DebugTraceTransactionResult> resultList = Arrays.asList(result1, result2);
|
||||
List<DebugTraceTransactionDetails> resultList = Arrays.asList(result1, result2);
|
||||
|
||||
try (MockedStatic<Tracer> mockedTracer = mockStatic(Tracer.class)) {
|
||||
mockedTracer
|
||||
@@ -105,7 +105,7 @@ public class DebugTraceBlockByNumberTest {
|
||||
assertThat(jsonRpcResponse).isInstanceOf(JsonRpcSuccessResponse.class);
|
||||
JsonRpcSuccessResponse response = (JsonRpcSuccessResponse) jsonRpcResponse;
|
||||
|
||||
final Collection<DebugTraceTransactionResult> traceResult = getResult(response);
|
||||
final Collection<DebugTraceTransactionDetails> traceResult = getResult(response);
|
||||
assertThat(traceResult).isNotEmpty();
|
||||
assertThat(traceResult).isInstanceOf(Collection.class).hasSize(2);
|
||||
assertThat(traceResult).containsExactly(result1, result2);
|
||||
@@ -113,8 +113,9 @@ public class DebugTraceBlockByNumberTest {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Collection<DebugTraceTransactionResult> getResult(final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionResult>) response.getResult();
|
||||
private Collection<DebugTraceTransactionDetails> getResult(
|
||||
final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionDetails>) response.getResult();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorR
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.RpcErrorType;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.chain.BadBlockManager;
|
||||
import org.hyperledger.besu.ethereum.chain.Blockchain;
|
||||
@@ -144,10 +144,10 @@ public class DebugTraceBlockTest {
|
||||
when(blockchain.getBlockByHash(block.getHeader().getParentHash()))
|
||||
.thenReturn(Optional.of(parentBlock));
|
||||
|
||||
DebugTraceTransactionResult result1 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionResult result2 = mock(DebugTraceTransactionResult.class);
|
||||
DebugTraceTransactionDetails result1 = mock(DebugTraceTransactionDetails.class);
|
||||
DebugTraceTransactionDetails result2 = mock(DebugTraceTransactionDetails.class);
|
||||
|
||||
List<DebugTraceTransactionResult> resultList = Arrays.asList(result1, result2);
|
||||
List<DebugTraceTransactionDetails> resultList = Arrays.asList(result1, result2);
|
||||
|
||||
try (MockedStatic<Tracer> mockedTracer = mockStatic(Tracer.class)) {
|
||||
mockedTracer
|
||||
@@ -163,7 +163,7 @@ public class DebugTraceBlockTest {
|
||||
assertThat(jsonRpcResponse).isInstanceOf(JsonRpcSuccessResponse.class);
|
||||
JsonRpcSuccessResponse response = (JsonRpcSuccessResponse) jsonRpcResponse;
|
||||
|
||||
final Collection<DebugTraceTransactionResult> traceResult = getResult(response);
|
||||
final Collection<DebugTraceTransactionDetails> traceResult = getResult(response);
|
||||
assertThat(traceResult).isNotEmpty();
|
||||
assertThat(traceResult).isInstanceOf(Collection.class).hasSize(2);
|
||||
assertThat(traceResult).containsExactly(result1, result2);
|
||||
@@ -171,8 +171,9 @@ public class DebugTraceBlockTest {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Collection<DebugTraceTransactionResult> getResult(final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionResult>) response.getResult();
|
||||
private Collection<DebugTraceTransactionDetails> getResult(
|
||||
final JsonRpcSuccessResponse response) {
|
||||
return (Collection<DebugTraceTransactionDetails>) response.getResult();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionT
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTracer;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionResult;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTransactionDetails;
|
||||
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.StructLog;
|
||||
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
|
||||
import org.hyperledger.besu.ethereum.api.query.TransactionWithMetadata;
|
||||
@@ -155,8 +155,8 @@ public class DebugTraceTransactionTest {
|
||||
.thenReturn(Optional.of(transactionTrace));
|
||||
final JsonRpcSuccessResponse response =
|
||||
(JsonRpcSuccessResponse) debugTraceTransaction.response(request);
|
||||
final DebugTraceTransactionResult transactionResult =
|
||||
(DebugTraceTransactionResult) response.getResult();
|
||||
final DebugTraceTransactionDetails transactionResult =
|
||||
(DebugTraceTransactionDetails) response.getResult();
|
||||
|
||||
assertThat(transactionResult.getGas()).isEqualTo(73);
|
||||
assertThat(transactionResult.getReturnValue()).isEqualTo("1234");
|
||||
|
||||
@@ -0,0 +1,456 @@
|
||||
{
|
||||
"request": {
|
||||
"id": 1,
|
||||
"jsonrpc": "2.0",
|
||||
"method": "debug_traceBlockByNumber",
|
||||
"params": [
|
||||
"0x04"
|
||||
]
|
||||
},
|
||||
"response": {
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":[
|
||||
{
|
||||
"txHash":"0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7",
|
||||
"result":{
|
||||
"gas":61584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16735630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16735624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16735618,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16715618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9",
|
||||
"result":{
|
||||
"gas":31584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16750630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16750624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16750618,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16745618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0x7ca6bf869e8882216f7443accb8d642df41af5bfa3a0e63bf03be2cfe629a030",
|
||||
"result":{
|
||||
"gas":13686,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755654,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755651,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755648,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755645,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755642,
|
||||
"gasCost":800,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16754842,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754839,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16754836,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754833,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16754830,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16749830,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"statusCode": 200
|
||||
}
|
||||
@@ -0,0 +1,459 @@
|
||||
{
|
||||
"request": {
|
||||
"id": 1,
|
||||
"jsonrpc": "2.0",
|
||||
"method": "debug_traceBlockByNumber",
|
||||
"params": [
|
||||
"0x04",
|
||||
{
|
||||
"disableMemory":true
|
||||
}
|
||||
]
|
||||
},
|
||||
"response":{
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":[
|
||||
{
|
||||
"txHash":"0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7",
|
||||
"result":{
|
||||
"gas":61584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16735630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16735624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16735618,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16715618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9",
|
||||
"result":{
|
||||
"gas":31584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16750630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16750624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16750618,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x2"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16745618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0x7ca6bf869e8882216f7443accb8d642df41af5bfa3a0e63bf03be2cfe629a030",
|
||||
"result":{
|
||||
"gas":13686,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755654,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755651,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755648,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755645,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755642,
|
||||
"gasCost":800,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16754842,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754839,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16754836,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754833,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x40"
|
||||
],
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16754830,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x1"
|
||||
],
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16749830,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"statusCode": 200
|
||||
}
|
||||
@@ -0,0 +1,348 @@
|
||||
{
|
||||
"request": {
|
||||
"id": 1,
|
||||
"jsonrpc": "2.0",
|
||||
"method": "debug_traceBlockByNumber",
|
||||
"params": [
|
||||
"0x04",
|
||||
{
|
||||
"disableStack": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"response": {
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":[
|
||||
{
|
||||
"txHash":"0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7",
|
||||
"result":{
|
||||
"gas":61584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16735630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16735624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16735618,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16715618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"1",
|
||||
"2":"2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9",
|
||||
"result":{
|
||||
"gas":31584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16750630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16750624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16750618,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16745618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3",
|
||||
"2":"4"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0x7ca6bf869e8882216f7443accb8d642df41af5bfa3a0e63bf03be2cfe629a030",
|
||||
"result":{
|
||||
"gas":13686,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755654,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755651,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755648,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755645,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755642,
|
||||
"gasCost":800,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16754842,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754839,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16754836,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754833,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16754830,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16749830,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"storage":{
|
||||
"1":"0"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"statusCode": 200
|
||||
}
|
||||
@@ -0,0 +1,392 @@
|
||||
{
|
||||
"request": {
|
||||
"id": 1,
|
||||
"jsonrpc": "2.0",
|
||||
"method": "debug_traceBlockByNumber",
|
||||
"params": [
|
||||
"0x04",
|
||||
{
|
||||
"disableStorage": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"response": {
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":[
|
||||
{
|
||||
"txHash":"0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7",
|
||||
"result":{
|
||||
"gas":61584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16735630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16735624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16735621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16735618,
|
||||
"gasCost":20000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x2",
|
||||
"0x2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16715618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9",
|
||||
"result":{
|
||||
"gas":31584,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755642,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755639,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755636,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755633,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755630,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16750630,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750627,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16750624,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16750621,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16750618,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x4",
|
||||
"0x2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16745618,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"txHash":"0x7ca6bf869e8882216f7443accb8d642df41af5bfa3a0e63bf03be2cfe629a030",
|
||||
"result":{
|
||||
"gas":13686,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755654,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755651,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16755648,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755645,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"SSTORE",
|
||||
"gas":16755642,
|
||||
"gasCost":800,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x3",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"PUSH1",
|
||||
"gas":16754842,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754839,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x60"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":10,
|
||||
"op":"PUSH1",
|
||||
"gas":16754836,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":12,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16754833,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"SSTORE",
|
||||
"gas":16754830,
|
||||
"gasCost":5000,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x0",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"STOP",
|
||||
"gas":16749830,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"statusCode": 200
|
||||
}
|
||||
@@ -17,175 +17,203 @@
|
||||
"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
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755907,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 4,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755904,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "CALLDATASIZE",
|
||||
"gas" : 16755901,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 7,
|
||||
"op" : "SUB",
|
||||
"gas" : 16755899,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "DUP1",
|
||||
"gas" : 16755896,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755893,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755890,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "CALLDATACOPY",
|
||||
"gas" : 16755887,
|
||||
"gasCost" : 9,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 14,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755878,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 16,
|
||||
"op" : "CALLVALUE",
|
||||
"gas" : 16755875,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 17,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755873,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 19,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16755870,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 20,
|
||||
"op" : "GAS",
|
||||
"gas" : 16755867,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 21,
|
||||
"op" : "CALLCODE",
|
||||
"gas" : 16755865,
|
||||
"gasCost" : 16494066,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 0,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493366,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16493363,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 3,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493360,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 5,
|
||||
"op" : "ADD",
|
||||
"gas" : 16493357,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493354,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "MSTORE",
|
||||
"gas" : 16493351,
|
||||
"gasCost" : 6,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493345,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493342,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16493339,
|
||||
"gasCost" : 0,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 22,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755138,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 24,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755135,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 26,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16755132,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1
|
||||
} ]
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":22070,
|
||||
"failed":false,
|
||||
"returnValue":"f000000000000000000000000000000000000000000000000000000000000002",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755910,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"PUSH1",
|
||||
"gas":16755907,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":4,
|
||||
"op":"PUSH1",
|
||||
"gas":16755904,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"CALLDATASIZE",
|
||||
"gas":16755901,
|
||||
"gasCost":2,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"SUB",
|
||||
"gas":16755899,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"DUP1",
|
||||
"gas":16755896,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16755893,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16755890,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"CALLDATACOPY",
|
||||
"gas":16755887,
|
||||
"gasCost":9,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"PUSH1",
|
||||
"gas":16755878,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":16,
|
||||
"op":"CALLVALUE",
|
||||
"gas":16755875,
|
||||
"gasCost":2,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":17,
|
||||
"op":"PUSH1",
|
||||
"gas":16755873,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":19,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755870,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":20,
|
||||
"op":"GAS",
|
||||
"gas":16755867,
|
||||
"gasCost":2,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":21,
|
||||
"op":"CALLCODE",
|
||||
"gas":16755865,
|
||||
"gasCost":16494066,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16493366,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16493363,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16493360,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"ADD",
|
||||
"gas":16493357,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"PUSH1",
|
||||
"gas":16493354,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"MSTORE",
|
||||
"gas":16493351,
|
||||
"gasCost":6,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16493345,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16493342,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"RETURN",
|
||||
"gas":16493339,
|
||||
"gasCost":0,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":22,
|
||||
"op":"PUSH1",
|
||||
"gas":16755138,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":24,
|
||||
"op":"PUSH1",
|
||||
"gas":16755135,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":26,
|
||||
"op":"RETURN",
|
||||
"gas":16755132,
|
||||
"gasCost":0,
|
||||
"depth":1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
@@ -14,202 +14,335 @@
|
||||
"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" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755907,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20" ]
|
||||
}, {
|
||||
"pc" : 4,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755904,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "CALLDATASIZE",
|
||||
"gas" : 16755901,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 7,
|
||||
"op" : "SUB",
|
||||
"gas" : 16755899,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x40" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "DUP1",
|
||||
"gas" : 16755896,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755893,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755890,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "CALLDATACOPY",
|
||||
"gas" : 16755887,
|
||||
"gasCost" : 9,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 14,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755878,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 16,
|
||||
"op" : "CALLVALUE",
|
||||
"gas" : 16755875,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 17,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755873,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0" ]
|
||||
}, {
|
||||
"pc" : 19,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16755870,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x0" ]
|
||||
}, {
|
||||
"pc" : 20,
|
||||
"op" : "GAS",
|
||||
"gas" : 16755867,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000" ]
|
||||
}, {
|
||||
"pc" : 21,
|
||||
"op" : "CALLCODE",
|
||||
"gas" : 16755865,
|
||||
"gasCost" : 16494066,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000", "0xffac99" ]
|
||||
}, {
|
||||
"pc" : 0,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493366,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16493363,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x0" ]
|
||||
}, {
|
||||
"pc" : 3,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493360,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 5,
|
||||
"op" : "ADD",
|
||||
"gas" : 16493357,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001", "0x1" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493354,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "MSTORE",
|
||||
"gas" : 16493351,
|
||||
"gasCost" : 6,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002", "0x0" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493345,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493342,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16493339,
|
||||
"gasCost" : 0,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 22,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755138,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1" ]
|
||||
}, {
|
||||
"pc" : 24,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755135,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20" ]
|
||||
}, {
|
||||
"pc" : 26,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16755132,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20", "0x0" ]
|
||||
} ]
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":22070,
|
||||
"failed":false,
|
||||
"returnValue":"f000000000000000000000000000000000000000000000000000000000000002",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755910,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"PUSH1",
|
||||
"gas":16755907,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":4,
|
||||
"op":"PUSH1",
|
||||
"gas":16755904,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"CALLDATASIZE",
|
||||
"gas":16755901,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"SUB",
|
||||
"gas":16755899,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"DUP1",
|
||||
"gas":16755896,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16755893,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16755890,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"CALLDATACOPY",
|
||||
"gas":16755887,
|
||||
"gasCost":9,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"PUSH1",
|
||||
"gas":16755878,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":16,
|
||||
"op":"CALLVALUE",
|
||||
"gas":16755875,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":17,
|
||||
"op":"PUSH1",
|
||||
"gas":16755873,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":19,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755870,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":20,
|
||||
"op":"GAS",
|
||||
"gas":16755867,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":21,
|
||||
"op":"CALLCODE",
|
||||
"gas":16755865,
|
||||
"gasCost":16494066,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000",
|
||||
"0xffac99"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16493366,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16493363,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16493360,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"ADD",
|
||||
"gas":16493357,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"PUSH1",
|
||||
"gas":16493354,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"MSTORE",
|
||||
"gas":16493351,
|
||||
"gasCost":6,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16493345,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16493342,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"RETURN",
|
||||
"gas":16493339,
|
||||
"gasCost":0,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":22,
|
||||
"op":"PUSH1",
|
||||
"gas":16755138,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":24,
|
||||
"op":"PUSH1",
|
||||
"gas":16755135,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":26,
|
||||
"op":"RETURN",
|
||||
"gas":16755132,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
@@ -17,202 +17,335 @@
|
||||
"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" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755907,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20" ]
|
||||
}, {
|
||||
"pc" : 4,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755904,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "CALLDATASIZE",
|
||||
"gas" : 16755901,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 7,
|
||||
"op" : "SUB",
|
||||
"gas" : 16755899,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x40" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "DUP1",
|
||||
"gas" : 16755896,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755893,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755890,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "CALLDATACOPY",
|
||||
"gas" : 16755887,
|
||||
"gasCost" : 9,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 14,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755878,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 16,
|
||||
"op" : "CALLVALUE",
|
||||
"gas" : 16755875,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 17,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755873,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0" ]
|
||||
}, {
|
||||
"pc" : 19,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16755870,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x0" ]
|
||||
}, {
|
||||
"pc" : 20,
|
||||
"op" : "GAS",
|
||||
"gas" : 16755867,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000" ]
|
||||
}, {
|
||||
"pc" : 21,
|
||||
"op" : "CALLCODE",
|
||||
"gas" : 16755865,
|
||||
"gasCost" : 16494066,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000", "0xffac99" ]
|
||||
}, {
|
||||
"pc" : 0,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493366,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16493363,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x0" ]
|
||||
}, {
|
||||
"pc" : 3,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493360,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 5,
|
||||
"op" : "ADD",
|
||||
"gas" : 16493357,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001", "0x1" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493354,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "MSTORE",
|
||||
"gas" : 16493351,
|
||||
"gasCost" : 6,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002", "0x0" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493345,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493342,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16493339,
|
||||
"gasCost" : 0,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 22,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755138,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1" ]
|
||||
}, {
|
||||
"pc" : 24,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755135,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20" ]
|
||||
}, {
|
||||
"pc" : 26,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16755132,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20", "0x0" ]
|
||||
} ]
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":22070,
|
||||
"failed":false,
|
||||
"returnValue":"f000000000000000000000000000000000000000000000000000000000000002",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755910,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"PUSH1",
|
||||
"gas":16755907,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":4,
|
||||
"op":"PUSH1",
|
||||
"gas":16755904,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"CALLDATASIZE",
|
||||
"gas":16755901,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"SUB",
|
||||
"gas":16755899,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"DUP1",
|
||||
"gas":16755896,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16755893,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16755890,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"CALLDATACOPY",
|
||||
"gas":16755887,
|
||||
"gasCost":9,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"PUSH1",
|
||||
"gas":16755878,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":16,
|
||||
"op":"CALLVALUE",
|
||||
"gas":16755875,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":17,
|
||||
"op":"PUSH1",
|
||||
"gas":16755873,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":19,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755870,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":20,
|
||||
"op":"GAS",
|
||||
"gas":16755867,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":21,
|
||||
"op":"CALLCODE",
|
||||
"gas":16755865,
|
||||
"gasCost":16494066,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000",
|
||||
"0xffac99"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16493366,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16493363,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16493360,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"ADD",
|
||||
"gas":16493357,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"PUSH1",
|
||||
"gas":16493354,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"MSTORE",
|
||||
"gas":16493351,
|
||||
"gasCost":6,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16493345,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16493342,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"RETURN",
|
||||
"gas":16493339,
|
||||
"gasCost":0,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":22,
|
||||
"op":"PUSH1",
|
||||
"gas":16755138,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":24,
|
||||
"op":"PUSH1",
|
||||
"gas":16755135,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":26,
|
||||
"op":"RETURN",
|
||||
"gas":16755132,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
@@ -16,190 +16,246 @@
|
||||
} ],
|
||||
"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
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755907,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 4,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755904,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "CALLDATASIZE",
|
||||
"gas" : 16755901,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 7,
|
||||
"op" : "SUB",
|
||||
"gas" : 16755899,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "DUP1",
|
||||
"gas" : 16755896,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755893,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755890,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "CALLDATACOPY",
|
||||
"gas" : 16755887,
|
||||
"gasCost" : 9,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 14,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755878,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 16,
|
||||
"op" : "CALLVALUE",
|
||||
"gas" : 16755875,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 17,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755873,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 19,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16755870,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 20,
|
||||
"op" : "GAS",
|
||||
"gas" : 16755867,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 21,
|
||||
"op" : "CALLCODE",
|
||||
"gas" : 16755865,
|
||||
"gasCost" : 16494066,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 0,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493366,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16493363,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 3,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493360,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 5,
|
||||
"op" : "ADD",
|
||||
"gas" : 16493357,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493354,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "MSTORE",
|
||||
"gas" : 16493351,
|
||||
"gasCost" : 6,
|
||||
"depth" : 2,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493345,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493342,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16493339,
|
||||
"gasCost" : 0,
|
||||
"depth" : 2,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 22,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755138,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 24,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755135,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 26,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16755132,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1,
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
} ]
|
||||
"response":{
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":22070,
|
||||
"failed":false,
|
||||
"returnValue":"f000000000000000000000000000000000000000000000000000000000000002",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755910,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"PUSH1",
|
||||
"gas":16755907,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":4,
|
||||
"op":"PUSH1",
|
||||
"gas":16755904,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"CALLDATASIZE",
|
||||
"gas":16755901,
|
||||
"gasCost":2,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"SUB",
|
||||
"gas":16755899,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"DUP1",
|
||||
"gas":16755896,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16755893,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16755890,
|
||||
"gasCost":3,
|
||||
"depth":1
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"CALLDATACOPY",
|
||||
"gas":16755887,
|
||||
"gasCost":9,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"PUSH1",
|
||||
"gas":16755878,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":16,
|
||||
"op":"CALLVALUE",
|
||||
"gas":16755875,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":17,
|
||||
"op":"PUSH1",
|
||||
"gas":16755873,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":19,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755870,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":20,
|
||||
"op":"GAS",
|
||||
"gas":16755867,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":21,
|
||||
"op":"CALLCODE",
|
||||
"gas":16755865,
|
||||
"gasCost":16494066,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16493366,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16493363,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16493360,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"ADD",
|
||||
"gas":16493357,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"PUSH1",
|
||||
"gas":16493354,
|
||||
"gasCost":3,
|
||||
"depth":2
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"MSTORE",
|
||||
"gas":16493351,
|
||||
"gasCost":6,
|
||||
"depth":2,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16493345,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16493342,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"RETURN",
|
||||
"gas":16493339,
|
||||
"gasCost":0,
|
||||
"depth":2,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":22,
|
||||
"op":"PUSH1",
|
||||
"gas":16755138,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":24,
|
||||
"op":"PUSH1",
|
||||
"gas":16755135,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":26,
|
||||
"op":"RETURN",
|
||||
"gas":16755132,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
@@ -17,216 +17,377 @@
|
||||
"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" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755907,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20" ]
|
||||
}, {
|
||||
"pc" : 4,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755904,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "CALLDATASIZE",
|
||||
"gas" : 16755901,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 7,
|
||||
"op" : "SUB",
|
||||
"gas" : 16755899,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x40" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "DUP1",
|
||||
"gas" : 16755896,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755893,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755890,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "CALLDATACOPY",
|
||||
"gas" : 16755887,
|
||||
"gasCost" : 9,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x20", "0x20", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 14,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755878,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 16,
|
||||
"op" : "CALLVALUE",
|
||||
"gas" : 16755875,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 17,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755873,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 19,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16755870,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 20,
|
||||
"op" : "GAS",
|
||||
"gas" : 16755867,
|
||||
"gasCost" : 2,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 21,
|
||||
"op" : "CALLCODE",
|
||||
"gas" : 16755865,
|
||||
"gasCost" : 16494066,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x20", "0x0", "0x20", "0x0", "0x0", "0x30000000000000000000000000000000000000", "0xffac99" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 0,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493366,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ]
|
||||
}, {
|
||||
"pc" : 2,
|
||||
"op" : "CALLDATALOAD",
|
||||
"gas" : 16493363,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x0" ]
|
||||
}, {
|
||||
"pc" : 3,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493360,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001" ]
|
||||
}, {
|
||||
"pc" : 5,
|
||||
"op" : "ADD",
|
||||
"gas" : 16493357,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000001", "0x1" ]
|
||||
}, {
|
||||
"pc" : 6,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493354,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 8,
|
||||
"op" : "MSTORE",
|
||||
"gas" : 16493351,
|
||||
"gasCost" : 6,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0xf000000000000000000000000000000000000000000000000000000000000002", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 9,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493345,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 11,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16493342,
|
||||
"gasCost" : 3,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 13,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16493339,
|
||||
"gasCost" : 0,
|
||||
"depth" : 2,
|
||||
"stack" : [ "0x20", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 22,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755138,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 24,
|
||||
"op" : "PUSH1",
|
||||
"gas" : 16755135,
|
||||
"gasCost" : 3,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
}, {
|
||||
"pc" : 26,
|
||||
"op" : "RETURN",
|
||||
"gas" : 16755132,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1,
|
||||
"stack" : [ "0x1", "0x20", "0x0" ],
|
||||
"memory" : [ "0xf000000000000000000000000000000000000000000000000000000000000002" ]
|
||||
} ]
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":22070,
|
||||
"failed":false,
|
||||
"returnValue":"f000000000000000000000000000000000000000000000000000000000000002",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16755910,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"PUSH1",
|
||||
"gas":16755907,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":4,
|
||||
"op":"PUSH1",
|
||||
"gas":16755904,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"CALLDATASIZE",
|
||||
"gas":16755901,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":7,
|
||||
"op":"SUB",
|
||||
"gas":16755899,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x40"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"DUP1",
|
||||
"gas":16755896,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16755893,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16755890,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"CALLDATACOPY",
|
||||
"gas":16755887,
|
||||
"gasCost":9,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x20",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":14,
|
||||
"op":"PUSH1",
|
||||
"gas":16755878,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":16,
|
||||
"op":"CALLVALUE",
|
||||
"gas":16755875,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":17,
|
||||
"op":"PUSH1",
|
||||
"gas":16755873,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":19,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16755870,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":20,
|
||||
"op":"GAS",
|
||||
"gas":16755867,
|
||||
"gasCost":2,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":21,
|
||||
"op":"CALLCODE",
|
||||
"gas":16755865,
|
||||
"gasCost":16494066,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x20",
|
||||
"0x0",
|
||||
"0x0",
|
||||
"0x30000000000000000000000000000000000000",
|
||||
"0xffac99"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":0,
|
||||
"op":"PUSH1",
|
||||
"gas":16493366,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":2,
|
||||
"op":"CALLDATALOAD",
|
||||
"gas":16493363,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":3,
|
||||
"op":"PUSH1",
|
||||
"gas":16493360,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":5,
|
||||
"op":"ADD",
|
||||
"gas":16493357,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000001",
|
||||
"0x1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":6,
|
||||
"op":"PUSH1",
|
||||
"gas":16493354,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":8,
|
||||
"op":"MSTORE",
|
||||
"gas":16493351,
|
||||
"gasCost":6,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":9,
|
||||
"op":"PUSH1",
|
||||
"gas":16493345,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":11,
|
||||
"op":"PUSH1",
|
||||
"gas":16493342,
|
||||
"gasCost":3,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":13,
|
||||
"op":"RETURN",
|
||||
"gas":16493339,
|
||||
"gasCost":0,
|
||||
"depth":2,
|
||||
"stack":[
|
||||
"0x20",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":22,
|
||||
"op":"PUSH1",
|
||||
"gas":16755138,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":24,
|
||||
"op":"PUSH1",
|
||||
"gas":16755135,
|
||||
"gasCost":3,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
},
|
||||
{
|
||||
"pc":26,
|
||||
"op":"RETURN",
|
||||
"gas":16755132,
|
||||
"gasCost":0,
|
||||
"depth":1,
|
||||
"stack":[
|
||||
"0x1",
|
||||
"0x20",
|
||||
"0x0"
|
||||
],
|
||||
"memory":[
|
||||
"0xf000000000000000000000000000000000000000000000000000000000000002"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
@@ -17,19 +17,21 @@
|
||||
"id": 1
|
||||
},
|
||||
"response": {
|
||||
"jsonrpc": "2.0",
|
||||
"id": 1,
|
||||
"result": {
|
||||
"gas" : 21164,
|
||||
"failed" : false,
|
||||
"returnValue" : "",
|
||||
"structLogs" : [ {
|
||||
"pc" : 0,
|
||||
"op" : "STOP",
|
||||
"gas" : 17592186023252,
|
||||
"gasCost" : 0,
|
||||
"depth" : 1
|
||||
} ]
|
||||
"jsonrpc":"2.0",
|
||||
"id":1,
|
||||
"result":{
|
||||
"gas":21164,
|
||||
"failed":false,
|
||||
"returnValue":"",
|
||||
"structLogs":[
|
||||
{
|
||||
"pc":0,
|
||||
"op":"STOP",
|
||||
"gas":17592186023252,
|
||||
"gasCost":0,
|
||||
"depth":1
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"statusCode": 200
|
||||
|
||||
Reference in New Issue
Block a user