From 3aaae19c8edcf31cdf703e451cdbbc469544dfac Mon Sep 17 00:00:00 2001 From: "cellframe.docs" <artur.khudiaev@gitlab.demlabs.net> Date: Thu, 5 May 2022 11:30:51 +0300 Subject: [PATCH] Token operation hotfixes --- modules/net/dap_chain_node_cli_cmd.c | 22 ++++++++++------------ modules/net/dap_chain_node_cli_cmd_tx.c | 4 +++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 0bc5487ba3..2eae2edcff 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -3036,8 +3036,6 @@ int s_parse_additional_token_decl_arg(int a_argc, char ** a_argv, char ** a_str_ int s_token_decl_check_params(int a_argc, char ** a_argv, char ** a_str_reply, dap_sdk_cli_params* l_params) { - uint16_t l_type = DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE; - int l_parse_params = s_parse_common_token_decl_arg(a_argc,a_argv,a_str_reply,l_params); if (l_parse_params) return l_parse_params; @@ -3051,7 +3049,7 @@ int s_token_decl_check_params(int a_argc, char ** a_argv, char ** a_str_reply, d size_t l_datum_data_offset = 0; //DAP_CHAIN_DATUM_TOKEN_TYPE_NATIVE_DECL uses decimals parameter - if (l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE || l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL){ + if (l_params->l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE || l_params->l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL){ if(IS_ZERO_256(l_params->l_total_supply)) { dap_chain_node_cli_set_reply_text(a_str_reply, "token_decl requires parameter '-total_supply'"); return -3; @@ -3073,12 +3071,12 @@ int s_token_decl_check_params(int a_argc, char ** a_argv, char ** a_str_reply, d return -2; } - const char * l_decimals_str = NULL; - if (l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_NATIVE_DECL){ + // check l_decimals in CF20 token + if (l_params->l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_NATIVE_DECL){ if(!l_params->l_decimals_str) { dap_chain_node_cli_set_reply_text(a_str_reply, "token_decl requires parameter '-decimals'"); return -3; - } else if (dap_strcmp(l_decimals_str, "18")) { + } else if (dap_strcmp(l_params->l_decimals_str, "18")) { dap_chain_node_cli_set_reply_text(a_str_reply, "token_decl support '-decimals' to be 18 only"); return -4; @@ -3148,7 +3146,6 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) dap_chain_t * l_chain = NULL; dap_chain_net_t * l_net = NULL; - uint16_t l_type = DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE; const char * l_hash_out_type = NULL; dap_sdk_cli_params* l_params = DAP_NEW_Z(dap_sdk_cli_params); @@ -3156,6 +3153,8 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) if (!l_params) return -1; + l_params->l_type = DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE; + int l_parse_params = s_token_decl_check_params(a_argc,a_argv,a_str_reply,l_params); if (l_parse_params) return l_parse_params; @@ -3176,11 +3175,10 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) l_total_supply = l_params->l_total_supply; l_chain = l_params->l_chain; l_net = l_params->l_net; - l_type = l_params->l_type; l_ticker = l_params->l_ticker; l_hash_out_type = l_params->l_hash_out_type; - switch(l_type) + switch(l_params->l_type) { case DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL: case DAP_CHAIN_DATUM_TOKEN_TYPE_NATIVE_DECL: @@ -3237,8 +3235,8 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) // Create new datum token l_datum_token = DAP_NEW_Z_SIZE(dap_chain_datum_token_t, sizeof(dap_chain_datum_token_t) + l_tsd_total_size) ; - l_datum_token->type = l_type; - if (l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL) { + l_datum_token->type = l_params->l_type; + if (l_params->l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL) { log_it(L_DEBUG,"Prepared TSD sections for private token on %zd total size", l_tsd_total_size); dap_snprintf(l_datum_token->ticker, sizeof(l_datum_token->ticker), "%s", l_ticker); l_datum_token->header_private_decl.flags = l_flags; @@ -3287,7 +3285,7 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) memcpy(l_datum_token->data_n_tsd + l_datum_data_offset, l_tsd, l_tsd_size); l_datum_data_offset += l_tsd_size; } - log_it(L_DEBUG, "%s token declaration '%s' initialized", l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL ? + log_it(L_DEBUG, "%s token declaration '%s' initialized", l_params->l_type == DAP_CHAIN_DATUM_TOKEN_TYPE_PRIVATE_DECL ? "Private" : "CF20", l_datum_token->ticker); }break;//end case DAP_CHAIN_DATUM_TOKEN_TYPE_SIMPLE: { // 256 diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c index 104ce052a5..e31057a9e0 100644 --- a/modules/net/dap_chain_node_cli_cmd_tx.c +++ b/modules/net/dap_chain_node_cli_cmd_tx.c @@ -927,7 +927,9 @@ int com_ledger(int a_argc, char ** a_argv, char **a_str_reply) int l_sub_cmd = SUBCMD_NONE; dap_chain_hash_fast_t l_tx_threshold_hash; if (dap_chain_node_cli_find_option_val(a_argv, 2, 3, "coins", NULL )) - l_sub_cmd = SUBCMD_LIST_COIN; + l_sub_cmd = SUBCMD_LIST_COIN; + if (dap_chain_node_cli_find_option_val(a_argv, 2, 3, "balance", NULL )) + l_sub_cmd = SUB_CMD_LIST_LEDGER_BALANCE; if (dap_chain_node_cli_find_option_val(a_argv, 2, a_argc, "threshold", NULL)){ l_sub_cmd = SUB_CMD_LIST_LEDGER_THRESHOLD; const char* l_tx_threshold_hash_str = NULL; -- GitLab