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