Skip to content

Commit

Permalink
graphql: revert storage access regression (ethereum#27007)
Browse files Browse the repository at this point in the history
  • Loading branch information
s1na authored and shekhirin committed Jun 6, 2023
1 parent 42b2629 commit 7832f7a
Showing 1 changed file with 1 addition and 15 deletions.
16 changes: 1 addition & 15 deletions graphql/graphql.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,26 +81,12 @@ type Account struct {
r *Resolver
address common.Address
blockNrOrHash rpc.BlockNumberOrHash
state *state.StateDB
mu sync.Mutex
}

// getState fetches the StateDB object for an account.
func (a *Account) getState(ctx context.Context) (*state.StateDB, error) {
a.mu.Lock()
defer a.mu.Unlock()
if a.state != nil {
return a.state, nil
}
state, _, err := a.r.backend.StateAndHeaderByNumberOrHash(ctx, a.blockNrOrHash)
if err != nil {
return nil, err
}
a.state = state
// Cache the state object. This is done so that concurrent resolvers
// don't have to fetch the object from DB individually.
a.state.GetOrNewStateObject(a.address)
return a.state, nil
return state, err
}

func (a *Account) Address(ctx context.Context) (common.Address, error) {
Expand Down

0 comments on commit 7832f7a

Please sign in to comment.