View Issue Details

IDProjectCategoryView StatusLast Update
0009373Talerexchangepublic2026-09-24 14:32
ReporterChristian Grothoff Assigned Tooec  
PrioritynormalSeveritytweakReproducibilityN/A
Status resolvedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Versionpost-1.0Fixed in Versiongit (master) 
Summary0009373: batch_ensure_coin_known not yet used [2d]
DescriptionPlus the code is a pre-array nightmare. Should be fixed to use arrays and then actually used (especially in batch-deposit.c!).
Tagsperformance

Activities

oec

2025-08-01 13:51

developer   ~0025600

We need this for recoup-withdraw as well, I'm going to implement this.

oec

2026-09-24 14:32

developer   ~0030033

Fixed with commit eb4292417d3ab062b972a49e6f8984222a670a56 in dev/oec/vCONFLICT:

exchangedb: make coins known in batches
Replace TALER_EXCHANGEDB_do_insert_known_coin() by
TALER_EXCHANGEDB_do_insert_known_coins(), which takes all coins of a
request as array parameters and runs one statement: a stored procedure
UNNESTs the arrays WITH ORDINALITY, inserts the new coins with
ON CONFLICT DO NOTHING and returns one row per input coin with the
stored denomination and age commitment hashes, so conflicts are
reported per coin at its input position. Batches with a repeated coin
public key or with an unknown denomination are rejected.

TEH_make_coins_known() replaces TEH_make_coin_known() and is used by
batch deposit (closes the FIXME for 0009373), purse create, purse
deposit, reserve open, melt and both recoup handlers. The recoup
handlers now make their coins known inside the recoup transaction, so
a conflict rolls back the whole batch; their parser rejects requests
that disclose the same coin twice.

Issue History

Date Modified Username Field Change
2024-12-08 03:24 Christian Grothoff New Issue
2024-12-08 03:24 Christian Grothoff Status new => assigned
2024-12-08 03:24 Christian Grothoff Assigned To => Christian Grothoff
2024-12-22 23:17 Christian Grothoff Assigned To Christian Grothoff =>
2024-12-22 23:17 Christian Grothoff Status assigned => confirmed
2024-12-22 23:17 Christian Grothoff Summary batch_ensure_coin_known not yet used => batch_ensure_coin_known not yet used [2d]
2025-08-01 13:50 oec Assigned To => oec
2025-08-01 13:50 oec Status confirmed => assigned
2025-08-01 13:51 oec Note Added: 0025600
2025-12-07 10:53 Christian Grothoff Status assigned => confirmed
2026-01-26 07:09 Christian Grothoff Tag Attached: performance
2026-09-24 14:32 oec Status confirmed => resolved
2026-09-24 14:32 oec Resolution open => fixed
2026-09-24 14:32 oec Fixed in Version => git (master)
2026-09-24 14:32 oec Note Added: 0030033