From 8d106311d4becb74d8fa85fa9cb1b222565ae975 Mon Sep 17 00:00:00 2001 From: "pavel.uhanov" <pavel.uhanov@demlabs.net> Date: Fri, 27 Dec 2024 20:08:45 +0300 Subject: [PATCH] [*] warn fix --- dap-sdk | 2 +- modules/common/dap_chain_datum_decree.c | 5 +++++ modules/common/include/dap_chain_datum_tx_items.h | 4 ++-- modules/net/dap_chain_ledger.c | 10 ++++------ modules/net/dap_chain_node_cli_cmd.c | 10 ++++++---- .../stake/dap_chain_net_srv_stake_pos_delegate.c | 15 +++++++++------ modules/wallet/include/dap_chain_wallet.h | 2 +- 7 files changed, 28 insertions(+), 20 deletions(-) diff --git a/dap-sdk b/dap-sdk index be9a954d95..d53d1ce3be 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit be9a954d95a347cab6f2bc4c36fae9a21853e0bb +Subproject commit d53d1ce3bea6a148aad3ea777e46c67f7249cc74 diff --git a/modules/common/dap_chain_datum_decree.c b/modules/common/dap_chain_datum_decree.c index 62d1130daa..e2f613465f 100644 --- a/modules/common/dap_chain_datum_decree.c +++ b/modules/common/dap_chain_datum_decree.c @@ -149,6 +149,11 @@ int dap_chain_datum_decree_get_ban_addr(dap_chain_datum_decree_t *a_decree, cons return l_tsd ? ( *a_addr = dap_tsd_get_string_const(l_tsd), !dap_strcmp(*a_addr, DAP_TSD_CORRUPTED_STRING) ) : 1; } +/** + * @brief get pkey from decree tsd + * @param a_decree + * @return pointer to dap_pkey_t if find, if not or error - NULL + */ dap_pkey_t *dap_chain_datum_decree_get_pkey(dap_chain_datum_decree_t *a_decree) { dap_return_val_if_fail(a_decree, NULL); diff --git a/modules/common/include/dap_chain_datum_tx_items.h b/modules/common/include/dap_chain_datum_tx_items.h index b5a9a3e769..ed732c9793 100644 --- a/modules/common/include/dap_chain_datum_tx_items.h +++ b/modules/common/include/dap_chain_datum_tx_items.h @@ -189,8 +189,8 @@ dap_chain_tx_out_cond_t *dap_chain_datum_tx_item_out_cond_create_srv_xchange(dap const char *a_token, uint256_t a_value_rate, const dap_chain_addr_t *a_seller_addr, const void *a_params, uint32_t a_params_size); -DAP_STATIC_INLINE uint32_t dap_chain_datum_tx_item_out_cond_create_srv_stake_get_tsd_size(bool a_sovereign_addr, uint32_t a_pkey) { - return a_sovereign_addr ? sizeof(dap_chain_addr_t) + sizeof(uint256_t) + 2 * sizeof(dap_tsd_t) : 0 + a_pkey ? a_pkey + sizeof(dap_tsd_t) : 0; +DAP_STATIC_INLINE uint32_t dap_chain_datum_tx_item_out_cond_create_srv_stake_get_tsd_size(bool a_sovereign_addr, uint32_t a_pkey_size) { + return a_sovereign_addr ? sizeof(dap_chain_addr_t) + sizeof(uint256_t) + 2 * sizeof(dap_tsd_t) : 0 + a_pkey_size ? a_pkey_size + sizeof(dap_tsd_t) : 0; } /** diff --git a/modules/net/dap_chain_ledger.c b/modules/net/dap_chain_ledger.c index e409626a4e..7132809794 100644 --- a/modules/net/dap_chain_ledger.c +++ b/modules/net/dap_chain_ledger.c @@ -5920,12 +5920,10 @@ dap_chain_token_ticker_str_t dap_ledger_tx_calculate_main_ticker_(dap_ledger_t * } /** - * Get the transaction in the cache by the public key that signed the transaction, - * starting from the next hash after a_tx_first_hash - * - * a_public_key[in] public key that signed the transaction - * a_public_key_size[in] public key size - * a_tx_first_hash [in/out] hash of the initial transaction/ found transaction, if 0 start from the beginning + * @brief dap_ledger_find_pkey_by_hash + * @param a_ledger to search + * @param a_pkey_hash - pkey hash + * @return pointer to dap_pkey_t if finded, other - NULL */ dap_pkey_t *dap_ledger_find_pkey_by_hash(dap_ledger_t *a_ledger, dap_chain_hash_fast_t *a_pkey_hash) { diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 0c8030c9d6..ead3995d2b 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -6431,16 +6431,18 @@ int com_tx_create_json(int a_argc, char ** a_argv, void **a_json_arr_reply) break; } dap_pkey_t *l_pkey = NULL; - const char *l_pkey_str = s_json_get_text(l_json_item_obj, "pkey"); - if(l_pkey_str) { - size_t l_pkey_str_len = strlen(l_pkey_str); + const char *l_pkey_full_str = s_json_get_text(l_json_item_obj, "pkey_full"); + if(l_pkey_full_str) { + size_t l_pkey_str_len = strlen(l_pkey_full_str); l_pkey = DAP_NEW_Z_SIZE(dap_pkey_t, DAP_ENC_BASE64_DECODE_SIZE(l_pkey_str_len) + 1); if (!l_pkey) { log_it(L_CRITICAL, "%s", c_error_memory_alloc); break; } - size_t l_pkey_len = dap_enc_base64_decode(l_pkey_str, l_pkey_str_len, l_pkey, DAP_ENC_DATA_TYPE_B64); + size_t l_pkey_len = dap_enc_base64_decode(l_pkey_full_str, l_pkey_str_len, l_pkey, DAP_ENC_DATA_TYPE_B64); debug_if(l_pkey_len != l_pkey->header.size + sizeof(dap_pkey_t), L_ERROR, "Json TX: bad pkey in OUT_COND_SUBTYPE_SRV_STAKE_POS_DELEGATE"); + DAP_DELETE(l_pkey); + l_pkey = NULL; } dap_chain_tx_out_cond_t *l_out_cond_item = dap_chain_datum_tx_item_out_cond_create_srv_stake(l_srv_uid, l_value, l_signing_addr, 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 ce60d8a789..04530df5c2 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 @@ -135,7 +135,7 @@ static bool s_tag_check_key_delegation(dap_ledger_t *a_ledger, dap_chain_datum_t return false; } -DAP_STATIC_INLINE dap_pkey_t *s_get_pkey_by_hash_callback(const uint8_t *a_hash) +static dap_pkey_t *s_get_pkey_by_hash_callback(const uint8_t *a_hash) { dap_chain_net_srv_stake_item_t *l_stake = NULL; @@ -563,6 +563,11 @@ void dap_chain_net_srv_stake_key_update(dap_chain_addr_t *a_signing_addr, uint25 s_stake_recalculate_weights(a_signing_addr->net_id); } +/** + * @brief add pkey to dap_chain_net_srv_stake_item_t + * @param a_net to add + * @param a_pkey + */ void dap_chain_net_srv_stake_pkey_update(dap_chain_net_t *a_net, dap_pkey_t *a_pkey) { dap_return_if_pass(!a_net || !a_pkey); @@ -2317,9 +2322,7 @@ static int s_cli_srv_stake_delegate(int a_argc, char **a_argv, int a_arg_index, log_it(L_WARNING, "Requested conditional transaction have another ticker (not %s)", l_delegated_ticker); return DAP_CHAIN_NODE_CLI_SRV_STAKE_DELEGATE_ANOTHER_TICKER_ERR; } - if ( - l_cond->tsd_size == dap_chain_datum_tx_item_out_cond_create_srv_stake_get_tsd_size(true, 0) - ) { + if (l_cond->tsd_size == dap_chain_datum_tx_item_out_cond_create_srv_stake_get_tsd_size(true, 0)) { dap_json_rpc_error_add(*a_json_arr_reply, DAP_CHAIN_NODE_CLI_SRV_STAKE_DELEGATE_INVALID_COND_TX_FORMAT_ERR, "The order's conditional transaction has invalid format"); dap_enc_key_delete(l_enc_key); DAP_DELETE(l_order); @@ -2512,11 +2515,11 @@ static int s_cli_srv_stake_pkey_show(int a_argc, char **a_argv, int a_arg_index, if (!l_srv_stake) { dap_json_rpc_error_add(*a_json_arr_reply, DAP_CHAIN_NODE_CLI_SRV_STAKE_DELEGATE_INVALID_PKEY_ERR, "Specified net have no stake service activated"); return -25; - } + } // search in curren dap_chain_net_srv_stake_item_t *l_stake = NULL; HASH_FIND(hh, l_srv_stake->itemlist, &l_pkey_hash, sizeof(dap_hash_fast_t), l_stake); - const dap_pkey_t *l_pkey = l_stake ? l_stake->pkey : NULL; + dap_pkey_t *l_pkey = l_stake ? l_stake->pkey : NULL; if (!l_pkey) { l_pkey = dap_ledger_find_pkey_by_hash(l_net->pub.ledger, &l_pkey_hash); } diff --git a/modules/wallet/include/dap_chain_wallet.h b/modules/wallet/include/dap_chain_wallet.h index 113ab9fb32..8c56d1e53d 100644 --- a/modules/wallet/include/dap_chain_wallet.h +++ b/modules/wallet/include/dap_chain_wallet.h @@ -95,7 +95,7 @@ int dap_chain_wallet_get_pkey_hash(dap_chain_wallet_t *a_wallet, dap_hash_fast_t int dap_chain_wallet_add_wallet_opened_notify(dap_chain_wallet_opened_callback_t a_callback, void *a_arg); int dap_chain_wallet_add_wallet_created_notify(dap_chain_wallet_opened_callback_t a_callback, void *a_arg); +dap_list_t* dap_chain_wallet_get_local_addr(); int dap_chain_wallet_get_pkey_hash(dap_chain_wallet_t *a_wallet, dap_hash_fast_t *a_out_hash); char *dap_chain_wallet_get_pkey_str(dap_chain_wallet_t *a_wallet, const char *a_str_type); -dap_list_t* dap_chain_wallet_get_local_addr(); -- GitLab