buildSignedInput method
Builds the concrete signed TxInput for meta from the DER signature
bytes returned by the signer (no sighash flag appended yet).
Implementation
@protected
TxInput buildSignedInput(AssemblerInput meta, Uint8List derSig) {
final pubKey = meta.publicKey;
if (pubKey == null) {
throw ArgumentError(
'AssemblerInput.publicKey is required for type ${meta.type}',
);
}
final inputSig = InputSig(derSig: derSig, hashType: meta.hashType);
switch (meta.type) {
case AssemblerInputType.p2pkh:
return P2pkhInput(
prevOut: meta.outpoint,
inputSig: inputSig,
publicKey: pubKey,
sequence: meta.sequence,
);
case AssemblerInputType.p2wpkh:
return P2wpkhInput(
prevOut: meta.outpoint,
inputSig: inputSig,
publicKey: pubKey,
sequence: meta.sequence,
);
case AssemblerInputType.p2shP2wpkh:
return _P2shP2wpkhInput(
prevOut: meta.outpoint,
inputSig: inputSig,
publicKey: pubKey,
sequence: meta.sequence,
);
case AssemblerInputType.p2tr:
throw UnsupportedError(
'Taproot key-path spends are not yet supported by TxAssembler.',
);
}
}