fn check_contextual_validity(
        &mut self,
        prepared: &PreparedBlock,
    ) -> Result<(), ValidateContextError> {
        let relevant_chain = self.any_ancestor_blocks(prepared.block.header.previous_block_hash);

        // Security: check proof of work before any other checks
        check::block_is_valid_for_recent_chain(
            prepared,
            self.network,
            self.disk.finalized_tip_height(),
            relevant_chain,
        )?;

        check::nullifier::no_duplicates_in_finalized_chain(prepared, &self.disk)?;

        Ok(())
    }
/// Check that the prepared block is contextually valid for the configured
/// network, based on the committed finalized and non-finalized state.
///
/// Note: some additional contextual validity checks are performed by the
/// non-finalized [`Chain`].
Check that the prepared block is contextually valid for the configured
network, based on the committed finalized and non-finalized state.

some additional contextual validity checks are performed by the
non-finalized [`Chain`].
Check that the prepared block is contextually valid for the configured network based on the committed finalized and non - finalized state . some additional contextual validity checks are performed by the non - finalized [ ` Chain ` ] .
fn check_contextual_validity(
        &mut self,
        prepared: &PreparedBlock,
    ) -> Result<(), ValidateContextError> {
        let relevant_chain = self.any_ancestor_blocks(prepared.block.header.previous_block_hash);
        // Security: check proof of work before any other checks
        check::block_is_valid_for_recent_chain(
            prepared,
            self.network,
            self.disk.finalized_tip_height(),
            relevant_chain,
        )?;
        check::nullifier::no_duplicates_in_finalized_chain(prepared, &self.disk)?;
        Ok(())
    }
fn check_contextual_validity ( & mut self , prepared : & PreparedBlock , ) -> Result < ( ) , ValidateContextError > { let relevant_chain = self . any_ancestor_blocks ( prepared . block . header . previous_block_hash ) ; // Security: check proof of work before any other checks check :: block_is_valid_for_recent_chain ( prepared , self . network , self . disk . finalized_tip_height ( ) , relevant_chain , ) ? ; check :: nullifier :: no_duplicates_in_finalized_chain ( prepared , & self . disk ) ? ; Ok ( ( ) ) }
Check that the prepared block is contextually valid for the configured
network, based on the committed finalized and non-finalized state.
Check that the prepared block is contextually valid for the configured network based on the committed finalized and non - finalized state .
&mut self
prepared
&PreparedBlock