toEnvelopeXdr method

XdrTransactionEnvelope toEnvelopeXdr ()
override

Generates a TransactionEnvelope XDR object for this transaction. This transaction needs to have at least one signature.

Implementation

XdrTransactionEnvelope toEnvelopeXdr() {
  if (_mSignatures.length == 0) {
    throw Exception(
        "Transaction must be signed by at least one signer. Use transaction.sign().");
  }

  XdrTransactionEnvelope xdrTe = XdrTransactionEnvelope();
  XdrTransaction transaction = this.toXdr();
  XdrTransactionV1Envelope v1Envelope = XdrTransactionV1Envelope();
  v1Envelope.tx = transaction;
  List<XdrDecoratedSignature> signatures = List<XdrDecoratedSignature>();
  signatures.addAll(_mSignatures);
  v1Envelope.signatures = signatures;
  xdrTe.discriminant = XdrEnvelopeType.ENVELOPE_TYPE_TX;
  xdrTe.v1 = v1Envelope;
  return xdrTe;
}