From 88ebe0267728b6a9ff6dbef2f5396d9f378dd24c Mon Sep 17 00:00:00 2001 From: "Dmitriy A. Gerasimov" <dmitriy.gerasimov@demlabs.net> Date: Mon, 28 Sep 2020 20:42:11 +0700 Subject: [PATCH] [+] Some more debug output for ledger [!] Now accepted event without check of validity of its datum --- modules/chain/dap_chain_ledger.c | 19 +++++++++++-------- modules/type/dag/dap_chain_cs_dag.c | 9 +++++---- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index e0cf28cbf8..c8b41104ce 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -743,11 +743,11 @@ int dap_chain_ledger_tx_cache_check(dap_ledger_t *a_ledger, dap_chain_datum_tx_t bool l_is_blank = dap_hash_fast_is_blank(&l_tx_prev_hash); char l_tx_prev_hash_str[70]; if (l_is_blank){ - //log_it(L_DEBUG, "Tx check: blank prev hash "); + log_it(L_DEBUG, "Tx check: blank prev hash "); dap_snprintf(l_tx_prev_hash_str,sizeof( l_tx_prev_hash_str),"BLANK"); }else{ dap_chain_hash_fast_to_str(&l_tx_prev_hash,l_tx_prev_hash_str,sizeof(l_tx_prev_hash_str)); - //log_it(L_DEBUG, "Tx check: tx prev hash %s",l_tx_prev_hash_str); + log_it(L_DEBUG, "Tx check: tx prev hash %s",l_tx_prev_hash_str); } if(l_is_blank || l_is_first_transaction) { @@ -1064,23 +1064,26 @@ int dap_chain_ledger_tx_add_check(dap_ledger_t *a_ledger, dap_chain_datum_tx_t * */ int dap_chain_ledger_tx_add(dap_ledger_t *a_ledger, dap_chain_datum_tx_t *a_tx) { - if(!a_tx) + if(!a_tx){ + log_it(L_ERROR, "NULL tx detected"); return -1; + } int ret = 1; dap_ledger_private_t *l_ledger_priv = PVT(a_ledger); dap_list_t *l_list_bound_items = NULL; dap_list_t *l_list_tx_out = NULL; + dap_chain_hash_fast_t *l_tx_hash = dap_chain_node_datum_tx_calc_hash(a_tx); + char l_tx_hash_str[70]; + dap_chain_hash_fast_to_str(l_tx_hash,l_tx_hash_str,sizeof(l_tx_hash_str)); + int l_ret_check; if( (l_ret_check = dap_chain_ledger_tx_cache_check( a_ledger, a_tx, &l_list_bound_items, &l_list_tx_out)) < 0){ - log_it (L_DEBUG, "dap_chain_ledger_tx_add() tx not passed the check: code %d ",l_ret_check); + log_it (L_WARNING, "dap_chain_ledger_tx_add() tx %s not passed the check: code %d ",l_tx_hash_str, l_ret_check); return -1; } - dap_chain_hash_fast_t *l_tx_hash = dap_chain_node_datum_tx_calc_hash(a_tx); - char l_tx_hash_str[70]; - dap_chain_hash_fast_to_str(l_tx_hash,l_tx_hash_str,sizeof(l_tx_hash_str)); - //log_it ( L_INFO, "dap_chain_ledger_tx_add() check passed for tx %s",l_tx_hash_str); + log_it ( L_DEBUG, "dap_chain_ledger_tx_add() check passed for tx %s",l_tx_hash_str); char *l_token_ticker = NULL, *l_token_ticker_old = NULL; diff --git a/modules/type/dag/dap_chain_cs_dag.c b/modules/type/dag/dap_chain_cs_dag.c index a7a7fb7c33..e4a1c6f2ec 100644 --- a/modules/type/dag/dap_chain_cs_dag.c +++ b/modules/type/dag/dap_chain_cs_dag.c @@ -271,6 +271,7 @@ static int s_dap_chain_add_atom_to_ledger(dap_chain_cs_dag_t * a_dag, dap_ledger l_tx_event->event_size = a_event_item->event_size; memcpy(&l_tx_event->hash, &a_event_item->hash, sizeof (l_tx_event->hash) ); + HASH_ADD(hh,PVT(a_dag)->tx_events,hash,sizeof (l_tx_event->hash),l_tx_event); // don't save bad transactions to base @@ -298,14 +299,14 @@ static int s_dap_chain_add_atom_to_events_table(dap_chain_cs_dag_t * a_dag, dap_ char l_buf_hash[128]; dap_chain_hash_fast_to_str(&a_event_item->hash,l_buf_hash,sizeof(l_buf_hash)-1); log_it(L_DEBUG,"Dag event %s checked, add it to ledger", l_buf_hash); - res = s_dap_chain_add_atom_to_ledger(a_dag, a_ledger, a_event_item); + s_dap_chain_add_atom_to_ledger(a_dag, a_ledger, a_event_item); //All correct, no matter for result HASH_ADD(hh, PVT(a_dag)->events,hash,sizeof (a_event_item->hash), a_event_item); s_dag_events_lasts_process_new_last_event(a_dag, a_event_item); } else { - char l_buf_hash[128]; - dap_chain_hash_fast_to_str(&a_event_item->hash,l_buf_hash,sizeof(l_buf_hash)-1); - log_it(L_WARNING,"Dag event %s check failed: code %d", l_buf_hash, res ); + char l_buf_hash[128]; + dap_chain_hash_fast_to_str(&a_event_item->hash,l_buf_hash,sizeof(l_buf_hash)-1); + log_it(L_WARNING,"Dag event %s check failed: code %d", l_buf_hash, res ); } return res; } -- GitLab