Skip to content

Commit c297db0

Browse files
OttoAllmendingerllm-git
andcommitted
fix(abstract-utxo): handle script recipients in toCanonicalTransipient
Handles script recipients properly by not attempting to canonicalize them. Also makes address required to ensure proper type safety and consistent behavior. Issue: BTC-2732 Co-authored-by: llm-git <llm-git@ttll.de>
1 parent 169cab7 commit c297db0

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

modules/abstract-utxo/src/abstractUtxoCoin.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -561,12 +561,13 @@ export abstract class AbstractUtxoCoin extends BaseCoin {
561561

562562
toCanonicalTransactionRecipient(output: { valueString: string; address?: string }): {
563563
amount: bigint;
564-
address?: string;
564+
address: string;
565565
} {
566566
const amount = BigInt(output.valueString);
567567
assertValidTransactionRecipient({ amount, address: output.address });
568-
if (!output.address) {
569-
return { amount };
568+
assert(output.address, 'address is required');
569+
if (isScriptRecipient(output.address)) {
570+
return { amount, address: output.address };
570571
}
571572
return { amount, address: this.canonicalAddress(output.address) };
572573
}

0 commit comments

Comments
 (0)