From 7b6b002d8fb3a0c59a2ba3d9b79cb3a6b0da6851 Mon Sep 17 00:00:00 2001
From: Pavel Uhanov <pavel.uhanov@demlabs.net>
Date: Wed, 28 Aug 2024 14:40:11 +0300
Subject: [PATCH] [*] use func erase_table

---
 dap-sdk                                              |  2 +-
 modules/chain/dap_chain.c                            |  2 +-
 modules/consensus/esbocs/dap_chain_cs_esbocs.c       |  2 +-
 modules/net/dap_chain_ledger.c                       | 12 ++++++------
 modules/net/dap_chain_net.c                          |  8 ++++----
 modules/net/dap_chain_net_balancer.c                 |  6 +++---
 modules/net/dap_chain_node_cli_cmd.c                 |  2 +-
 .../stake/dap_chain_net_srv_stake_pos_delegate.c     |  2 +-
 modules/type/blocks/dap_chain_cs_blocks.c            |  4 ++--
 9 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/dap-sdk b/dap-sdk
index e9b9dec7fb..7a5e2ea724 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit e9b9dec7fb074e8e85ade7de2f51a5758773d67a
+Subproject commit 7a5e2ea724c3d778384ecff743f5cf846e92778f
diff --git a/modules/chain/dap_chain.c b/modules/chain/dap_chain.c
index c79c464aa2..a09641236e 100644
--- a/modules/chain/dap_chain.c
+++ b/modules/chain/dap_chain.c
@@ -591,7 +591,7 @@ bool download_notify_callback(dap_chain_t* a_chain) {
     json_object_object_add(l_chain_info, "chain_id", json_object_new_uint64(a_chain->id.uint64));
     json_object_object_add(l_chain_info, "load_progress", json_object_new_int(a_chain->load_progress));
     dap_notify_server_send_mt(json_object_get_string(l_chain_info));
-    log_it(L_DEBUG, "Loading net \"%s\", chain \"%s\" ID 0x%016"DAP_UINT64_FORMAT_x " [%d%%]", a_chain->net_name, a_chain->name, a_chain->id.uint64, a_chain->load_progress);
+    log_it(L_DEBUG, "Loading net \"%s\", chain \"%s\", ID 0x%016"DAP_UINT64_FORMAT_x " [%d%%]", a_chain->net_name, a_chain->name, a_chain->id.uint64, a_chain->load_progress);
     json_object_put(l_chain_info);
     return true;
 }
diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
index 28daa031aa..8e58e91ba5 100644
--- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c
+++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c
@@ -542,7 +542,7 @@ static int s_callback_created(dap_chain_t *a_chain, dap_config_t *a_chain_net_cf
                                                       l_sync_group, 72 * 3600, true,
                                                       DAP_GDB_MEMBER_ROLE_NOBODY, DAP_CLUSTER_TYPE_AUTONOMIC);
     dap_link_manager_add_net_associate(l_net->pub.id.uint64, l_session->db_cluster->links_cluster);
-    dap_global_db_del_sync(l_sync_group, NULL);     // Drop table on stratup
+    dap_global_db_erase_table_sync(l_sync_group);     // Drop table on stratup
     DAP_DELETE(l_sync_group);
 
 #ifdef DAP_CHAIN_CS_ESBOCS_DIRECTIVE_SUPPORT
diff --git a/modules/net/dap_chain_ledger.c b/modules/net/dap_chain_ledger.c
index 1175e39508..8f1c8a6d2a 100644
--- a/modules/net/dap_chain_ledger.c
+++ b/modules/net/dap_chain_ledger.c
@@ -5103,13 +5103,13 @@ void dap_ledger_purge(dap_ledger_t *a_ledger, bool a_preserve_db)
     }
     if (!a_preserve_db) {
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_TXS_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
     }
 
     if (!a_preserve_db) {
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_SPENT_TXS_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
     }
 
@@ -5122,7 +5122,7 @@ void dap_ledger_purge(dap_ledger_t *a_ledger, bool a_preserve_db)
     }
     if (!a_preserve_db) {
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_BALANCES_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
     }
 
@@ -5150,10 +5150,10 @@ void dap_ledger_purge(dap_ledger_t *a_ledger, bool a_preserve_db)
     }
     if (!a_preserve_db) {
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_TOKENS_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_EMISSIONS_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
     }
 
@@ -5165,7 +5165,7 @@ void dap_ledger_purge(dap_ledger_t *a_ledger, bool a_preserve_db)
     }
     if (!a_preserve_db) {
         l_gdb_group = dap_ledger_get_gdb_group(a_ledger, DAP_LEDGER_STAKE_LOCK_STR);
-        dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+        dap_global_db_erase_table(l_gdb_group, NULL, NULL);
         DAP_DELETE(l_gdb_group);
     }
 
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index f6464e1dcf..b7c2dfe74a 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -473,8 +473,10 @@ static void s_link_manager_callback_connected(dap_link_t *a_link, uint64_t a_net
     }
     dap_stream_ch_chain_net_pkt_hdr_t l_announce = { .version = DAP_STREAM_CH_CHAIN_NET_PKT_VERSION,
                                                      .net_id  = l_net->pub.id };
-    dap_stream_ch_pkt_send_by_addr(&a_link->addr, DAP_STREAM_CH_CHAIN_NET_ID, DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_ANNOUNCE,
-                                   &l_announce, sizeof(l_announce));
+    if(dap_stream_ch_pkt_send_by_addr(&a_link->addr, DAP_STREAM_CH_CHAIN_NET_ID, DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_ANNOUNCE,
+                                   &l_announce, sizeof(l_announce))) {
+                                   dap_link_manager_accounting_link_in_net(l_net->pub.id.uint64, &a_link->addr, false);
+                                   }
 }
 
 static bool s_net_check_link_is_permanent(dap_chain_net_t *a_net, dap_stream_node_addr_t a_addr)
