Skip to content

Commit 2c2dbe5

Browse files
committed
eth/tracers, internal/ethapi: use correct baseFee when BlockOverrides is provided in call/traceCall ethereum#29051
1 parent 3f9a333 commit 2c2dbe5

File tree

2 files changed

+7
-11
lines changed

2 files changed

+7
-11
lines changed

eth/tracers/api.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -810,9 +810,7 @@ func (api *API) TraceCall(ctx context.Context, args ethapi.TransactionArgs, bloc
810810
config.BlockOverrides.Apply(&vmctx)
811811
}
812812
// Execute the trace
813-
// TODO(daniel): replace block.BaseFee() with vmctx.BaseFee
814-
// reference: https://github.com/ethereum/go-ethereum/pull/29051
815-
msg, err := args.ToMessage(api.backend, block.Number(), api.backend.RPCGasCap(), block.BaseFee())
813+
msg, err := args.ToMessage(api.backend, block.Number(), api.backend.RPCGasCap(), vmctx.BaseFee)
816814
if err != nil {
817815
return nil, err
818816
}

internal/ethapi/api.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1145,20 +1145,18 @@ func DoCall(ctx context.Context, b Backend, args TransactionArgs, blockNrOrHash
11451145
return nil, err
11461146
}
11471147

1148-
// TODO: replace header.BaseFee with blockCtx.BaseFee
1149-
// reference: https://github.com/ethereum/go-ethereum/pull/29051
1150-
msg, err := args.ToMessage(b, header.Number, globalGasCap, header.BaseFee)
1148+
// Get a new instance of the EVM.
1149+
blockCtx := core.NewEVMBlockContext(header, NewChainContext(ctx, b), nil)
1150+
if blockOverrides != nil {
1151+
blockOverrides.Apply(&blockCtx)
1152+
}
1153+
msg, err := args.ToMessage(b, header.Number, globalGasCap, blockCtx.BaseFee)
11511154
if err != nil {
11521155
return nil, err
11531156
}
11541157
msg.BalanceTokenFee = new(big.Int).SetUint64(msg.GasLimit)
11551158
msg.BalanceTokenFee.Mul(msg.BalanceTokenFee, msg.GasPrice)
11561159

1157-
// Get a new instance of the EVM.
1158-
blockCtx := core.NewEVMBlockContext(header, NewChainContext(ctx, b), nil)
1159-
if blockOverrides != nil {
1160-
blockOverrides.Apply(&blockCtx)
1161-
}
11621160
evm, vmError, err := b.GetEVM(ctx, msg, statedb, XDCxState, header, &vm.Config{NoBaseFee: true}, &blockCtx)
11631161
if err != nil {
11641162
return nil, err

0 commit comments

Comments
 (0)