match static method
Checks if the raw
input and witness
data match the expected format for
a P2WPKHInput, with or without a signature. If it does it returns a
P2WPKHInput for the input or else it returns null.
Implementation
static P2WPKHInput? match(RawInput raw, List<Uint8List> witness) {
if (raw.scriptSig.isNotEmpty) return null;
if (witness.isEmpty || witness.length > 2) return null;
try {
final insig = witness.length == 2
? ECDSAInputSignature.fromBytes(witness[0])
: null;
final publicKey = ECPublicKey(witness.last);
return P2WPKHInput(
prevOut: raw.prevOut,
sequence: raw.sequence,
publicKey: publicKey,
insig: insig,
);
} on InvalidInputSignature {
return null;
} on InvalidPublicKey {
return null;
}
}