getBalanceGetResponse method

Future<DnaGetBalanceResponse> getBalanceGetResponse(
  1. String address
)

Implementation

Future<DnaGetBalanceResponse> getBalanceGetResponse(String address) async {
  DnaGetBalanceRequest dnaGetBalanceRequest;
  DnaGetBalanceResponse dnaGetBalanceResponse = new DnaGetBalanceResponse();
  Map<String, dynamic> mapParams;

  Completer<DnaGetBalanceResponse> _completer =
      new Completer<DnaGetBalanceResponse>();

  if (this.nodeType == DEMO_NODE) {
    dnaGetBalanceResponse = new DnaGetBalanceResponse();
    dnaGetBalanceResponse.result = new DnaGetBalanceResponseResult();
    dnaGetBalanceResponse.result.balance = DM_PORTOFOLIO_MAIN;
    dnaGetBalanceResponse.result.stake = DM_PORTOFOLIO_STAKE;
  } else {
    if (this.nodeType == PUBLIC_NODE) {
      mapParams = {
        'method': DnaGetBalanceRequest.METHOD_NAME,
        'params': [address],
        'id': 101,
      };
    } else {
      mapParams = {
        'method': DnaGetBalanceRequest.METHOD_NAME,
        'params': [address],
        'id': 101,
        'key': this.keyApp
      };
    }

    try {
      if (this.nodeType == NORMAL_VPS_NODE) {
        SSHClientStatus sshClientStatus;
        sshClientStatus = await VpsUtil().connectVps(this.apiUrl, keyApp);
        if (sshClientStatus.sshClientStatus) {
          sshClient = sshClientStatus.sshClient;
        }
        var response = await ssh.HttpClientImpl(
            clientFactory: () =>
                ssh.SSHTunneledBaseClient(sshClientStatus.sshClient)).request(
            this.apiUrl,
            method: 'POST',
            data: jsonEncode(mapParams),
            headers: requestHeaders);
        if (response.status == 200) {
          dnaGetBalanceResponse =
              dnaGetBalanceResponseFromJson(response.text);
        }
      } else {
        dnaGetBalanceRequest = DnaGetBalanceRequest.fromJson(mapParams);
        String body = json.encode(dnaGetBalanceRequest.toJson());
        http.Response responseHttp = await http.post(Uri.parse(this.apiUrl),
            body: body, headers: requestHeaders);
        if (responseHttp.statusCode == 200) {
          dnaGetBalanceResponse =
              dnaGetBalanceResponseFromJson(responseHttp.body);
        }
      }
    } catch (e) {
      logger.e(e.toString());
    }
  }

  _completer.complete(dnaGetBalanceResponse);

  return _completer.future;
}