53 if (!block || block->vtx.size() == 0 ||
54 block->vtx.size() >= std::numeric_limits<uint16_t>::max()) {
66 std::set<uint16_t> available;
70 std::vector<std::pair<Wtxid, CTransactionRef>>
extra_txn;
71 for (
size_t i = 1; i < block->vtx.size(); ++i) {
72 auto tx{block->vtx[i]};
78 extra_txn.emplace_back(tx->GetWitnessHash(), tx);
91 std::vector<CTransactionRef>
missing;
95 for (
size_t i = 0; i <
cmpctblock.BlockTxCount(); i++) {
103 assert(!pdb.IsTxAvailable(i) || available.contains(i));
107 if (!pdb.IsTxAvailable(i) && !
skip) {
108 missing.push_back(block->vtx[i]);
TryAddToMempool(pool, CTxMemPoolEntry(tx, fee, 0, 1, 0, false, 4, lp))
RecursiveMutex cs_main
Mutex to guard access to validation specific variables, such as reading or changing the chainstate.