diff --git a/packages/taler-wallet-core/src/operations/pay.ts b/packages/taler-wallet-core/src/operations/pay.ts index e662ee72f..71f11c960 100644 --- a/packages/taler-wallet-core/src/operations/pay.ts +++ b/packages/taler-wallet-core/src/operations/pay.ts @@ -368,6 +368,15 @@ export async function getCandidatePayCoins( }; } +/** + * Apply a coin selection to the database. Marks coins as spent + * and creates a refresh session for the remaining amount. + * + * FIXME: This does not deal well with conflicting spends! + * When two payments are made in parallel, the same coin can be selected + * for two payments. + * However, this is a situation that can also happen via sync. + */ export async function applyCoinSpend( ws: InternalWalletState, tx: GetReadWriteAccess<{