TransactionBuilder.fromTransaction constructor

TransactionBuilder.fromTransaction(
  1. Transaction transaction, [
  2. NetworkType? network
])

Implementation

factory TransactionBuilder.fromTransaction(Transaction transaction, [NetworkType? network]) {
  final txb = TransactionBuilder(network: network);
  // Copy transaction fields
  txb.setVersion(transaction.version!);
  txb.setLockTime(transaction.locktime!);

  // Copy outputs (done first to avoid signature invalidation)
  transaction.outs.forEach((txOut) {
    txb.addOutput(txOut.script, txOut.value);
  });

  transaction.ins.forEach((txIn) {
    txb._addInputUnsafe(txIn.hash!, txIn.index, Input(sequence: txIn.sequence, script: txIn.script, witness: txIn.witness));
  });

  // fix some things not possible through the public API
  // print(txb.toString());
  // txb.__INPUTS.forEach((input, i) => {
  //   fixMultisigOrder(input, transaction, i);
  // });

  return txb;
}