toXdr method

XdrTransaction toXdr ()

Generates a V1 Transaction XDR object for this transaction.

Implementation

XdrTransaction toXdr() {
  // fee
  XdrUint32 fee = XdrUint32();
  fee.uint32 = _mFee;

  // sequenceNumber
  XdrInt64 sequenceNumberUint = XdrInt64();
  sequenceNumberUint.int64 = _mSequenceNumber;
  XdrSequenceNumber sequenceNumber = XdrSequenceNumber();
  sequenceNumber.sequenceNumber = sequenceNumberUint;

  // operations
  List<XdrOperation> operations = List<XdrOperation>(_mOperations.length);
  for (int i = 0; i < _mOperations.length; i++) {
    operations[i] = _mOperations[i].toXdr();
  }

  // ext
  XdrTransactionExt ext = XdrTransactionExt();
  ext.discriminant = 0;

  XdrTransaction transaction = XdrTransaction();
  transaction.fee = fee;
  transaction.seqNum = sequenceNumber;
  transaction.sourceAccount = _mSourceAccount.toXdr();
  transaction.operations = operations;
  transaction.memo = _mMemo.toXdr();
  transaction.timeBounds =
      (_mTimeBounds == null ? null : _mTimeBounds.toXdr());
  transaction.ext = ext;
  return transaction;
}