diff --git a/modules/common/dap_chain_datum_token.c b/modules/common/dap_chain_datum_token.c index e19c8c00bf6f90f2eb8ba1190e0004b06f8d13c9..b6f4e5fdad1341b5b0a3c0fe77fb07314b0e6517 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 570602437043509c1021824bf77d6412837fb9da..37726642406d2d8a42d77500a1940cc3bc8b172f 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);