Skip to content

Commit e95315f

Browse files
OttoAllmendingerllm-git
andcommitted
refactor(utxo-core): extract common PSBT stage configurations
Extract default stage configurations for PSBT testing into reusable functions to improve code readability and maintainability. Issue: BTC-1966 Co-authored-by: llm-git <[email protected]>
1 parent e83ece1 commit e95315f

File tree

1 file changed

+18
-15
lines changed
  • modules/utxo-core/test/descriptor/psbt

1 file changed

+18
-15
lines changed

modules/utxo-core/test/descriptor/psbt/psbt.ts

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,26 @@ function describeCreatePsbt(name: string, testParams: TestParams) {
134134
});
135135
}
136136

137+
const defaultStagesCombinedAB: PsbtStage[] = [
138+
{ name: 'unsigned', keys: [] },
139+
{ name: 'signedA', keys: selfKeys.slice(0, 1) },
140+
{ name: 'signedAB', keys: selfKeys.slice(0, 2), final: true },
141+
];
142+
143+
function getDefaultStagesSeparateAB({ plain = false } = {}): PsbtStage[] {
144+
const keys = plain ? selfKeys.map(toPlain) : selfKeys;
145+
return [
146+
{ name: 'unsigned', keys: [] },
147+
{ name: 'signedA', keys: keys.slice(0, 1) },
148+
{ name: 'signedB', keys: keys.slice(1, 2), final: true },
149+
];
150+
}
151+
137152
function describeCreatePsbt2Of3(t: DescriptorTemplate) {
138153
describeCreatePsbt(t, {
139154
descriptorSelf: getDescriptor(t, selfKeys),
140155
psbtParams: getPsbtParams(t),
141-
stages: [
142-
{ name: 'unsigned', keys: [] },
143-
{ name: 'signedA', keys: selfKeys.slice(0, 1) },
144-
{ name: 'signedAB', keys: selfKeys.slice(0, 2), final: true },
145-
],
156+
stages: defaultStagesCombinedAB,
146157
});
147158
}
148159

@@ -152,18 +163,10 @@ describeCreatePsbt2Of3('Tr2Of3-NoKeyPath');
152163
describeCreatePsbt('Tr1Of3-NoKeyPath-Tree', {
153164
descriptorSelf: getDescriptor('Tr1Of3-NoKeyPath-Tree', selfKeys),
154165
psbtParams: {},
155-
stages: [
156-
{ name: 'unsigned', keys: [] },
157-
{ name: 'signedA', keys: selfKeys.slice(0, 1) },
158-
{ name: 'signedB', keys: selfKeys.slice(1, 2), final: true },
159-
],
166+
stages: getDefaultStagesSeparateAB(),
160167
});
161168
describeCreatePsbt('Tr1Of3-NoKeyPath-Tree-PlainKeys', {
162169
descriptorSelf: getDescriptor('Tr1Of3-NoKeyPath-Tree-Plain', selfKeys),
163170
psbtParams: {},
164-
stages: [
165-
{ name: 'unsigned', keys: [] },
166-
{ name: 'signedA', keys: selfKeys.slice(0, 1).map(toPlain) },
167-
{ name: 'signedB', keys: selfKeys.slice(1, 2).map(toPlain), final: true },
168-
],
171+
stages: getDefaultStagesSeparateAB({ plain: true }),
169172
});

0 commit comments

Comments
 (0)