fetchBalance function Null safety

Future<BalanceResponse> fetchBalance(
  1. String address,
  2. String endpoint
)

Implementation

Future<BalanceResponse> fetchBalance(String address, String endpoint) async {
  final Completer<BalanceResponse> _completer = Completer<BalanceResponse>();
  BalanceResponse? balanceResponse;

  final Map<String, String> requestHeaders = {
    'Content-type': 'application/json',
    'Accept': 'application/json',
  };

  final String _body =
      '{"query": "query {balance(address: \\"$address\\") {uco, nft {address, amount}}}"}';
  print(_body);

  try {
    final http.Response responseHttp = await http.post(
        Uri.parse(endpoint + '/api'),
        body: _body,
        headers: requestHeaders);
    print(responseHttp.body);

    if (responseHttp.statusCode == 200) {
      balanceResponse = balanceResponseFromJson(responseHttp.body);
    }
  } catch (e) {
    print('error: ' + e.toString());
  }

  _completer.complete(balanceResponse!);
  return _completer.future;
}