View Issue Details

IDProjectCategoryView StatusLast Update
0011367Talerwallet (all platforms)public2026-04-30 11:59
ReporterChristian Grothoff Assigned ToFlorian Dold  
PriorityurgentSeveritymajorReproducibilityalways
Status assignedResolutionopen 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.6 
Summary0011367: double-spending fun with pending transactions
DescriptionTorsten on iphone managed the following:

- Balance: 5 CHF
- p2p send: 4.5 CHF -- transaction: pending (receiver did not yet accept)
- p2p send AGAIN: 4.5 CHF *allowed* -- failed to generate QR code (but did NOT say insufficient balance)

Main screen then shows 9 CHF outgoing pending transactions with 5 CHF balance.
Abort 1st transaction -- hangs in cancellation.
Abort 2st transaction -- also hangs in cancellation.

AFAIK full balance is not inaccessible to the user.
TagsNo tags attached.

Activities

Christian Grothoff

2026-04-30 11:07

manager   ~0028495

Please check which wallets are affected, if a wallet-core API change is needed, and plan a way to get locked-up balances unstuck for users where this happened (=> DB fixup?).

MarcS

2026-04-30 11:59

developer   ~0028497

Strange. First tx should reserve coins internally in the DB, then send them to the Exchange (if necessary spawn a task to withdraw change), receive the purse data back, and THEN generate the talerURI for the receiver. Thus if the user was able to see a QR code and send the talerURI to the receiver, the coins have already arrived at the Exchange.

It should never be possible for a second tx to use these reserved coins. Wallet-core should show that (at most) 50Rp are available - or even less if the change didn't arrive yet.

Affected wallets: Of course all, since all wallets only display what wallet-core tells them.

Issue History

Date Modified Username Field Change
2026-04-30 11:06 Christian Grothoff New Issue
2026-04-30 11:06 Christian Grothoff Status new => assigned
2026-04-30 11:06 Christian Grothoff Assigned To => Florian Dold
2026-04-30 11:07 Christian Grothoff Note Added: 0028495
2026-04-30 11:59 MarcS Note Added: 0028497