mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 10:50:44 +00:00
eth/tracers, internal/ethapi: use correct baseFee when BlockOverrides is provided in call/traceCall #29051 (#1347)
This commit is contained in:
parent
693b248d0d
commit
a8c252f5bc
2 changed files with 7 additions and 11 deletions
|
|
@ -810,9 +810,7 @@ func (api *API) TraceCall(ctx context.Context, args ethapi.TransactionArgs, bloc
|
||||||
config.BlockOverrides.Apply(&vmctx)
|
config.BlockOverrides.Apply(&vmctx)
|
||||||
}
|
}
|
||||||
// Execute the trace
|
// Execute the trace
|
||||||
// TODO(daniel): replace block.BaseFee() with vmctx.BaseFee
|
msg, err := args.ToMessage(api.backend, block.Number(), api.backend.RPCGasCap(), vmctx.BaseFee)
|
||||||
// reference: https://github.com/ethereum/go-ethereum/pull/29051
|
|
||||||
msg, err := args.ToMessage(api.backend, block.Number(), api.backend.RPCGasCap(), block.BaseFee())
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1153,20 +1153,18 @@ func DoCall(ctx context.Context, b Backend, args TransactionArgs, blockNrOrHash
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: replace header.BaseFee with blockCtx.BaseFee
|
// Get a new instance of the EVM.
|
||||||
// reference: https://github.com/ethereum/go-ethereum/pull/29051
|
blockCtx := core.NewEVMBlockContext(header, NewChainContext(ctx, b), nil)
|
||||||
msg, err := args.ToMessage(b, header.Number, globalGasCap, header.BaseFee)
|
if blockOverrides != nil {
|
||||||
|
blockOverrides.Apply(&blockCtx)
|
||||||
|
}
|
||||||
|
msg, err := args.ToMessage(b, header.Number, globalGasCap, blockCtx.BaseFee)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
msg.BalanceTokenFee = new(big.Int).SetUint64(msg.GasLimit)
|
msg.BalanceTokenFee = new(big.Int).SetUint64(msg.GasLimit)
|
||||||
msg.BalanceTokenFee.Mul(msg.BalanceTokenFee, msg.GasPrice)
|
msg.BalanceTokenFee.Mul(msg.BalanceTokenFee, msg.GasPrice)
|
||||||
|
|
||||||
// Get a new instance of the EVM.
|
|
||||||
blockCtx := core.NewEVMBlockContext(header, NewChainContext(ctx, b), nil)
|
|
||||||
if blockOverrides != nil {
|
|
||||||
blockOverrides.Apply(&blockCtx)
|
|
||||||
}
|
|
||||||
evm, vmError, err := b.GetEVM(ctx, msg, statedb, XDCxState, header, &vm.Config{NoBaseFee: true}, &blockCtx)
|
evm, vmError, err := b.GetEVM(ctx, msg, statedb, XDCxState, header, &vm.Config{NoBaseFee: true}, &blockCtx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue