diff --git a/dap-sdk b/dap-sdk index f8a874cb6a49bb84f3cba682f955833cf6038d21..32ee5dddfa5641119add13d4334d3f37a90c4313 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit f8a874cb6a49bb84f3cba682f955833cf6038d21 +Subproject commit 32ee5dddfa5641119add13d4334d3f37a90c4313 diff --git a/modules/channel/chain-net/dap_stream_ch_chain_net.c b/modules/channel/chain-net/dap_stream_ch_chain_net.c index e7dbba114bfc506ee376e2b5ef0c521ee1a69897..fd0a2f8ca47aee266b1f731f1a90188825dd6448 100644 --- a/modules/channel/chain-net/dap_stream_ch_chain_net.c +++ b/modules/channel/chain-net/dap_stream_ch_chain_net.c @@ -158,7 +158,7 @@ void s_stream_ch_packet_in(dap_stream_ch_t *a_ch, void* a_arg) } switch (l_ch_pkt->hdr.type) { case DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_ANNOUNCE: - assert(dap_stream_node_addr_not_null(&a_ch->stream->node)); + assert(!dap_stream_node_addr_is_blank(&a_ch->stream->node)); dap_chain_net_add_cluster_link(l_net, &a_ch->stream->node); break; // received ping request - > send pong request diff --git a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c index 04088bc2697aa2a47422dae269b701ce2ef3132f..926c12e0723450fc8cdea8a55d590054f0a9becd 100644 --- a/modules/channel/chain-voting/dap_stream_ch_chain_voting.c +++ b/modules/channel/chain-voting/dap_stream_ch_chain_voting.c @@ -59,7 +59,7 @@ void dap_stream_ch_chain_voting_in_callback_add(void* a_arg, dap_chain_voting_ch s_pkt_in_callback_count++; } -static bool s_callback_pkt_in_call_all(dap_proc_thread_t UNUSED_ARG *a_thread, void *a_arg) +static bool s_callback_pkt_in_call_all(void *a_arg) { dap_stream_ch_chain_voting_pkt_t *l_voting_pkt = a_arg; for (size_t i = 0; i < s_pkt_in_callback_count; i++) { diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index 2e600f6f1a237c97eac9e2ec4a87466bfc380b5a..106422dd480b9a02fd119568795f491eef41aaed 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -105,15 +105,15 @@ static void s_stream_ch_packet_out(dap_stream_ch_t* a_ch, void* a_arg); static void s_stream_ch_io_complete(dap_events_socket_t *a_es, void *a_arg, int a_errno); static void s_stream_ch_write_error_unsafe(dap_stream_ch_t *a_ch, uint64_t a_net_id, uint64_t a_chain_id, uint64_t a_cell_id, const char * a_err_string); -static bool s_sync_out_chains_proc_callback(dap_proc_thread_t *a_thread, void *a_arg); +static bool s_sync_out_chains_proc_callback(void *a_arg); static void s_sync_out_chains_last_worker_callback(dap_worker_t *a_worker, void *a_arg); static void s_sync_out_chains_first_worker_callback(dap_worker_t *a_worker, void *a_arg); -static bool s_sync_out_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a_arg); +static bool s_sync_out_gdb_proc_callback(void *a_arg); -static bool s_sync_in_chains_callback(dap_proc_thread_t *a_thread, void *a_arg); +static bool s_sync_in_chains_callback(void *a_arg); -static bool s_gdb_in_pkt_proc_callback(dap_proc_thread_t *a_thread, void *a_arg); +static bool s_gdb_in_pkt_proc_callback(void *a_arg); static bool s_gdb_in_pkt_proc_set_raw_callback(dap_global_db_instance_t *a_dbi, int a_rc, const char *a_group, const size_t a_values_total, const size_t a_values_count, @@ -331,7 +331,7 @@ static void s_sync_out_chains_last_worker_callback(dap_worker_t *a_worker, void * @param a_arg * @return */ -static bool s_sync_out_chains_proc_callback(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_sync_out_chains_proc_callback(void *a_arg) { struct sync_request * l_sync_request = (struct sync_request *) a_arg; @@ -445,7 +445,7 @@ static void s_sync_out_gdb_last_worker_callback(dap_worker_t *a_worker, void *a_ * @param a_arg * @return */ -static bool s_sync_out_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_sync_out_gdb_proc_callback(void *a_arg) { /* struct sync_request *l_sync_request = (struct sync_request *)a_arg; @@ -503,7 +503,7 @@ static void s_sync_update_gdb_start_worker_callback(dap_worker_t *a_worker, void DAP_DELETE(l_sync_request); } -static bool s_sync_update_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_sync_update_gdb_proc_callback(void *a_arg) { /* struct sync_request *l_sync_request = (struct sync_request *)a_arg; @@ -548,9 +548,8 @@ static bool s_sync_update_gdb_proc_callback(dap_proc_thread_t *a_thread, void *a * @param a_arg void * @return */ -static bool s_sync_in_chains_callback(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_sync_in_chains_callback(void *a_arg) { - UNUSED(a_thread); struct sync_request *l_sync_request = (struct sync_request *) a_arg; if (!l_sync_request) { log_it(L_CRITICAL, "Proc thread received corrupted chain packet!"); @@ -697,7 +696,7 @@ static void s_gdb_sync_tsd_worker_callback(dap_worker_t *a_worker, void *a_arg) * @param a_arg * @return */ -static bool s_gdb_in_pkt_proc_callback(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_gdb_in_pkt_proc_callback(void *a_arg) { return true; } diff --git a/modules/common/include/dap_chain_common.h b/modules/common/include/dap_chain_common.h index 2e59ae9b82542a03b6b28d50a40dacdcbd18589c..6939ab164d8a8129834a7c13c32b8d5bcb642ec4 100644 --- a/modules/common/include/dap_chain_common.h +++ b/modules/common/include/dap_chain_common.h @@ -82,7 +82,7 @@ typedef union dap_chain_node_role{ typedef dap_stream_node_addr_t dap_chain_node_addr_t; #define dap_chain_node_addr_str_check dap_stream_node_addr_str_check #define dap_chain_node_addr_from_str dap_stream_node_addr_from_str -#define dap_chain_node_addr_not_null dap_stream_node_addr_not_null +#define dap_chain_node_addr_is_blank dap_stream_node_addr_is_blank typedef union dap_chain_net_id{ uint64_t uint64; diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index f60f227347758d18a9f67ec475db570ff31416a0..b6f5152bba6c2d4f2aafb355d2077fb41db72dd7 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -232,6 +232,7 @@ static int s_callback_new(dap_chain_t *a_chain, dap_config_t *a_chain_cfg) } char l_cert_name[512]; dap_cert_t *l_cert_cur; + dap_chain_net_t *l_net = dap_chain_net_by_id(a_chain->net_id); for (size_t i = 0; i < l_auth_certs_count; i++) { snprintf(l_cert_name, sizeof(l_cert_name), "%s.%zu", l_auth_certs_prefix, i); if ((l_cert_cur = dap_cert_find_by_name(l_cert_name)) == NULL) { @@ -266,20 +267,19 @@ static int s_callback_new(dap_chain_t *a_chain, dap_config_t *a_chain_cfg) l_validator->weight = uint256_1; l_esbocs_pvt->poa_validators = dap_list_append(l_esbocs_pvt->poa_validators, l_validator); - dap_chain_net_t *l_net = dap_chain_net_by_id(a_chain->net_id); if (!l_esbocs_pvt->poa_mode) { // auth certs in PoA mode will be first PoS validators keys dap_hash_fast_t l_stake_tx_hash = {}; uint256_t l_weight = dap_chain_net_srv_stake_get_allowed_min_value(); dap_chain_net_srv_stake_key_delegate(l_net, &l_signing_addr, &l_stake_tx_hash, l_weight, &l_signer_node_addr); } - // Preset reward for block signs, before first reward decree - const char *l_preset_reward_str = dap_config_get_item_str(a_chain_cfg, "esbocs", "preset_reward"); - if (l_preset_reward_str) { - uint256_t l_preset_reward = dap_chain_balance_scan(l_preset_reward_str); - if (!IS_ZERO_256(l_preset_reward)) - dap_chain_net_add_reward(l_net, l_preset_reward, 0); - } + } + // Preset reward for block signs, before first reward decree + const char *l_preset_reward_str = dap_config_get_item_str(a_chain_cfg, "esbocs", "preset_reward"); + if (l_preset_reward_str) { + uint256_t l_preset_reward = dap_chain_balance_scan(l_preset_reward_str); + if (!IS_ZERO_256(l_preset_reward)) + dap_chain_net_add_reward(l_net, l_preset_reward, 0); } l_blocks->chain->callback_created = s_callback_created; @@ -509,6 +509,7 @@ static int s_callback_created(dap_chain_t *a_chain, dap_config_t *a_chain_net_cf if (IS_ZERO_256(l_esbocs_pvt->minimum_fee)) { log_it(L_ERROR, "No valid order found was signed by this validator deledgated key. Switch off validator mode."); + DAP_DEL_Z(l_esbocs->session); return -4; } pthread_mutexattr_t l_mutex_attr; diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 36f9f2d91381b7cb3cd945a40796966dbc5cf834..fe299af84a87860303373151cb3301ede4ed43e3 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -244,7 +244,7 @@ static const dap_chain_node_client_callbacks_t s_node_link_callbacks = { }; // State machine switchs here -static bool s_net_states_proc(dap_proc_thread_t *a_thread, void *a_arg); +static bool s_net_states_proc(void *a_arg); struct json_object *s_net_states_json_collect(dap_chain_net_t * l_net); @@ -382,7 +382,7 @@ int dap_chain_net_state_go_to(dap_chain_net_t * a_net, dap_chain_net_state_t a_n } if (PVT(a_net)->state != NET_STATE_OFFLINE){ PVT(a_net)->state = PVT(a_net)->state_target = NET_STATE_OFFLINE; - s_net_states_proc(NULL, a_net); + s_net_states_proc(a_net); } PVT(a_net)->state_target = a_new_state; //PVT(a_net)->flags |= F_DAP_CHAIN_NET_SYNC_FROM_ZERO; // TODO set this flag according to -mode argument from command line @@ -574,7 +574,7 @@ static void s_fill_links_from_root_aliases(dap_chain_net_t * a_net) { dap_chain_net_pvt_t *l_net_pvt = PVT(a_net); for (size_t i = 0; i < l_net_pvt->seed_nodes_count; i++) { - dap_chain_node_info_t l_link_node_info; + dap_chain_node_info_t l_link_node_info = {}; l_link_node_info.hdr.ext_addr_v4 = l_net_pvt->seed_nodes_ipv4[i].sin_addr; l_link_node_info.hdr.ext_port = l_net_pvt->seed_nodes_ipv4[i].sin_port; if (s_net_link_add(a_net, &l_link_node_info) > 0) // Maximum links count reached @@ -1071,9 +1071,8 @@ static void s_net_states_notify(dap_chain_net_t *a_net) * @brief s_net_states_proc * @param l_net */ -static bool s_net_states_proc(dap_proc_thread_t *a_thread, void *a_arg) +static bool s_net_states_proc(void *a_arg) { - UNUSED(a_thread); bool l_repeat_after_exit = false; // If true - repeat on next iteration of proc thread loop dap_chain_net_t *l_net = (dap_chain_net_t *) a_arg; assert(l_net); @@ -2405,7 +2404,7 @@ void dap_chain_net_delete(dap_chain_net_t *a_net) { // Synchronously going to offline state PVT(a_net)->state = PVT(a_net)->state_target = NET_STATE_OFFLINE; - s_net_states_proc(NULL, a_net); + s_net_states_proc(a_net); dap_chain_net_item_t *l_net_item; HASH_FIND(hh, s_net_items, a_net->pub.name, strlen(a_net->pub.name), l_net_item); if (l_net_item) { diff --git a/modules/net/dap_chain_net_decree.c b/modules/net/dap_chain_net_decree.c index a6c105e3d5f368ce7a930adad08e6070732d45e6..b6db60d2cd5329a944647f118dd99f6f4aaacc63 100644 --- a/modules/net/dap_chain_net_decree.c +++ b/modules/net/dap_chain_net_decree.c @@ -34,7 +34,7 @@ #include "dap_chain_net_tx.h" #include "dap_chain_net_srv_stake_pos_delegate.h" #include "dap_chain_node_net_ban_list.h" -#include "dap_enc_http_ban_list_client.h" +#include "dap_http_ban_list_client.h" @@ -478,10 +478,10 @@ static int s_common_decree_handler(dap_chain_datum_decree_t *a_decree, dap_chain dap_hash_fast(a_decree, dap_chain_datum_decree_get_size(a_decree), &l_decree_hash); if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_IP_V4){ struct in_addr l_ip_addr = dap_tsd_get_scalar(l_tsd, struct in_addr); - dap_enc_http_ban_list_client_add_ipv4(l_ip_addr, l_decree_hash, a_decree->header.ts_created); + dap_http_ban_list_client_add_ipv4(l_ip_addr, l_decree_hash, a_decree->header.ts_created); } else if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_IP_V6){ struct in6_addr l_ip_addr = dap_tsd_get_scalar(l_tsd, struct in6_addr); - dap_enc_http_ban_list_client_add_ipv6(l_ip_addr, l_decree_hash, a_decree->header.ts_created); + dap_http_ban_list_client_add_ipv6(l_ip_addr, l_decree_hash, a_decree->header.ts_created); } else if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_NODE_ADDR){ dap_chain_node_addr_t l_addr_node = dap_tsd_get_scalar(l_tsd, dap_chain_node_addr_t); if (!dap_chain_node_net_ban_list_add_node_addr(l_addr_node, l_decree_hash, a_decree->header.ts_created, a_net)) @@ -509,10 +509,10 @@ static int s_common_decree_handler(dap_chain_datum_decree_t *a_decree, dap_chain dap_hash_fast(a_decree, dap_chain_datum_decree_get_size(a_decree), &l_decree_hash); if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_IP_V4){ struct in_addr l_ip_addr = dap_tsd_get_scalar(l_tsd, struct in_addr); - dap_enc_http_ban_list_client_remove_ipv4(l_ip_addr); + dap_http_ban_list_client_remove_ipv4(l_ip_addr); } else if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_IP_V6){ struct in6_addr l_ip_addr = dap_tsd_get_scalar(l_tsd, struct in6_addr); - dap_enc_http_ban_list_client_remove_ipv6(l_ip_addr); + dap_http_ban_list_client_remove_ipv6(l_ip_addr); } else if (l_tsd->type == DAP_CHAIN_DATUM_DECREE_TSD_TYPE_NODE_ADDR){ dap_chain_node_addr_t l_addr_node = dap_tsd_get_scalar(l_tsd, dap_chain_node_addr_t); dap_chain_node_net_ban_list_remove_node_addr(a_net, l_addr_node); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index a247fed0567014c5ebd85abfbc493c892930662b..8e56d3d88195e23f1c0375e6db3683f89cfe9f52 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -482,8 +482,8 @@ static int node_info_dump_with_reply(dap_chain_net_t * a_net, dap_chain_node_add dap_global_db_obj_t *l_aliases_objs = dap_global_db_get_all_sync(a_net->pub.gdb_nodes_aliases, &l_data_size); for (size_t i = 0; i < l_nodes_count; i++) { dap_chain_node_info_t *l_node_info = (dap_chain_node_info_t*)l_objs[i].value; - if (!dap_chain_node_addr_not_null(&l_node_info->hdr.address)){ - log_it(L_ERROR, "Node address is NULL"); + if (dap_chain_node_addr_is_blank(&l_node_info->hdr.address)){ + log_it(L_ERROR, "Node address is empty"); continue; } /* @@ -787,7 +787,7 @@ int com_global_db(int a_argc, char ** a_argv, void **a_str_reply) dap_cli_server_cmd_set_reply_text(a_str_reply, "record already pinned"); break; } - if(dap_global_db_set_sync( l_group, l_key, l_value, l_value_len,true ) ==0 ){ + if(dap_global_db_set_sync( l_group, l_key, l_value, l_value_len, true) ==0 ){ dap_cli_server_cmd_set_reply_text(a_str_reply, "record successfully pinned"); } else{ @@ -1569,8 +1569,8 @@ int com_node(int a_argc, char ** a_argv, void **a_str_reply) } break; case CMD_BANLIST: { dap_string_t *l_str_ban_list = dap_string_new("Ban list:\n"); - dap_enc_http_ban_list_client_ipv4_print(l_str_ban_list); - dap_enc_http_ban_list_client_ipv6_print(l_str_ban_list); + dap_http_ban_list_client_ipv4_print(l_str_ban_list); + dap_http_ban_list_client_ipv6_print(l_str_ban_list); dap_chain_node_net_ban_list_print(l_str_ban_list); dap_cli_server_cmd_set_reply_text(a_str_reply, "%s", l_str_ban_list->str); dap_string_free(l_str_ban_list, true); diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index 98afec04ffcb5401c46382aa0839b25529bdf52b..fab62802869d5e1f002063209ddde223a555baf0 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -973,7 +973,7 @@ static int s_node_client_set_notify_callbacks(dap_client_t *a_client, uint8_t a_ } default: { l_ret = -2; - log_it(L_ERROR, "Unknown channel id %d", a_ch_id); + log_it(L_ERROR, "Unknown channel id %d (%c)", a_ch_id, a_ch_id); break; } } diff --git a/modules/net/dap_chain_node_net_ban_list.c b/modules/net/dap_chain_node_net_ban_list.c index 9df4d9d395730a1badac8455d5bcb872d8bb1025..4ee911be5db6eb038bd9cb92c1719b4e6051fe91 100644 --- a/modules/net/dap_chain_node_net_ban_list.c +++ b/modules/net/dap_chain_node_net_ban_list.c @@ -43,7 +43,7 @@ bool dap_chain_node_net_ban_list_add_node_addr(dap_chain_node_addr_t node_addr, //Resolve addr to ip struct in_addr l_in; if (s_chain_node_net_ban_list_addr_resolve_ip_v4(a_net, node_addr, &l_in)) { - dap_enc_http_ban_list_client_add_ipv4(l_in, a_decree_hash, a_time_created); + dap_http_ban_list_client_add_ipv4(l_in, a_decree_hash, a_time_created); l_record->node_addr = node_addr; l_record->decree_hash = a_decree_hash; l_record->ts_created_decree = a_time_created; @@ -88,7 +88,7 @@ void dap_chain_node_net_ban_list_remove_node_addr(dap_chain_net_t *a_net, dap_ch if (l_record->node_addr.uint64 == node_addr.uint64) { struct in_addr l_in; if (s_chain_node_net_ban_list_addr_resolve_ip_v4(a_net, l_record->node_addr, &l_in)) { - dap_enc_http_ban_list_client_remove_ipv4(l_in); + dap_http_ban_list_client_remove_ipv4(l_in); } else { log_it(L_WARNING, "Can't resolve node address "NODE_ADDR_FP_STR" to ip at remove node addr from ban list", NODE_ADDR_FP_ARGS_S(l_record->node_addr)); diff --git a/modules/net/include/dap_chain_node.h b/modules/net/include/dap_chain_node.h index 4fa078bf0e8593c4fd5b6bf065e8742497035cff..7c11e247ce5aee7274925b93ef27c4cd4d945201 100644 --- a/modules/net/include/dap_chain_node.h +++ b/modules/net/include/dap_chain_node.h @@ -53,7 +53,7 @@ typedef struct dap_chain_node_info { typedef dap_stream_node_addr_t dap_chain_node_addr_t; #define dap_chain_node_addr_str_check dap_stream_node_addr_str_check #define dap_chain_node_addr_from_str dap_stream_node_addr_from_str -#define dap_chain_node_addr_not_null dap_stream_node_addr_not_null +#define dap_chain_node_addr_is_blank dap_stream_node_addr_is_blank /** * Calculate size of struct dap_chain_node_info_t diff --git a/modules/net/include/dap_chain_node_net_ban_list.h b/modules/net/include/dap_chain_node_net_ban_list.h index 8a26fc023555273eca5c1548edfe13033fddf62a..a017d7c9f93715961e660db6aa1e5e4fad583cf6 100644 --- a/modules/net/include/dap_chain_node_net_ban_list.h +++ b/modules/net/include/dap_chain_node_net_ban_list.h @@ -10,7 +10,7 @@ #include "dap_chain_common.h" #include "dap_hash.h" #include "dap_time.h" -#include "dap_enc_http_ban_list_client.h" +#include "dap_http_ban_list_client.h" #include "dap_chain_net.h" #include "uthash.h" diff --git a/modules/net/srv/dap_chain_net_srv_order.c b/modules/net/srv/dap_chain_net_srv_order.c index a3af1a285d6027ebf6e1b79789e95fec45af0c11..d1379bfd22a6c150a7204dc4ddbbbe7693d73dc0 100644 --- a/modules/net/srv/dap_chain_net_srv_order.c +++ b/modules/net/srv/dap_chain_net_srv_order.c @@ -356,7 +356,7 @@ char *dap_chain_net_srv_order_save(dap_chain_net_t *a_net, dap_chain_net_srv_ord : dap_chain_net_srv_order_get_gdb_group(a_net); if (!l_gdb_group_str) return NULL; - int l_rc = dap_global_db_set_sync(l_gdb_group_str, l_order_hash_str, a_order, l_order_size, true); + int l_rc = dap_global_db_set_sync(l_gdb_group_str, l_order_hash_str, a_order, l_order_size, false); DAP_DELETE(l_gdb_group_str); if (l_rc != DAP_GLOBAL_DB_RC_SUCCESS) DAP_DEL_Z(l_order_hash_str); diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index 3bbad15c16162aa5dc6803d8e5c9f8da110d1796..c03c7c942e92a6ecfa39cde92f09a185c771f172 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -205,7 +205,7 @@ static bool s_dag_rounds_events_iter(dap_global_db_instance_t *a_dbi, const size_t a_values_current, const size_t a_values_count, dap_store_obj_t *a_values, void *a_arg) { - dap_return_val_if_pass(a_rc != DAP_GLOBAL_DB_RC_SUCCESS, false); + dap_return_val_if_pass(a_rc == DAP_GLOBAL_DB_RC_ERROR, false); for (size_t i = 0; i < a_values_count; i++) { dap_store_obj_t *l_obj_cur = a_values + i;