From e7b90c2d22ff38afbe6ce651880c33253a907d1d Mon Sep 17 00:00:00 2001 From: "roman.khlopkov" <roman.khlopkov@demlabs.net> Date: Tue, 6 Aug 2024 20:27:21 +0300 Subject: [PATCH] [*] Directive applying fix --- modules/common/dap_chain_common.c | 4 +- modules/common/dap_chain_datum.c | 26 ++++++------ modules/common/dap_chain_datum_decree.c | 8 ++-- modules/common/include/dap_chain_common.h | 2 +- .../consensus/esbocs/dap_chain_cs_esbocs.c | 12 +++--- modules/net/dap_chain_ledger.c | 40 +++++++++---------- modules/net/dap_chain_net.c | 2 +- modules/net/dap_chain_node_cli_cmd.c | 12 +++--- modules/net/dap_chain_node_cli_cmd_tx.c | 6 +-- .../dap_chain_net_srv_stake_pos_delegate.c | 8 ++-- .../xchange/dap_chain_net_srv_xchange.c | 8 ++-- 11 files changed, 65 insertions(+), 63 deletions(-) diff --git a/modules/common/dap_chain_common.c b/modules/common/dap_chain_common.c index 708389e38b..e9d3f1919d 100644 --- a/modules/common/dap_chain_common.c +++ b/modules/common/dap_chain_common.c @@ -68,11 +68,11 @@ size_t dap_chain_hash_slow_to_str( dap_chain_hash_slow_t *a_hash, char *a_str, s } /** - * @brief dap_chain_addr_to_str + * @brief dap_chain_addr_to_str_static * @param a_addr * @return */ -const char *dap_chain_addr_to_str(const dap_chain_addr_t *a_addr) +const char *dap_chain_addr_to_str_static(const dap_chain_addr_t *a_addr) { dap_return_val_if_pass(!a_addr, NULL); if (dap_chain_addr_is_blank(a_addr)) diff --git a/modules/common/dap_chain_datum.c b/modules/common/dap_chain_datum.c index b56d27d774..558c9f504d 100644 --- a/modules/common/dap_chain_datum.c +++ b/modules/common/dap_chain_datum.c @@ -266,12 +266,12 @@ bool dap_chain_datum_dump_tx(dap_chain_datum_tx_t *a_datum, "\t\t Address: %s\n", l_value_str, ((dap_chain_tx_out_old_t*)item)->header.value, - dap_chain_addr_to_str(&((dap_chain_tx_out_old_t*)item)->addr)); + dap_chain_addr_to_str_static(&((dap_chain_tx_out_old_t*)item)->addr)); } break; case TX_ITEM_TYPE_OUT: { // 256 const char *l_coins_str, *l_value_str = dap_uint256_to_char(((dap_chain_tx_out_t*)item)->header.value, &l_coins_str), - *l_addr_str = dap_chain_addr_to_str(&((dap_chain_tx_out_t*)item)->addr); + *l_addr_str = dap_chain_addr_to_str_static(&((dap_chain_tx_out_t*)item)->addr); dap_string_append_printf(a_str_out, "\t OUT:\n" "\t\t Value: %s (%s)\n" "\t\t Address: %s\n", @@ -329,7 +329,7 @@ bool dap_chain_datum_dump_tx(dap_chain_datum_tx_t *a_datum, dap_sign_get_information(l_sign, a_str_out, a_hash_out_type); dap_chain_addr_t l_sender_addr; dap_chain_addr_fill_from_sign(&l_sender_addr, l_sign, a_net_id); - dap_string_append_printf(a_str_out, "\tSender addr: %s\n", dap_chain_addr_to_str(&l_sender_addr)); + dap_string_append_printf(a_str_out, "\tSender addr: %s\n", dap_chain_addr_to_str_static(&l_sender_addr)); } break; case TX_ITEM_TYPE_RECEIPT: { const char *l_coins_str, *l_value_str = dap_uint256_to_char(((dap_chain_datum_tx_receipt_t*)item)->receipt_info.value_datoshi, &l_coins_str); @@ -443,7 +443,7 @@ bool dap_chain_datum_dump_tx(dap_chain_datum_tx_t *a_datum, dap_string_append_printf(a_str_out, "\t\t\t signing_addr: %s\n" "\t\t\t with pkey hash %s\n" "\t\t\t signer_node_addr: "NODE_ADDR_FP_STR"\n", - dap_chain_addr_to_str(l_signing_addr), + dap_chain_addr_to_str_static(l_signing_addr), l_hash_str, NODE_ADDR_FP_ARGS(l_signer_node_addr)); } break; @@ -471,7 +471,7 @@ bool dap_chain_datum_dump_tx(dap_chain_datum_tx_t *a_datum, "\t\t Addr: %s\n" "\t\t Token: %s\n" "\t\t Value: %s (%s)\n", - dap_chain_addr_to_str(&((dap_chain_tx_out_ext_t*)item)->addr), + dap_chain_addr_to_str_static(&((dap_chain_tx_out_ext_t*)item)->addr), ((dap_chain_tx_out_ext_t*)item)->token, l_coins_str, l_value_str); @@ -590,12 +590,12 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, dap_chain_uint256_from(((dap_chain_tx_out_old_t*)item)->header.value), NULL ); json_object_object_add(json_obj_item,"item type", json_object_new_string("OUT OLD")); json_object_object_add(json_obj_item,"Value", json_object_new_uint64(((dap_chain_tx_out_old_t*)item)->header.value)); - json_object_object_add(json_obj_item,"Address", json_object_new_string(dap_chain_addr_to_str(&((dap_chain_tx_out_old_t*)item)->addr))); + json_object_object_add(json_obj_item,"Address", json_object_new_string(dap_chain_addr_to_str_static(&((dap_chain_tx_out_old_t*)item)->addr))); } break; case TX_ITEM_TYPE_OUT: { // 256 const char *l_coins_str, *l_value_str = dap_uint256_to_char(((dap_chain_tx_out_t*)item)->header.value, &l_coins_str), - *l_addr_str = dap_chain_addr_to_str(&((dap_chain_tx_out_t*)item)->addr); + *l_addr_str = dap_chain_addr_to_str_static(&((dap_chain_tx_out_t*)item)->addr); json_object_object_add(json_obj_item,"item type", json_object_new_string("OUT")); json_object_object_add(json_obj_item,"Coins", json_object_new_string(l_coins_str)); json_object_object_add(json_obj_item,"Value", json_object_new_string(l_value_str)); @@ -650,7 +650,7 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, dap_sign_get_information_json(l_sign, json_obj_item, a_hash_out_type); dap_chain_addr_t l_sender_addr; dap_chain_addr_fill_from_sign(&l_sender_addr, l_sign, a_net_id); - json_object_object_add(json_obj_item,"Sender addr", json_object_new_string(dap_chain_addr_to_str(&l_sender_addr))); + json_object_object_add(json_obj_item,"Sender addr", json_object_new_string(dap_chain_addr_to_str_static(&l_sender_addr))); } break; case TX_ITEM_TYPE_RECEIPT: { const char *l_coins_str, *l_value_str = dap_uint256_to_char(((dap_chain_datum_tx_receipt_t*)item)->receipt_info.value_datoshi, &l_coins_str); @@ -747,7 +747,7 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, l_hash_str = dap_strcmp(a_hash_out_type, "hex") ? dap_enc_base58_encode_hash_to_str_static(l_hash_tmp) : dap_chain_hash_fast_to_str_static(l_hash_tmp); - json_object_object_add(json_obj_item,"signing_addr", json_object_new_string(dap_chain_addr_to_str(l_signing_addr))); + json_object_object_add(json_obj_item,"signing_addr", json_object_new_string(dap_chain_addr_to_str_static(l_signing_addr))); json_object_object_add(json_obj_item,"with pkey hash", json_object_new_string(l_hash_str)); sprintf(l_tmp_buff,""NODE_ADDR_FP_STR"",NODE_ADDR_FP_ARGS(l_signer_node_addr)); json_object_object_add(json_obj_item,"signer_node_addr", json_object_new_string(l_tmp_buff)); @@ -772,7 +772,7 @@ bool dap_chain_datum_dump_tx_json(dap_chain_datum_tx_t *a_datum, case TX_ITEM_TYPE_OUT_EXT: { const char *l_coins_str, *l_value_str = dap_uint256_to_char( ((dap_chain_tx_out_ext_t*)item)->header.value, &l_coins_str ); json_object_object_add(json_obj_item,"item type", json_object_new_string("OUT EXT")); - json_object_object_add(json_obj_item,"Addr", json_object_new_string(dap_chain_addr_to_str(&((dap_chain_tx_out_ext_t*)item)->addr))); + json_object_object_add(json_obj_item,"Addr", json_object_new_string(dap_chain_addr_to_str_static(&((dap_chain_tx_out_ext_t*)item)->addr))); json_object_object_add(json_obj_item,"Token", json_object_new_string(((dap_chain_tx_out_ext_t*)item)->token)); json_object_object_add(json_obj_item,"Coins", json_object_new_string(l_coins_str)); json_object_object_add(json_obj_item,"Value", json_object_new_string(l_value_str)); @@ -907,7 +907,7 @@ void dap_chain_datum_dump_json(json_object *a_obj_out, dap_chain_datum_t *a_dat dap_chain_addr_t l_premine_addr = l_token->header_public.premine_address; json_object_object_add(json_obj_datum,"subtype",json_object_new_string("PUBLIC")); json_object_object_add(json_obj_datum,"premine_supply", json_object_new_string(dap_uint256_to_char(l_token->header_public.premine_supply, NULL))); - json_object_object_add(json_obj_datum,"premine_address", json_object_new_string(dap_chain_addr_to_str(&l_premine_addr))); + json_object_object_add(json_obj_datum,"premine_address", json_object_new_string(dap_chain_addr_to_str_static(&l_premine_addr))); dap_chain_datum_token_flags_dump_to_json(json_obj_datum, "flags", l_token->header_public.flags); } break; @@ -969,7 +969,7 @@ void dap_chain_datum_dump_json(json_object *a_obj_out, dap_chain_datum_t *a_dat json_object_object_add(json_obj_datum,"ticker", json_object_new_string(l_emission->hdr.ticker)); json_object_object_add(json_obj_datum,"type", json_object_new_string(dap_chain_datum_emission_type_str(l_emission->hdr.type))); json_object_object_add(json_obj_datum,"version", json_object_new_uint64(l_emission->hdr.version)); - json_object_object_add(json_obj_datum,"to addr", json_object_new_string(dap_chain_addr_to_str(&(l_emission->hdr.address)))); + json_object_object_add(json_obj_datum,"to addr", json_object_new_string(dap_chain_addr_to_str_static(&(l_emission->hdr.address)))); switch (l_emission->hdr.type) { case DAP_CHAIN_DATUM_TOKEN_EMISSION_TYPE_AUTH: @@ -999,7 +999,7 @@ void dap_chain_datum_dump_json(json_object *a_obj_out, dap_chain_datum_t *a_dat snprintf(l_flags, 50, "0x%x", l_emission->data.type_presale.flags); json_object_object_add(json_obj_datum,"flags", json_object_new_string(l_flags)); json_object_object_add(json_obj_datum,"lock_time", json_object_new_string(l_time_str)); - json_object_object_add(json_obj_datum,"addr", json_object_new_string(dap_chain_addr_to_str(&l_emission->data.type_presale.addr))); + json_object_object_add(json_obj_datum,"addr", json_object_new_string(dap_chain_addr_to_str_static(&l_emission->data.type_presale.addr))); } case DAP_CHAIN_DATUM_TOKEN_EMISSION_TYPE_ATOM_OWNER: case DAP_CHAIN_DATUM_TOKEN_EMISSION_TYPE_UNDEFINED: diff --git a/modules/common/dap_chain_datum_decree.c b/modules/common/dap_chain_datum_decree.c index 88317c9c81..6f2bcabbb6 100644 --- a/modules/common/dap_chain_datum_decree.c +++ b/modules/common/dap_chain_datum_decree.c @@ -227,7 +227,7 @@ void dap_chain_datum_decree_dump(dap_string_t *a_str_out, dap_chain_datum_decree } dap_chain_addr_t *l_addr_fee_wallet = /*{ }; _dap_tsd_get_scalar(l_tsd, &l_addr_fee_wallet);*/ _dap_tsd_get_object(l_tsd, dap_chain_addr_t); - dap_string_append_printf(a_str_out, "\tWallet for fee: %s\n", dap_chain_addr_to_str(l_addr_fee_wallet)); + dap_string_append_printf(a_str_out, "\tWallet for fee: %s\n", dap_chain_addr_to_str_static(l_addr_fee_wallet)); break; case DAP_CHAIN_DATUM_DECREE_TSD_TYPE_HASH: if (l_tsd->size != sizeof(dap_hash_fast_t)) { @@ -258,7 +258,7 @@ void dap_chain_datum_decree_dump(dap_string_t *a_str_out, dap_chain_datum_decree } dap_chain_addr_t *l_stake_addr_signing = /*{ }; _dap_tsd_get_scalar(l_tsd, &l_stake_addr_signing);*/ _dap_tsd_get_object(l_tsd, dap_chain_addr_t); - dap_string_append_printf(a_str_out, "\tSigning addr: %s\n", dap_chain_addr_to_str(l_stake_addr_signing)); + dap_string_append_printf(a_str_out, "\tSigning addr: %s\n", dap_chain_addr_to_str_static(l_stake_addr_signing)); dap_chain_hash_fast_t l_pkey_signing = l_stake_addr_signing->data.hash_fast; const char *l_pkey_signing_str = dap_strcmp(a_hash_out_type, "hex") ? dap_enc_base58_encode_hash_to_str_static(&l_pkey_signing) @@ -432,7 +432,7 @@ void dap_chain_datum_decree_dump_json(json_object *a_json_out, dap_chain_datum_d } dap_chain_addr_t *l_addr_fee_wallet = /*{ }; _dap_tsd_get_scalar(l_tsd, &l_addr_fee_wallet);*/ _dap_tsd_get_object(l_tsd, dap_chain_addr_t); - json_object_object_add(a_json_out, "Wallet for fee", json_object_new_string(dap_chain_addr_to_str(l_addr_fee_wallet))); + json_object_object_add(a_json_out, "Wallet for fee", json_object_new_string(dap_chain_addr_to_str_static(l_addr_fee_wallet))); break; case DAP_CHAIN_DATUM_DECREE_TSD_TYPE_HASH: if (l_tsd->size > sizeof(dap_hash_fast_t)) { @@ -463,7 +463,7 @@ void dap_chain_datum_decree_dump_json(json_object *a_json_out, dap_chain_datum_d } dap_chain_addr_t *l_stake_addr_signing = /*{ }; _dap_tsd_get_scalar(l_tsd, &l_stake_addr_signing);*/ _dap_tsd_get_object(l_tsd, dap_chain_addr_t); - json_object_object_add(a_json_out, "Signing addr", json_object_new_string(dap_chain_addr_to_str(l_stake_addr_signing))); + json_object_object_add(a_json_out, "Signing addr", json_object_new_string(dap_chain_addr_to_str_static(l_stake_addr_signing))); dap_chain_hash_fast_t l_pkey_signing = l_stake_addr_signing->data.hash_fast; const char *l_pkey_signing_str = dap_strcmp(a_hash_out_type, "hex") ? dap_enc_base58_encode_hash_to_str_static(&l_pkey_signing) diff --git a/modules/common/include/dap_chain_common.h b/modules/common/include/dap_chain_common.h index eed3f16487..6a3449ba91 100644 --- a/modules/common/include/dap_chain_common.h +++ b/modules/common/include/dap_chain_common.h @@ -198,7 +198,7 @@ extern "C" { size_t dap_chain_hash_slow_to_str(dap_chain_hash_slow_t * a_hash, char * a_str, size_t a_str_max); -const char *dap_chain_addr_to_str(const dap_chain_addr_t *a_addr); +const char *dap_chain_addr_to_str_static(const dap_chain_addr_t *a_addr); dap_chain_addr_t* dap_chain_addr_from_str(const char *str); bool dap_chain_addr_is_blank(const dap_chain_addr_t *a_addr); diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index 2c1d6399f1..5e0a191fe1 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -1267,6 +1267,7 @@ static void s_session_state_change(dap_chain_esbocs_session_t *a_session, enum s a_session->ts_stage_entry = a_time; switch (a_new_state) { + case DAP_CHAIN_ESBOCS_SESSION_STATE_WAIT_PROC: { dap_chain_esbocs_validator_t *l_validator = NULL; if (!a_session->cur_round.validators_list && PVT(a_session->esbocs)->emergency_mode) { @@ -1331,9 +1332,10 @@ static void s_session_state_change(dap_chain_esbocs_session_t *a_session, enum s } } } break; + case DAP_CHAIN_ESBOCS_SESSION_STATE_WAIT_VOTING: { if (a_session->old_state == DAP_CHAIN_ESBOCS_SESSION_STATE_WAIT_PROC) { - // Clear mark of chosen to submit validator + // Clear mark of chosen to submit validator to allow it to submit candidate dap_list_t *l_list = s_validator_check( &a_session->cur_round.attempt_submit_validator, a_session->cur_round.validators_list @@ -1345,7 +1347,7 @@ static void s_session_state_change(dap_chain_esbocs_session_t *a_session, enum s } if (l_validator && l_validator->is_chosen) l_validator->is_chosen = false; - } else + } else if (s_validator_check(&a_session->my_signing_addr, a_session->cur_round.validators_list)) a_session->old_state = DAP_CHAIN_ESBOCS_SESSION_STATE_WAIT_PROC; } break; @@ -1395,6 +1397,7 @@ static void s_session_state_change(dap_chain_esbocs_session_t *a_session, enum s &l_store->precommit_candidate_hash, sizeof(dap_chain_hash_fast_t), a_session->cur_round.validators_list); } break; + case DAP_CHAIN_ESBOCS_SESSION_STATE_PREVIOUS: { if (a_session->old_state != DAP_CHAIN_ESBOCS_SESSION_STATE_PREVIOUS) s_session_state_change(a_session, a_session->old_state, a_time); @@ -1980,12 +1983,11 @@ static int s_session_directive_apply(dap_chain_esbocs_directive_t *a_directive, case DAP_CHAIN_ESBOCS_DIRECTIVE_LIFT: { dap_chain_addr_t *l_key_addr = (dap_chain_addr_t *)(((dap_tsd_t *)a_directive->tsd)->data); int l_status = dap_chain_net_srv_stake_key_delegated(l_key_addr); - const char *l_key_str = dap_chain_hash_fast_to_str_new(&l_key_addr->data.hash_fast); + const char *l_key_str = dap_chain_addr_to_str_static(l_key_addr); if (l_status == 0) { log_it(L_WARNING, "Invalid key %s with directive type %s applying", l_key_str, a_directive->type == DAP_CHAIN_ESBOCS_DIRECTIVE_KICK ? "KICK" : "LIFT"); - DAP_DEL_Z(l_key_str); return -3; } const char *l_penalty_group = s_get_penalty_group(l_key_addr->net_id); @@ -2007,7 +2009,7 @@ static int s_session_directive_apply(dap_chain_esbocs_directive_t *a_directive, a_directive->type == DAP_CHAIN_ESBOCS_DIRECTIVE_KICK ? "excluded from" : "included in"); } - DAP_DEL_MULTY(l_key_str, l_penalty_group, l_directive_hash_str, l_key_hash_str); + DAP_DEL_MULTY(l_penalty_group, l_directive_hash_str, l_key_hash_str); break; } default: diff --git a/modules/net/dap_chain_ledger.c b/modules/net/dap_chain_ledger.c index 46fb4e886d..45b5cdf526 100644 --- a/modules/net/dap_chain_ledger.c +++ b/modules/net/dap_chain_ledger.c @@ -696,7 +696,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain for (size_t i = 0; i < l_new_tx_recv_allow_size; i++) { // Check for all the list if (dap_chain_addr_compare(l_new_tx_recv_allow + i, l_add_addr)) { // Found log_it(L_WARNING, "TSD param TX_RECEIVER_ALLOWED_ADD has address %s thats already present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -743,7 +743,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain break; if (i == l_new_tx_recv_allow_size) { log_it(L_WARNING, "TSD param TX_RECEIVER_ALLOWED_REMOVE has address %s thats not present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -799,7 +799,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain for (size_t i = 0; i < l_new_tx_recv_block_size; i++) { // Check for all the list if (dap_chain_addr_compare(l_new_tx_recv_block + i, l_add_addr)) { // Found log_it(L_WARNING, "TSD param TX_RECEIVER_BLOCKED_ADD has address %s thats already present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -846,7 +846,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain break; if (i == l_new_tx_recv_block_size) { log_it(L_WARNING, "TSD param TX_RECEIVER_BLOCKED_REMOVE has address %s thats not present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -902,7 +902,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain for (size_t i = 0; i < l_new_tx_send_allow_size; i++) { // Check for all the list if (dap_chain_addr_compare(l_new_tx_send_allow + i, l_add_addr)) { // Found log_it(L_WARNING, "TSD param TX_SENDER_ALLOWED_ADD has address %s thats already present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -950,7 +950,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain break; if (i == l_new_tx_send_allow_size) { log_it(L_WARNING, "TSD param TX_SENDER_ALLOWED_REMOVE has address %s thats not present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -1006,7 +1006,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain for (size_t i = 0; i < l_new_tx_send_block_size; i++) { // Check for all the list if (dap_chain_addr_compare(l_new_tx_send_block + i, l_add_addr)) { // Found log_it(L_WARNING, "TSD param TX_SENDER_BLOCKED_ADD has address %s thats already present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -1055,7 +1055,7 @@ static int s_token_tsd_parse(dap_ledger_token_item_t *a_item_apply_to, dap_chain break; if (i == l_new_tx_send_block_size) { log_it(L_WARNING, "TSD param TX_SENDER_BLOCKED_REMOVE has address %s thats not present in list", - dap_chain_addr_to_str(l_add_addr)); + dap_chain_addr_to_str_static(l_add_addr)); ret = DAP_LEDGER_TOKEN_ADD_CHECK_TSD_ADDR_MISMATCH; goto ret_n_clear; } @@ -1926,7 +1926,7 @@ static void s_dump_datum_tx_for_addr(dap_ledger_tx_item_t *a_item, bool a_unspen l_header_printed = true; } //const char *l_token_ticker = dap_ledger_tx_get_token_ticker_by_hash(l_ledger, &l_tx_hash); - const char *l_dst_addr_str = l_dst_addr ? dap_chain_addr_to_str(l_dst_addr) + const char *l_dst_addr_str = l_dst_addr ? dap_chain_addr_to_str_static(l_dst_addr) : dap_chain_tx_out_cond_subtype_to_str( ((dap_chain_tx_out_cond_t *)l_list_out->data)->header.subtype); json_object_object_add(l_json_obj_datum, "send", json_object_new_string(dap_uint256_to_char(l_value, NULL))); @@ -1943,7 +1943,7 @@ static void s_dump_datum_tx_for_addr(dap_ledger_tx_item_t *a_item, bool a_unspen const char *l_dst_token = (l_type == TX_ITEM_TYPE_OUT_EXT) ? (const char *)(((dap_chain_tx_out_ext_t *)l_list_out->data)->token) : NULL; const char *l_src_addr_str = l_base_tx ? "emission" - : (l_src_addr ? dap_chain_addr_to_str(l_src_addr) + : (l_src_addr ? dap_chain_addr_to_str_static(l_src_addr) : dap_chain_tx_out_cond_subtype_to_str( l_src_subtype)); json_object_object_add(l_json_obj_datum, "recv ", json_object_new_string(dap_uint256_to_char(l_value, NULL))); @@ -2785,7 +2785,7 @@ int s_emission_add_check(dap_ledger_t *a_ledger, byte_t *a_token_emission, size_ dap_ledger_check_error_t ret = s_ledger_addr_check(l_token_item, &l_emission->hdr.address, true); if (ret == DAP_LEDGER_CHECK_ADDR_FORBIDDEN) { log_it(L_WARNING, "Address %s is not in allowed to receive for emission of token %s", - dap_chain_addr_to_str(&l_emission->hdr.address), l_token_item->ticker); + dap_chain_addr_to_str_static(&l_emission->hdr.address), l_token_item->ticker); DAP_DELETE(l_emission); return ret; } @@ -2944,7 +2944,7 @@ int dap_ledger_token_emission_add(dap_ledger_t *a_ledger, byte_t *a_token_emissi log_it(L_NOTICE, "Added token emission datum to emissions cache: type=%s value=%s token=%s to_addr=%s", dap_chain_datum_emission_type_str(l_emission->hdr.type), l_balance, l_emission->hdr.ticker, - dap_chain_addr_to_str(&(l_emission->hdr.address))); + dap_chain_addr_to_str_static(&(l_emission->hdr.address))); } if (PVT(a_ledger)->threshold_enabled) s_threshold_txs_proc(a_ledger); @@ -3135,7 +3135,7 @@ void dap_ledger_addr_get_token_ticker_all(dap_ledger_t *a_ledger, dap_chain_addr return; } l_count = 0; - const char *l_addr = dap_chain_addr_to_str(a_addr); + const char *l_addr = dap_chain_addr_to_str_static(a_addr); pthread_rwlock_rdlock(&PVT(a_ledger)->balance_accounts_rwlock); HASH_ITER(hh, PVT(a_ledger)->balance_accounts, wallet_balance, tmp) { char **l_keys = dap_strsplit(wallet_balance->key, " ", -1); @@ -3941,7 +3941,7 @@ static int s_tx_cache_check(dap_ledger_t *a_ledger, } // Check permissions if (s_ledger_addr_check(l_token_item, l_addr_from, false) == DAP_LEDGER_CHECK_ADDR_FORBIDDEN) { - debug_if(s_debug_more, L_WARNING, "No permission to send for addr %s", dap_chain_addr_to_str(l_addr_from)); + debug_if(s_debug_more, L_WARNING, "No permission to send for addr %s", dap_chain_addr_to_str_static(l_addr_from)); l_err_num = DAP_LEDGER_CHECK_ADDR_FORBIDDEN; break; } @@ -4181,7 +4181,7 @@ static int s_tx_cache_check(dap_ledger_t *a_ledger, } // Check permissions if (s_ledger_addr_check(l_token_item, &l_tx_out_to, true) == DAP_LEDGER_CHECK_ADDR_FORBIDDEN) { - debug_if(s_debug_more, L_WARNING, "No permission to receive for addr %s", dap_chain_addr_to_str(&l_tx_out_to)); + debug_if(s_debug_more, L_WARNING, "No permission to receive for addr %s", dap_chain_addr_to_str_static(&l_tx_out_to)); l_err_num = DAP_LEDGER_CHECK_ADDR_FORBIDDEN; break; } @@ -4519,7 +4519,7 @@ int dap_ledger_tx_add(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx, dap_ha case TX_ITEM_TYPE_IN: { dap_ledger_wallet_balance_t *wallet_balance = NULL; l_cur_token_ticker = l_bound_item->in.token_ticker; - const char *l_addr_str = dap_chain_addr_to_str(&l_bound_item->in.addr_from); + const char *l_addr_str = dap_chain_addr_to_str_static(&l_bound_item->in.addr_from); char *l_wallet_balance_key = dap_strjoin(" ", l_addr_str, l_cur_token_ticker, (char*)NULL); pthread_rwlock_rdlock(&PVT(a_ledger)->balance_accounts_rwlock); HASH_FIND_STR(PVT(a_ledger)->balance_accounts, l_wallet_balance_key, wallet_balance); @@ -4634,7 +4634,7 @@ int dap_ledger_tx_add(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx, dap_ha else if (l_addr->net_id.uint64 != a_ledger->net->pub.id.uint64 && !dap_chain_addr_is_blank(l_addr)) l_cross_network = true; - const char *l_addr_str = dap_chain_addr_to_str(l_addr); + const char *l_addr_str = dap_chain_addr_to_str_static(l_addr); dap_ledger_wallet_balance_t *wallet_balance = NULL; char *l_wallet_balance_key = dap_strjoin(" ", l_addr_str, l_cur_token_ticker, (char*)NULL); debug_if(s_debug_more, L_DEBUG, "GOT %s to addr: %s", @@ -4854,7 +4854,7 @@ int dap_ledger_tx_remove(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx, dap case TX_ITEM_TYPE_IN: { dap_ledger_wallet_balance_t *wallet_balance = NULL; l_cur_token_ticker = l_bound_item->in.token_ticker; - const char *l_addr_str = dap_chain_addr_to_str(&l_bound_item->in.addr_from); + const char *l_addr_str = dap_chain_addr_to_str_static(&l_bound_item->in.addr_from); char *l_wallet_balance_key = dap_strjoin(" ", l_addr_str, l_cur_token_ticker, (char*)NULL); pthread_rwlock_rdlock(&PVT(a_ledger)->balance_accounts_rwlock); HASH_FIND_STR(PVT(a_ledger)->balance_accounts, l_wallet_balance_key, wallet_balance); @@ -4971,7 +4971,7 @@ int dap_ledger_tx_remove(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx, dap else if (l_addr->net_id.uint64 != a_ledger->net->pub.id.uint64 && !dap_chain_addr_is_blank(l_addr)) l_cross_network = true; - const char *l_addr_str = dap_chain_addr_to_str(l_addr); + const char *l_addr_str = dap_chain_addr_to_str_static(l_addr); dap_ledger_wallet_balance_t *wallet_balance = NULL; char *l_wallet_balance_key = dap_strjoin(" ", l_addr_str, l_cur_token_ticker, (char*)NULL); if(s_debug_more) { @@ -5248,7 +5248,7 @@ uint256_t dap_ledger_calc_balance(dap_ledger_t *a_ledger, const dap_chain_addr_t uint256_t l_ret = uint256_0; dap_ledger_wallet_balance_t *l_balance_item = NULL;// ,* l_balance_item_tmp = NULL; - const char *l_addr = dap_chain_addr_to_str(a_addr); + const char *l_addr = dap_chain_addr_to_str_static(a_addr); char *l_wallet_balance_key = dap_strjoin(" ", l_addr, a_token_ticker, (char*)NULL); pthread_rwlock_rdlock(&PVT(a_ledger)->balance_accounts_rwlock); HASH_FIND_STR(PVT(a_ledger)->balance_accounts, l_wallet_balance_key, l_balance_item); diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 476e0cb8ea..4612d62ec2 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -1373,7 +1373,7 @@ static int s_cli_net(int argc, char **argv, void **reply) json_object *l_jobj_fee_coins = json_object_new_string(l_network_fee_coins_str); json_object *l_jobj_fee_balance = json_object_new_string(l_network_fee_balance_str); json_object *l_jobj_native_ticker = json_object_new_string(l_net->pub.native_ticker); - json_object *l_jobj_fee_addr = json_object_new_string(dap_chain_addr_to_str(&l_network_fee_addr)); + json_object *l_jobj_fee_addr = json_object_new_string(dap_chain_addr_to_str_static(&l_network_fee_addr)); if (!l_jobj_network || !l_jobj_fee_coins || !l_jobj_fee_balance || !l_jobj_native_ticker || !l_jobj_fee_addr) { json_object_put(l_jobj_fees); json_object_put(l_jobj_network); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 316dc9e936..e0cb08507e 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -1896,7 +1896,7 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE; if (l_wallet) { l_addr = l_net ? dap_chain_wallet_get_addr(l_wallet, l_net->pub.id) : NULL; - const char *l_addr_str = dap_chain_addr_to_str(l_addr); + const char *l_addr_str = dap_chain_addr_to_str_static(l_addr); json_object_object_add(json_obj_wall, "Wallet", json_object_new_string(l_file_name)); if(l_wallet->flags & DAP_WALLET$M_FL_ACTIVE) @@ -1970,7 +1970,7 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE; } } json_object * json_obj_wall = json_object_new_object(); - const char *l_l_addr_str = dap_chain_addr_to_str((dap_chain_addr_t*) l_addr); + const char *l_l_addr_str = dap_chain_addr_to_str_static((dap_chain_addr_t*) l_addr); if(l_wallet) { json_object_object_add(json_obj_wall, "sign", json_object_new_string( @@ -2254,7 +2254,7 @@ int l_arg_index = 1, l_rc, cmd_num = CMD_NONE; l_addr = l_net ? dap_chain_wallet_get_addr(l_wallet,l_net->pub.id ) : NULL; - const char *l_addr_str = dap_chain_addr_to_str(l_addr); + const char *l_addr_str = dap_chain_addr_to_str_static(l_addr); json_object * json_obj_wall = json_object_new_object(); json_object_object_add(json_obj_wall, "Wallet name", json_object_new_string(l_wallet->name)); if (l_sign_count > 1) { @@ -2928,7 +2928,7 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a }*/ dap_list_free(l_list_in_reward); } else { - json_object *l_jobj_addr_from = json_object_new_string(dap_chain_addr_to_str(&l_addr_from)); + json_object *l_jobj_addr_from = json_object_new_string(dap_chain_addr_to_str_static(&l_addr_from)); if (!l_jobj_addr_from) { json_object_put(l_jobj_datum); json_object_put(l_jobj_datums); @@ -3121,7 +3121,7 @@ void s_com_mempool_list_print_for_chain(dap_chain_net_t * a_net, dap_chain_t * a else json_object_array_add(l_jobj_change_list, l_jobj_f); } else { - json_object_object_add(l_jobj_f, "addr", json_object_new_string(dap_chain_addr_to_str(l_dist_addr))); + json_object_object_add(l_jobj_f, "addr", json_object_new_string(dap_chain_addr_to_str_static(l_dist_addr))); json_object_array_add(l_jobj_to_list, l_jobj_f); } } else { @@ -7378,7 +7378,7 @@ int com_tx_history(int a_argc, char ** a_argv, void **a_str_reply) if (!json_obj_summary) { return DAP_CHAIN_NODE_CLI_COM_TX_HISTORY_MEMORY_ERR; } - json_obj_out = dap_db_history_addr(l_addr, l_chain, l_hash_out_type, dap_chain_addr_to_str(l_addr), json_obj_summary, l_limit, l_offset, l_brief, l_tx_srv_str, l_action); + json_obj_out = dap_db_history_addr(l_addr, l_chain, l_hash_out_type, dap_chain_addr_to_str_static(l_addr), json_obj_summary, l_limit, l_offset, l_brief, l_tx_srv_str, l_action); if (!json_obj_out) { dap_json_rpc_error_add(DAP_CHAIN_NODE_CLI_COM_TX_HISTORY_DAP_DB_HISTORY_ADDR_ERR, "something went wrong in tx_history"); diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c index adca25fca8..ee80895e98 100644 --- a/modules/net/dap_chain_node_cli_cmd_tx.c +++ b/modules/net/dap_chain_node_cli_cmd_tx.c @@ -571,7 +571,7 @@ size_t datums = 0; if (l_base_tx) l_src_str = l_reward_collect ? "reward collecting" : "emission"; else if (l_src_addr && dap_strcmp(l_dst_token, l_noaddr_token)) - l_src_str = dap_chain_addr_to_str(l_src_addr); + l_src_str = dap_chain_addr_to_str_static(l_src_addr); else l_src_str = dap_chain_tx_out_cond_subtype_to_str(l_src_subtype); if (l_is_unstake) @@ -617,7 +617,7 @@ size_t datums = 0; l_header_printed = true; } - const char *l_dst_addr_str = l_dst_addr ? dap_chain_addr_to_str(l_dst_addr) + const char *l_dst_addr_str = l_dst_addr ? dap_chain_addr_to_str_static(l_dst_addr) : dap_chain_tx_out_cond_subtype_to_str( ((dap_chain_tx_out_cond_t *)it->data)->header.subtype); const char *l_coins_str, *l_value_str = dap_uint256_to_char(l_value, &l_coins_str); @@ -1230,7 +1230,7 @@ int com_token(int a_argc, char ** a_argv, void **a_str_reply) l_addr_base58 = DAP_NEW_SIZE(dap_chain_addr_t, sizeof(dap_chain_addr_t)); memcpy(l_addr_base58, l_addr_tmp, sizeof(dap_chain_addr_t)); dap_chain_wallet_close(l_wallet); - char *ffl_addr_base58 = dap_chain_addr_to_str(l_addr_base58); + char *ffl_addr_base58 = dap_chain_addr_to_str_static(l_addr_base58); ffl_addr_base58 = 0; } else { 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 91452779e5..93b440240f 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 @@ -1653,7 +1653,7 @@ static int s_cli_srv_stake_order(int a_argc, char **a_argv, int a_arg_index, voi if (!l_error) { const char *l_tax_str; dap_uint256_to_char(l_tax, &l_tax_str); dap_string_append_printf(l_reply_str, " sovereign_tax: %s%%\n sovereign_addr: %s\n", - l_tax_str, dap_chain_addr_to_str(&l_addr)); + l_tax_str, dap_chain_addr_to_str_static(&l_addr)); } else dap_string_append(l_reply_str, " Conditional tx not found or illegal\n"); } @@ -1831,7 +1831,7 @@ static int s_cli_srv_stake_delegate(int a_argc, char **a_argv, int a_arg_index, #if EXTENDED_SRV_DEBUG { char *l_tax_str = dap_chain_balance_to_coins(l_sovereign_tax); - char *l_addr_str = dap_chain_addr_to_str(&l_sovereign_addr); + char *l_addr_str = dap_chain_addr_to_str_static(&l_sovereign_addr); log_it(L_NOTICE, "Delegation tx params: tax = %s%%, addr = %s", l_tax_str, l_addr_str); DAP_DEL_Z(l_tax_str); DAP_DEL_Z(l_addr_str); @@ -2161,7 +2161,7 @@ static void s_srv_stake_print(dap_chain_net_srv_stake_item_t *a_stake, uint256_t if (dap_chain_esbocs_started(a_stake->signing_addr.net_id)) snprintf(l_active_str, 32, "\tActive: %s\n", a_stake->is_active ? "true" : "false"); const char *l_sov_addr_str = dap_chain_addr_is_blank(&a_stake->sovereign_addr) ? - "null" : dap_chain_addr_to_str(&a_stake->sovereign_addr); + "null" : dap_chain_addr_to_str_static(&a_stake->sovereign_addr); uint256_t l_sov_tax_percent = uint256_0; MULT_256_256(a_stake->sovereign_tax, GET_256_FROM_64(100), &l_sov_tax_percent); char *l_sov_tax_str = dap_chain_balance_to_coins(l_sov_tax_percent); @@ -2658,7 +2658,7 @@ static int s_cli_srv_stake(int a_argc, char **a_argv, void **a_str_reply) dap_chain_hash_fast_to_str(&l_tx_out_cond->subtype.srv_stake_pos_delegate.signing_addr.data.hash_fast, l_pkey_hash_str, sizeof(l_pkey_hash_str)); l_balance = dap_uint256_to_char(l_tx_out_cond->header.value, &l_coins); - l_signing_addr_str = dap_chain_addr_to_str(&l_tx_out_cond->subtype.srv_stake_pos_delegate.signing_addr); + l_signing_addr_str = dap_chain_addr_to_str_static(&l_tx_out_cond->subtype.srv_stake_pos_delegate.signing_addr); dap_string_append_printf(l_str_tmp,"signing_addr:\t%s \n",l_signing_addr_str); dap_string_append_printf(l_str_tmp,"signing_hash:\t%s \n",l_pkey_hash_str); l_node_address_text_block = dap_strdup_printf("node_address:\t" NODE_ADDR_FP_STR,NODE_ADDR_FP_ARGS_S(l_tx_out_cond->subtype.srv_stake_pos_delegate.signer_node_addr)); diff --git a/modules/service/xchange/dap_chain_net_srv_xchange.c b/modules/service/xchange/dap_chain_net_srv_xchange.c index 3eb9bc5770..55b491adc6 100644 --- a/modules/service/xchange/dap_chain_net_srv_xchange.c +++ b/modules/service/xchange/dap_chain_net_srv_xchange.c @@ -469,7 +469,7 @@ static dap_chain_datum_tx_t *s_xchange_tx_create_request(dap_chain_net_srv_xchan &l_seller_addr, l_value_need, &l_value_transfer); if(!l_list_used_out) { log_it(L_WARNING, "Nothing to change from %s (not enough funds in %s (%s))", - dap_chain_addr_to_str( &l_seller_addr), a_price->token_sell, dap_chain_balance_print(l_value_need)); + dap_chain_addr_to_str_static( &l_seller_addr), a_price->token_sell, dap_chain_balance_print(l_value_need)); return NULL; } @@ -617,7 +617,7 @@ static dap_chain_datum_tx_t *s_xchange_tx_create_exchange(dap_chain_net_srv_xcha &l_buyer_addr, l_value_need, &l_value_transfer); if (!l_list_used_out) { log_it(L_WARNING, "Nothing to change from %s (not enough funds in %s (%s))", - dap_chain_addr_to_str( &l_buyer_addr), a_price->token_buy, dap_chain_balance_print(l_value_need)); + dap_chain_addr_to_str_static( &l_buyer_addr), a_price->token_buy, dap_chain_balance_print(l_value_need)); return NULL; } bool l_pay_with_native = !dap_strcmp(a_price->token_sell, l_native_ticker); @@ -2619,7 +2619,7 @@ json_object *dap_chain_net_srv_xchange_print_fee_json(dap_chain_net_t *a_net) { json_object *l_jobj_xchange = json_object_new_object(); json_object_object_add(l_jobj_xchange, "coin", json_object_new_string(l_fee_coins)); json_object_object_add(l_jobj_xchange, "balance", json_object_new_string(l_fee_balance)); - json_object_object_add(l_jobj_xchange, "addr", json_object_new_string(dap_chain_addr_to_str(&l_addr))); + json_object_object_add(l_jobj_xchange, "addr", json_object_new_string(dap_chain_addr_to_str_static(&l_addr))); json_object_object_add(l_jobj_xchange, "type", json_object_new_string(dap_chain_net_srv_fee_type_to_str((dap_chain_net_srv_fee_type_t)l_type))); return l_jobj_xchange; } else { @@ -2639,7 +2639,7 @@ void dap_chain_net_srv_xchange_print_fee(dap_chain_net_t *a_net, dap_string_t *a "\t\tFee: %s (%s)\n" "\t\tAddr: %s\n" "\t\tType: %s\n", - l_fee_coins, l_fee_balance, dap_chain_addr_to_str(&l_addr), + l_fee_coins, l_fee_balance, dap_chain_addr_to_str_static(&l_addr), dap_chain_net_srv_fee_type_to_str((dap_chain_net_srv_fee_type_t)l_type)); } else { dap_string_append_printf(a_string_ret, "\txchange:\n" -- GitLab