diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-01-30 13:28:26 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2016-01-30 13:28:26 +0000 |
commit | bf6d1474c097ee0affe827fe2e3dac489b290f40 (patch) | |
tree | c662b2241380a793c64c2f1254de14cdf34339c8 /src/cryptonote_core/blockchain.cpp | |
parent | rpc: add missing return on error when getting a tx (diff) | |
download | monero-bf6d1474c097ee0affe827fe2e3dac489b290f40.tar.xz |
new flush_txpool command, and associated RPC call
It can flush a particular tx, or the whole pool (the RPC command
can flush a list of transactions too)
Diffstat (limited to 'src/cryptonote_core/blockchain.cpp')
-rw-r--r-- | src/cryptonote_core/blockchain.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index b27927c0a..bf17544fc 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -2386,6 +2386,25 @@ void Blockchain::return_tx_to_pool(const std::vector<transaction> &txs) } } //------------------------------------------------------------------ +bool Blockchain::flush_txes_from_pool(const std::list<crypto::hash> &txids) +{ + bool res = true; + for (const auto &txid: txids) + { + cryptonote::transaction tx; + size_t blob_size; + uint64_t fee; + bool relayed; + LOG_PRINT_L1("Removing txid " << txid << " from the pool"); + if(!m_tx_pool.take_tx(txid, tx, blob_size, fee, relayed)) + { + LOG_PRINT_L0("Failed to remove txid " << txid << " from the pool"); + res = false; + } + } + return res; +} +//------------------------------------------------------------------ // Needs to validate the block and acquire each transaction from the // transaction mem_pool, then pass the block and transactions to // m_db->add_block() |