From b35f018dd8c8e536a70ac63237fa639cfbb6ff74 Mon Sep 17 00:00:00 2001
From: Aleksey Feoktistov <aleksey@synestproject.com>
Date: Mon, 10 Jan 2022 17:36:39 +0500
Subject: [PATCH] [*] removed forced sync & added auto move to chain if
 collected max number signatures

---
 modules/consensus/dag-poa/dap_chain_cs_dag_poa.c | 7 ++++---
 modules/type/dag/dap_chain_cs_dag.c              | 6 +++---
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
index 3488e04148..4331391841 100644
--- a/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
+++ b/modules/consensus/dag-poa/dap_chain_cs_dag_poa.c
@@ -241,7 +241,7 @@ static int s_cli_dag_poa(int argc, char ** argv, char **a_str_reply)
                                         l_poa_pvt->events_sign_cert->name, l_event_new_hash_base58_str);
                             }
                             ret = 0;
-                            dap_chain_net_sync_gdb(l_chain_net); // Propagate changes in pool
+                            // dap_chain_net_sync_gdb(l_chain_net); // Propagate changes in pool
 
                             if (l_event_is_ready) {
                                 dap_chain_cs_dag_poa_callback_timer_arg_t * l_callback_arg = DAP_NEW_Z(dap_chain_cs_dag_poa_callback_timer_arg_t);
@@ -249,7 +249,8 @@ static int s_cli_dag_poa(int argc, char ** argv, char **a_str_reply)
                                 l_callback_arg->l_event_hash_hex_str = dap_strdup(l_event_new_hash_hex_str);
                                 memcpy(&l_callback_arg->event_round_cfg, &l_event_round_cfg, sizeof(dap_chain_cs_dag_event_round_cfg_t));
                                 uint32_t l_timeout = l_event_round_cfg.confirmations_timeout;
-                                if ( l_timeout <= ((uint64_t)time(NULL) - l_event_round_cfg.ts_confirmations_minimum_completed) ) {
+                                // if ( l_timeout <= ((uint64_t)time(NULL) - l_event_round_cfg.ts_confirmations_minimum_completed) ) {
+                                if ( l_event_new->header.signs_count >= l_poa_pvt->auth_certs_count) {
                                     s_callback_round_event_to_chain(l_callback_arg);
                                 }
                                 else {
@@ -394,7 +395,7 @@ static bool s_callback_round_event_to_chain(dap_chain_cs_dag_poa_callback_timer_
                 dap_chain_global_db_gr_del(dap_strdup(a_callback_arg->l_event_hash_hex_str), l_dag->gdb_group_events_round_new);
             }
             dap_chain_cell_close(l_dag->chain->cells);
-            dap_chain_net_sync_all(l_net);
+            // dap_chain_net_sync_all(l_net);
         }
     }
 
diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c
index 418126ae25..8d81a7e50a 100644
--- a/modules/type/dag/dap_chain_cs_dag.c
+++ b/modules/type/dag/dap_chain_cs_dag.c
@@ -1461,7 +1461,7 @@ static int s_cli_dag(int argc, char ** argv, char **a_str_reply)
             dap_string_free(l_str_ret_tmp,false);
 
             // Spread new  mempool changes and  dag events in network - going to SYNC_ALL
-            dap_chain_net_sync_all(l_net);
+            // dap_chain_net_sync_all(l_net);
         }
     }else if ( l_event_cmd_str  ) {
         char *l_datum_hash_hex_str = NULL;
@@ -1556,7 +1556,7 @@ static int s_cli_dag(int argc, char ** argv, char **a_str_reply)
                 DAP_DELETE(l_gdb_group_mempool);
                 DAP_DELETE(l_datum_hash_hex_str);
                 DAP_DELETE(l_datum_hash_base58_str);
-                dap_chain_net_sync_all(l_net);
+                // dap_chain_net_sync_all(l_net);
             }break;
             case SUBCMD_EVENT_CANCEL:{
                 char * l_gdb_group_events = DAP_CHAIN_CS_DAG(l_chain)->gdb_group_events_round_new;
@@ -1613,7 +1613,7 @@ static int s_cli_dag(int argc, char ** argv, char **a_str_reply)
                 DAP_DELETE(l_event_hash_hex_str);
                 DAP_DELETE(l_event_hash_base58_str);
                 // DAP_DELETE( l_gdb_group_events );
-                dap_chain_net_sync_gdb(l_net);
+                // dap_chain_net_sync_gdb(l_net);
             }break;
             case SUBCMD_EVENT_DUMP:{
                 dap_chain_cs_dag_event_t * l_event = NULL;
-- 
GitLab