/ src / test / fuzz / util / mempool.h
mempool.h
 1  // Copyright (c) 2022-present The Bitcoin Core developers
 2  // Distributed under the MIT software license, see the accompanying
 3  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
 4  
 5  #ifndef BITCOIN_TEST_FUZZ_UTIL_MEMPOOL_H
 6  #define BITCOIN_TEST_FUZZ_UTIL_MEMPOOL_H
 7  
 8  #include <kernel/mempool_entry.h>
 9  #include <validation.h>
10  
11  class CTransaction;
12  class CTxMemPool;
13  class FuzzedDataProvider;
14  
15  class DummyChainState final : public Chainstate
16  {
17  public:
18      void SetMempool(CTxMemPool* mempool)
19      {
20          m_mempool = mempool;
21      }
22  };
23  
24  [[nodiscard]] CTxMemPoolEntry ConsumeTxMemPoolEntry(FuzzedDataProvider& fuzzed_data_provider, const CTransaction& tx, uint32_t max_height=std::numeric_limits<uint32_t>::max()) noexcept;
25  
26  #endif // BITCOIN_TEST_FUZZ_UTIL_MEMPOOL_H