TransactionBuilder.fromTransaction constructor

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

Implementation

factory TransactionBuilder.fromTransaction(Transaction transaction,
    [NetworkType network = mainnet]) {
  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;
}