16
16
namespace {
17
17
18
18
const TestingSetup* g_setup;
19
- std::vector<COutPoint> g_outpoints_coinbase_init;
19
+ std::vector<COutPoint> g_outpoints_coinbase_init_mature;
20
+ std::vector<COutPoint> g_outpoints_coinbase_init_immature;
20
21
21
22
struct MockedTxPool : public CTxMemPool {
22
23
void RollingFeeUpdate ()
@@ -34,7 +35,10 @@ void initialize_tx_pool()
34
35
for (int i = 0 ; i < 2 * COINBASE_MATURITY; ++i) {
35
36
CTxIn in = MineBlock (g_setup->m_node , P2WSH_OP_TRUE);
36
37
// Remember the txids to avoid expensive disk acess later on
37
- g_outpoints_coinbase_init.push_back (in.prevout );
38
+ auto & outpoints = i < COINBASE_MATURITY ?
39
+ g_outpoints_coinbase_init_mature :
40
+ g_outpoints_coinbase_init_immature;
41
+ outpoints.push_back (in.prevout );
38
42
}
39
43
SyncWithValidationInterfaceQueue ();
40
44
}
@@ -86,9 +90,8 @@ FUZZ_TARGET_INIT(tx_pool_standard, initialize_tx_pool)
86
90
std::set<COutPoint> outpoints_rbf;
87
91
// All outpoints counting toward the total supply (subset of outpoints_rbf)
88
92
std::set<COutPoint> outpoints_supply;
89
- for (const auto & outpoint : g_outpoints_coinbase_init ) {
93
+ for (const auto & outpoint : g_outpoints_coinbase_init_mature ) {
90
94
Assert (outpoints_supply.insert (outpoint).second );
91
- if (outpoints_supply.size () >= COINBASE_MATURITY) break ;
92
95
}
93
96
outpoints_rbf = outpoints_supply;
94
97
@@ -253,13 +256,12 @@ FUZZ_TARGET_INIT(tx_pool, initialize_tx_pool)
253
256
const auto & node = g_setup->m_node ;
254
257
255
258
std::vector<uint256> txids;
256
- for (const auto & outpoint : g_outpoints_coinbase_init ) {
259
+ for (const auto & outpoint : g_outpoints_coinbase_init_mature ) {
257
260
txids.push_back (outpoint.hash );
258
- if (txids.size () >= COINBASE_MATURITY) break ;
259
261
}
260
262
for (int i{0 }; i <= 3 ; ++i) {
261
263
// Add some immature and non-existent outpoints
262
- txids.push_back (g_outpoints_coinbase_init .at (i).hash );
264
+ txids.push_back (g_outpoints_coinbase_init_immature .at (i).hash );
263
265
txids.push_back (ConsumeUInt256 (fuzzed_data_provider));
264
266
}
265
267
0 commit comments