Revert "update trace logique to fix journal updater issue (#7758)" (#8054)

This reverts commit 6a546c5e6f.

Signed-off-by: Karim Taam <karim.t2am@gmail.com>
This commit is contained in:
Karim Taam
2024-12-19 12:54:53 +03:00
committed by GitHub
parent a03c98bf9e
commit 14c008d648

View File

@@ -20,6 +20,7 @@ import static org.hyperledger.besu.ethereum.mainnet.feemarket.ExcessBlobGasCalcu
import org.hyperledger.besu.datatypes.BlobGas;
import org.hyperledger.besu.datatypes.Hash;
import org.hyperledger.besu.datatypes.Wei;
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.methods.TraceBlock.ChainUpdater;
import org.hyperledger.besu.ethereum.api.jsonrpc.internal.processor.Tracer;
import org.hyperledger.besu.ethereum.api.query.BlockchainQueries;
import org.hyperledger.besu.ethereum.chain.Blockchain;
@@ -155,14 +156,14 @@ public class TraceServiceImpl implements TraceService {
blocks.get(0).getHash(),
traceableState -> {
final WorldUpdater worldStateUpdater = traceableState.updater();
final ChainUpdater chainUpdater = new ChainUpdater(traceableState, worldStateUpdater);
beforeTracing.accept(worldStateUpdater);
final List<TransactionProcessingResult> results = new ArrayList<>();
blocks.forEach(
block -> {
results.addAll(trace(blockchain, block, worldStateUpdater, tracer));
worldStateUpdater.commit();
results.addAll(trace(blockchain, block, chainUpdater, tracer));
});
afterTracing.accept(worldStateUpdater);
afterTracing.accept(chainUpdater.getNextUpdater());
return Optional.of(results);
});
}
@@ -177,7 +178,7 @@ public class TraceServiceImpl implements TraceService {
blockchainQueries,
block.getHash(),
traceableState ->
Optional.of(trace(blockchain, block, traceableState.updater(), tracer)));
Optional.of(trace(blockchain, block, new ChainUpdater(traceableState), tracer)));
return results;
}
@@ -185,7 +186,7 @@ public class TraceServiceImpl implements TraceService {
private List<TransactionProcessingResult> trace(
final Blockchain blockchain,
final Block block,
final WorldUpdater worldUpdater,
final ChainUpdater chainUpdater,
final BlockAwareOperationTracer tracer) {
final List<TransactionProcessingResult> results = new ArrayList<>();
final ProtocolSpec protocolSpec = protocolSchedule.getByBlockHeader(block.getHeader());
@@ -208,6 +209,7 @@ public class TraceServiceImpl implements TraceService {
.map(parent -> calculateExcessBlobGasForParent(protocolSpec, parent))
.orElse(BlobGas.ZERO));
final WorldUpdater worldUpdater = chainUpdater.getNextUpdater();
final TransactionProcessingResult result =
transactionProcessor.processTransaction(
worldUpdater,