toXdr method

XdrTransaction toXdr()

Generates a V1 Transaction XDR object for this transaction.

Implementation

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

  // sequenceNumber
  XdrInt64 sequenceNumberUint = XdrInt64(_mSequenceNumber);

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

  // ext
  XdrTransactionExt ext = XdrTransactionExt(0);
  if (this._sorobanTransactionData != null) {
    ext = XdrTransactionExt(1);
    ext.sorobanTransactionData = this._sorobanTransactionData;
  }

  XdrPreconditions xdrPreconditions = (_mPreconditions == null
      ? XdrPreconditions(XdrPreconditionType.NONE)
      : _mPreconditions!.toXdr());
  XdrMemo xdrMemo =
      (_mMemo == null ? XdrMemo(XdrMemoType.MEMO_NONE) : _mMemo!.toXdr());
  return XdrTransaction(
      _mSourceAccount.toXdr(),
      fee,
      XdrSequenceNumber(sequenceNumberUint),
      xdrPreconditions,
      xdrMemo,
      operations,
      ext);
}