libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit c64384fdfbe57cb919ead40021f9e5c1f88ad037
parent 6de75405c9be1d5c244326bb046c26e4f2041d83
Author: MS <ms@taler.net>
Date:   Fri,  8 Jul 2022 16:55:58 +0200

detect reserve_pub duplicates

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt @@ -279,6 +279,11 @@ fun talerFilter(payment: NexusBankTransactionEntity, txDtls: TransactionDetails) // FIXME: send back! return } + // Check if reserve_pub was used already + val maybeExist = TalerIncomingPaymentEntity.find { + TalerIncomingPaymentsTable.reservePublicKey eq reservePub + }.firstOrNull() + if (maybeExist != null) throw conflict("Reserve pub '$reservePub' was used already") if (!CryptoUtil.checkValidEddsaPublicKey(reservePub)) { // FIXME: send back!