gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libeufin] branch master updated: entropy


From: gnunet
Subject: [libeufin] branch master updated: entropy
Date: Thu, 18 Jun 2020 20:11:34 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository libeufin.

The following commit(s) were added to refs/heads/master by this push:
     new f9285a1  entropy
f9285a1 is described below

commit f9285a122fa3d38374a6a26c60002b051ac1f407
Author: Florian Dold <florian.dold@gmail.com>
AuthorDate: Thu Jun 18 23:41:25 2020 +0530

    entropy
---
 nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt           |  3 +++
 .../kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt | 15 +++++++++------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
index 7cb7439..6de1cce 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
@@ -220,6 +220,8 @@ object NexusBankAccountsTable : IdTable<String>() {
 
     // Highest bank message ID that this bank account is aware of.
     val highestSeenBankMessageId = integer("highestSeenBankMessageId")
+
+    val pain001Counter = long("pain001counter")
 }
 
 class NexusBankAccountEntity(id: EntityID<String>) : Entity<String>(id) {
@@ -230,6 +232,7 @@ class NexusBankAccountEntity(id: EntityID<String>) : 
Entity<String>(id) {
     var bankCode by NexusBankAccountsTable.bankCode
     var defaultBankConnection by NexusBankConnectionEntity 
optionalReferencedOn NexusBankAccountsTable.defaultBankConnection
     var highestSeenBankMessageId by 
NexusBankAccountsTable.highestSeenBankMessageId
+    var pain001Counter by NexusBankAccountsTable.pain001Counter
 }
 
 object EbicsSubscribersTable : IntIdTable() {
diff --git 
a/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt 
b/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
index 9269bb0..16a17c3 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/bankaccount/BankAccount.kt
@@ -195,9 +195,12 @@ fun getPreparedPayment(uuid: Long): 
PaymentInitiationEntity {
  * by this pain document.
  */
 fun addPreparedPayment(paymentData: Pain001Data, debitorAccount: 
NexusBankAccountEntity): PaymentInitiationEntity {
-    val now = Instant.now().toEpochMilli()
-    val nowHex = now.toString(16)
     return transaction {
+        val now = Instant.now().toEpochMilli()
+        val nowHex = now.toString(16)
+        val painCounter = debitorAccount.pain001Counter++
+        val painHex = painCounter.toString(16)
+        val acctHex = debitorAccount.id.hashCode().toString(16).substring(0, 4)
         PaymentInitiationEntity.new {
             bankAccount = debitorAccount
             subject = paymentData.subject
@@ -206,10 +209,10 @@ fun addPreparedPayment(paymentData: Pain001Data, 
debitorAccount: NexusBankAccoun
             creditorBic = paymentData.creditorBic
             creditorIban = paymentData.creditorIban
             preparationDate = now
-            messageId = "leuf-m-pain1-$nowHex"
-            endToEndId = "leuf-e-$nowHex"
-            paymentInformationId = "leuf-p-$nowHex"
-            instructionId = "leuf-i-$nowHex"
+            messageId = "leuf-mp1-$nowHex-$painHex-$acctHex"
+            endToEndId = "leuf-e-$nowHex-$painHex-$acctHex"
+            paymentInformationId = "leuf-p-$nowHex-$painHex-$acctHex"
+            instructionId = "leuf-i-$nowHex-$painHex-$acctHex"
         }
     }
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]