Skip to main content

connect_block_ibd

Function connect_block_ibd 

Source
pub fn connect_block_ibd<'a>(
    block: &Block,
    witnesses: &[Vec<Vec<Vec<u8>>>],
    utxo_set: HashMap<OutPoint, Arc<UTXO>, FxBuildHasher>,
    height: u64,
    context: &BlockValidationContext,
    bip30_index: Option<&mut HashMap<[u8; 32], usize, FxBuildHasher>>,
    precomputed_tx_ids: Option<&'a [[u8; 32]]>,
    block_arc: Option<Arc<Block>>,
    witnesses_arc: Option<&Arc<Vec<Vec<Vec<Vec<u8>>>>>>,
) -> Result<(ValidationResult, HashMap<OutPoint, Arc<UTXO>, FxBuildHasher>, Cow<'a, [[u8; 32]]>, Option<UtxoDeltaInner<HashMap<OutPoint, Arc<UTXO>, FxBuildHasher>, HashSet<[u8; 36], FxBuildHasher>>>), ConsensusError>
Expand description

ConnectBlock variant optimized for IBD that returns transaction IDs instead of undo log.

Returns Vec<Hash> (transaction IDs) instead of BlockUndoLog. Caller provides context (build with BlockValidationContext::from_connect_block_ibd_args from recent_headers, network_time, network, BIP54 override, and boundary).

  • bip30_index - Optional index for O(1) BIP30 duplicate-coinbase check.
  • precomputed_tx_ids - Optional pre-computed tx IDs; when Some, skips hashing in consensus and returns those IDs as Cow::Borrowed (no per-block Vec clone).