From 70552b32f5aa1a77d9a53798fc2f345e8cf93555 Mon Sep 17 00:00:00 2001
From: "alexey.stratulat" <alexey.stratulat@demlabs.net>
Date: Fri, 31 May 2024 04:03:47 +0000
Subject: [PATCH] Feature 11714

---
 modules/chain/dap_chain.c           | 2 +-
 modules/chain/include/dap_chain.h   | 2 ++
 modules/net/dap_chain_net.c         | 4 +++-
 modules/net/include/dap_chain_net.h | 1 +
 4 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/modules/chain/dap_chain.c b/modules/chain/dap_chain.c
index 69ad2691cc..4bbdd262c6 100644
--- a/modules/chain/dap_chain.c
+++ b/modules/chain/dap_chain.c
@@ -519,7 +519,7 @@ dap_chain_t *dap_chain_load_from_cfg(const char *a_chain_net_name, dap_chain_net
 				} else
 					l_chain->autoproc_datum_types_count = 0;
 			}
-            dap_config_close(l_cfg);
+            l_chain->config = l_cfg;
             return l_chain;
         } else
             return NULL;
diff --git a/modules/chain/include/dap_chain.h b/modules/chain/include/dap_chain.h
index 9c12d0b5a4..ca8986103f 100644
--- a/modules/chain/include/dap_chain.h
+++ b/modules/chain/include/dap_chain.h
@@ -201,6 +201,8 @@ typedef struct dap_chain {
 
     dap_list_t *atom_notifiers;
 
+    dap_config_t *config;
+
     void * _pvt; // private data
     void * _inheritor; // inheritor object
 } dap_chain_t;
diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c
index e4aa08b520..01a1069b65 100644
--- a/modules/net/dap_chain_net.c
+++ b/modules/net/dap_chain_net.c
@@ -1839,7 +1839,7 @@ int s_net_init(const char *a_net_name, uint16_t a_acl_idx)
         dap_config_close(l_cfg);
         return -1;
     }
-    
+
     l_net->pub.gdb_groups_prefix = dap_strdup(
                 dap_config_get_item_str_default(l_cfg, "general", "gdb_groups_prefix",
                                                 dap_config_get_item_str(l_cfg, "general", "name")));
@@ -2077,6 +2077,8 @@ int s_net_init(const char *a_net_name, uint16_t a_acl_idx)
     // Decrees initializing
     dap_chain_net_decree_init(l_net);
 
+    l_net->pub.config = l_cfg;
+
     return 0;
 }
 
diff --git a/modules/net/include/dap_chain_net.h b/modules/net/include/dap_chain_net.h
index 5090be3fc6..e30e47952c 100644
--- a/modules/net/include/dap_chain_net.h
+++ b/modules/net/include/dap_chain_net.h
@@ -73,6 +73,7 @@ typedef struct dap_chain_net{
         dap_chain_addr_t fee_addr;
         
         dap_list_t *bridged_networks;   // List of bridged network ID's allowed to cross-network TX
+        dap_config_t *config;
     } pub;
     uint8_t pvt[];
 } dap_chain_net_t;
-- 
GitLab