From 01838bfcc74a2e4e828885d5ab0d6f64cc96f328 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 4 Apr 2024 21:09:52 +0200 Subject: wallet-core: remove wire fee amortization It doesn't exist anymore as a concept in the merchant. --- packages/taler-wallet-core/src/coinSelection.test.ts | 5 ----- packages/taler-wallet-core/src/coinSelection.ts | 13 +------------ packages/taler-wallet-core/src/deposits.ts | 3 --- packages/taler-wallet-core/src/dev-experiments.ts | 2 +- packages/taler-wallet-core/src/pay-merchant.ts | 4 ---- 5 files changed, 2 insertions(+), 25 deletions(-) diff --git a/packages/taler-wallet-core/src/coinSelection.test.ts b/packages/taler-wallet-core/src/coinSelection.test.ts index 67cd08652..507c82c7d 100644 --- a/packages/taler-wallet-core/src/coinSelection.test.ts +++ b/packages/taler-wallet-core/src/coinSelection.test.ts @@ -46,7 +46,6 @@ test("p2p: should select the coin", (t) => { t.log(`tally before: ${j2s(tally)}`); const coins = testing_selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }, createCandidates([ @@ -82,7 +81,6 @@ test("p2p: should select 3 coins", (t) => { const tally = emptyTallyForPeerPayment(instructedAmount); const coins = testing_selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }, createCandidates([ @@ -117,7 +115,6 @@ test("p2p: can't select since the instructed amount is too high", (t) => { const tally = emptyTallyForPeerPayment(instructedAmount); const coins = testing_selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }, createCandidates([ @@ -148,7 +145,6 @@ test("pay: select one coin to pay with fee", (t) => { } satisfies CoinSelectionTally; const coins = testing_selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: { "http://exchange.localhost/": exchangeWireFee }, }, createCandidates([ @@ -282,7 +278,6 @@ test("p2p: regression STATER", (t) => { const tally = emptyTallyForPeerPayment(instructedAmount); const res = testing_selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }, candidates as any, diff --git a/packages/taler-wallet-core/src/coinSelection.ts b/packages/taler-wallet-core/src/coinSelection.ts index 0027241c4..6a7d79d83 100644 --- a/packages/taler-wallet-core/src/coinSelection.ts +++ b/packages/taler-wallet-core/src/coinSelection.ts @@ -99,7 +99,6 @@ export interface CoinSelectionTally { function tallyFees( tally: CoinSelectionTally, wireFeesPerExchange: Record, - wireFeeAmortization: number, exchangeBaseUrl: string, feeDeposit: AmountJson, ): void { @@ -110,7 +109,7 @@ function tallyFees( wireFeesPerExchange[exchangeBaseUrl] ?? Amounts.zeroOfCurrency(currency); // The remaining, amortized amount needs to be paid by the // wallet or covered by the deposit fee allowance. - let wfRemaining = Amounts.divide(wf, wireFeeAmortization); + let wfRemaining = wf; // This is the amount forgiven via the deposit fee allowance. const wfDepositForgiven = Amounts.min( tally.amountDepositFeeLimitRemaining, @@ -222,7 +221,6 @@ async function internalSelectPayCoins( coinRes, tally, { - wireFeeAmortization: req.wireFeeAmortization, wireFeesPerExchange: wireFeesPerExchange, }, ); @@ -237,7 +235,6 @@ async function internalSelectPayCoins( // amount. selectedDenom = selectGreedy( { - wireFeeAmortization: req.wireFeeAmortization, wireFeesPerExchange: wireFeesPerExchange, }, candidateDenoms, @@ -358,7 +355,6 @@ async function maybeRepairCoinSelection( coinRes: SelectedCoin[], tally: CoinSelectionTally, feeInfo: { - wireFeeAmortization: number; wireFeesPerExchange: Record; }, ): Promise { @@ -380,7 +376,6 @@ async function maybeRepairCoinSelection( tallyFees( tally, feeInfo.wireFeesPerExchange, - feeInfo.wireFeeAmortization, coin.exchangeBaseUrl, Amounts.parseOrThrow(denom.feeDeposit), ); @@ -576,7 +571,6 @@ export function testing_selectGreedy( } export interface SelectGreedyRequest { - wireFeeAmortization: number; wireFeesPerExchange: Record; } @@ -585,7 +579,6 @@ function selectGreedy( candidateDenoms: AvailableDenom[], tally: CoinSelectionTally, ): SelResult | undefined { - const { wireFeeAmortization } = req; const selectedDenom: SelResult = {}; for (const denom of candidateDenoms) { const contributions: AmountJson[] = []; @@ -605,7 +598,6 @@ function selectGreedy( tallyFees( tally, req.wireFeesPerExchange, - wireFeeAmortization, denom.exchangeBaseUrl, Amounts.parseOrThrow(denom.feeDeposit), ); @@ -718,7 +710,6 @@ export interface SelectPayCoinRequestNg { restrictWireMethod: string; contractTermsAmount: AmountJson; depositFeeLimit: AmountJson; - wireFeeAmortization: number; prevPayCoins?: PreviousPayCoins; requiredMinimumAge?: number; forcedSelection?: ForcedCoinSel; @@ -1110,7 +1101,6 @@ async function internalSelectPeerCoins( const resCoins: SelectedCoin[] = []; await maybeRepairCoinSelection(wex, tx, req.repair ?? [], resCoins, tally, { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }); @@ -1122,7 +1112,6 @@ async function internalSelectPeerCoins( const selRes = selectGreedy( { - wireFeeAmortization: 1, wireFeesPerExchange: {}, }, candidates, diff --git a/packages/taler-wallet-core/src/deposits.ts b/packages/taler-wallet-core/src/deposits.ts index 5b23d8325..e24401ed6 100644 --- a/packages/taler-wallet-core/src/deposits.ts +++ b/packages/taler-wallet-core/src/deposits.ts @@ -965,7 +965,6 @@ async function processDepositGroupPendingDeposit( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], }); @@ -1339,7 +1338,6 @@ export async function checkDepositGroup( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], }); @@ -1470,7 +1468,6 @@ export async function createDepositGroup( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], }); diff --git a/packages/taler-wallet-core/src/dev-experiments.ts b/packages/taler-wallet-core/src/dev-experiments.ts index 7cf18e36c..40e5c5a13 100644 --- a/packages/taler-wallet-core/src/dev-experiments.ts +++ b/packages/taler-wallet-core/src/dev-experiments.ts @@ -68,7 +68,7 @@ export async function applyDevExperiment( } switch (parsedUri.devExperimentId) { - case "start-block-refresh": { + case " ": { wex.ws.devExperimentState.blockRefreshes = true; return; } diff --git a/packages/taler-wallet-core/src/pay-merchant.ts b/packages/taler-wallet-core/src/pay-merchant.ts index a2089d843..5b4db4931 100644 --- a/packages/taler-wallet-core/src/pay-merchant.ts +++ b/packages/taler-wallet-core/src/pay-merchant.ts @@ -1153,7 +1153,6 @@ async function handleInsufficientFunds( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins, requiredMinimumAge: contractData.minimumAge, }); @@ -1292,7 +1291,6 @@ async function checkPaymentByProposalId( }, contractTermsAmount: instructedAmount, depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], requiredMinimumAge: contractData.minimumAge, restrictWireMethod: contractData.wireMethod, @@ -1842,7 +1840,6 @@ export async function confirmPay( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], requiredMinimumAge: contractData.minimumAge, forcedSelection: forcedCoinSel, @@ -2109,7 +2106,6 @@ async function processPurchasePay( restrictWireMethod: contractData.wireMethod, contractTermsAmount: Amounts.parseOrThrow(contractData.amount), depositFeeLimit: Amounts.parseOrThrow(contractData.maxDepositFee), - wireFeeAmortization: 1, // FIXME #8653 prevPayCoins: [], requiredMinimumAge: contractData.minimumAge, }); -- cgit v1.2.3