59 if (!block || block->vtx.size() == 0 ||
60 block->vtx.size() >= std::numeric_limits<uint16_t>::max()) {
72 std::set<uint16_t> available;
76 std::vector<std::pair<Wtxid, CTransactionRef>>
extra_txn;
77 for (
size_t i = 1; i < block->vtx.size(); ++i) {
78 auto tx{block->vtx[i]};
84 extra_txn.emplace_back(tx->GetWitnessHash(), tx);
98 std::vector<CTransactionRef>
missing;
102 for (
size_t i = 0; i <
cmpctblock.BlockTxCount(); i++) {
110 assert(!pdb.IsTxAvailable(i) || available.contains(i));
114 if (!pdb.IsTxAvailable(i) && !skip) {
115 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.