mempool_removal_reason.h raw
1 // Copyright (c) 2016-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or https://opensource.org/license/mit/.
4
5 #ifndef BITCOIN_KERNEL_MEMPOOL_REMOVAL_REASON_H
6 #define BITCOIN_KERNEL_MEMPOOL_REMOVAL_REASON_H
7
8 #include <string>
9
10 /** Reason why a transaction was removed from the mempool,
11 * this is passed to the notification signal.
12 */
13 enum class MemPoolRemovalReason {
14 EXPIRY, //!< Expired from mempool
15 SIZELIMIT, //!< Removed in size limiting
16 REORG, //!< Removed for reorganization
17 BLOCK, //!< Removed for block
18 CONFLICT, //!< Removed for conflict with in-block transaction
19 REPLACED, //!< Removed for replacement
20 };
21
22 std::string RemovalReasonToString(const MemPoolRemovalReason& r) noexcept;
23
24 #endif // BITCOIN_KERNEL_MEMPOOL_REMOVAL_REASON_H
25