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;
}