summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-04-04 21:09:52 +0200
committerFlorian Dold <florian@dold.me>2024-04-04 21:09:52 +0200
commit01838bfcc74a2e4e828885d5ab0d6f64cc96f328 (patch)
treebdff89d929386afa066f968f8a3e5b8bfd888e0f /packages/taler-wallet-core
parent3447532e02292d7fc4d58393e6d9f323be8ab154 (diff)
downloadwallet-core-01838bfcc74a2e4e828885d5ab0d6f64cc96f328.tar.gz
wallet-core-01838bfcc74a2e4e828885d5ab0d6f64cc96f328.tar.bz2
wallet-core-01838bfcc74a2e4e828885d5ab0d6f64cc96f328.zip
wallet-core: remove wire fee amortization
It doesn't exist anymore as a concept in the merchant.
Diffstat (limited to 'packages/taler-wallet-core')
-rw-r--r--packages/taler-wallet-core/src/coinSelection.test.ts5
-rw-r--r--packages/taler-wallet-core/src/coinSelection.ts13
-rw-r--r--packages/taler-wallet-core/src/deposits.ts3
-rw-r--r--packages/taler-wallet-core/src/dev-experiments.ts2
-rw-r--r--packages/taler-wallet-core/src/pay-merchant.ts4
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<string, AmountJson>,
- 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<string, AmountJson>;
},
): Promise<void> {
@@ -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<string, AmountJson>;
}
@@ -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,
});