@@ -2170,8 +2172,6 @@ int s_net_init(const char *a_net_name, uint16_t a_acl_idx)
     l_net->pub.ledger = dap_ledger_create(l_net, l_ledger_flags);
     // Decrees initializing
     dap_chain_net_decree_init(l_net);
-    dap_link_manager_erase_ignored_table(l_net->pub.id.uint64);
-
     l_net->pub.config = l_cfg;
     return 0;
 }
diff --git a/modules/net/dap_chain_net_balancer.c b/modules/net/dap_chain_net_balancer.c
index f20b23830b..1460bce84e 100644
--- a/modules/net/dap_chain_net_balancer.c
+++ b/modules/net/dap_chain_net_balancer.c
@@ -99,12 +99,12 @@ static dap_chain_net_links_t *s_get_ignored_node_addrs(dap_chain_net_t *a_net, s
     if (dap_log_level_get() <= L_DEBUG ) {
         char *l_ignored_str = NULL;
         DAP_NEW_Z_SIZE_RET_VAL(l_ignored_str, char, 50 * (l_uplinks_count + l_low_availability_count + 1) + 200 + strlen(a_net->pub.name), NULL, l_uplinks, l_low_availability);
-        sprintf(l_ignored_str + strlen(l_ignored_str), "Second nodes will be ignored in balancer links preparing in net %s:\n\tSelf:\n\t\t"NODE_ADDR_FP_STR"\n", a_net->pub.name, NODE_ADDR_FP_ARGS(l_curr_addr));
-        sprintf(l_ignored_str + strlen(l_ignored_str), "\tUplinks:\n");
+        sprintf(l_ignored_str + strlen(l_ignored_str), "Second %zu nodes will be ignored in balancer links preparing in net %s:\n\tSelf:\n\t\t"NODE_ADDR_FP_STR"\n", l_uplinks_count + l_low_availability_count + 1, a_net->pub.name, NODE_ADDR_FP_ARGS(l_curr_addr));
+        sprintf(l_ignored_str + strlen(l_ignored_str), "\tUplinks (%zu):\n", l_uplinks_count);
         for (size_t i = 0; i < l_uplinks_count; ++i) {
             sprintf(l_ignored_str + strlen(l_ignored_str), "\t\t"NODE_ADDR_FP_STR"\n", NODE_ADDR_FP_ARGS(l_uplinks + i));
         }
-        sprintf(l_ignored_str + strlen(l_ignored_str), "\tCooling:\n");
+        sprintf(l_ignored_str + strlen(l_ignored_str), "\tCooling (%zu):\n", l_low_availability_count);
         for (size_t i = 0; i < l_low_availability_count; ++i) {
             sprintf(l_ignored_str + strlen(l_ignored_str), "\t\t"NODE_ADDR_FP_STR"\n", NODE_ADDR_FP_ARGS(l_low_availability + i));
         }
diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c
index c78ef1d0a4..a6ceac4c52 100644
--- a/modules/net/dap_chain_node_cli_cmd.c
+++ b/modules/net/dap_chain_node_cli_cmd.c
@@ -785,7 +785,7 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply)
             return -DAP_CHAIN_NODE_CLI_COM_GLOBAL_DB_PARAM_ERR;
         }
 
-        if (!dap_global_db_del_sync(l_group_str, NULL))
+        if (!dap_global_db_erase_table_sync(l_group_str))
         {
             json_object* json_obj_drop = json_object_new_object();
             json_object_object_add(json_obj_drop, "Dropped table", json_object_new_string(l_group_str));
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 9f8277375d..e62cbb5775 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
@@ -630,7 +630,7 @@ void dap_chain_net_srv_stake_purge(dap_chain_net_t *a_net)
 {
     dap_ledger_t *l_ledger = a_net->pub.ledger;
     char *l_gdb_group = dap_ledger_get_gdb_group(l_ledger, DAP_CHAIN_NET_SRV_STAKE_POS_DELEGATE_GDB_GROUP);
-    dap_global_db_del(l_gdb_group, NULL, NULL, NULL);
+    dap_global_db_erase_table(l_gdb_group, NULL, NULL);
     DAP_DELETE(l_gdb_group);
     s_stake_net_clear(a_net);
 }
diff --git a/modules/type/blocks/dap_chain_cs_blocks.c b/modules/type/blocks/dap_chain_cs_blocks.c
index 13c5384906..5e0f867ca0 100644
--- a/modules/type/blocks/dap_chain_cs_blocks.c
+++ b/modules/type/blocks/dap_chain_cs_blocks.c
@@ -1244,10 +1244,10 @@ static int s_cli_blocks(int a_argc, char ** a_argv, void **a_str_reply)
                 };
                 //Clear gdb
                 char *l_group_fee = dap_chain_cs_blocks_get_fee_group(l_net->pub.name);
-                dap_global_db_del_sync(l_group_fee, NULL);
+                dap_global_db_erase_table_sync(l_group_fee);
                 DAP_DELETE(l_group_fee);
                 char *l_group_reward = dap_chain_cs_blocks_get_reward_group(l_net->pub.name);
-                dap_global_db_del_sync(l_group_reward, NULL);
+                dap_global_db_erase_table_sync(l_group_reward);
                 DAP_DELETE(l_group_reward);
 
                 json_object* json_arr_bl_out = json_object_new_array();
-- 
GitLab