2022-10-10 14:27:31 +02:00
|
|
|
// Copyright (c) 2022 The Bitcoin Core developers
|
|
|
|
// Distributed under the MIT software license, see the accompanying
|
|
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
|
|
|
|
#ifndef BITCOIN_TEST_UTIL_TXMEMPOOL_H
|
|
|
|
#define BITCOIN_TEST_UTIL_TXMEMPOOL_H
|
|
|
|
|
|
|
|
#include <txmempool.h>
|
|
|
|
|
|
|
|
namespace node {
|
|
|
|
struct NodeContext;
|
|
|
|
}
|
|
|
|
|
|
|
|
CTxMemPool::Options MemPoolOptionsForTest(const node::NodeContext& node);
|
|
|
|
|
|
|
|
struct TestMemPoolEntryHelper
|
|
|
|
{
|
|
|
|
// Default values
|
2022-10-18 17:32:44 +02:00
|
|
|
CAmount nFee{0};
|
|
|
|
int64_t nTime{0};
|
|
|
|
unsigned int nHeight{1};
|
|
|
|
bool spendsCoinbase{false};
|
|
|
|
unsigned int sigOpCost{4};
|
2022-10-10 14:27:31 +02:00
|
|
|
LockPoints lp;
|
|
|
|
|
|
|
|
CTxMemPoolEntry FromTx(const CMutableTransaction& tx) const;
|
|
|
|
CTxMemPoolEntry FromTx(const CTransactionRef& tx) const;
|
|
|
|
|
|
|
|
// Change the default value
|
|
|
|
TestMemPoolEntryHelper &Fee(CAmount _fee) { nFee = _fee; return *this; }
|
|
|
|
TestMemPoolEntryHelper &Time(int64_t _time) { nTime = _time; return *this; }
|
|
|
|
TestMemPoolEntryHelper &Height(unsigned int _height) { nHeight = _height; return *this; }
|
|
|
|
TestMemPoolEntryHelper &SpendsCoinbase(bool _flag) { spendsCoinbase = _flag; return *this; }
|
|
|
|
TestMemPoolEntryHelper &SigOpsCost(unsigned int _sigopsCost) { sigOpCost = _sigopsCost; return *this; }
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // BITCOIN_TEST_UTIL_TXMEMPOOL_H
|