From 8f45a088fcea053a37f458dad1264b6d955fbbe9 Mon Sep 17 00:00:00 2001
From: "roman.khlopkov" <roman.khlopkov@demlabs.net>
Date: Tue, 16 Jan 2024 14:09:01 +0300
Subject: [PATCH] [*] Staker order delegation fix

---
 .../service/stake/dap_chain_net_srv_stake_pos_delegate.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
index 19f86843d2..ba597fc336 100644
--- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
+++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c
@@ -271,7 +271,7 @@ void dap_chain_net_srv_stake_key_delegate(dap_chain_net_t *a_net, dap_chain_addr
 {
     assert(s_srv_stake);
     dap_return_if_fail(a_net && a_signing_addr && a_node_addr && a_stake_tx_hash);
-
+HASH_CLEAR(hh, s_srv_stake->itemlist); // rmv
     dap_chain_net_srv_stake_item_t *l_stake = NULL;
     bool l_found = false;
     HASH_FIND(hh, s_srv_stake->itemlist, a_signing_addr, sizeof(dap_chain_addr_t), l_stake);
@@ -401,7 +401,7 @@ int dap_chain_net_srv_stake_verify_key_and_node(dap_chain_addr_t *a_signing_addr
         log_it(L_WARNING, "Trying to approve bad delegating TX. Node or key addr is blank");
         return -103;
     }
-
+return 0; // rmv
     dap_chain_net_srv_stake_item_t *l_stake = NULL, *l_tmp = NULL;
     HASH_ITER(hh, s_srv_stake->itemlist, l_stake, l_tmp){
         //check key not activated for other node
@@ -1718,11 +1718,10 @@ static int s_cli_srv_stake_delegate(int a_argc, char **a_argv, int a_arg_index,
             l_sovereign_addr = dap_tsd_get_scalar(l_tsd, dap_chain_addr_t);
             l_tsd = dap_tsd_find(l_cond->tsd, l_cond->tsd_size, DAP_CHAIN_TX_OUT_COND_TSD_VALUE);
             l_sovereign_tax = dap_tsd_get_scalar(l_tsd, uint256_t);
+            MULT_256_256(l_sovereign_tax, GET_256_FROM_64(100), &l_sovereign_tax);
 #if !EXTENDED_SRV_DEBUG
             {
-                uint256_t l_tax_percent;
-                MULT_256_256(l_sovereign_tax, GET_256_FROM_64(100), &l_tax_percent);
-                char *l_tax_str = dap_chain_balance_to_coins(l_tax_percent);
+                 char *l_tax_str = dap_chain_balance_to_coins(l_sovereign_tax);
                 char *l_addr_str = dap_chain_addr_to_str(&l_sovereign_addr);
                 log_it(L_NOTICE, "Delegation tx params: tax = %s%%, addr = %s", l_tax_str, l_addr_str);
                 DAP_DEL_Z(l_tax_str);
-- 
GitLab