getBalance method
Implementation
@override
Future<List<TokenBalance>> getBalance({
required String address,
String? caip2Chain,
}) async {
final uri = Uri.parse('$_baseUrl/account/$address/balance');
final queryParams = {
..._requiredParams,
'currency': 'usd',
if (caip2Chain != null) 'chainId': caip2Chain,
// 'forceUpdate': ,
};
final url = uri.replace(queryParameters: queryParams);
final response = await http.get(url, headers: _requiredHeaders);
_core.logger.i('[$runtimeType] getBalance $url => ${response.body}');
if (response.statusCode == 200 && response.body.isNotEmpty) {
final result = jsonDecode(response.body) as Map<String, dynamic>;
final balances = result['balances'] as List;
_tokensList = balances.map((e) => TokenBalance.fromJson(e)).toList();
return _tokensList!;
}
try {
final reason = _parseResponseError(response.body);
throw Exception(reason);
} catch (e) {
_core.logger.e('[$runtimeType] getBalance, decode result error => $e');
rethrow;
}
}