29 const auto testing_setup = MakeNoLogFileContext<const TestingSetup>();
34 tx1.
vin[0].scriptWitness.stack.push_back({1});
42 tx2.
vin[0].scriptWitness.stack.push_back({2});
51 tx3.
vin[0].scriptWitness.stack.push_back({3});
58 tx4.
vin[0].prevout.SetNull();
60 tx4.
vin[0].scriptWitness.stack.push_back({4});
61 tx4.
vin[1].prevout.SetNull();
63 tx4.
vin[1].scriptWitness.stack.push_back({4});
74 tx5.
vin[0].scriptWitness.stack.push_back({4});
75 tx5.
vin[1].prevout.SetNull();
77 tx5.
vin[1].scriptWitness.stack.push_back({5});
88 tx6.
vin[0].scriptWitness.stack.push_back({4});
89 tx6.
vin[1].prevout.SetNull();
91 tx6.
vin[1].scriptWitness.stack.push_back({6});
102 tx7.
vin[0].scriptWitness.stack.push_back({5});
105 tx7.
vin[1].scriptWitness.stack.push_back({6});
124 AddTx(tx1_r, 10000LL, pool);
125 AddTx(tx2_r, 5000LL, pool);
126 AddTx(tx3_r, 20000LL, pool);
127 AddTx(tx4_r, 7000LL, pool);
128 AddTx(tx5_r, 1000LL, pool);
129 AddTx(tx6_r, 1100LL, pool);
130 AddTx(tx7_r, 9000LL, pool);
int64_t CAmount
Amount in satoshis (Can be negative)
static constexpr CAmount COIN
The amount of satoshis in one BTC.
#define Assert(val)
Identity function.
An outpoint - a combination of a transaction hash and an index n into its vout.
Serialized script, used inside transaction inputs and outputs.
CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool...
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
RecursiveMutex cs
This mutex needs to be locked when accessing mapTx or other members that are guarded by it.
void TrimToSize(size_t sizelimit, std::vector< COutPoint > *pvNoSpendsRemaining=nullptr) EXCLUSIVE_LOCKS_REQUIRED(cs)
Remove transactions from the mempool until its dynamic size is <= sizelimit.
size_t DynamicMemoryUsage() const
Main entry point to nanobench's benchmarking facility.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate.
BENCHMARK(MempoolEviction, benchmark::PriorityLevel::HIGH)
static void MempoolEviction(benchmark::Bench &bench)
static void AddTx(const CTransactionRef &tx, const CAmount &nFee, CTxMemPool &pool) EXCLUSIVE_LOCKS_REQUIRED(cs_main
int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost, unsigned int bytes_per_sigop)
Compute the virtual transaction size (weight reinterpreted as bytes).
static CTransactionRef MakeTransactionRef(Tx &&txIn)
std::shared_ptr< const CTransaction > CTransactionRef
A mutable version of CTransaction.
uint256 GetHash() const
Compute the hash of this CMutableTransaction.
std::vector< CTxOut > vout
#define EXCLUSIVE_LOCKS_REQUIRED(...)
#define NO_THREAD_SAFETY_ANALYSIS