fromV1EnvelopeXdr method Null safety
- XdrTransactionV1Envelope envelope
Creates a Transaction instance from a XdrTransactionV1Envelope envelope
.
Implementation
static Transaction fromV1EnvelopeXdr(XdrTransactionV1Envelope envelope) {
XdrTransaction? tx = envelope.tx;
int mFee = tx.fee.uint32;
int mSequenceNumber = tx.seqNum.sequenceNumber.int64;
Memo? mMemo = Memo.fromXdr(tx.memo);
TransactionPreconditions mPreconditions =
TransactionPreconditions.fromXdr(tx.preconditions);
List<Operation> mOperations = List<Operation>.empty(growable: true);
for (int i = 0; i < tx.operations.length; i++) {
mOperations.add(Operation.fromXdr(tx.operations[i]));
}
Transaction transaction = Transaction(
MuxedAccount.fromXdr(tx.sourceAccount),
mFee,
mSequenceNumber,
mOperations,
mMemo,
mPreconditions, sorobanTransactionData: tx.ext.sorobanTransactionData);
for (XdrDecoratedSignature? signature in envelope.signatures) {
if (signature != null) {
transaction._mSignatures.add(signature);
}
}
return transaction;
}