|
|
|
@ -1074,6 +1074,15 @@ func (s *PublicTransactionPoolAPI) GetRawTransactionByBlockHashAndIndex(ctx cont |
|
|
|
|
|
|
|
|
|
// GetTransactionCount returns the number of transactions the given address has sent for the given block number
|
|
|
|
|
func (s *PublicTransactionPoolAPI) GetTransactionCount(ctx context.Context, address common.Address, blockNr rpc.BlockNumber) (*hexutil.Uint64, error) { |
|
|
|
|
// Ask transaction pool for the nonce which includes pending transactions
|
|
|
|
|
if blockNr == rpc.PendingBlockNumber { |
|
|
|
|
nonce, err := s.b.GetPoolNonce(ctx, address) |
|
|
|
|
if err != nil { |
|
|
|
|
return nil, err |
|
|
|
|
} |
|
|
|
|
return (*hexutil.Uint64)(&nonce), nil |
|
|
|
|
} |
|
|
|
|
// Resolve block number and use its state to ask for the nonce
|
|
|
|
|
state, _, err := s.b.StateAndHeaderByNumber(ctx, blockNr) |
|
|
|
|
if state == nil || err != nil { |
|
|
|
|
return nil, err |
|
|
|
|