From 46c6611769b6796229b8e505b311d6ce60b02f5c Mon Sep 17 00:00:00 2001 From: Roman Khlopkov <roman.khlopkov@demlabs.net> Date: Thu, 6 Apr 2023 16:31:36 +0300 Subject: [PATCH] [*] Extended debug output for esbocs --- modules/consensus/esbocs/dap_chain_cs_esbocs.c | 12 ++++++++++-- .../stake_lock/dap_chain_net_srv_stake_lock.c | 7 +++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index dda86267b6..dfd55ecfff 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -184,7 +184,7 @@ static int s_callback_new(dap_chain_t *a_chain, dap_config_t *a_chain_cfg) } log_it(L_MSG, "add validator addr:"NODE_ADDR_FP_STR"", NODE_ADDR_FP_ARGS_S(l_signer_node_addr)); if (l_esbocs_pvt->poa_mode) { // auth by certs in PoA mode - dap_chain_esbocs_validator_t *l_validator = DAP_NEW(dap_chain_esbocs_validator_t); + dap_chain_esbocs_validator_t *l_validator = DAP_NEW_Z(dap_chain_esbocs_validator_t); l_validator->signing_addr = l_signing_addr; l_validator->node_addr = l_signer_node_addr; l_validator->weight = uint256_1; @@ -381,6 +381,14 @@ static dap_list_t *s_get_validators_list(dap_chain_esbocs_session_t *a_session, dap_pseudo_random_seed(*(uint256_t *)a_seed_hash); for (size_t l_current_vld_cnt = 0; l_current_vld_cnt < l_need_vld_cnt; l_current_vld_cnt++) { uint256_t l_chosen_weight = dap_pseudo_random_get(l_total_weight); + if (PVT(a_session->esbocs)->debug) { + char *l_chosen_weignt_str = dap_chain_balance_print(l_chosen_weight); + char *l_seed_hash_str = dap_hash_fast_to_str_new(&a_session->cur_round.last_block_hash); + log_it(L_MSG, "Round seed %s, sync attempt %"DAP_UINT64_FORMAT_U", chosen weight %s", + l_seed_hash_str, a_session->cur_round.sync_attempt, l_chosen_weignt_str); + DAP_DELETE(l_chosen_weignt_str); + DAP_DELETE(l_seed_hash_str); + } dap_list_t *l_chosen = NULL; uint256_t l_cur_weight = uint256_0; for (dap_list_t *it = l_validators; it; it = it->next) { @@ -1246,7 +1254,7 @@ static void s_session_packet_in(void *a_arg, dap_chain_node_addr_t *a_sender_nod l_sync_attempt, l_session->cur_round.sync_attempt); for (uint64_t i = 0; i < l_attempts_miss - 1; i++) { // Fast-forward current sync attempt - s_get_validators_list(l_session, NULL); + dap_list_free_full(s_get_validators_list(l_session, NULL), NULL); l_session->cur_round.sync_attempt++; } // Process this message in new round, it will increment current sync attempt diff --git a/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c b/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c index c2ac258af9..05e180e58d 100644 --- a/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c +++ b/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c @@ -317,12 +317,11 @@ static enum error_code s_cli_hold(int a_argc, char **a_argv, int a_arg_index, da if (dap_strlen(l_time_staking_str) != 6) return TIME_ERROR; - char *l_time_staking_day_str = dap_strdup_printf("%c%c", l_time_staking_str[4], l_time_staking_str[5]); + char l_time_staking_day_str[2] = {l_time_staking_str[4], l_time_staking_str[5]}; int l_time_staking_day = atoi(l_time_staking_day_str); - char *l_time_staking_month_str = dap_strdup_printf("%c%c", l_time_staking_str[2], l_time_staking_str[3]); + char l_time_staking_month_str[2] = {l_time_staking_str[2], l_time_staking_str[3]}; int l_time_staking_month = atoi(l_time_staking_month_str); - DAP_DELETE(l_time_staking_day_str); - DAP_DELETE(l_time_staking_month_str); + if (l_time_staking_month < 1 || l_time_staking_month > 12) return TIME_ERROR; -- GitLab