fromV1EnvelopeXdr method

Transaction fromV1EnvelopeXdr (
  1. XdrTransactionV1Envelope envelope,
  2. Network network
)

Creates a Transaction instance from a XdrTransactionV1Envelope envelope.

Implementation

static Transaction fromV1EnvelopeXdr(
    XdrTransactionV1Envelope envelope, Network network) {
  XdrTransaction tx = envelope.tx;
  int mFee = tx.fee.uint32;
  String mSourceAccount =
      KeyPair.fromPublicKey(tx.sourceAccount.ed25519.uint256).accountId;
  int mSequenceNumber = tx.seqNum.sequenceNumber.int64;
  Memo mMemo = Memo.fromXdr(tx.memo);
  TimeBounds mTimeBounds = TimeBounds.fromXdr(tx.timeBounds);

  List<Operation> mOperations = List<Operation>(tx.operations.length);
  for (int i = 0; i < tx.operations.length; i++) {
    mOperations[i] = Operation.fromXdr(tx.operations[i]);
  }

  Transaction transaction = Transaction(mSourceAccount, mFee, mSequenceNumber,
      mOperations, mMemo, mTimeBounds, network);

  for (XdrDecoratedSignature signature in envelope.signatures) {
    transaction._mSignatures.add(signature);
  }

  return transaction;
}