View Issue Details

IDProjectCategoryView StatusLast Update
0009828Talerexchangepublic2025-06-18 12:53
Reporteroec Assigned To 
PriorityhighSeverityfeatureReproducibilityalways
Status confirmedResolutionopen 
Product Versiongit (master) 
Target Versionpost-1.0 
Summary0009828: Redesign recoup to accomodate for changes in withdraw and refresh API's
DescriptionWith the latest changes to the withdraw and refresh protocols, an individual delivered/signed coin can not be identified within the withdraw or refresh tables - we only store the hash over all blinded planchets coming in and the hashes of those being signed.
   
Therefore, right now the protocols for recoup for withdraw and refresh do not provide the necessary parameters in order to be able to perform _all_ of the following checks:

1) identify the right withdraw or refresh operation
2) ensure that the recouped coin was part of that operation
3) verify that the recoup request is signed by the recouped coin.

1) and 3) can already be done, but 2) is missing.
Tagscompliance

Relationships

parent of 0007868 confirmed recoup transaction not spec'ed in DD37 
parent of 0006565 confirmed wallet should try recoup when payment fails with certain error codes 
child of 0008943 confirmed integration test for recoup-refresh is incomplete 
child of 0009898 confirmed Parent issue for cleanup tasks post withdraw refactor and new refresh protocol 
child of 0009902 confirmed util: phase out TALER_cs_withdraw_nonce_derive 
Not all the children of this issue are yet resolved or closed.

Activities

oec

2025-04-30 21:38

developer   ~0024734

In particular, in the RecoupRequest object the exchange will need the array of all n blinded hashes of all coins that were signed during the corresponding request to withdraw or refresh. From this array, it can calculate the hash over all of them, allowing 1) and 2). The signature of the recouped coin over the request gives 3).

Issue History

Date Modified Username Field Change
2025-04-30 21:34 oec New Issue
2025-04-30 21:38 oec Note Added: 0024734
2025-04-30 22:15 Christian Grothoff Priority normal => high
2025-04-30 22:15 Christian Grothoff Status new => confirmed
2025-04-30 22:16 Christian Grothoff Relationship added child of 0008943
2025-04-30 22:16 Christian Grothoff Target Version post-1.0 => 1.0 stretch goals
2025-04-30 22:16 Christian Grothoff Relationship added related to 0007868
2025-04-30 22:18 Christian Grothoff Tag Attached: compliance
2025-05-08 10:37 oec Relationship added child of 0009898
2025-05-08 15:28 Christian Grothoff Relationship deleted related to 0007868
2025-05-08 15:28 Christian Grothoff Relationship added parent of 0007868
2025-05-08 15:29 Christian Grothoff Target Version 1.0 stretch goals => post-1.0
2025-05-08 15:31 Christian Grothoff Relationship added parent of 0006565
2025-06-18 12:53 Christian Grothoff Relationship added child of 0009902