Skip to main content Module bip_validation Copy item path Source Bip147Network Network type for BIP147 activation heights BIP34_IMPLIES_BIP30_LIMIT From this height the duplicate-coinbase lookup is mandatory again, even on a chain
whose height-in-coinbase activation block is the known one. A coinbase from before
that rule can carry an indicated height this large. bip30_lookup_skippable The duplicate lookup may be skipped only after the known height-in-coinbase block,
and only before BIP34_IMPLIES_BIP30_LIMIT . build_bip30_index Build Bip30Index from an existing UTXO set (for IBD resume).
Scans coinbase UTXOs and counts outputs per txid. O(n) over utxo_set. check_bip30 BIP30: Duplicate Coinbase Prevention check_bip34 BIP34: Block Height in Coinbase check_bip66 BIP66: Strict DER Signature Validation check_bip90 BIP90: Block Version Enforcement check_bip30_network Convenience: BIP30 check using network (builds activation table). check_bip34_network Convenience: BIP34 check using network. check_bip54_coinbase BIP54: Coinbase nLockTime and nSequence (Consensus Cleanup). check_bip54_sigop_limit BIP54 per-transaction sigop cap (≤ 2,500 for non-coinbase when active). check_bip54_timewarp BIP54 timewarp mitigation at difficulty period boundaries (Orange Paper §5.4.9). check_bip54_tx_stripped_size BIP54: reject non-coinbase txs with witness-stripped size exactly 64 bytes. check_bip66_network Convenience: BIP66 check using network (for script/signature callers). check_bip90_network Convenience: BIP90 check using network. check_bip147 BIP147: NULLDUMMY Enforcement check_bip147_network Convenience: BIP147 check using network (Bip147Network for backward compatibility). is_bip30_repeat_block True only for the two mainnet blocks whose coinbase repeats an earlier unspent one. is_bip54_active BIP54: Consensus Cleanup activation (constant-only). is_bip54_active_at BIP54: Consensus Cleanup activation (with optional override). is_known_bip34_block True when block_hash is the known block at this network’s height-in-coinbase activation. is_known_bip34_header True when this header is the known block at the height-in-coinbase activation.
The header is hashed only at that height. Bip30Index BIP30 index: maps coinbase txid → count of unspent outputs.
When count > 0, a coinbase with that txid has unspent outputs (BIP30 would reject duplicate).
Uses FxHashMap for faster lookups on integer-like keys (#17).