getNativeTokenBalance method

  1. @override
Future<double> getNativeTokenBalance({
  1. required String address,
  2. required String namespace,
  3. required String chainId,
})
override

Implementation

@override
Future<double> getNativeTokenBalance({
  required String address,
  required String namespace,
  required String chainId,
}) async {
  final handler = ChainHandlerFactory.getHandlerOrThrow(namespace);
  final params = handler.buildBalanceParams(address);
  final body = _buildJsonRpcRequest(
    method: handler.balanceMethod,
    params: params,
  );

  final url = _buildRpcUrl(chainId);
  final response = await http.post(
    url,
    headers: _requiredHeaders,
    body: body,
  );
  _core.logger.i(
    '[$runtimeType] getNativeTokenBalance $url, $body => ${response.body}',
  );

  return _handleResponse(
    response: response,
    parser: (body) => handler.parseBalance(body, _parseRpcResultAs),
    errorContext: 'getNativeTokenBalance',
    errorMessage: 'Failed to load balance',
  );
}