balances method

  1. @override
Future<CrossmintWalletBalanceSnapshot> balances(
  1. String walletId, {
  2. List<String> chains = const <String>[],
  3. List<String> tokens = const <String>[],
})
override

Implementation

@override
Future<CrossmintWalletBalanceSnapshot> balances(
  String walletId, {
  List<String> chains = const <String>[],
  List<String> tokens = const <String>[],
}) async {
  final List<String> resolvedChains = chains.isNotEmpty
      ? _codec.dedupeStrings(chains)
      : <String>[_chainResolver.resolveChainForBalances(walletId)];
  final List<String> resolvedTokens = _codec.balanceTokensForChains(
    resolvedChains,
    additionalTokens: tokens,
  );
  final Object? response = await _service.getBalances(
    walletId,
    chains: resolvedChains,
    tokens: resolvedTokens,
  );
  return CrossmintWalletBalanceSnapshot(
    walletId: walletId,
    items: WalletResponseParser.readEnvelopeItems(response),
    raw: WalletResponseParser.envelopeRaw(
      response,
      collectionKey: 'balances',
    ),
  );
}