From 7cb1ee4e39a946d9247736ea8e1271a1b836dc1d Mon Sep 17 00:00:00 2001 From: Roman Khlopkov <roman.khlopkov@demlabs.net> Date: Tue, 2 Jul 2024 16:30:42 +0300 Subject: [PATCH] [*] Srv_stake check related changes --- dap-sdk | 2 +- modules/net/dap_chain_node_client.c | 13 +++++++------ .../stake/dap_chain_net_srv_stake_pos_delegate.c | 5 +++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/dap-sdk b/dap-sdk index dbe2fe1f58..fef9c1e0ed 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit dbe2fe1f5893776de3cb67ac2eb05e4885fe4332 +Subproject commit fef9c1e0ed18345ba26aa8ffe610cc83a55899f2 diff --git a/modules/net/dap_chain_node_client.c b/modules/net/dap_chain_node_client.c index 2c6de201ba..85c1e97920 100644 --- a/modules/net/dap_chain_node_client.c +++ b/modules/net/dap_chain_node_client.c @@ -297,8 +297,9 @@ bool dap_chain_node_client_connect(dap_chain_node_client_t *a_node_client, const dap_client_set_is_always_reconnect(a_node_client->client, false); a_node_client->client->_inheritor = a_node_client; dap_client_set_active_channels_unsafe(a_node_client->client, a_active_channels); - const char *l_cert_node_name = dap_config_get_item_str(a_node_client->net->pub.config, "general", "auth_cert"); - dap_client_set_auth_cert(a_node_client->client, l_cert_node_name); + const char *l_auth_cert_name = dap_config_get_item_str(a_node_client->net->pub.config, "general", "auth_cert"); + if (l_auth_cert_name) + dap_client_set_auth_cert(a_node_client->client, l_auth_cert_name); char *l_host_addr = a_node_client->info->ext_host; if ( !*l_host_addr || !strcmp(l_host_addr, "::") || !a_node_client->info->ext_port ) { @@ -320,7 +321,7 @@ bool dap_chain_node_client_connect(dap_chain_node_client_t *a_node_client, const */ void dap_chain_node_client_close_unsafe(dap_chain_node_client_t *a_node_client) { - log_it(L_INFO, "Closing node client to uplink"NODE_ADDR_FP_STR" [ %s : %u ]", + log_it(L_INFO, "Closing node client to uplink "NODE_ADDR_FP_STR" [ %s : %u ]", NODE_ADDR_FP_ARGS_S(a_node_client->remote_node_addr), a_node_client->info->ext_host, a_node_client->info->ext_port); @@ -396,8 +397,8 @@ int dap_chain_node_client_wait(dap_chain_node_client_t *a_client, int a_waited_s // prepare for signal waiting struct timespec l_cond_timeout; - clock_gettime( CLOCK_MONOTONIC, &l_cond_timeout); - l_cond_timeout.tv_sec += a_timeout_ms/1000; + clock_gettime(CLOCK_REALTIME, &l_cond_timeout); + l_cond_timeout.tv_sec += a_timeout_ms;//1000; // signal waiting dap_chain_node_client_state_t l_clinet_state = a_client->state; while (a_client->state == l_clinet_state) { @@ -410,7 +411,7 @@ int dap_chain_node_client_wait(dap_chain_node_client_t *a_client, int a_waited_s break; } else if(l_ret_wait == ETIMEDOUT) { // 110 260 - //log_it(L_NOTICE,"Wait for status is stopped by timeout"); + log_it(L_NOTICE, "Wait for status is stopped by timeout"); ret = -1; break; }else if (l_ret_wait != 0 ){ diff --git a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c index cb3b482092..5417154917 100644 --- a/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c +++ b/modules/service/stake/dap_chain_net_srv_stake_pos_delegate.c @@ -2301,7 +2301,8 @@ int dap_chain_net_srv_stake_check_validator(dap_chain_net_t * a_net, dap_hash_fa if (l_sign_correct) l_sign_correct = !dap_sign_verify_all(l_sign, validators_data->header.sign_size, l_test_data, sizeof(l_test_data)); } - l_overall_correct = l_sign_correct && validators_data->header.flags == 0xCF; + l_overall_correct = l_sign_correct && (validators_data->header.flags & A_PROC) && (validators_data->header.flags & F_ORDR) && + (validators_data->header.flags & D_SIGN) && (validators_data->header.flags & F_CERT); *out_data = *validators_data; out_data->header.sign_correct = l_sign_correct ? 1 : 0; out_data->header.overall_correct = l_overall_correct ? 1 : 0; @@ -2408,7 +2409,7 @@ static int s_cli_srv_stake(int a_argc, char **a_argv, void **a_str_reply) int res = dap_chain_net_srv_stake_check_validator(l_net, &l_tx, &l_out, 10000, 15000); switch (res) { case -4: - dap_cli_server_cmd_set_reply_text(a_str_reply,"Requested conditional transaction has no requires conditional output"); + dap_cli_server_cmd_set_reply_text(a_str_reply,"Requested conditional transaction has no required conditional output"); return -30; break; case -5: -- GitLab