getAllBalances method

  1. @override
Future<List<Balance>> getAllBalances(
  1. String address
)
override

Aggregate balances for every coin type address holds, paged through to the full set.

Implementation

@override
Future<List<Balance>> getAllBalances(String address) async {
  final balances = <Balance>[];
  String? after;
  while (true) {
    final data = await _client.executeData(
      _getAllBalancesOperation,
      generated.Variables$Query$GetAllBalances(
        address: address,
        first: 50,
        after: after,
      ),
    );
    final connection = data.address?.balances;
    if (connection == null) break;
    balances.addAll(connection.nodes.map(_mapBalance));
    if (!connection.pageInfo.hasNextPage) break;
    after = connection.pageInfo.endCursor;
    if (after == null) break;
  }
  return balances;
}