taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 2ffe5228d8252417630f681472675054a31e5186
parent e44a841656c330faf75347e923076626ddbc4a56
Author: Iván Ávalos <avalos@disroot.org>
Date:   Thu,  3 Apr 2025 16:23:19 +0200

WIP: fix contract terms hashing

Diffstat:
Mpackages/taler-util/src/types-taler-merchant.ts | 1+
Mpackages/taler-wallet-core/src/pay-merchant.ts | 5+++--
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/packages/taler-util/src/types-taler-merchant.ts b/packages/taler-util/src/types-taler-merchant.ts @@ -960,6 +960,7 @@ const codecForMerchantContractTermsCommon = "fulfillment_message_i18n", codecOptional(codecForInternationalizedString()), ) + .property("public_reorder_url", codecOptional(codecForString())) .property("merchant_base_url", codecForString()) .property("h_wire", codecForString()) .property("auto_refund", codecOptional(codecForDuration)) diff --git a/packages/taler-wallet-core/src/pay-merchant.ts b/packages/taler-wallet-core/src/pay-merchant.ts @@ -1264,6 +1264,7 @@ async function generateSlate( wex: WalletExecutionContext, purchase: PurchaseRecord, contractData: MerchantContractTermsV1, + contractTermsRaw: any, choiceIndex: number, outputIndex: number, ): Promise<void> { @@ -1300,7 +1301,7 @@ async function generateSlate( genTokenUseSig: true, contractTerms: contractData, contractTermsHash: ContractTermsUtil - .hashContractTerms(contractData), + .hashContractTerms(contractTermsRaw), }); const newSlate: SlateRecord = { @@ -2927,7 +2928,7 @@ export async function confirmPay( if (choiceIndex !== undefined && contractData.version === MerchantContractVersion.V1) { const choice = contractData.choices[choiceIndex]; for (let j = 0; j < choice.outputs.length; j++) { - await generateSlate(wex, proposal, contractData, choiceIndex!, j); + await generateSlate(wex, proposal, contractData, d.contractTermsRaw, choiceIndex!, j); } }