View Issue Details

IDProjectCategoryView StatusLast Update
0004092Talerwallet (WebExtension)public2019-12-26 21:37
ReporterMarcello Stanisci Assigned ToMarcello Stanisci  
PrioritynormalSeveritymajorReproducibilityN/A
Status closedResolutionfixed 
Product Version0.0 
Target Version0.0 
Summary0004092: payment algorithm improvement (?)
DescriptionAs of now, the algorithm works by ranking the coins from
the "most convenient" to the "least convenient" coin and then
it accumulates coins in order to achieve *at least* the price
to pay.

For example, say the price to pay is KUDOS 10.01, and the coins rank is

1) KUDOS 10
2) KUDOS 2
3) KUDOS 0.01

The wallet will send the payment by packing [KUDOS 10, KUDOS 2]

The situation gets worse if the rank is

1) KUDOS 10
2) KUDOS 10
3) KUDOS 0.01
TagsNo tags attached.

Activities

Christian Grothoff

2015-12-17 11:54

manager   ~0010011

Last edited: 2015-12-17 15:47

Need to include the refresh cost selectively.

For coin value <= contract amount (with fees), the refresh cost is zero (i.e. the 10 EUR coin when it is picked).

For coin value > contract amount (with fees), the refresh cost needs to be included ("penalty"). As we select coins to pay, we need to re-sort the array after each coin is selected. So initially, refresh costs are zero (for the example). We pick 10 EUR. Then, refresh costs are applied. 10/2 EUR coins now have a refresh cost, the 0.01 ct coin does NOT. If refresh cost penalty is sufficiently high, this means we pick the 0.01ct coin.

Note that we can include both the financial cost of the refresh (fee), as well as a "performance" cost (we need to do extra crypto, extra latency, extra bandwidth).

Christian Grothoff

2015-12-17 11:57

manager   ~0010012

Refresh costs include:
* melt fee (melt the old coin), PLUS
* withdraw fees for the new coins (i.e. the 2 EUR coin may create
  several withdraw fees for the change given, i.e. for the
  example we may return 1 EUR, 50 ct, 25 ct and 24 1ct change pieces,
  so possibly like 27 withdraw fees in addition to the melt fee!)
* and then we could also budget for the performance cost

Marcello Stanisci

2015-12-22 11:39

reporter   ~0010025

Further versions of the wallet may *suggest* the user to withdraw 10 KUDOS,
in case he has 10 KUDOS made by little pieces.

Marcello Stanisci

2015-12-22 17:32

reporter   ~0010026

algorithm tested. Deposit fee to be included in the
computation.

Marcello Stanisci

2015-12-22 18:38

reporter   ~0010027

deposit fee accounting added. To test.

Issue History

Date Modified Username Field Change
2015-12-09 17:14 Marcello Stanisci New Issue
2015-12-09 17:14 Marcello Stanisci Status new => assigned
2015-12-09 17:14 Marcello Stanisci Assigned To => Marcello Stanisci
2015-12-17 11:54 Christian Grothoff Note Added: 0010011
2015-12-17 11:57 Christian Grothoff Note Added: 0010012
2015-12-17 12:02 Christian Grothoff Product Version => 0.0
2015-12-17 12:02 Christian Grothoff Target Version => 0.0
2015-12-17 15:43 Christian Grothoff Severity minor => major
2015-12-17 15:47 Christian Grothoff Note Edited: 0010011
2015-12-22 11:39 Marcello Stanisci Note Added: 0010025
2015-12-22 17:32 Marcello Stanisci Note Added: 0010026
2015-12-22 18:38 Marcello Stanisci Note Added: 0010027
2015-12-22 18:38 Marcello Stanisci Status assigned => resolved
2015-12-22 18:38 Marcello Stanisci Resolution open => fixed
2015-12-25 10:48 Christian Grothoff Status resolved => closed
2019-12-26 21:37 Florian Dold Category wallet (browser-based) => wallet (WebExtensions)
2023-04-13 20:37 Florian Dold Category wallet (WebExtensions) => wallet (WebExtension)