From ff79c560f50907fdfcb78e7a01486bbbdee75808 Mon Sep 17 00:00:00 2001
From: vtexier <vit@free.fr>
Date: Wed, 19 Feb 2020 18:04:00 +0100
Subject: [PATCH] [mod] hide computed UD because not accurate

todo: display again when we get an accurate previous monetary mass
---
 src/sakia/gui/main_window/toolbar/view.py | 21 +++++++++++----------
 src/sakia/services/blockchain.py          |  6 ++++++
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/sakia/gui/main_window/toolbar/view.py b/src/sakia/gui/main_window/toolbar/view.py
index 0ed0d1ea..f3c640e6 100644
--- a/src/sakia/gui/main_window/toolbar/view.py
+++ b/src/sakia/gui/main_window/toolbar/view.py
@@ -241,7 +241,6 @@ class ToolbarView(QFrame, Ui_SakiaToolbar):
             <table cellpadding="5">
             <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
             <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
-            <tr><td align="right"><b>{:}</b></td><td>{:}</td></tr>
             </table>
             """
         ).format(
@@ -249,16 +248,18 @@ class ToolbarView(QFrame, Ui_SakiaToolbar):
                 localized_data["growth"], localized_data["dt_reeval_in_days"]
             ),
             self.tr("Fundamental growth (c) / Reevaluation delta time (dt_reeval)"),
-            self.tr("UDĞ(t) = UDĞ(t-1) + c²*M(t)/N(t)"),
+            self.tr("UDĞ(t) = UDĞ(t-1) + c²*M(t-1)/N(t)"),
             self.tr("Universal Dividend (formula)"),
-            self.tr("{:} = {:} + {:}² * {:} / {:}").format(
-                localized_data.get("ud_plus_1", "####"),
-                localized_data.get("ud", "####"),
-                localized_data.get("growth_per_dt", "##########"),
-                localized_data.get("mass", "####"),
-                localized_data.get("members_count", "####"),
-            ),
-            self.tr("Universal Dividend (computed)"),
+            # fixme: re-display when the computed dividend will be accurate (need accurate previous monetary mass,
+            #  last mass just before reevaluation)
+            # self.tr("{:} = {:} + {:}² * {:} / {:}").format(
+            #     localized_data.get("ud_plus_1", "####"),
+            #     localized_data.get("ud", "####"),
+            #     localized_data.get("growth_per_dt", "##########"),
+            #     localized_data.get("mass", "####"),
+            #     localized_data.get("members_count", "####"),
+            # ),
+            # self.tr("Universal Dividend (computed)"),
         )
 
     def text_referential(self, ref):
diff --git a/src/sakia/services/blockchain.py b/src/sakia/services/blockchain.py
index 6647a4a7..38f106ee 100644
--- a/src/sakia/services/blockchain.py
+++ b/src/sakia/services/blockchain.py
@@ -168,6 +168,12 @@ class BlockchainService(QObject):
     def computed_dividend(self):
         """
         Computes next dividend value
+
+        Duniter formula is:
+
+        HEAD.dividend = Math.ceil(HEAD_1.dividend + Math.pow(conf.c, 2) *
+        Math.ceil(HEAD_1.massReeval / Math.pow(10, previousUB)) / HEAD.membersCount / (conf.dtReeval / conf.dt));
+
         :rtype: int
         """
         parameters = self.parameters()
-- 
GitLab