/ src / kernel / mempool_removal_reason.h
mempool_removal_reason.h
 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