diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index 7213a27bc922cbc057fbd3050da3c1ea467d12b6..5f64beb19e574f60e437627b29b114959d9128b7 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -117,7 +117,7 @@ typedef struct dap_chain_ledger_tx_item { time_t ts_created; int n_outs; int n_outs_used; - char token_ticker[DAP_CHAIN_TICKER_SIZE_MAX] + char token_ticker[DAP_CHAIN_TICKER_SIZE_MAX]; // TODO dynamically allocates the memory in order not to limit the number of outputs in transaction dap_chain_hash_fast_t tx_hash_spent_fast[MAX_OUT_ITEMS]; // spent outs list } cache_data; @@ -201,7 +201,7 @@ typedef struct dap_ledger_private { dap_chain_cell_id_t local_cell_id; /* Cache section */ dap_ledger_cache_item_t last_tx; - dap_ledger_cache_item_t last_thres_tx; + dap_ledger_cache_item_t last_spent_tx; dap_ledger_cache_item_t last_emit; dap_ledger_cache_str_item_t last_ticker; } dap_ledger_private_t; @@ -2612,6 +2612,7 @@ int dap_chain_ledger_tx_load(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx) if (!PVT(a_ledger)->last_spent_tx.found && !memcmp(PVT(a_ledger)->last_spent_tx.hash, &l_tx_hash, sizeof(dap_chain_hash_fast_t))) { PVT(a_ledger)->last_spent_tx.found = true; + } } return 1; } @@ -2960,8 +2961,8 @@ uint256_t dap_chain_ledger_calc_balance_full(dap_ledger_t *a_ledger, const dap_c * 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 */ -static dap_chain_ledger_tx_item_t* tx_item_find_by_addr(dap_ledger_t *a_ledger, - const dap_chain_addr_t *a_addr,const char * a_token, dap_chain_hash_fast_t *a_tx_first_hash) +static dap_chain_ledger_tx_item_t* tx_item_find_by_addr(dap_ledger_t *a_ledger, const dap_chain_addr_t *a_addr, + const char * a_token, dap_chain_hash_fast_t *a_tx_first_hash) { if(!a_addr || !a_tx_first_hash) return NULL; diff --git a/modules/net/dap_chain_node_cli_cmd_tx.c b/modules/net/dap_chain_node_cli_cmd_tx.c index a8127a86851c4d7f73f5ffd6fe683448aeecb94f..6c7ff2164fcad12ca13949f3085175dbca11d947 100644 --- a/modules/net/dap_chain_node_cli_cmd_tx.c +++ b/modules/net/dap_chain_node_cli_cmd_tx.c @@ -108,7 +108,7 @@ static void s_dap_chain_datum_tx_out_data(dap_chain_datum_tx_t *a_datum, if (l_list_tx_any) { l_ticker = ((dap_chain_tx_token_t*)l_list_tx_any->data)->header.ticker; } else { - l_ticker = dap_chain_ledger_tx_get_token_ticker_by_hash(a_ledger, &l_tx_hash); + l_ticker = dap_chain_ledger_tx_get_token_ticker_by_hash(a_ledger, a_tx_hash); } dap_string_append_printf(a_str_out, "transaction:%s hash: %s\n TS Created: %s Token ticker: %s\n Items:\n", l_list_tx_any ? " (emit)" : "", l_hash_str, dap_ctime_r(&l_ts_create, buf), l_ticker); @@ -1313,8 +1313,8 @@ int com_ledger(int a_argc, char ** a_argv, char **a_str_reply) //const char *l_chain_group = dap_chain_gdb_get_group(l_chain); dap_chain_hash_fast_t l_tx_hash; if(l_tx_hash_str) { - if (dap_chain_hash_fast_from_str(l_tx_hash_str, l_tx_hash) && - dap_enc_base58_hex_to_hash(l_tx_hash_str, l_tx_hash)) { + if (dap_chain_hash_fast_from_str(l_tx_hash_str, &l_tx_hash) && + dap_enc_base58_hex_to_hash(l_tx_hash_str, &l_tx_hash)) { l_tx_hash_str = NULL; dap_chain_node_cli_set_reply_text(a_str_reply, "tx hash not recognized"); return -1; @@ -1455,7 +1455,8 @@ int com_ledger(int a_argc, char ** a_argv, char **a_str_reply) return -2; } dap_chain_hash_fast_t *l_tx_hash = DAP_NEW(dap_chain_hash_fast_t); - if(dap_chain_hash_fast_from_str(l_tx_hash_str, l_tx_hash)){ + if (dap_chain_hash_fast_from_str(l_tx_hash_str, l_tx_hash) && + dap_enc_base58_hex_to_hash(l_tx_hash_str, l_tx_hash)) { dap_chain_node_cli_set_reply_text(a_str_reply, "Can't get hash_fast from %s", l_tx_hash_str); return -4; } diff --git a/modules/type/dag/dap_chain_cs_dag_event.c b/modules/type/dag/dap_chain_cs_dag_event.c index bcdb5ce1e101de818a5964e4f35298b1e32fe55e..8ec8716bf12c8e858c95699163eccac9fa824f32 100644 --- a/modules/type/dag/dap_chain_cs_dag_event.c +++ b/modules/type/dag/dap_chain_cs_dag_event.c @@ -198,7 +198,7 @@ bool dap_chain_cs_dag_event_gdb_set(char *a_event_hash_str, dap_chain_cs_dag_eve return ret; } -dap_chain_cs_dag_event_t* dap_chain_cs_dag_event_gdb_get(char *a_event_hash_str, uint32_t * a_event_size, const char *a_group, +dap_chain_cs_dag_event_t* dap_chain_cs_dag_event_gdb_get(const char *a_event_hash_str, size_t *a_event_size, const char *a_group, dap_chain_cs_dag_event_round_cfg_t * a_event_round_cfg) { size_t l_event_round_item_size = 0; dap_chain_cs_dag_event_round_item_t* l_event_round_item = diff --git a/modules/type/dag/include/dap_chain_cs_dag.h b/modules/type/dag/include/dap_chain_cs_dag.h index ac2ac6074724c973673dd968cab86f8c58677e5e..48d9cd9d153f0bd66395ad4c15517bc87180fe51 100644 --- a/modules/type/dag/include/dap_chain_cs_dag.h +++ b/modules/type/dag/include/dap_chain_cs_dag.h @@ -36,7 +36,7 @@ typedef dap_chain_cs_dag_event_t * (*dap_chain_cs_dag_callback_event_create_t)(d dap_chain_hash_fast_t *, size_t, size_t*); -typedef int (*dap_chain_cs_dag_callback_get_round_cfg_t)(dap_chain_cs_dag_t *, dap_chain_cs_dag_event_round_cfg_t *); +typedef void (*dap_chain_cs_dag_callback_get_round_cfg_t)(dap_chain_cs_dag_t *, dap_chain_cs_dag_event_round_cfg_t *); typedef void (*dap_chain_cs_dag_callback_set_event_round_cfg_t)(dap_chain_cs_dag_t *, dap_chain_cs_dag_event_round_cfg_t *); typedef struct dap_chain_cs_dag_hal_item { diff --git a/modules/type/dag/include/dap_chain_cs_dag_event.h b/modules/type/dag/include/dap_chain_cs_dag_event.h index 244c2fbd965cb7b60d94a0e7adc9ae7341c88576..7b188243ab36a9d110804607aff41dcd1ab67366 100644 --- a/modules/type/dag/include/dap_chain_cs_dag_event.h +++ b/modules/type/dag/include/dap_chain_cs_dag_event.h @@ -145,6 +145,6 @@ static inline uint32_t dap_chain_cs_dag_event_round_item_get_size(dap_chain_cs_d bool dap_chain_cs_dag_event_gdb_set(char *a_event_hash_str, dap_chain_cs_dag_event_t * a_event, uint32_t a_event_size, const char *a_group, dap_chain_cs_dag_event_round_cfg_t * a_event_round_cfg); -dap_chain_cs_dag_event_t* dap_chain_cs_dag_event_gdb_get(char *a_event_hash_str, uint32_t * a_event_size, +dap_chain_cs_dag_event_t* dap_chain_cs_dag_event_gdb_get(const char *a_event_hash_str, size_t *a_event_size, const char *a_group, dap_chain_cs_dag_event_round_cfg_t * a_event_round_cfg);