mirror of https://github.com/hyperledger/besu
PIE-1961 - Add trace block api (#449)
* init trace_block api Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * add test for trace_block api Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix trace_block api issue Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix trace_block api block reward issue Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix trace_block api block reward issue order Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * add ommer reward to block reward Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * change to uncle inclusion reward Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * add reward without transaction Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix last issues and clean code Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * rename generate reward method Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix review issues Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix build Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * clean code Signed-off-by: Karim TAAM <karim.t2am@gmail.com> * fix the tests to work with the new generation of blocks.bin Signed-off-by: Karim TAAM <karim.t2am@gmail.com>pull/527/head
parent
ba2f43cbd0
commit
3902d00ec2
@ -0,0 +1,116 @@ |
|||||||
|
/* |
||||||
|
* Copyright ConsenSys AG. |
||||||
|
* |
||||||
|
* 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.methods; |
||||||
|
|
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.RpcMethod; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.BlockParameter; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.BlockTracer; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.TransactionTrace; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.tracing.flat.FlatTraceGenerator; |
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.tracing.flat.RewardTraceGenerator; |
||||||
|
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; |
||||||
|
import org.hyperledger.besu.ethereum.core.Block; |
||||||
|
import org.hyperledger.besu.ethereum.core.BlockHeader; |
||||||
|
import org.hyperledger.besu.ethereum.debug.TraceOptions; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; |
||||||
|
import org.hyperledger.besu.ethereum.vm.DebugOperationTracer; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.function.Supplier; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper; |
||||||
|
import com.fasterxml.jackson.databind.node.ArrayNode; |
||||||
|
|
||||||
|
public class TraceBlock extends AbstractBlockParameterMethod { |
||||||
|
|
||||||
|
private static final ObjectMapper MAPPER = new ObjectMapper(); |
||||||
|
private final Supplier<BlockTracer> blockTracerSupplier; |
||||||
|
private final ProtocolSchedule<?> protocolSchedule; |
||||||
|
|
||||||
|
public TraceBlock( |
||||||
|
final Supplier<BlockTracer> blockTracerSupplier, |
||||||
|
final ProtocolSchedule<?> protocolSchedule, |
||||||
|
final BlockchainQueries queries) { |
||||||
|
super(queries); |
||||||
|
this.blockTracerSupplier = blockTracerSupplier; |
||||||
|
this.protocolSchedule = protocolSchedule; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return RpcMethod.TRACE_BLOCK.getMethodName(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected BlockParameter blockParameter(final JsonRpcRequestContext request) { |
||||||
|
return request.getRequiredParameter(0, BlockParameter.class); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected Object resultByBlockNumber( |
||||||
|
final JsonRpcRequestContext request, final long blockNumber) { |
||||||
|
if (blockNumber == BlockHeader.GENESIS_BLOCK_NUMBER) { |
||||||
|
// Nothing to trace for the genesis block
|
||||||
|
return emptyResult(); |
||||||
|
} |
||||||
|
|
||||||
|
return getBlockchainQueries() |
||||||
|
.getBlockchain() |
||||||
|
.getBlockByNumber(blockNumber) |
||||||
|
.map(this::traceBlock) |
||||||
|
.orElse(null); |
||||||
|
} |
||||||
|
|
||||||
|
private Object traceBlock(final Block block) { |
||||||
|
|
||||||
|
if (block == null) { |
||||||
|
return emptyResult(); |
||||||
|
} |
||||||
|
final ArrayNode resultArrayNode = MAPPER.createArrayNode(); |
||||||
|
|
||||||
|
blockTracerSupplier |
||||||
|
.get() |
||||||
|
.trace(block, new DebugOperationTracer(TraceOptions.DEFAULT)) |
||||||
|
.ifPresent( |
||||||
|
blockTrace -> |
||||||
|
generateTracesFromTransactionTraceAndBlock( |
||||||
|
blockTrace.getTransactionTraces(), block, resultArrayNode)); |
||||||
|
|
||||||
|
generateRewardsFromBlock(block, resultArrayNode); |
||||||
|
|
||||||
|
return resultArrayNode; |
||||||
|
} |
||||||
|
|
||||||
|
private void generateTracesFromTransactionTraceAndBlock( |
||||||
|
final List<TransactionTrace> transactionTraces, |
||||||
|
final Block block, |
||||||
|
final ArrayNode resultArrayNode) { |
||||||
|
|
||||||
|
transactionTraces.forEach( |
||||||
|
transactionTrace -> |
||||||
|
FlatTraceGenerator.generateFromTransactionTraceAndBlock(transactionTrace, block) |
||||||
|
.forEachOrdered(resultArrayNode::addPOJO)); |
||||||
|
} |
||||||
|
|
||||||
|
private void generateRewardsFromBlock(final Block block, final ArrayNode resultArrayNode) { |
||||||
|
RewardTraceGenerator.generateFromBlock(protocolSchedule, block) |
||||||
|
.forEachOrdered(resultArrayNode::addPOJO); |
||||||
|
} |
||||||
|
|
||||||
|
private Object emptyResult() { |
||||||
|
return MAPPER.createArrayNode(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,99 @@ |
|||||||
|
/* |
||||||
|
* Copyright ConsenSys AG. |
||||||
|
* |
||||||
|
* 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.tracing.flat; |
||||||
|
|
||||||
|
import static com.fasterxml.jackson.annotation.JsonInclude.Include.ALWAYS; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.Optional; |
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude; |
||||||
|
|
||||||
|
public class RewardTrace extends FlatTrace { |
||||||
|
|
||||||
|
protected RewardTrace( |
||||||
|
final Action.Builder actionBuilder, |
||||||
|
final Result.Builder resultBuilder, |
||||||
|
final int subtraces, |
||||||
|
final List<Integer> traceAddress, |
||||||
|
final String type, |
||||||
|
final Long blockNumber, |
||||||
|
final String blockHash, |
||||||
|
final Integer transactionPosition, |
||||||
|
final String transactionHash, |
||||||
|
final Optional<String> error) { |
||||||
|
super( |
||||||
|
actionBuilder, |
||||||
|
resultBuilder, |
||||||
|
subtraces, |
||||||
|
traceAddress, |
||||||
|
type, |
||||||
|
blockNumber, |
||||||
|
blockHash, |
||||||
|
transactionPosition, |
||||||
|
transactionHash, |
||||||
|
error); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* We have to override the {@link FlatTrace} method because in the case of a reward the |
||||||
|
* transactionHash value must be returned even if it is null |
||||||
|
* |
||||||
|
* @return transactionHash |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
@JsonInclude(ALWAYS) |
||||||
|
public String getTransactionHash() { |
||||||
|
return super.getTransactionHash(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* We have to override the {@link FlatTrace} method because in the case of a reward the |
||||||
|
* transactionPosition value must be returned even if it is null |
||||||
|
* |
||||||
|
* @return transactionPosition |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
@JsonInclude(ALWAYS) |
||||||
|
public Integer getTransactionPosition() { |
||||||
|
return super.getTransactionPosition(); |
||||||
|
} |
||||||
|
|
||||||
|
public static Builder builder() { |
||||||
|
return new Builder(); |
||||||
|
} |
||||||
|
|
||||||
|
public static final class Builder extends FlatTrace.Builder { |
||||||
|
|
||||||
|
public Builder() { |
||||||
|
super(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public RewardTrace build() { |
||||||
|
return new RewardTrace( |
||||||
|
getActionBuilder(), |
||||||
|
getResultBuilder(), |
||||||
|
getSubtraces(), |
||||||
|
getTraceAddress(), |
||||||
|
getType(), |
||||||
|
getBlockNumber(), |
||||||
|
getBlockHash(), |
||||||
|
getTransactionPosition(), |
||||||
|
getTransactionHash(), |
||||||
|
getError()); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,101 @@ |
|||||||
|
/* |
||||||
|
* Copyright ConsenSys AG. |
||||||
|
* |
||||||
|
* 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.tracing.flat; |
||||||
|
|
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.tracing.Trace; |
||||||
|
import org.hyperledger.besu.ethereum.core.Block; |
||||||
|
import org.hyperledger.besu.ethereum.core.BlockHeader; |
||||||
|
import org.hyperledger.besu.ethereum.core.Wei; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.MiningBeneficiaryCalculator; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Stream; |
||||||
|
|
||||||
|
public class RewardTraceGenerator { |
||||||
|
|
||||||
|
private static final String REWARD_LABEL = "reward"; |
||||||
|
private static final String BLOCK_LABEL = "block"; |
||||||
|
private static final String UNCLE_LABEL = "uncle"; |
||||||
|
|
||||||
|
/** |
||||||
|
* Generates a stream of reward {@link Trace} from the passed {@link Block} data. |
||||||
|
* |
||||||
|
* @param protocolSchedule the {@link ProtocolSchedule} to use |
||||||
|
* @param block the current {@link Block} to use |
||||||
|
* @return a stream of generated reward traces {@link Trace} |
||||||
|
*/ |
||||||
|
public static Stream<Trace> generateFromBlock( |
||||||
|
final ProtocolSchedule<?> protocolSchedule, final Block block) { |
||||||
|
|
||||||
|
final List<Trace> flatTraces = new ArrayList<>(); |
||||||
|
|
||||||
|
final BlockHeader blockHeader = block.getHeader(); |
||||||
|
final List<BlockHeader> ommers = block.getBody().getOmmers(); |
||||||
|
final ProtocolSpec<?> protocolSpec = protocolSchedule.getByBlockNumber(blockHeader.getNumber()); |
||||||
|
final Wei blockReward = protocolSpec.getBlockReward(); |
||||||
|
final MiningBeneficiaryCalculator miningBeneficiaryCalculator = |
||||||
|
protocolSpec.getMiningBeneficiaryCalculator(); |
||||||
|
|
||||||
|
final Wei coinbaseReward = |
||||||
|
protocolSpec |
||||||
|
.getBlockProcessor() |
||||||
|
.getCoinbaseReward(blockReward, blockHeader.getNumber(), ommers.size()); |
||||||
|
|
||||||
|
// add uncle reward traces
|
||||||
|
ommers.forEach( |
||||||
|
ommerBlockHeader -> { |
||||||
|
final Wei ommerReward = |
||||||
|
protocolSpec |
||||||
|
.getBlockProcessor() |
||||||
|
.getOmmerReward( |
||||||
|
blockReward, blockHeader.getNumber(), ommerBlockHeader.getNumber()); |
||||||
|
final Action.Builder uncleActionBuilder = |
||||||
|
Action.builder() |
||||||
|
.author( |
||||||
|
miningBeneficiaryCalculator |
||||||
|
.calculateBeneficiary(ommerBlockHeader) |
||||||
|
.toHexString()) |
||||||
|
.rewardType(UNCLE_LABEL) |
||||||
|
.value(ommerReward.toShortHexString()); |
||||||
|
flatTraces.add( |
||||||
|
RewardTrace.builder() |
||||||
|
.actionBuilder(uncleActionBuilder) |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(blockHeader.getNumber()) |
||||||
|
.type(REWARD_LABEL) |
||||||
|
.build()); |
||||||
|
}); |
||||||
|
|
||||||
|
// add block reward trace
|
||||||
|
final Action.Builder blockActionBuilder = |
||||||
|
Action.builder() |
||||||
|
.author(miningBeneficiaryCalculator.calculateBeneficiary(blockHeader).toHexString()) |
||||||
|
.rewardType(BLOCK_LABEL) |
||||||
|
.value(coinbaseReward.toShortHexString()); |
||||||
|
flatTraces.add( |
||||||
|
0, |
||||||
|
RewardTrace.builder() |
||||||
|
.actionBuilder(blockActionBuilder) |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(blockHeader.getNumber()) |
||||||
|
.type(REWARD_LABEL) |
||||||
|
.build()); |
||||||
|
|
||||||
|
return flatTraces.stream(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,196 @@ |
|||||||
|
/* |
||||||
|
* Copyright ConsenSys AG. |
||||||
|
* |
||||||
|
* 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.tracing.flat; |
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat; |
||||||
|
import static org.mockito.Mockito.mock; |
||||||
|
import static org.mockito.Mockito.when; |
||||||
|
|
||||||
|
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.tracing.Trace; |
||||||
|
import org.hyperledger.besu.ethereum.core.Address; |
||||||
|
import org.hyperledger.besu.ethereum.core.Block; |
||||||
|
import org.hyperledger.besu.ethereum.core.BlockBody; |
||||||
|
import org.hyperledger.besu.ethereum.core.BlockDataGenerator; |
||||||
|
import org.hyperledger.besu.ethereum.core.BlockHeader; |
||||||
|
import org.hyperledger.besu.ethereum.core.Wei; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ClassicBlockProcessor; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.MainnetBlockProcessor; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.MiningBeneficiaryCalculator; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec; |
||||||
|
import org.hyperledger.besu.ethereum.mainnet.TransactionProcessor; |
||||||
|
|
||||||
|
import java.util.Collections; |
||||||
|
import java.util.List; |
||||||
|
import java.util.stream.Collectors; |
||||||
|
import java.util.stream.Stream; |
||||||
|
|
||||||
|
import org.apache.tuweni.bytes.Bytes; |
||||||
|
import org.junit.Before; |
||||||
|
import org.junit.Test; |
||||||
|
import org.junit.runner.RunWith; |
||||||
|
import org.mockito.Mock; |
||||||
|
import org.mockito.junit.MockitoJUnitRunner; |
||||||
|
|
||||||
|
@RunWith(MockitoJUnitRunner.class) |
||||||
|
public class RewardTraceGeneratorTest { |
||||||
|
|
||||||
|
private final BlockDataGenerator gen = new BlockDataGenerator(); |
||||||
|
|
||||||
|
@Mock private ProtocolSchedule<Void> protocolSchedule; |
||||||
|
@Mock private ProtocolSpec<Void> protocolSpec; |
||||||
|
@Mock private MiningBeneficiaryCalculator miningBeneficiaryCalculator; |
||||||
|
@Mock private TransactionProcessor transactionProcessor; |
||||||
|
|
||||||
|
private final Address ommerBeneficiary = |
||||||
|
Address.wrap(Bytes.fromHexString("0x095e7baea6a6c7c4c2dfeb977efac326af552d87")); |
||||||
|
private final Address blockBeneficiary = |
||||||
|
Address.wrap(Bytes.fromHexString("0x095e7baea6a6c7c4c2dfeb977efac326af552d88")); |
||||||
|
private final Wei blockReward = Wei.of(10000); |
||||||
|
private final BlockHeader ommerHeader = gen.header(0x09); |
||||||
|
|
||||||
|
private Block block; |
||||||
|
|
||||||
|
@Before |
||||||
|
public void setUp() { |
||||||
|
final BlockBody blockBody = new BlockBody(Collections.emptyList(), List.of(ommerHeader)); |
||||||
|
final BlockHeader blockHeader = |
||||||
|
gen.header(0x0A, blockBody, new BlockDataGenerator.BlockOptions()); |
||||||
|
block = new Block(blockHeader, blockBody); |
||||||
|
when(protocolSchedule.getByBlockNumber(block.getHeader().getNumber())).thenReturn(protocolSpec); |
||||||
|
when(protocolSpec.getBlockReward()).thenReturn(blockReward); |
||||||
|
when(protocolSpec.getMiningBeneficiaryCalculator()).thenReturn(miningBeneficiaryCalculator); |
||||||
|
when(miningBeneficiaryCalculator.calculateBeneficiary(block.getHeader())) |
||||||
|
.thenReturn(blockBeneficiary); |
||||||
|
when(miningBeneficiaryCalculator.calculateBeneficiary(ommerHeader)) |
||||||
|
.thenReturn(ommerBeneficiary); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void assertThatTraceGeneratorReturnValidRewardsForMainnetBlockProcessor() { |
||||||
|
final MainnetBlockProcessor.TransactionReceiptFactory transactionReceiptFactory = |
||||||
|
mock(MainnetBlockProcessor.TransactionReceiptFactory.class); |
||||||
|
final MainnetBlockProcessor blockProcessor = |
||||||
|
new MainnetBlockProcessor( |
||||||
|
transactionProcessor, |
||||||
|
transactionReceiptFactory, |
||||||
|
blockReward, |
||||||
|
BlockHeader::getCoinbase, |
||||||
|
true); |
||||||
|
when(protocolSpec.getBlockProcessor()).thenReturn(blockProcessor); |
||||||
|
|
||||||
|
final Stream<Trace> traceStream = |
||||||
|
RewardTraceGenerator.generateFromBlock(protocolSchedule, block); |
||||||
|
|
||||||
|
final Action.Builder actionBlockReward = |
||||||
|
Action.builder() |
||||||
|
.rewardType("block") |
||||||
|
.author(blockBeneficiary.toHexString()) |
||||||
|
.value( |
||||||
|
blockProcessor |
||||||
|
.getCoinbaseReward(blockReward, block.getHeader().getNumber(), 1) |
||||||
|
.toShortHexString()); |
||||||
|
final Trace blocReward = |
||||||
|
new RewardTrace.Builder() |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(block.getHeader().getNumber()) |
||||||
|
.actionBuilder(actionBlockReward) |
||||||
|
.type("reward") |
||||||
|
.build(); |
||||||
|
|
||||||
|
// calculate reward with MainnetBlockProcessor
|
||||||
|
final Action.Builder actionOmmerReward = |
||||||
|
Action.builder() |
||||||
|
.rewardType("uncle") |
||||||
|
.author(ommerBeneficiary.toHexString()) |
||||||
|
.value( |
||||||
|
blockProcessor |
||||||
|
.getOmmerReward( |
||||||
|
blockReward, block.getHeader().getNumber(), ommerHeader.getNumber()) |
||||||
|
.toShortHexString()); |
||||||
|
final Trace ommerReward = |
||||||
|
new RewardTrace.Builder() |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(block.getHeader().getNumber()) |
||||||
|
.actionBuilder(actionOmmerReward) |
||||||
|
.type("reward") |
||||||
|
.build(); |
||||||
|
|
||||||
|
final List<Trace> traces = traceStream.collect(Collectors.toList()); |
||||||
|
|
||||||
|
// check block reward
|
||||||
|
assertThat(traces.get(0)).usingRecursiveComparison().isEqualTo(blocReward); |
||||||
|
// check ommer reward
|
||||||
|
assertThat(traces.get(1)).usingRecursiveComparison().isEqualTo(ommerReward); |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
public void assertThatTraceGeneratorReturnValidRewardsForClassicBlockProcessor() { |
||||||
|
final ClassicBlockProcessor.TransactionReceiptFactory transactionReceiptFactory = |
||||||
|
mock(ClassicBlockProcessor.TransactionReceiptFactory.class); |
||||||
|
final ClassicBlockProcessor blockProcessor = |
||||||
|
new ClassicBlockProcessor( |
||||||
|
transactionProcessor, |
||||||
|
transactionReceiptFactory, |
||||||
|
blockReward, |
||||||
|
BlockHeader::getCoinbase, |
||||||
|
true); |
||||||
|
when(protocolSpec.getBlockProcessor()).thenReturn(blockProcessor); |
||||||
|
|
||||||
|
final Stream<Trace> traceStream = |
||||||
|
RewardTraceGenerator.generateFromBlock(protocolSchedule, block); |
||||||
|
|
||||||
|
final Action.Builder actionBlockReward = |
||||||
|
Action.builder() |
||||||
|
.rewardType("block") |
||||||
|
.author(blockBeneficiary.toHexString()) |
||||||
|
.value( |
||||||
|
blockProcessor |
||||||
|
.getCoinbaseReward(blockReward, block.getHeader().getNumber(), 1) |
||||||
|
.toShortHexString()); |
||||||
|
final Trace blocReward = |
||||||
|
new RewardTrace.Builder() |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(block.getHeader().getNumber()) |
||||||
|
.actionBuilder(actionBlockReward) |
||||||
|
.type("reward") |
||||||
|
.build(); |
||||||
|
|
||||||
|
// calculate reward with ClassicBlockProcessor
|
||||||
|
final Action.Builder actionOmmerReward = |
||||||
|
Action.builder() |
||||||
|
.rewardType("uncle") |
||||||
|
.author(ommerBeneficiary.toHexString()) |
||||||
|
.value( |
||||||
|
blockProcessor |
||||||
|
.getOmmerReward( |
||||||
|
blockReward, block.getHeader().getNumber(), ommerHeader.getNumber()) |
||||||
|
.toShortHexString()); |
||||||
|
final Trace ommerReward = |
||||||
|
new RewardTrace.Builder() |
||||||
|
.blockHash(block.getHash().toHexString()) |
||||||
|
.blockNumber(block.getHeader().getNumber()) |
||||||
|
.actionBuilder(actionOmmerReward) |
||||||
|
.type("reward") |
||||||
|
.build(); |
||||||
|
|
||||||
|
final List<Trace> traces = traceStream.collect(Collectors.toList()); |
||||||
|
|
||||||
|
// check block reward
|
||||||
|
assertThat(traces.get(0)).usingRecursiveComparison().isEqualTo(blocReward); |
||||||
|
// check ommer reward
|
||||||
|
assertThat(traces.get(1)).usingRecursiveComparison().isEqualTo(ommerReward); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x0" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x1" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x0761d17e67d10a05a35febb73fd5b9a079df9f225611424e562d8bb29c838faf", |
||||||
|
"blockNumber": 1, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,86 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x10" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00c0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1e28ec91e3f78da15344a480a1845db6bfeedaf1917aefbd94a60dc20f17f999", |
||||||
|
"blockNumber": 16, |
||||||
|
"error": "Bad instruction", |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x6aed559a5dcf73efa132d8182585c40fdc6ef3b99a7629d80ffd4a62cb3db622", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00d0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1e28ec91e3f78da15344a480a1845db6bfeedaf1917aefbd94a60dc20f17f999", |
||||||
|
"blockNumber": 16, |
||||||
|
"error": "Stack underflow", |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xb39fa8a1cb1db4663dc3733bc014d524e90a862bf2607e028eeb3932d92574fe", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00e0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1e28ec91e3f78da15344a480a1845db6bfeedaf1917aefbd94a60dc20f17f999", |
||||||
|
"blockNumber": 16, |
||||||
|
"error": "Bad jump destination", |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x11a725053a6ece79d8de11cb75dd1f09c40dcd109a1c63573e847ad4f456a296", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x1e28ec91e3f78da15344a480a1845db6bfeedaf1917aefbd94a60dc20f17f999", |
||||||
|
"blockNumber": 16, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x11" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00f0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1a5856646dba994ce7e9482c72c054817b5db1da2db06113d2a810fe0fb4c0ff", |
||||||
|
"blockNumber": 17, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0xf", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x93d974a14c784be231a7b580a6476a330e5d6f9ddfef70a6b5cacd9f91a1e495", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x1a5856646dba994ce7e9482c72c054817b5db1da2db06113d2a810fe0fb4c0ff", |
||||||
|
"blockNumber": 17, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,71 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x12" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0100000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x02b747255e0ea46a5768e23739be52822cd3744e87a229bb8cd1ae5f88b0c4e2", |
||||||
|
"blockNumber": 18, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1e", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x2a5079cc535c429f668f13a7fb9a28bdba6831b5462bd04f781777b332a8fcbd", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0110000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x02b747255e0ea46a5768e23739be52822cd3744e87a229bb8cd1ae5f88b0c4e2", |
||||||
|
"blockNumber": 18, |
||||||
|
"error": "Reverted", |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xc388baa0e55e6b73e850b22dc7e9853700f6b995fd55d95dd6ccd5a13d63c566", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x02b747255e0ea46a5768e23739be52822cd3744e87a229bb8cd1ae5f88b0c4e2", |
||||||
|
"blockNumber": 18, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,350 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x13" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff300e", |
||||||
|
"init": "0x6004600c60003960046000f3600035ff", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0x8f0483125fcb9aaaefa9209d8e9d7b9c8b9fb90f", |
||||||
|
"code": "0x600035ff", |
||||||
|
"gasUsed": "0x338" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x1309b6d2187aa8b0dfe78fcf0a96d4a3e861bfbc381959d253ede57624a37f9b", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff2e26", |
||||||
|
"init": "0x60006000600060006000738f0483125fcb9aaaefa9209d8e9d7b9c8b9fb90f5af1600060006000600060007300a00000000000000000000000000000000000005af1", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0x9fbda871d559710256a2502a2517b794b482db40", |
||||||
|
"code": "0x", |
||||||
|
"gasUsed": "0x1c39" |
||||||
|
}, |
||||||
|
"subtraces": 2, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x6b9b967cfbeedeb7f0f4956b8103075ddfcea26c01d6d5dc3f9e2ed2ec9c42c0", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x9fbda871d559710256a2502a2517b794b482db40", |
||||||
|
"gas": "0xfb2ea9", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x8f0483125fcb9aaaefa9209d8e9d7b9c8b9fb90f", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x138e", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x6b9b967cfbeedeb7f0f4956b8103075ddfcea26c01d6d5dc3f9e2ed2ec9c42c0", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"address": "0x8f0483125fcb9aaaefa9209d8e9d7b9c8b9fb90f", |
||||||
|
"balance": "0x0", |
||||||
|
"refundAddress": "0x0000000000000000000000000000000000000000" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x6b9b967cfbeedeb7f0f4956b8103075ddfcea26c01d6d5dc3f9e2ed2ec9c42c0", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "suicide" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x9fbda871d559710256a2502a2517b794b482db40", |
||||||
|
"gas": "0xfb18a5", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00a0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30b", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
1 |
||||||
|
], |
||||||
|
"transactionHash": "0x6b9b967cfbeedeb7f0f4956b8103075ddfcea26c01d6d5dc3f9e2ed2ec9c42c0", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff300e", |
||||||
|
"init": "0x6004600c60003960046000f3600035ff", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0x2c2b9c9a4a25e24b174f26114e8926a9f2128fe4", |
||||||
|
"code": "0x600035ff", |
||||||
|
"gasUsed": "0x338" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xf12fd37f0836bd51f21bc15aa6bf5bea4b62fbbd39e1ee06725f91ac13ebc904", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff2e26", |
||||||
|
"init": "0x60006000600060006000732c2b9c9a4a25e24b174f26114e8926a9f2128fe45af2600060006000600060007300a00000000000000000000000000000000000005af2", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0x30753e4a8aad7f8597332e813735def5dd395028", |
||||||
|
"code": "0x", |
||||||
|
"gasUsed": "0x1c39" |
||||||
|
}, |
||||||
|
"subtraces": 2, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x4c253746668dca6ac3f7b9bc18248b558a95b5fc881d140872c2dff984d344a7", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "callcode", |
||||||
|
"from": "0x30753e4a8aad7f8597332e813735def5dd395028", |
||||||
|
"gas": "0xfb2ea9", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x2c2b9c9a4a25e24b174f26114e8926a9f2128fe4", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x138e", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4c253746668dca6ac3f7b9bc18248b558a95b5fc881d140872c2dff984d344a7", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"address": "0x30753e4a8aad7f8597332e813735def5dd395028", |
||||||
|
"balance": "0x0", |
||||||
|
"refundAddress": "0x0000000000000000000000000000000000000000" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4c253746668dca6ac3f7b9bc18248b558a95b5fc881d140872c2dff984d344a7", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "suicide" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "callcode", |
||||||
|
"from": "0x30753e4a8aad7f8597332e813735def5dd395028", |
||||||
|
"gas": "0xfb18a5", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00a0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30b", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
1 |
||||||
|
], |
||||||
|
"transactionHash": "0x4c253746668dca6ac3f7b9bc18248b558a95b5fc881d140872c2dff984d344a7", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff300e", |
||||||
|
"init": "0x6004600c60003960046000f3600035ff", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0xfb88de099e13c3ed21f80a7a1e49f8caecf10df6", |
||||||
|
"code": "0x600035ff", |
||||||
|
"gasUsed": "0x338" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x821ca63d171c5a3c60d32a738803092a52562056db3727a175f659cf49aae283", |
||||||
|
"transactionPosition": 4, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff2e4e", |
||||||
|
"init": "0x600060006000600073fb88de099e13c3ed21f80a7a1e49f8caecf10df65af460006000600060007300a00000000000000000000000000000000000005af4", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"address": "0xaa588d3737b611bafd7bd713445b314bd453a5c8", |
||||||
|
"code": "0x", |
||||||
|
"gasUsed": "0x1c33" |
||||||
|
}, |
||||||
|
"subtraces": 2, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xb795475e8f1820b683b60eb1a366bdc23e29f9cdf9639f7768c6644d20e3bbd1", |
||||||
|
"transactionPosition": 5, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0xaa588d3737b611bafd7bd713445b314bd453a5c8", |
||||||
|
"gas": "0xfb2ed3", |
||||||
|
"input": "0x", |
||||||
|
"to": "0xfb88de099e13c3ed21f80a7a1e49f8caecf10df6", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x138e", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xb795475e8f1820b683b60eb1a366bdc23e29f9cdf9639f7768c6644d20e3bbd1", |
||||||
|
"transactionPosition": 5, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"address": "0xaa588d3737b611bafd7bd713445b314bd453a5c8", |
||||||
|
"balance": "0x0", |
||||||
|
"refundAddress": "0x0000000000000000000000000000000000000000" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xb795475e8f1820b683b60eb1a366bdc23e29f9cdf9639f7768c6644d20e3bbd1", |
||||||
|
"transactionPosition": 5, |
||||||
|
"type": "suicide" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0xaa588d3737b611bafd7bd713445b314bd453a5c8", |
||||||
|
"gas": "0xfb18d2", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00a0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30b", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
1 |
||||||
|
], |
||||||
|
"transactionHash": "0xb795475e8f1820b683b60eb1a366bdc23e29f9cdf9639f7768c6644d20e3bbd1", |
||||||
|
"transactionPosition": 5, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0xaa784964a04756483805fa30bef153bf5119044d886ec59039ac0349ee9a0f93", |
||||||
|
"blockNumber": 19, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,120 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x14" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0130000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x0cb7eac77beedefce26f33030dfce377121133ba6869f83b1713dc3d8103e13a", |
||||||
|
"blockNumber": 20, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c46", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xd32c538fd1b3ef854c04ae39925dc9e849b568b92ea388f778b794851ab37f7c", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x0130000000000000000000000000000000000000", |
||||||
|
"gas": "0xfb3412", |
||||||
|
"init": "0x600160015560015460025561ffff6000526002601ef3", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x0cb7eac77beedefce26f33030dfce377121133ba6869f83b1713dc3d8103e13a", |
||||||
|
"blockNumber": 20, |
||||||
|
"result": { |
||||||
|
"address": "0xaac0627078c038eb3d06e04b57d020fe212be97d", |
||||||
|
"code": "0xffff", |
||||||
|
"gasUsed": "0xa10e" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xd32c538fd1b3ef854c04ae39925dc9e849b568b92ea388f778b794851ab37f7c", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0140000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x0cb7eac77beedefce26f33030dfce377121133ba6869f83b1713dc3d8103e13a", |
||||||
|
"blockNumber": 20, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16b87", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xaf151fc10eb21e76efb0bc74da179a674083e420280fb2985f76b0326682864a", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create2", |
||||||
|
"from": "0x0140000000000000000000000000000000000000", |
||||||
|
"gas": "0xfb3409", |
||||||
|
"init": "0x600160015560015460025560ff60005360016000f3", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x0cb7eac77beedefce26f33030dfce377121133ba6869f83b1713dc3d8103e13a", |
||||||
|
"blockNumber": 20, |
||||||
|
"result": { |
||||||
|
"address": "0x0deea5bd06fb86553643c1e94a2f5aac632b9ec9", |
||||||
|
"code": "0xff", |
||||||
|
"gasUsed": "0xa046" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xaf151fc10eb21e76efb0bc74da179a674083e420280fb2985f76b0326682864a", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x0cb7eac77beedefce26f33030dfce377121133ba6869f83b1713dc3d8103e13a", |
||||||
|
"blockNumber": 20, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,208 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x15" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab2e", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x9f59", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x7ab106c58a1c4d5c5f545f94ad266a945e3ed82835528fd3adbf7973d2c0c953", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba993", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x9c58", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x7ab106c58a1c4d5c5f545f94ad266a945e3ed82835528fd3adbf7973d2c0c953", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab2e", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x2a29", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x2b701e0b45e80f1c179a3696786aff2a411a51b03153528d1579f20915def5e4", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba993", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x2728", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x2b701e0b45e80f1c179a3696786aff2a411a51b03153528d1579f20915def5e4", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab3a", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x19c1", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xcc81ab56669a97c5debfff3e23ab5ffb366f04c8c7eaf83f259c975c1816cb41", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba99f", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xcc81ab56669a97c5debfff3e23ab5ffb366f04c8c7eaf83f259c975c1816cb41", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab46", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x19c1", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x422edfe209e8b97f77a8e879db5182158f23e823ba7f59725d463d99d7ae66bd", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba9aa", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x422edfe209e8b97f77a8e879db5182158f23e823ba7f59725d463d99d7ae66bd", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x58e4a5938ff28a9732602ffbf7bed5261a97f65cdcecb1b5e8bdff03bdc2dc42", |
||||||
|
"blockNumber": 21, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,208 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x16" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab2e", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"to": "0x0060000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x9f57", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x1f74ac428df5427f3a5576869e870cfff6712e4cffb1506bb4ef8f36c5e48162", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0x0060000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba995", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x9c58", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x1f74ac428df5427f3a5576869e870cfff6712e4cffb1506bb4ef8f36c5e48162", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab2e", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", |
||||||
|
"to": "0x0060000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x2a27", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x43d6ba1caeced03b6fa8cc3549c0557eea52917f1de50f4da23c9642beca95ee", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0x0060000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba995", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x2728", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x43d6ba1caeced03b6fa8cc3549c0557eea52917f1de50f4da23c9642beca95ee", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab3a", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0060000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x19bf", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x9eb50f31fc1d953e27331cd923f6b2f7fa11827d399c70aec00a04cf98cfd2ac", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0x0060000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba9a0", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x9eb50f31fc1d953e27331cd923f6b2f7fa11827d399c70aec00a04cf98cfd2ac", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffab46", |
||||||
|
"input": "0x00000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0060000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x19bf", |
||||||
|
"output": "0x0000000000000000000000000000000000000000000000000000000000000001" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xe2ef09a0b71f50947bd0bd1cacac77903d2a5fce80f34862bd4559727e0f608c", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0x0060000000000000000000000000000000000000", |
||||||
|
"gas": "0xfba9ac", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xe2ef09a0b71f50947bd0bd1cacac77903d2a5fce80f34862bd4559727e0f608c", |
||||||
|
"transactionPosition": 3, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x7acf18339aa8181c12a2e589d42e5fe65be08acc6a695ea9a0ddebd0d22a146d", |
||||||
|
"blockNumber": 22, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x2" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0000000000000000000000000000000000000999", |
||||||
|
"value": "0x1" |
||||||
|
}, |
||||||
|
"blockHash": "0x4388532b2494aa5af1ebbc4208dc7d4c3c0a13d55929c0d994793f4ba82f4e9f", |
||||||
|
"blockNumber": 2, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x28fa8042c7b5835f4f91fc20937f3e70dcf3585c1afe31202bb6075185f9abfe", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x4388532b2494aa5af1ebbc4208dc7d4c3c0a13d55929c0d994793f4ba82f4e9f", |
||||||
|
"blockNumber": 2, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x3" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"creationMethod": "create", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xff300e", |
||||||
|
"init": "0x6004600c60003960046000f3600035ff", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x40783d74f3f4680c23003b1dc9a14d7e178b28fdcc2082085047b20c4c40cae9", |
||||||
|
"blockNumber": 3, |
||||||
|
"result": { |
||||||
|
"address": "0xf12b5dd4ead5f743c6baa640b0216200e89b60da", |
||||||
|
"code": "0x600035ff", |
||||||
|
"gasUsed": "0x338" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x8d5477f0aae852c3e9487b0f8e7b9ecf9ccdf23d7934d4b4b7eff40c271031e5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "create" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x40783d74f3f4680c23003b1dc9a14d7e178b28fdcc2082085047b20c4c40cae9", |
||||||
|
"blockNumber": 3, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x4" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffabba", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x269b3f43a3ad6c6955a249c13f7879b6aaf95e18bd58e3d9c70eb473f938334b", |
||||||
|
"blockNumber": 4, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x9c58", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x4de634fe767d1f6d0512ca0c9c0a054d3a2596f7cdd7c1eea5f93046a740b3c7", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffabba", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x269b3f43a3ad6c6955a249c13f7879b6aaf95e18bd58e3d9c70eb473f938334b", |
||||||
|
"blockNumber": 4, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x2728", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xf882ec206292910527fd7095e59a1ca027b873296f1eba3886aa1addc4ff0ab9", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x627306090abab3a6e1400e9345bc60c78a8bef57", |
||||||
|
"gas": "0xffabc6", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x269b3f43a3ad6c6955a249c13f7879b6aaf95e18bd58e3d9c70eb473f938334b", |
||||||
|
"blockNumber": 4, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x7ca6bf869e8882216f7443accb8d642df41af5bfa3a0e63bf03be2cfe629a030", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x269b3f43a3ad6c6955a249c13f7879b6aaf95e18bd58e3d9c70eb473f938334b", |
||||||
|
"blockNumber": 4, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x5" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffabd2", |
||||||
|
"input": "0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000", |
||||||
|
"to": "0x0010000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x3802c63f4f89ae8db95c4c19a196a6dabaf95143779045c248c5fd8bb8a009cf", |
||||||
|
"blockNumber": 5, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c0", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xdb2cd5e93dedae66371fc4a95452c746e11f7d2097464707597b8807c889ef5b", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x3802c63f4f89ae8db95c4c19a196a6dabaf95143779045c248c5fd8bb8a009cf", |
||||||
|
"blockNumber": 5, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,70 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x6" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffad82", |
||||||
|
"input": "0x0000000000000000000000000000000000000999", |
||||||
|
"to": "0x0020000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x71b149e2f81386fa7dbc0a636e94d9fb6f101c91cf5a8078f3a4ae74b686696f", |
||||||
|
"blockNumber": 6, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x7536", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x91eeabc671e2dd2b1c8ddebb46ba59e8cb3e7d189f80bcc868a9787728c6e59e", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"address": "0x0020000000000000000000000000000000000000", |
||||||
|
"balance": "0x300", |
||||||
|
"refundAddress": "0x0000000000000999000000000000000000000000" |
||||||
|
}, |
||||||
|
"blockHash": "0x71b149e2f81386fa7dbc0a636e94d9fb6f101c91cf5a8078f3a4ae74b686696f", |
||||||
|
"blockNumber": 6, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x91eeabc671e2dd2b1c8ddebb46ba59e8cb3e7d189f80bcc868a9787728c6e59e", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "suicide" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x71b149e2f81386fa7dbc0a636e94d9fb6f101c91cf5a8078f3a4ae74b686696f", |
||||||
|
"blockNumber": 6, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x7" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffad52", |
||||||
|
"input": "0xf000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0030000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x23d0e40a97f475813f17a1998af71805faf7ecd1ca640d5cd0852e346f809c7a", |
||||||
|
"blockNumber": 7, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1b", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x47f4d445ea1812cb1ddd3464ab23d2bfc6ed408a8a9db1c497f94e8e06e85286", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x23d0e40a97f475813f17a1998af71805faf7ecd1ca640d5cd0852e346f809c7a", |
||||||
|
"blockNumber": 7, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,76 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x8" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffacc6", |
||||||
|
"input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1988c04a64a98a4e0d8a84dfe9f375200b051b1a02985a209eaed4258adde310", |
||||||
|
"blockNumber": 8, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30a", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xa29f9d6a4f183f4c22c4857544a9a6b69c48d7bb8a97652be06e50bb69470666", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfbab36", |
||||||
|
"input": "0xf000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0030000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x1988c04a64a98a4e0d8a84dfe9f375200b051b1a02985a209eaed4258adde310", |
||||||
|
"blockNumber": 8, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1b", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0xa29f9d6a4f183f4c22c4857544a9a6b69c48d7bb8a97652be06e50bb69470666", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x1988c04a64a98a4e0d8a84dfe9f375200b051b1a02985a209eaed4258adde310", |
||||||
|
"blockNumber": 8, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,125 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0x9" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffabae", |
||||||
|
"input": "0x000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x90d7d16f175e0fc78c561dd02238f235c0d3c345580670386114f1ecfeef70a9", |
||||||
|
"blockNumber": 9, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x8fa", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x4af0ef28fbfcbdee7cc5925797c1b9030b3848c2f63f92737c3fe76b45582af5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xfbaa17", |
||||||
|
"input": "0x00000000000000000000000000400000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x90d7d16f175e0fc78c561dd02238f235c0d3c345580670386114f1ecfeef70a9", |
||||||
|
"blockNumber": 9, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x5ff", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4af0ef28fbfcbdee7cc5925797c1b9030b3848c2f63f92737c3fe76b45582af5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xf7b88c", |
||||||
|
"input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0040000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x90d7d16f175e0fc78c561dd02238f235c0d3c345580670386114f1ecfeef70a9", |
||||||
|
"blockNumber": 9, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30a", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [ |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4af0ef28fbfcbdee7cc5925797c1b9030b3848c2f63f92737c3fe76b45582af5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0x0040000000000000000000000000000000000000", |
||||||
|
"gas": "0xf3d6cd", |
||||||
|
"input": "0xf000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0030000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x90d7d16f175e0fc78c561dd02238f235c0d3c345580670386114f1ecfeef70a9", |
||||||
|
"blockNumber": 9, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1b", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4af0ef28fbfcbdee7cc5925797c1b9030b3848c2f63f92737c3fe76b45582af5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x90d7d16f175e0fc78c561dd02238f235c0d3c345580670386114f1ecfeef70a9", |
||||||
|
"blockNumber": 9, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,76 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xA" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffacc6", |
||||||
|
"input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0050000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7ac846d481de9605cb99a95ab4c45d1964065303f901276955b450562845274f", |
||||||
|
"blockNumber": 10, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30a", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x4ec95b7de430b61fc9a57ed35274fd766b7f5fac5213ab946963eb528deae6b5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "callcode", |
||||||
|
"from": "0x0050000000000000000000000000000000000000", |
||||||
|
"gas": "0xfbab36", |
||||||
|
"input": "0xf000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0030000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x7ac846d481de9605cb99a95ab4c45d1964065303f901276955b450562845274f", |
||||||
|
"blockNumber": 10, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1b", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x4ec95b7de430b61fc9a57ed35274fd766b7f5fac5213ab946963eb528deae6b5", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x7ac846d481de9605cb99a95ab4c45d1964065303f901276955b450562845274f", |
||||||
|
"blockNumber": 10, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,76 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xB" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffacc6", |
||||||
|
"input": "0x0000000000000000000000000030000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0060000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x57daa2146d6b41a07cdb087d88f597ace8b54a636625634b61c790eb5b67bc3b", |
||||||
|
"blockNumber": 11, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x308", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 1, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x6f77512ee9d43474a884c0703c86712fb98dca772fa6e12252786e3e23f196c1", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "delegatecall", |
||||||
|
"from": "0x0060000000000000000000000000000000000000", |
||||||
|
"gas": "0xfbab38", |
||||||
|
"input": "0xf000000000000000000000000000000000000000000000000000000000000001", |
||||||
|
"to": "0x0030000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x57daa2146d6b41a07cdb087d88f597ace8b54a636625634b61c790eb5b67bc3b", |
||||||
|
"blockNumber": 11, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1b", |
||||||
|
"output": "0xf000000000000000000000000000000000000000000000000000000000000002" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [ |
||||||
|
0 |
||||||
|
], |
||||||
|
"transactionHash": "0x6f77512ee9d43474a884c0703c86712fb98dca772fa6e12252786e3e23f196c1", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x57daa2146d6b41a07cdb087d88f597ace8b54a636625634b61c790eb5b67bc3b", |
||||||
|
"blockNumber": 11, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xC" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0070000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x2986eeeb3f222cddd217ad7b6fc02b92d8dee63f33ad7bd7a4b664c822ddd9a6", |
||||||
|
"blockNumber": 12, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x1e", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x12e4a98e63825852a69d7702202a3b593e4059ec913c479443665d590da18724", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x2986eeeb3f222cddd217ad7b6fc02b92d8dee63f33ad7bd7a4b664c822ddd9a6", |
||||||
|
"blockNumber": 12, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xD" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0080000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x6da2dc77f2f37923c7e418be8fcb76bafc3e71cf00341137eeee895bff17f399", |
||||||
|
"blockNumber": 13, |
||||||
|
"error": "Out of gas", |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x547c7e2fcdf9f88b03b4f4184d667d6768c669f279785774d0cf42435cab06f1", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x6da2dc77f2f37923c7e418be8fcb76bafc3e71cf00341137eeee895bff17f399", |
||||||
|
"blockNumber": 13, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,95 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xE" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0090000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x29d84439ffa2c31026f05aa2e813a08784b4ecfcd0d22e9ec9448db3d759c381", |
||||||
|
"blockNumber": 14, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x515e", |
||||||
|
"output": "0x01" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xe3ebc73c55176c3f2e72b289f8a9cefbcd5b25dcd205db5661f81b0bb974fa73", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0090000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x29d84439ffa2c31026f05aa2e813a08784b4ecfcd0d22e9ec9448db3d759c381", |
||||||
|
"blockNumber": 14, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c6", |
||||||
|
"output": "0x02" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xb4dc55ca4a7c1f72402860c594efaa7da32035003f8e203b7f6a3cf1826685a5", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x0090000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x29d84439ffa2c31026f05aa2e813a08784b4ecfcd0d22e9ec9448db3d759c381", |
||||||
|
"blockNumber": 14, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x16c6", |
||||||
|
"output": "0x03" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x1a9f6256886437cfa21ee7685dd7a996024bea4d4bf6554b14787a6c9e5b90e6", |
||||||
|
"transactionPosition": 2, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x29d84439ffa2c31026f05aa2e813a08784b4ecfcd0d22e9ec9448db3d759c381", |
||||||
|
"blockNumber": 14, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
{ |
||||||
|
"request": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"method": "trace_block", |
||||||
|
"params": [ |
||||||
|
"0xF" |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"response": { |
||||||
|
"jsonrpc": "2.0", |
||||||
|
"result": [ |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00a0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x16da147a8a4763f06bcd16fa2ec19ab2706bf2933758efb2ecaac444f2ddfa5a", |
||||||
|
"blockNumber": 15, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x30b", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0x293cefc718137a74d36a5da204e3617604a9e8dfc79b6a6efb11056b3efd3b4a", |
||||||
|
"transactionPosition": 0, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"callType": "call", |
||||||
|
"from": "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", |
||||||
|
"gas": "0xffadea", |
||||||
|
"input": "0x", |
||||||
|
"to": "0x00b0000000000000000000000000000000000000", |
||||||
|
"value": "0x0" |
||||||
|
}, |
||||||
|
"blockHash": "0x16da147a8a4763f06bcd16fa2ec19ab2706bf2933758efb2ecaac444f2ddfa5a", |
||||||
|
"blockNumber": 15, |
||||||
|
"result": { |
||||||
|
"gasUsed": "0x485", |
||||||
|
"output": "0x" |
||||||
|
}, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": "0xb19370be2ace59794ee9bb5a69db98464cd6cb0b02b9afb3b978c9aad2bf5417", |
||||||
|
"transactionPosition": 1, |
||||||
|
"type": "call" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"action": { |
||||||
|
"author": "0x0000000000000000000000000000000000000000", |
||||||
|
"rewardType": "block", |
||||||
|
"value": "0x1bc16d674ec80000" |
||||||
|
}, |
||||||
|
"blockHash": "0x16da147a8a4763f06bcd16fa2ec19ab2706bf2933758efb2ecaac444f2ddfa5a", |
||||||
|
"blockNumber": 15, |
||||||
|
"result": null, |
||||||
|
"subtraces": 0, |
||||||
|
"traceAddress": [], |
||||||
|
"transactionHash": null, |
||||||
|
"transactionPosition": null, |
||||||
|
"type": "reward" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 415 |
||||||
|
}, |
||||||
|
"statusCode": 200 |
||||||
|
} |
Loading…
Reference in new issue