diff --git a/dap-sdk b/dap-sdk
index bf48d381f4b930e172001756269d9b58415191ea..136957afc5eaa4d7ae3b830f1d169908e2a9e696 160000
--- a/dap-sdk
+++ b/dap-sdk
@@ -1 +1 @@
-Subproject commit bf48d381f4b930e172001756269d9b58415191ea
+Subproject commit 136957afc5eaa4d7ae3b830f1d169908e2a9e696
diff --git a/modules/chain/dap_chain_ch.c b/modules/chain/dap_chain_ch.c
index 0c6111846fcfd374326fb084cd1c113e25f941a7..e7b4fb6ca157dde147b54cac34c5c6a88800db06 100644
--- a/modules/chain/dap_chain_ch.c
+++ b/modules/chain/dap_chain_ch.c
@@ -1067,6 +1067,8 @@ static bool s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
         }
         l_context->is_type_of_gdb = true;
         l_context->db_list = l_db_list;
+        l_context->remote_addr = *(dap_stream_node_addr_t *)l_chain_pkt->data;
+        l_context->request_hdr = l_chain_pkt->hdr;
         l_ch_chain->legacy_sync_context = l_context;
         l_context->state = DAP_CHAIN_CH_STATE_UPDATE_GLOBAL_DB;
         debug_if(s_debug_legacy, L_DEBUG, "Sync out gdb proc, requested %" DAP_UINT64_FORMAT_U " records from address " NODE_ADDR_FP_STR " (unverified)",
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index f920e66b960bcceb8ec0bc4475088ba2dd1c99f8..3f8b920d3cb905be57073241d0f90cc3d305e189 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -385,6 +385,7 @@ int dap_chain_net_state_go_to(dap_chain_net_t *a_net, dap_chain_net_state_t a_ne
                 log_it(L_ERROR, "Can't create permanent link to addr " NODE_ADDR_FP_STR, NODE_ADDR_FP_ARGS_S(l_permalink_info->node_addr));
                 continue;
             }
+            PVT(a_net)->state = NET_STATE_LINKS_CONNECTING;
         }
         if (a_new_state == NET_STATE_ONLINE)
             dap_chain_esbocs_start_timer(a_net->pub.id);
@@ -472,7 +473,7 @@ static void s_link_manager_callback_connected(dap_link_t *a_link, uint64_t a_net
                                    &l_announce, sizeof(l_announce));
 }
 
-static bool s_net_check_link_is_premanent(dap_chain_net_t *a_net, dap_stream_node_addr_t a_addr)
+static bool s_net_check_link_is_permanent(dap_chain_net_t *a_net, dap_stream_node_addr_t a_addr)
 {
     dap_chain_net_pvt_t *l_net_pvt = PVT(a_net);
     for (uint16_t i = 0; i < l_net_pvt->permanent_links_count; i++) {
@@ -495,7 +496,7 @@ static bool s_link_manager_callback_disconnected(dap_link_t *a_link, uint64_t a_
 // func work
     dap_chain_net_t *l_net = dap_chain_net_by_id((dap_chain_net_id_t){.uint64 = a_net_id});
     dap_chain_net_pvt_t *l_net_pvt = PVT(l_net);
-    bool l_link_is_permanent = s_net_check_link_is_premanent(l_net, a_link->addr);
+    bool l_link_is_permanent = s_net_check_link_is_permanent(l_net, a_link->addr);
     log_it(L_INFO, "%s."NODE_ADDR_FP_STR" can't connect for now. %s", l_net ? l_net->pub.name : "(unknown)" ,
             NODE_ADDR_FP_ARGS_S(a_link->addr),
             l_link_is_permanent ? "Setting reconnection pause for it." : "Dropping it.");