getContractBalanceUpdates method

Future<ApiContractBalanceUpdatesResponse> getContractBalanceUpdates(
  1. String address,
  2. String contractAddress,
  3. int limit
)

Implementation

Future<ApiContractBalanceUpdatesResponse> getContractBalanceUpdates(
    String address, String contractAddress, int limit) async {
  HttpClient httpClient = new HttpClient();
  ApiContractBalanceUpdatesResponse apiContractBalanceUpdatesResponse;
  Completer<ApiContractBalanceUpdatesResponse> _completer =
      new Completer<ApiContractBalanceUpdatesResponse>();

  String uri;
  if (address != null) {
    uri = "https://api.idena.io/api/Address/" +
        address +
        "/Contract/" +
        contractAddress +
        "/BalanceUpdates?limit=" +
        limit.toString();
  } else {
    uri = "https://api.idena.io/api/Contract/" +
        contractAddress +
        "/BalanceUpdates?limit=" +
        limit.toString();
  }

  try {
    HttpClientRequest request = await httpClient.getUrl(Uri.parse(uri));
    request.headers.set('content-type', 'application/json');
    HttpClientResponse response = await request.close();
    if (response.statusCode == 200) {
      String reply = await response.transform(utf8.decoder).join();
      apiContractBalanceUpdatesResponse =
          apiContractBalanceUpdatesResponseFromJson(reply);
    }
  } catch (e) {
    print("exception : " + e.toString());
  } finally {
    httpClient.close();
  }

  _completer.complete(apiContractBalanceUpdatesResponse);

  return _completer.future;
}