finalize method
Implementation
@override
Tx finalize() {
final tx = _unsignedTx;
if (tx == null) {
throw StateError('No unsigned transaction to finalize');
}
final newInputs = <TxInput>[];
for (var i = 0; i < tx.inputs.length; i++) {
final inputSection = getInputSection(i);
Uint8List? finalScriptSig;
for (final kv in inputSection) {
if (kv.key.isNotEmpty &&
kv.key[0] == PsbtInputEntry.finalScriptSig.keyType) {
finalScriptSig = kv.value;
break;
}
}
final prevOut = tx.inputs[i].prevOut;
final seq = tx.inputs[i].sequence;
newInputs.add(RawInput(
prevOut: prevOut,
scriptSig: finalScriptSig,
sequence: seq,
));
}
return Tx(
version: tx.version,
inputs: newInputs,
outputs: tx.outputs,
locktime: tx.locktime,
);
}