View Issue Details

IDProjectCategoryView StatusLast Update
0010104Talerlibeufin-bank-ui (SPA)public2025-07-03 21:19
ReporterAntoine A Assigned ToAntoine A  
PrioritynormalSeverityfeatureReproducibilityN/A
Status feedbackResolutionopen 
Product Version1.0 stretch goals 
Target Version1.0 stretch goals 
Summary0010104: Conversion rate class UI
DescriptionI added conversion rate class support in libeufin branch dev/antoine/conversion-rate-class. The online documentation is already updated.
This is technically a breaking change but only for the SPA. My proposition is to merge the SPA and the branch at the same time to master to avoid any real breaking.

Previous per user min_cashout override have been removed in factor of conversion rate classes and the conversion info API have been updated to handle theses overrides.

If you think the API can be improved to make your life easier tell me, nothing is final yet
TagsNo tags attached.

Relationships

child of 0008614 feedbackAntoine A allow different fee classes for cashout [20h] 

Activities

sebasjm

2025-06-16 21:40

developer   ~0025259

Waiting for the changes in the DD

Antoine A

2025-06-17 19:29

developer   ~0025274

Updated the DD and the API

sebasjm

2025-06-25 21:49

developer   ~0025363

I'm going to summarize the changes i need to do for this

Changes in taler-util
 * upgrade http-client/bank-core.ts to match the new API spec (from 8 to 9)
 * fix all breaking api (not easy to calculate) i guess all places where currency conversion is made

Changes in the normal user UI:
 * UI should work like today
 * the information is gather from the user account field `conversion_rate_class`

Changes in the admin UI: If conversion is enabled admin should be able to
 * button to add new conversion class
 * show the list of all the conversion classes, click a row to see details
 * details should show all information about class, similar to the account details
 * should be possible to edit the conversion from the details
 * should be possible to delete
 * should be possible to see all the user affected by the class
 * under account details: should be possible to see the conversion rate class, maybe just with with the name, clicking should be possible see more details about the class
 * under account details: remove the class (leaving the default of the system)
 * under account details: should be possible to change to any other class (how? listing classes from a select? search by text?)

I think that's all, but i will keep it updated.

sebasjm

2025-07-01 16:06

developer   ~0025386

I'm getting

curl 'http://bank.taler.test:1180/conversion-info/conversion-rate' --data-raw '{"cashin_fee":"LAIA:0.02","cashin_min_amount":"EUR:0","cashin_ratio":"0.7","cashin_rounding_mode":"nearest","cashout_fee":"EUR:0.003","cashout_min_amount":"LAIA:0.1","cashout_ratio":"1.26","cashout_rounding_mode":"zero"}'

{"code":22,"hint":"Fields [cashin_tiny_amount, cashout_tiny_amount] are required for type with serial name 'tech.libeufin.bank.ConversionRate', but they were missing"}

but that's not in the spec
https://docs.taler.net/design-documents/063-libeufin-conversion-rate-classes.html#proposed-solution

sebasjm

2025-07-01 16:11

developer   ~0025387

I changed `conversion_rate_class` to `conversion_rate` in the Spec as the SPA needs the complete information to inform the user (from the class assigned to the user but also merged with default value)

sebasjm

2025-07-01 16:25

developer   ~0025388

Update

Changes in taler-util: [completed]

Changes in the normal user UI: I need that libeufin returns `convertion_rate` (merged value, on final state) of the user instead of the classId

 Changes in the admin UI:
 [completed] button to add new conversion class
 [completed] show the list of all the conversion classes, click a row to see details
 [completed] details should show all information about class, similar to the account details
 [completed] should be possible to edit the conversion from the details
 * should be possible to delete
 * should be possible to see all the user affected by the class


I think that I can leave the next features out of scope since is redundant... all the management souble be done from the `conversion details` UI. I will add a "search by username" on a new section "user associated to this conversion rate class", from there the admin can switch or remove the conversion class of the user.

 * under account details: should be possible to see the conversion rate class, maybe just with with the name, clicking should be possible see more details about the class
 * under account details: remove the class (leaving the default of the system)
 * under account details: should be possible to change to any other class (how? listing classes from a select? search by text?)

sebasjm

2025-07-03 21:16

developer   ~0025409

[completed] should be possible to see all the user affected by the class
[completed] should be possible to delete

Class can only be delete if no users are in them

sebasjm

2025-07-03 21:17

developer   ~0025410

I can merge this now, I would like to first ACK all the differences in API first. Via mattermost / mumble

Issue History

Date Modified Username Field Change
2025-06-13 19:47 Antoine A New Issue
2025-06-13 19:47 Antoine A Status new => assigned
2025-06-13 19:47 Antoine A Assigned To => sebasjm
2025-06-13 19:47 Antoine A Relationship added related to 0008614
2025-06-15 20:19 Christian Grothoff Relationship added child of 0010076
2025-06-15 20:19 Christian Grothoff Relationship deleted child of 0010076
2025-06-15 20:20 Christian Grothoff Relationship deleted related to 0008614
2025-06-15 20:20 Christian Grothoff Relationship added child of 0008614
2025-06-16 21:40 sebasjm Assigned To sebasjm => Antoine A
2025-06-16 21:40 sebasjm Status assigned => feedback
2025-06-16 21:40 sebasjm Note Added: 0025259
2025-06-17 19:29 Antoine A Assigned To Antoine A => sebasjm
2025-06-17 19:29 Antoine A Status feedback => confirmed
2025-06-17 19:29 Antoine A Note Added: 0025274
2025-06-25 21:49 sebasjm Note Added: 0025363
2025-07-01 16:06 sebasjm Note Added: 0025386
2025-07-01 16:11 sebasjm Note Added: 0025387
2025-07-01 16:25 sebasjm Note Added: 0025388
2025-07-03 21:16 sebasjm Note Added: 0025409
2025-07-03 21:17 sebasjm Note Added: 0025410
2025-07-03 21:19 sebasjm Assigned To sebasjm => Antoine A
2025-07-03 21:19 sebasjm Status confirmed => feedback