diff --git a/besu/src/main/java/org/hyperledger/besu/services/TraceServiceImpl.java b/besu/src/main/java/org/hyperledger/besu/services/TraceServiceImpl.java index eaa3bad15ca..999cf1437fd 100644 --- a/besu/src/main/java/org/hyperledger/besu/services/TraceServiceImpl.java +++ b/besu/src/main/java/org/hyperledger/besu/services/TraceServiceImpl.java @@ -191,7 +191,7 @@ private List trace( final BlockHeader header = block.getHeader(); final Address miningBeneficiary = protocolSpec.getMiningBeneficiaryCalculator().calculateBeneficiary(block.getHeader()); - tracer.traceStartBlock(block.getHeader(), block.getBody(), miningBeneficiary); + tracer.traceStartBlock(block.getHeader(), miningBeneficiary); block .getBody() diff --git a/besu/src/test/java/org/hyperledger/besu/services/TraceServiceImplTest.java b/besu/src/test/java/org/hyperledger/besu/services/TraceServiceImplTest.java index 21b36de45c8..e01ccdd4333 100644 --- a/besu/src/test/java/org/hyperledger/besu/services/TraceServiceImplTest.java +++ b/besu/src/test/java/org/hyperledger/besu/services/TraceServiceImplTest.java @@ -38,6 +38,7 @@ import org.hyperledger.besu.plugin.data.BlockBody; import org.hyperledger.besu.plugin.data.BlockHeader; import org.hyperledger.besu.plugin.data.BlockTraceResult; +import org.hyperledger.besu.plugin.data.ProcessableBlockHeader; import org.hyperledger.besu.plugin.data.TransactionTraceResult; import org.hyperledger.besu.plugin.services.TraceService; import org.hyperledger.besu.plugin.services.storage.DataStorageFormat; @@ -116,7 +117,7 @@ void shouldRetrieveStateUpdatePostTracingForOneBlock() { verify(opTracer) .traceStartBlock( - tracedBlock.getHeader(), tracedBlock.getBody(), tracedBlock.getHeader().getCoinbase()); + tracedBlock.getHeader(), tracedBlock.getHeader().getCoinbase()); tracedBlock .getBody() @@ -168,7 +169,6 @@ void shouldRetrieveStateUpdatePostTracingForAllBlocks() { verify(opTracer) .traceStartBlock( tracedBlock.getHeader(), - tracedBlock.getBody(), tracedBlock.getHeader().getCoinbase()); tracedBlock .getBody() @@ -282,7 +282,7 @@ private static class TxStartEndTracer implements BlockAwareOperationTracer { private final Set traceStartTxCalled = new HashSet<>(); private final Set traceEndTxCalled = new HashSet<>(); - private final Set traceStartBlockCalled = new HashSet<>(); + private final Set traceStartBlockCalled = new HashSet<>(); private final Set traceEndBlockCalled = new HashSet<>(); @Override @@ -319,8 +319,8 @@ public void traceEndTransaction( @Override public void traceStartBlock( - final BlockHeader blockHeader, final BlockBody blockBody, final Address miningBeneficiary) { - if (!traceStartBlockCalled.add(blockHeader.getBlockHash())) { + final ProcessableBlockHeader blockHeader, final Address miningBeneficiary) { + if (!traceStartBlockCalled.add(blockHeader)) { fail("traceStartBlock already called for block " + blockHeader); } } diff --git a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/InterruptibleOperationTracer.java b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/InterruptibleOperationTracer.java index eee35a4de35..b5fbd12d61a 100644 --- a/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/InterruptibleOperationTracer.java +++ b/ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/InterruptibleOperationTracer.java @@ -42,8 +42,8 @@ public InterruptibleOperationTracer(final BlockAwareOperationTracer delegate) { @Override public void traceStartBlock( - final BlockHeader blockHeader, final BlockBody blockBody, final Address miningBeneficiary) { - delegate.traceStartBlock(blockHeader, blockBody, miningBeneficiary); + final BlockHeader blockHeader, final BlockBody blockBody) { + delegate.traceStartBlock(blockHeader, blockBody); } @Override diff --git a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/BlockAwareOperationTracer.java b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/BlockAwareOperationTracer.java index 13414738606..0e38f38d859 100644 --- a/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/BlockAwareOperationTracer.java +++ b/plugin-api/src/main/java/org/hyperledger/besu/plugin/services/tracer/BlockAwareOperationTracer.java @@ -35,7 +35,7 @@ public interface BlockAwareOperationTracer extends OperationTracer { /** * Trace the start of a block. Notice: This method has been marked for removal and will be removed - * in a future version. Avoid using it and use {@link #traceStartBlock(BlockHeader, BlockBody, + * in a future version. Avoid using it and use {@link #traceStartBlock(ProcessableBlockHeader, * Address)} instead. * * @param blockHeader the header of the block which is traced @@ -44,24 +44,6 @@ public interface BlockAwareOperationTracer extends OperationTracer { @Deprecated default void traceStartBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} - /** - * Trace the start of a block. - * - * @param blockHeader the header of the block which is traced - * @param blockBody the body of the block which is traced - * @param miningBeneficiary the address of miner building the block - */ - default void traceStartBlock( - final BlockHeader blockHeader, final BlockBody blockBody, final Address miningBeneficiary) {} - - /** - * Trace the end of a block. - * - * @param blockHeader the header of the block which is traced - * @param blockBody the body of the block which is traced - */ - default void traceEndBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} - /** * When building a block this API is called at the start of the process. Notice: This method has * been marked for removal and will be removed in a future version. Avoid using it and use {@link @@ -81,6 +63,14 @@ default void traceStartBlock(final ProcessableBlockHeader processableBlockHeader default void traceStartBlock( final ProcessableBlockHeader processableBlockHeader, final Address miningBeneficiary) {} + /** + * Trace the end of a block. + * + * @param blockHeader the header of the block which is traced + * @param blockBody the body of the block which is traced + */ + default void traceEndBlock(final BlockHeader blockHeader, final BlockBody blockBody) {} + @Override default boolean isExtendedTracing() { return true;