40 const auto testing_setup = MakeNoLogFileContext<const TestingSetup>();
45 tx1.vin[0].scriptWitness.stack.push_back({1});
48 tx1.vout[0].nValue = 10 *
COIN;
53 tx2.
vin[0].scriptWitness.stack.push_back({2});
62 tx3.
vin[0].scriptWitness.stack.push_back({3});
69 tx4.
vin[0].prevout.SetNull();
71 tx4.
vin[0].scriptWitness.stack.push_back({4});
72 tx4.
vin[1].prevout.SetNull();
74 tx4.
vin[1].scriptWitness.stack.push_back({4});
85 tx5.
vin[0].scriptWitness.stack.push_back({4});
86 tx5.
vin[1].prevout.SetNull();
88 tx5.
vin[1].scriptWitness.stack.push_back({5});
99 tx6.
vin[0].scriptWitness.stack.push_back({4});
100 tx6.
vin[1].prevout.SetNull();
102 tx6.
vin[1].scriptWitness.stack.push_back({6});
113 tx7.
vin[0].scriptWitness.stack.push_back({5});
116 tx7.
vin[1].scriptWitness.stack.push_back({6});
135 AddTx(tx1_r, 10000LL, pool);
136 AddTx(tx2_r, 5000LL, pool);
137 AddTx(tx3_r, 20000LL, pool);
138 AddTx(tx4_r, 7000LL, pool);
139 AddTx(tx5_r, 1000LL, pool);
140 AddTx(tx6_r, 1100LL, pool);
141 AddTx(tx7_r, 9000LL, pool);
std::shared_ptr< const CTransaction > CTransactionRef
#define NO_THREAD_SAFETY_ANALYSIS
static void AddTx(const CTransactionRef &tx, const CAmount &nFee, CTxMemPool &pool) EXCLUSIVE_LOCKS_REQUIRED(cs_main
static void MempoolEviction(benchmark::Bench &bench)
size_t DynamicMemoryUsage() const
int64_t GetVirtualTransactionSize(int64_t nWeight, int64_t nSigOpCost, unsigned int bytes_per_sigop)
Compute the virtual transaction size (weight reinterpreted as bytes).
AddToMempool(pool, CTxMemPoolEntry(tx, nFee, nTime, nHeight, sequence, spendsCoinbase, sigOpCost, lp))
CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool...
int64_t CAmount
Amount in satoshis (Can be negative)
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
Txid GetHash() const
Compute the hash of this CMutableTransaction.
An outpoint - a combination of a transaction hash and an index n into its vout.
std::vector< CTxOut > vout
static CTransactionRef MakeTransactionRef(Tx &&txIn)
#define EXCLUSIVE_LOCKS_REQUIRED(...)
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
Serialized script, used inside transaction inputs and outputs.
A mutable version of CTransaction.
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.
Main entry point to nanobench's benchmarking facility.
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate...
RecursiveMutex cs
This mutex needs to be locked when accessing mapTx or other members that are guarded by it...
#define Assert(val)
Identity function.
static constexpr CAmount COIN
The amount of satoshis in one BTC.
BENCHMARK(MempoolEviction, benchmark::PriorityLevel::HIGH)