internal/ethapi: ask transaction pool for pending nonce (#15794)
This commit is contained in:
		
				
					committed by
					
						 Péter Szilágyi
						Péter Szilágyi
					
				
			
			
				
	
			
			
			
						parent
						
							aca588a8e4
						
					
				
				
					commit
					e05d468075
				
			| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user