diff --git a/dap_chain_net.c b/dap_chain_net.c index 2e18f1a0700f60e4a5871aad321da65460ba2e90..319779716d19f0539c85e16f1372b45a209e2144 100644 --- a/dap_chain_net.c +++ b/dap_chain_net.c @@ -539,6 +539,18 @@ int dap_chain_net_load(const char * a_net_name) dap_config_get_item_str_default(l_cfg , "general" , "gdb_groups_prefix","" ) ); + // Add network to the list + dap_chain_net_item_t * l_net_item = DAP_NEW_Z( dap_chain_net_item_t); + dap_chain_net_item_t * l_net_item2 = DAP_NEW_Z( dap_chain_net_item_t); + snprintf(l_net_item->name,sizeof (l_net_item->name),"%s" + ,dap_config_get_item_str(l_cfg , "general" , "name" )); + l_net_item->chain_net = l_net; + l_net_item->net_id.uint64 = l_net->pub.id.uint64; + HASH_ADD_STR(s_net_items,name,l_net_item); + + memcpy( l_net_item2,l_net_item,sizeof (*l_net_item)); + HASH_ADD(hh,s_net_items_ids,net_id,sizeof ( l_net_item2->net_id),l_net_item2); + // LEDGER model uint16_t l_ledger_flags = 0; switch ( PVT( l_net )->node_role.enums ) { @@ -554,6 +566,8 @@ int dap_chain_net_load(const char * a_net_name) case NODE_ROLE_LIGHT: l_ledger_flags |= DAP_CHAIN_LEDGER_CHECK_LOCAL_DS; } + // init LEDGER model + l_net->pub.ledger = dap_chain_ledger_create(l_ledger_flags); // Check if seed nodes are present in local db alias PVT(l_net)->seed_aliases = dap_config_get_array_str( l_cfg , "general" ,"seed_nodes_aliases" @@ -671,20 +685,6 @@ int dap_chain_net_load(const char * a_net_name) if (s_seed_mode) { // If we seed we do everything manual. First think - prefil list of node_addrs and its aliases PVT(l_net)->state_target = NET_STATE_OFFLINE; } - // Add network to the list - dap_chain_net_item_t * l_net_item = DAP_NEW_Z( dap_chain_net_item_t); - dap_chain_net_item_t * l_net_item2 = DAP_NEW_Z( dap_chain_net_item_t); - snprintf(l_net_item->name,sizeof (l_net_item->name),"%s" - ,dap_config_get_item_str(l_cfg , "general" , "name" )); - l_net_item->chain_net = l_net; - l_net_item->net_id.uint64 = l_net->pub.id.uint64; - HASH_ADD_STR(s_net_items,name,l_net_item); - - memcpy( l_net_item2,l_net_item,sizeof (*l_net_item)); - HASH_ADD(hh,s_net_items_ids,net_id,sizeof ( l_net_item2->net_id),l_net_item2); - - // init LEDGER model - l_net->pub.ledger = dap_chain_ledger_create(l_ledger_flags); // Start the proc thread s_net_proc_thread_start(l_net); diff --git a/dap_chain_node_cli_cmd.c b/dap_chain_node_cli_cmd.c index 07d6dcb64752a5d829a7ee9c068a8d69636d51cf..1ffb7ca139fae8f5e856fe28f12a48c55ddd1d48 100644 --- a/dap_chain_node_cli_cmd.c +++ b/dap_chain_node_cli_cmd.c @@ -2110,6 +2110,7 @@ int com_token_emit(int argc, const char ** argv, char ** str_reply) // First calc summary sign size size_t l_token_emission_signs_size =0; for ( size_t i=0 ; i < l_certs_size ; i++) { + // TODO Here must be added serialized size! l_token_emission_signs_size += dap_chain_cert_sign_output_size(l_certs[i],0); } @@ -2119,7 +2120,7 @@ int com_token_emit(int argc, const char ** argv, char ** str_reply) sizeof (l_token_emission->data.type_auth.signs_count) + l_token_emission_signs_size; - l_token_emission = DAP_NEW_Z(dap_chain_datum_token_emission_t); + l_token_emission = DAP_NEW_Z_SIZE(dap_chain_datum_token_emission_t, l_token_emission_size); strncpy(l_token_emission->hdr.ticker, l_ticker, sizeof(l_token_emission->hdr.ticker)); l_token_emission->hdr.value = l_emission_value;