From d6fb3a97588b56b7d1302ff32113656b1e7e0f1a Mon Sep 17 00:00:00 2001 From: Roberto Bayardo Date: Mon, 8 May 2023 08:59:33 -0700 Subject: [PATCH] remove unnecessary & uninitialized DataGasLimit from Message (#127) --- core/state_transition.go | 1 - eth/tracers/api.go | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/core/state_transition.go b/core/state_transition.go index 5591c8c8b8d1..81eb52211621 100644 --- a/core/state_transition.go +++ b/core/state_transition.go @@ -130,7 +130,6 @@ type Message struct { Nonce uint64 Value *big.Int GasLimit uint64 - DataGasLimit uint64 GasPrice *big.Int GasFeeCap *big.Int GasTipCap *big.Int diff --git a/eth/tracers/api.go b/eth/tracers/api.go index 637ba6bd420c..55b1d41f0bf2 100644 --- a/eth/tracers/api.go +++ b/eth/tracers/api.go @@ -567,7 +567,7 @@ func (api *API) IntermediateRoots(ctx context.Context, hash common.Hash, config vmenv = vm.NewEVM(vmctx, txContext, statedb, chainConfig, vm.Config{}) ) statedb.SetTxContext(tx.Hash(), i) - if _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(msg.DataGasLimit)); err != nil { + if _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(params.MaxDataGasPerBlock)); err != nil { log.Warn("Tracing intermediate roots did not complete", "txindex", i, "txhash", tx.Hash(), "err", err) // We intentionally don't return the error here: if we do, then the RPC server will not // return the roots. Most likely, the caller already knows that a certain transaction fails to @@ -717,7 +717,7 @@ txloop: msg, _ := core.TransactionToMessage(tx, signer, block.BaseFee()) statedb.SetTxContext(tx.Hash(), i) vmenv := vm.NewEVM(blockCtx, core.NewEVMTxContext(msg), statedb, api.backend.ChainConfig(), vm.Config{}) - if _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(msg.DataGasLimit)); err != nil { + if _, err := core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(params.MaxDataGasPerBlock)); err != nil { failed = err break txloop } @@ -829,7 +829,7 @@ func (api *API) standardTraceBlockToFile(ctx context.Context, block *types.Block // Execute the transaction and flush any traces to disk vmenv := vm.NewEVM(vmctx, txContext, statedb, chainConfig, vmConf) statedb.SetTxContext(tx.Hash(), i) - _, err = core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(msg.DataGasLimit)) + _, err = core.ApplyMessage(vmenv, msg, new(core.GasPool).AddGas(msg.GasLimit).AddDataGas(params.MaxDataGasPerBlock)) if writer != nil { writer.Flush() } @@ -1010,7 +1010,7 @@ func (api *API) traceTx(ctx context.Context, message *core.Message, txctx *Conte // Call Prepare to clear out the statedb access list statedb.SetTxContext(txctx.TxHash, txctx.TxIndex) - if _, err = core.ApplyMessage(vmenv, message, new(core.GasPool).AddGas(message.GasLimit).AddDataGas(message.DataGasLimit)); err != nil { + if _, err = core.ApplyMessage(vmenv, message, new(core.GasPool).AddGas(message.GasLimit).AddDataGas(params.MaxDataGasPerBlock)); err != nil { return nil, fmt.Errorf("tracing failed: %w", err) } return tracer.GetResult()