From d77b83737745a8aa298384fa723490d6abe61e42 Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Wed, 16 Nov 2022 06:26:11 +0000 Subject: [PATCH] [*] Redesigned datum entry into mempool: now they are recorded with the key... --- modules/mempool/dap_chain_mempool.c | 2 +- modules/net/dap_chain_node_cli_cmd.c | 11 ++++++----- .../service/stake_lock/dap_chain_net_srv_stake_lock.c | 2 +- modules/type/blocks/dap_chain_cs_blocks.c | 2 +- modules/type/dag/dap_chain_cs_dag.c | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/modules/mempool/dap_chain_mempool.c b/modules/mempool/dap_chain_mempool.c index 844d1d0e78..1fe3d74b3a 100644 --- a/modules/mempool/dap_chain_mempool.c +++ b/modules/mempool/dap_chain_mempool.c @@ -89,7 +89,7 @@ char *dap_chain_mempool_datum_add(const dap_chain_datum_t *a_datum, dap_chain_t dap_chain_hash_fast_t l_key_hash; - dap_hash_fast(a_datum, dap_chain_datum_size(a_datum), &l_key_hash); + dap_hash_fast(a_datum->data, a_datum->header.data_size, &l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); char * l_gdb_group = dap_chain_net_get_gdb_group_mempool_new(a_chain); diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 4904bd70ee..462e95f2c1 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2178,7 +2178,7 @@ int com_token_decl_sign(int argc, char ** argv, char ** a_str_reply) // Calc datum's hash l_datum_size = dap_chain_datum_size(l_datum); dap_chain_hash_fast_t l_key_hash={}; - dap_hash_fast(l_datum, l_datum_size, &l_key_hash); + dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); char * l_key_str_base58 = dap_enc_base58_encode_hash_to_str(&l_key_hash); const char * l_key_out_str; @@ -3073,7 +3073,7 @@ int com_token_decl(int a_argc, char ** a_argv, char ** a_str_reply) // Calc datum's hash dap_chain_hash_fast_t l_key_hash; - dap_hash_fast(l_datum, l_datum_size, &l_key_hash); + dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); char * l_key_str_out = dap_strcmp(l_hash_out_type, "hex") ? dap_enc_base58_encode_hash_to_str(&l_key_hash) : l_key_str; @@ -3270,7 +3270,7 @@ int com_token_update(int a_argc, char ** a_argv, char ** a_str_reply) // Calc datum's hash dap_chain_hash_fast_t l_key_hash; - dap_hash_fast(l_datum, l_datum_size, &l_key_hash); + dap_hash_fast(l_datum->data, l_datum->header.data_size, &l_key_hash); char * l_key_str = dap_chain_hash_fast_to_str_new(&l_key_hash); char * l_key_str_out = dap_strcmp(l_hash_out_type, "hex") ? dap_enc_base58_encode_hash_to_str(&l_key_hash) : l_key_str; @@ -3499,7 +3499,8 @@ int com_token_emit(int a_argc, char ** a_argv, char ** a_str_reply) size_t l_datum_emission_size = sizeof(l_datum_emission->header) + l_datum_emission->header.data_size; // Calc datum emission's hash - dap_hash_fast(l_datum_emission, l_datum_emission_size, &l_datum_emission_hash); + dap_hash_fast(l_datum_emission->data, l_datum_emission->header.data_size, + &l_datum_emission_hash); // return 0 (false) if strings are equivalent bool l_hex_format = dap_strcmp(l_hash_out_type, "hex") ? false : true; @@ -4403,7 +4404,7 @@ int com_tx_create_json(int a_argc, char ** a_argv, char **a_str_reply) // Add transaction to mempool char *l_gdb_group_mempool_base_tx = dap_chain_net_get_gdb_group_mempool_new(l_chain);// get group name for mempool dap_chain_hash_fast_t *l_datum_tx_hash = DAP_NEW(dap_hash_fast_t); - dap_hash_fast(l_datum_tx, l_datum_tx_size, l_datum_tx_hash);// Calculate datum hash + dap_hash_fast(l_datum_tx->data, l_datum_tx->header.data_size, l_datum_tx_hash);// Calculate datum hash char *l_tx_hash_str = dap_chain_hash_fast_to_str_new(l_datum_tx_hash); bool l_placed = dap_global_db_set(l_gdb_group_mempool_base_tx,l_tx_hash_str, l_datum_tx, l_datum_tx_size, true, NULL,NULL ); diff --git a/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c b/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c index 1a16a57dd5..cde50a6232 100644 --- a/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c +++ b/modules/service/stake_lock/dap_chain_net_srv_stake_lock.c @@ -1399,7 +1399,7 @@ static dap_chain_hash_fast_t *dap_chain_mempool_base_tx_for_stake_lock_create(da DAP_DEL_Z(l_tx); // calc datum hash dap_chain_hash_fast_t *l_datum_tx_hash = DAP_NEW(dap_hash_fast_t); - dap_hash_fast(l_datum_tx, l_datum_tx_size, l_datum_tx_hash); + dap_hash_fast(l_datum_tx->data, l_datum_tx->header.data_size, l_datum_tx_hash); char *l_tx_hash_str = dap_chain_hash_fast_to_str_new(l_datum_tx_hash); // Add to mempool tx token bool l_placed = dap_global_db_set_sync(l_gdb_group_mempool_base_tx, l_tx_hash_str, l_datum_tx, diff --git a/modules/type/blocks/dap_chain_cs_blocks.c b/modules/type/blocks/dap_chain_cs_blocks.c index d013cb0a7a..54c65b26dd 100644 --- a/modules/type/blocks/dap_chain_cs_blocks.c +++ b/modules/type/blocks/dap_chain_cs_blocks.c @@ -444,7 +444,7 @@ static int s_cli_blocks(int a_argc, char ** a_argv, char **a_str_reply) l_datums[0] = l_datum; for (size_t i = 0; i < l_datums_count; i++) { dap_chain_hash_fast_t l_datum_hash = { }; - dap_hash_fast(l_datums[i],dap_chain_datum_size(l_datums[i]),&l_datum_hash); + dap_hash_fast(l_datums[i]->data,l_datums[i]->header.data_size,&l_datum_hash); char *l_datums_datum_hash_str = dap_chain_hash_fast_to_str_new(&l_datum_hash); bool l_err = dap_chain_node_mempool_process(l_chain, l_datums[i]); if (l_err) { diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index 735e3ca797..6f1728dd57 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -1440,7 +1440,7 @@ static int s_cli_dag(int argc, char ** argv, char **a_str_reply) if ( s_callback_add_datums(l_chain, l_datums, l_datums_count) == l_datums_count ){ for ( size_t i = 0; i <l_datums_count; i++){ dap_chain_hash_fast_t l_datum_hash; - dap_hash_fast(l_datums[i],dap_chain_datum_size(l_datums[i]),&l_datum_hash); + dap_hash_fast(l_datums[i]->data,l_datums[i]->header.data_size, &l_datum_hash); char * l_datums_datum_hash_str = dap_chain_hash_fast_to_str_new(&l_datum_hash); if ( dap_global_db_del_sync(l_gdb_group_mempool, l_datums_datum_hash_str ) ==0 ){ dap_cli_server_cmd_set_reply_text(a_str_reply, -- GitLab