From 7a395865369d3a3309e4ceed3e72234d63a7f660 Mon Sep 17 00:00:00 2001 From: Doyle Date: Tue, 4 Sep 2018 19:17:17 +1000 Subject: [PATCH] Log db exception, fix relation operators for vote/deregister lifetime (#207) --- src/cryptonote_core/blockchain.cpp | 2 +- src/cryptonote_core/cryptonote_core.cpp | 2 +- src/cryptonote_core/tx_pool.cpp | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index 581c1cfdc6e..29d55ef250c 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -3071,7 +3071,7 @@ bool Blockchain::check_tx_inputs(transaction& tx, tx_verification_context &tvc, } uint64_t delta_height = curr_height - deregister.block_height; - if (delta_height > loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) + if (delta_height >= loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) { LOG_PRINT_L1("Received deregister tx for height: " << deregister.block_height << " and service node: " << deregister.service_node_index diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 45644ea7baf..d776b9c922c 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -1706,7 +1706,7 @@ namespace cryptonote uint64_t latest_block_height = std::max(get_current_blockchain_height(), get_target_blockchain_height()); uint64_t delta_height = latest_block_height - vote.block_height; - if (vote.block_height < latest_block_height && delta_height > loki::service_node_deregister::VOTE_LIFETIME_BY_HEIGHT) + if (vote.block_height < latest_block_height && delta_height >= loki::service_node_deregister::VOTE_LIFETIME_BY_HEIGHT) { LOG_PRINT_L1("Received vote for height: " << vote.block_height << " and service node: " << vote.service_node_index diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index fe9fb075e62..a40fbc42d10 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -1014,7 +1014,7 @@ namespace cryptonote // Check if deregister is too old and we should stop relaying it. uint64_t delta_height = new_block_height - deregister.block_height; - if (delta_height > loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) + if (delta_height >= loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) { txpool_tx_meta_t updated_meta = meta; updated_meta.do_not_relay = true; @@ -1061,7 +1061,7 @@ namespace cryptonote // Check if deregister became valid again uint64_t delta_height = new_block_height - deregister.block_height; - if (delta_height <= loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) + if (delta_height < loki::service_node_deregister::DEREGISTER_LIFETIME_BY_HEIGHT) { txpool_tx_meta_t updated_meta = meta; updated_meta.do_not_relay = false; @@ -1089,9 +1089,9 @@ namespace cryptonote m_txpool_size -= bd.size(); remove_transaction_keyimages(tx); } - catch (const std::exception &e) + catch (const DB_EXCEPTION &e) { - // ignore error, it doesn't exist anymore for whatever reason + MERROR("Failed to remove txid: " << txid << " from db: " << e.what()); } }