P2SHMultisigInput constructor

P2SHMultisigInput({
  1. required OutPoint prevOut,
  2. required MultisigProgram program,
  3. Iterable<ECDSAInputSignature> sigs = const [],
  4. int sequence = Input.sequenceFinal,
})

Implementation

P2SHMultisigInput({
  required super.prevOut,
  required this.program,
  Iterable<ECDSAInputSignature> sigs = const [],
  super.sequence = Input.sequenceFinal,
}) : sigs = List.unmodifiable(sigs), super(
  scriptSig: Script([
    ScriptOp.fromNumber(0),
    ...sigs.map((sig) => ScriptPushData(sig.bytes)),
    ScriptPushData(program.script.compiled),
  ]).compiled,
) {
  if (sigs.length > program.threshold) {
    throw ArgumentError(
      "P2SHMultisigInput signatures n=${sigs.length} over "
      "${program.threshold} threshold",
    );
  }
}