From 235df7f4848fb597739c50e3a31007ae77f008f1 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sun, 11 Jun 2017 15:10:18 +0100 Subject: blockchain_db: add a txpool tx getter which returns existence Avoids exception spam for the "nope, not found" case --- src/cryptonote_core/blockchain.cpp | 5 +++++ src/cryptonote_core/blockchain.h | 1 + src/cryptonote_core/tx_pool.cpp | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/cryptonote_core') diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index 6f2977c5b..745608b9f 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -4005,6 +4005,11 @@ txpool_tx_meta_t Blockchain::get_txpool_tx_meta(const crypto::hash& txid) const return m_db->get_txpool_tx_meta(txid); } +bool Blockchain::get_txpool_tx_blob(const crypto::hash& txid, cryptonote::blobdata &bd) const +{ + return m_db->get_txpool_tx_blob(txid, bd); +} + cryptonote::blobdata Blockchain::get_txpool_tx_blob(const crypto::hash& txid) const { return m_db->get_txpool_tx_blob(txid); diff --git a/src/cryptonote_core/blockchain.h b/src/cryptonote_core/blockchain.h index 52172012c..56373adf9 100644 --- a/src/cryptonote_core/blockchain.h +++ b/src/cryptonote_core/blockchain.h @@ -862,6 +862,7 @@ namespace cryptonote void remove_txpool_tx(const crypto::hash &txid); uint64_t get_txpool_tx_count() const; txpool_tx_meta_t get_txpool_tx_meta(const crypto::hash& txid) const; + bool get_txpool_tx_blob(const crypto::hash& txid, cryptonote::blobdata &bd) const; cryptonote::blobdata get_txpool_tx_blob(const crypto::hash& txid) const; bool for_all_txpool_txes(std::function, bool include_blob = false) const; diff --git a/src/cryptonote_core/tx_pool.cpp b/src/cryptonote_core/tx_pool.cpp index 515918cfa..f1d980911 100644 --- a/src/cryptonote_core/tx_pool.cpp +++ b/src/cryptonote_core/tx_pool.cpp @@ -627,8 +627,7 @@ namespace cryptonote CRITICAL_REGION_LOCAL1(m_blockchain); try { - txblob = m_blockchain.get_txpool_tx_blob(id); - return true; + return m_blockchain.get_txpool_tx_blob(id, txblob); } catch (const std::exception &e) { -- cgit v1.2.3