From e1637b32a5429ffe7789ae0c3e8aa9e0ede7fb62 Mon Sep 17 00:00:00 2001 From: Sina Mahmoodi Date: Tue, 16 Apr 2024 12:25:49 +0200 Subject: [PATCH] minor --- eth/state_accessor.go | 6 ++---- eth/tracers/api.go | 15 +++------------ 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/eth/state_accessor.go b/eth/state_accessor.go index 24d9c6b26a..372c76f496 100644 --- a/eth/state_accessor.go +++ b/eth/state_accessor.go @@ -233,14 +233,12 @@ func (eth *Ethereum) stateAtTransaction(ctx context.Context, block *types.Block, if err != nil { return nil, vm.BlockContext{}, nil, nil, err } - + // Insert parent beacon block root in the state as per EIP-4788. if beaconRoot := block.BeaconRoot(); beaconRoot != nil { context := core.NewEVMBlockContext(block.Header(), eth.blockchain, nil) vmenv := vm.NewEVM(context, vm.TxContext{}, statedb, eth.blockchain.Config(), vm.Config{}) - - core.ProcessBeaconBlockRoot(*block.BeaconRoot(), vmenv, statedb) + core.ProcessBeaconBlockRoot(*beaconRoot, vmenv, statedb) } - if txIndex == 0 && len(block.Transactions()) == 0 { return nil, vm.BlockContext{}, statedb, release, nil } diff --git a/eth/tracers/api.go b/eth/tracers/api.go index 7a4c4b1862..3ef459168f 100644 --- a/eth/tracers/api.go +++ b/eth/tracers/api.go @@ -524,14 +524,11 @@ func (api *API) IntermediateRoots(ctx context.Context, hash common.Hash, config return nil, err } defer release() - if beaconRoot := block.BeaconRoot(); beaconRoot != nil { context := core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil) vmenv := vm.NewEVM(context, vm.TxContext{}, statedb, api.backend.ChainConfig(), vm.Config{}) - - core.ProcessBeaconBlockRoot(*block.BeaconRoot(), vmenv, statedb) + core.ProcessBeaconBlockRoot(*beaconRoot, vmenv, statedb) } - var ( roots []common.Hash signer = types.MakeSigner(api.backend.ChainConfig(), block.Number(), block.Time()) @@ -598,14 +595,11 @@ func (api *API) traceBlock(ctx context.Context, block *types.Block, config *Trac return nil, err } defer release() - if beaconRoot := block.BeaconRoot(); beaconRoot != nil { context := core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil) vmenv := vm.NewEVM(context, vm.TxContext{}, statedb, api.backend.ChainConfig(), vm.Config{}) - - core.ProcessBeaconBlockRoot(*block.BeaconRoot(), vmenv, statedb) + core.ProcessBeaconBlockRoot(*beaconRoot, vmenv, statedb) } - // JS tracers have high overhead. In this case run a parallel // process that generates states in one thread and traces txes // in separate worker threads. @@ -748,14 +742,11 @@ func (api *API) standardTraceBlockToFile(ctx context.Context, block *types.Block return nil, err } defer release() - if beaconRoot := block.BeaconRoot(); beaconRoot != nil { context := core.NewEVMBlockContext(block.Header(), api.chainContext(ctx), nil) vmenv := vm.NewEVM(context, vm.TxContext{}, statedb, api.backend.ChainConfig(), vm.Config{}) - - core.ProcessBeaconBlockRoot(*block.BeaconRoot(), vmenv, statedb) + core.ProcessBeaconBlockRoot(*beaconRoot, vmenv, statedb) } - // Retrieve the tracing configurations, or use default values var ( logConfig logger.Config