Skip to content

Commit 6c432d6

Browse files
davidkaplanbitgollm-git
andcommitted
chore(utxo-lib): change mock UTXO to P2PKH from P2WPKH
Update the mock previous transaction to use P2PKH rather than P2WPKH for better compatibility (doge, dash) with testing needs. Issue: BTC-2259 Co-authored-by: llm-git <[email protected]>
1 parent 6ef8a3d commit 6c432d6

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

modules/utxo-lib/src/testutil/mock.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export function mockPrevTx(
3838
const keypair = getKey('mock-prev-tx');
3939
const pubkey = keypair.publicKey;
4040
assert(keypair.privateKey);
41-
const payment = utxolib.payments.p2wpkh({ pubkey });
41+
const payment = utxolib.payments.p2pkh({ pubkey });
4242
const destOutput = payment.output;
4343
if (!destOutput) throw new Error('Impossible, payment we just constructed has no output');
4444

@@ -54,13 +54,16 @@ export function mockPrevTx(
5454
index: 0,
5555
witnessUtxo: { script: destOutput, value: value * (BigInt(vout) + BigInt(1)) + BigInt(1000) },
5656
});
57-
psbtFromNetwork.signInput(0, {
58-
publicKey: pubkey,
59-
sign: (hash: Buffer, lowR?: boolean) =>
60-
Buffer.from(noble.signSync(hash, keypair.privateKey as Buffer, { canonical: !lowR, der: false })),
57+
// Don't require the prevTx for signing and finalizing for non-segwit input
58+
utxolib.bitgo.withUnsafeNonSegwit(psbtFromNetwork, () => {
59+
psbtFromNetwork.signInput(0, {
60+
publicKey: pubkey,
61+
sign: (hash: Buffer, lowR?: boolean) =>
62+
Buffer.from(noble.signSync(hash, keypair.privateKey as Buffer, { canonical: !lowR, der: false })),
63+
});
64+
psbtFromNetwork.validateSignaturesOfAllInputs();
65+
psbtFromNetwork.finalizeAllInputs();
6166
});
62-
psbtFromNetwork.validateSignaturesOfAllInputs();
63-
psbtFromNetwork.finalizeAllInputs();
6467
return psbtFromNetwork.extractTransaction();
6568
}
6669

modules/utxo-lib/test/bitgo/psbt/ZcashPsbt.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const rootWalletKeys = getDefaultWalletKeys();
1313
describe('Zcash PSBT', function () {
1414
let psbt: utxolib.bitgo.ZcashPsbt;
1515
before(async function () {
16-
const unspents = mockUnspents(rootWalletKeys, ['p2sh'], BigInt('10000000000000000'), network);
16+
const unspents = mockUnspents(rootWalletKeys, ['p2sh'], BigInt('1000000000000000'), network);
1717
psbt = await utxolib.bitgo.ZcashPsbt.createPsbt({ network });
1818

1919
unspents.forEach((unspent) => {

0 commit comments

Comments
 (0)