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"`
|
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)
|
preResList := make([]PreResult, 0)
|
||||||
state, header, err := api.e.APIBackend.StateAndHeaderByNumberOrHash(ctx, rpc.BlockNumberOrHashWithNumber(rpc.LatestBlockNumber))
|
state, header, err := api.e.APIBackend.StateAndHeaderByNumberOrHash(ctx, rpc.BlockNumberOrHashWithNumber(rpc.LatestBlockNumber))
|
||||||
if state == nil || err != nil {
|
if state == nil || err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if stateOverrides != nil {
|
||||||
|
err = stateOverrides.Apply(state)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
for i := 0; i < len(origins); i++ {
|
for i := 0; i < len(origins); i++ {
|
||||||
origin := origins[i]
|
origin := origins[i]
|
||||||
if origin.Nonce == nil {
|
if origin.Nonce == nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue