toV0Xdr method
Generates a V0 Transaction XDR object for this transaction.
Implementation
XdrTransactionV0 toV0Xdr() {
// fee
XdrUint32 fee = XdrUint32();
fee.uint32 = _mFee;
// sequenceNumber
XdrInt64 sequenceNumberUint = XdrInt64();
sequenceNumberUint.int64 = _mSequenceNumber;
XdrSequenceNumber sequenceNumber = XdrSequenceNumber();
sequenceNumber.sequenceNumber = sequenceNumberUint;
XdrPublicKey sourcePublickKey =
KeyPair.fromAccountId(_mSourceAccount.ed25519AccountId).xdrPublicKey;
// sourceAccount
XdrAccountID sourceAccount = XdrAccountID();
sourceAccount.accountID = sourcePublickKey;
// operations
List<XdrOperation> operations = List<XdrOperation>(_mOperations.length);
for (int i = 0; i < _mOperations.length; i++) {
operations[i] = _mOperations[i].toXdr();
}
// ext
XdrTransactionV0Ext ext = XdrTransactionV0Ext();
ext.discriminant = 0;
XdrTransactionV0 transaction = XdrTransactionV0();
transaction.fee = fee;
transaction.seqNum = sequenceNumber;
transaction.sourceAccountEd25519 = sourcePublickKey.getEd25519();
transaction.operations = operations;
transaction.memo = _mMemo.toXdr();
transaction.timeBounds =
(_mTimeBounds == null ? null : _mTimeBounds.toXdr());
transaction.ext = ext;
return transaction;
}