From 7d3517f60691a0d7d82aa77529a4b338c295c4fb Mon Sep 17 00:00:00 2001 From: "daniil.frolov" <daniil.frolov@demlabs.net> Date: Thu, 16 Mar 2023 14:38:24 +0000 Subject: [PATCH] hotfix-8277 --- modules/common/dap_chain_datum_token.c | 10 ++++++++-- modules/net/dap_chain_node_cli_cmd.c | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c index e19c8c00bf..b6f4e5fdad 100644 --- a/modules/common/dap_chain_datum_token.c +++ b/modules/common/dap_chain_datum_token.c @@ -76,12 +76,12 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial dap_chain_datum_token_t *l_token = DAP_NEW_Z_SIZE(dap_chain_datum_token_t, l_token_size); memcpy(l_token->ticker, l_token_old->ticker, sizeof(l_token_old->ticker)); memcpy(l_token->data_n_tsd, l_token_old->data_n_tsd, l_token_data_n_tsd_size); - *a_token_size = l_token_size; +// *a_token_size = l_token_size; switch (((dap_chain_datum_token_t*)a_token_serial)->type) { case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_SIMPLE: { memcpy(l_token->ticker, l_token_old->ticker, sizeof(l_token_old->ticker)); // memcpy(l_token->data_n_tsd, l_token_old->data_n_tsd, l_token_tsd_size); - + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_DECL; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -93,6 +93,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PRIVATE_DECL: { + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -105,6 +106,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PRIVATE_UPDATE: { + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_UPDATE; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -117,6 +119,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_NATIVE_DECL: { + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -129,6 +132,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_NATIVE_UPDATE: { + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_UPDATE; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -141,6 +145,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } case DAP_CHAIN_DATUM_TOKEN_TYPE_OLD_PUBLIC: { + *a_token_size = l_token_size; l_token->type = DAP_CHAIN_DATUM_TOKEN_TYPE_DECL; l_token->total_supply = l_token_old->total_supply; l_token->signs_valid = l_token_old->signs_valid; @@ -153,6 +158,7 @@ dap_chain_datum_token_t *dap_chain_datum_token_read(const byte_t *a_token_serial return l_token; } default: + DAP_DELETE(l_token); return DAP_DUP_SIZE(a_token_serial, *a_token_size); }; } diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 5706024370..3772664240 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -3484,6 +3484,7 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) l_datum_token = DAP_NEW_Z_SIZE(dap_chain_datum_token_t, sizeof(dap_chain_datum_token_t) + l_params->ext.tsd_total_size) ; l_datum_token->version = 2; l_datum_token->type = l_params->type; + l_datum_token->subtype = l_params->subtype; if (l_params->subtype == DAP_CHAIN_DATUM_TOKEN_SUBTYPE_PRIVATE) { log_it(L_DEBUG,"Prepared TSD sections for private token on %zd total size", l_params->ext.tsd_total_size); snprintf(l_datum_token->ticker, sizeof(l_datum_token->ticker), "%s", l_ticker); -- GitLab