buildSignedInput method

  1. @protected
TxInput buildSignedInput(
  1. AssemblerInput meta,
  2. Uint8List derSig
)

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.',
      );
  }
}