View Issue Details

IDProjectCategoryView StatusLast Update
0009373Talerexchangepublic2026-10-13 09:05
ReporterChristian Grothoff Assigned ToChristian Grothoff Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeveritytweakReproducibilityN/A
Status informingResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.6Fixed in Version1.6 
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

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

oec

2025-08-01 11:51

developer   ~0025600

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

oec

2026-09-24 12: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.

oec

2026-09-24 15:04

developer   ~0030038

Should be fixed, see below. Please provide feedback

Christian Grothoff

2026-10-09 19:07

manager   ~0030092

dev/oec/vCONFLICT merged.

Issue History

Date ModifiedUsernameFieldChange
2024-12-08 02:24Christian GrothoffNew Issue
2024-12-08 02:24Christian GrothoffStatusnew => assigned
2024-12-08 02:24Christian GrothoffAssigned To => Christian Grothoff
2024-12-22 22:17Christian GrothoffAssigned ToChristian Grothoff =>
2024-12-22 22:17Christian GrothoffStatusassigned => implementing
2024-12-22 22:17Christian GrothoffSummarybatch_ensure_coin_known not yet used => batch_ensure_coin_known not yet used [2d]
2025-08-01 11:50oecAssigned To => oec
2025-08-01 11:50oecStatusimplementing => assigned
2025-08-01 11:51oecNote Added: 0025600
2025-12-07 09:53Christian GrothoffStatusassigned => implementing
2026-01-26 06:09Christian GrothoffTag Attached: performance
2026-09-24 12:32oecStatusimplementing => informing
2026-09-24 12:32oecResolutionopen => fixed
2026-09-24 12:32oecFixed in Version => git (master)
2026-09-24 12:32oecNote Added: 0030033
2026-09-24 15:04oecAssigned Tooec => Christian Grothoff
2026-09-24 15:04oecStatusinforming => feedback
2026-09-24 15:04oecResolutionfixed => reopened
2026-09-24 15:04oecNote Added: 0030038
2026-10-09 19:07Christian GrothoffNote Added: 0030092
2026-10-09 19:08Christian GrothoffStatusfeedback => informing
2026-10-09 19:08Christian GrothoffResolutionreopened => fixed
2026-10-09 19:08Christian GrothoffFixed in Versiongit (master) => 1.7
2026-10-09 19:08Christian GrothoffTarget Versionpost-1.0 => 1.7
2026-10-13 09:05Christian GrothoffFixed in Version1.7 => 1.6
2026-10-13 09:05Christian GrothoffTarget Version1.7 => 1.6