diff --git a/packages/wasm-miniscript/test/psbt.util.ts b/packages/wasm-miniscript/test/psbt.util.ts index 7cd0dda..ecfab87 100644 --- a/packages/wasm-miniscript/test/psbt.util.ts +++ b/packages/wasm-miniscript/test/psbt.util.ts @@ -1,8 +1,12 @@ import * as utxolib from "@bitgo/utxo-lib"; import { Descriptor, Psbt } from "../js"; -export function toWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | Buffer | Uint8Array) { - if (psbt instanceof utxolib.bitgo.UtxoPsbt) { +function toAddress(descriptor: Descriptor, network: utxolib.Network) { + utxolib.address.fromOutputScript(Buffer.from(descriptor.scriptPubkey()), network); +} + +export function toWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt | Buffer | Uint8Array) { + if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) { psbt = psbt.toBuffer(); } if (psbt instanceof Buffer || psbt instanceof Uint8Array) { @@ -24,7 +28,7 @@ export function toUtxoPsbt(psbt: Psbt | Buffer | Uint8Array) { } export function updateInputWithDescriptor( - psbt: utxolib.bitgo.UtxoPsbt, + psbt: utxolib.Psbt, inputIndex: number, descriptor: Descriptor, ) { @@ -32,3 +36,12 @@ export function updateInputWithDescriptor( wrappedPsbt.updateInputWithDescriptor(inputIndex, descriptor); psbt.data.inputs[inputIndex] = toUtxoPsbt(wrappedPsbt).data.inputs[inputIndex]; } + +export function finalizePsbt(psbt: utxolib.Psbt) { + const wrappedPsbt = toWrappedPsbt(psbt); + wrappedPsbt.finalize(); + const unwrappedPsbt = toUtxoPsbt(wrappedPsbt); + for (let i = 0; i < psbt.data.inputs.length; i++) { + psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i]; + } +}