expandInput static method
Implementation
static Input? expandInput(Uint8List scriptSig, List<Uint8List> witness,
[String? type, Uint8List? scriptPubKey]) {
if (type == null || type == '') {
String? ssType = classifyInput(scriptSig);
String? wsType = classifyWitness(witness);
if (ssType == SCRIPT_TYPES['NONSTANDARD']) ssType = null;
if (wsType == SCRIPT_TYPES['NONSTANDARD']) wsType = null;
type = ssType ?? wsType;
}
if (type == SCRIPT_TYPES['P2WPKH']) {
P2WPKH p2wpkh = new P2WPKH(data: new PaymentData(witness: witness));
return new Input(
prevOutScript: p2wpkh.data.output,
prevOutType: SCRIPT_TYPES['P2WPKH'],
pubkeys: [p2wpkh.data.pubkey!],
signatures: [p2wpkh.data.signature!]);
} else if (type == SCRIPT_TYPES['P2PKH']) {
P2PKH p2pkh = new P2PKH(data: new PaymentData(input: scriptSig));
return new Input(
prevOutScript: p2pkh.data.output,
prevOutType: SCRIPT_TYPES['P2PKH'],
pubkeys: [p2pkh.data.pubkey!],
signatures: [p2pkh.data.signature!]);
} else if (type == SCRIPT_TYPES['P2PK']) {
P2PK p2pk = new P2PK(data: new PaymentData(input: scriptSig));
return new Input(
prevOutType: SCRIPT_TYPES['P2PK'], pubkeys: [], signatures: [p2pk.data.signature!]);
}
}