mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 04:36:42 +00:00
eth/pre: add stateOverrides support (#5)
This commit is contained in:
parent
1f5164b61f
commit
32e328be39
1 changed files with 7 additions and 1 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in a new issue