getTokenTransfersForAddress method

  1. @override
Future<TokenTransfersResponse> getTokenTransfersForAddress(
  1. EthereumAddress address,
  2. {EthereumAddress? tokenAddress,
  3. BlockNum? fromBlock,
  4. BlockNum? toBlock,
  5. DateTime? fromTime,
  6. DateTime? toTime,
  7. int page = 1,
  8. int pageSize = 20}
)
override

Retrieves token transfers for a specific address and token.

Given the address and tokenAddress, this method returns a TokenTransfersResponse with information about token transfers. Additional parameters like fromBlock, toBlock, fromTime, toTime, page, and pageSize can be specified for more targeted results.

Implementation

@override
Future<TokenTransfersResponse> getTokenTransfersForAddress(
  EthereumAddress address, {
  EthereumAddress? tokenAddress,
  BlockNum? fromBlock,
  BlockNum? toBlock,
  DateTime? fromTime,
  DateTime? toTime,
  int page = 1,
  int pageSize = 20,
}) async {
  return TokenTransfersResponse.fromJson(
      await _restClient
          .get<Map<String, dynamic>>('/token/transfers', queryParameters: {
        'address': address.hex,
        'chain_id': _chain.chainId,
        if (tokenAddress != null) 'contract_address': tokenAddress.hex,
        if (fromBlock != null) 'from_block': fromBlock.toBlockParam(),
        if (toBlock != null) 'to_block': toBlock.toBlockParam(),
        if (fromTime != null)
          'from_timestamp': fromTime.millisecondsSinceEpoch,
        if (toTime != null) 'end_timestamp': toTime.millisecondsSinceEpoch,
        'page': page,
        'limit': pageSize,
      }),
      address.hex);
}