Skip to content

Commit 9db2f5f

Browse files
feat: add conditional derivation for wildcard descriptors
Handle descriptors without wildcards in psbt mock utilities Issue: beta
1 parent a4916eb commit 9db2f5f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/wasm-miniscript/test/psbtFromDescriptor.util.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@ type MockOutput = {
156156
external?: boolean;
157157
};
158158

159+
function deriveIfWildcard(descriptor: Descriptor, index: number): Descriptor {
160+
return descriptor.hasWildcard() ? descriptor.atDerivationIndex(index) : descriptor;
161+
}
162+
159163
export function mockPsbt(
160164
inputs: MockInput[],
161165
outputs: MockOutput[],
@@ -164,10 +168,10 @@ export function mockPsbt(
164168
return createPsbt(
165169
{ ...params, network: params.network ?? utxolib.networks.bitcoin },
166170
inputs.map((i) =>
167-
mockDerivedDescriptorWalletOutput(i.descriptor.atDerivationIndex(i.index), i),
171+
mockDerivedDescriptorWalletOutput(deriveIfWildcard(i.descriptor, i.index), i),
168172
),
169173
outputs.map((o) => {
170-
const derivedDescriptor = o.descriptor.atDerivationIndex(o.index);
174+
const derivedDescriptor = deriveIfWildcard(o.descriptor, o.index);
171175
return {
172176
script: createScriptPubKeyFromDescriptor(derivedDescriptor),
173177
value: o.value,

0 commit comments

Comments
 (0)