submitTransaction method

Future<SubmitTransactionResponse> submitTransaction (
  1. Transaction transaction
)

Submits a transaction to the network.

Implementation

Future<SubmitTransactionResponse> submitTransaction(
    Transaction transaction) async {
  Uri callURI = _serverURI.replace(pathSegments: ["transactions"]);

  //print("Envelope XDR: " + transaction.toEnvelopeXdrBase64());
  SubmitTransactionResponse result = await _httpClient.post(callURI,
      body: {"tx": transaction.toEnvelopeXdrBase64()}, headers: RequestBuilder.headers).then((response) {
    SubmitTransactionResponse submitTransactionResponse;
    //print(response.body);
    switch (response.statusCode) {
      case 200:
      case 400:
        submitTransactionResponse =
            SubmitTransactionResponse.fromJson(json.decode(response.body));
        break;
      case 504:
        throw new SubmitTransactionTimeoutResponseException();
      default:
        throw new SubmitTransactionUnknownResponseException(
            response.statusCode, response.body);
    }
    return submitTransactionResponse;
  }).catchError((onError) {
    throw onError;
  });

  return result;
}