diff --git a/eth/api_pre_exec.go b/eth/api_pre_exec.go index d2c2b73782..a0ed032896 100644 --- a/eth/api_pre_exec.go +++ b/eth/api_pre_exec.go @@ -93,12 +93,18 @@ type PreResult struct { GasUsed uint64 `json:"gasUsed"` } -func (api *PreExecAPI) TraceMany(ctx context.Context, origins []PreArgs) ([]PreResult, error) { +func (api *PreExecAPI) TraceMany(ctx context.Context, origins []PreArgs, stateOverrides *ethapi.StateOverride) ([]PreResult, error) { preResList := make([]PreResult, 0) state, header, err := api.e.APIBackend.StateAndHeaderByNumberOrHash(ctx, rpc.BlockNumberOrHashWithNumber(rpc.LatestBlockNumber)) if state == nil || err != nil { return nil, err } + if stateOverrides != nil { + err = stateOverrides.Apply(state) + if err != nil { + return nil, err + } + } for i := 0; i < len(origins); i++ { origin := origins[i] if origin.Nonce == nil {