pub fn verify_invalid_bundles_fraud_proof<CBlock, DomainHeader, MmrHash, Balance, SKP, MPV>(
    bad_receipt: ExecutionReceipt<NumberFor<CBlock>, CBlock::Hash, HeaderNumberFor<DomainHeader>, HeaderHashFor<DomainHeader>, Balance>,
    bad_receipt_parent: ExecutionReceipt<NumberFor<CBlock>, CBlock::Hash, HeaderNumberFor<DomainHeader>, HeaderHashFor<DomainHeader>, Balance>,
    invalid_bundles_fraud_proof: &InvalidBundlesProof<NumberFor<CBlock>, <CBlock as BlockT>::Hash, MmrHash, DomainHeader>,
    domain_id: DomainId,
    state_root: CBlock::Hash,
    domain_runtime_code: Vec<u8>,
) -> Result<(), VerificationError<DomainHeader::Hash>>
where CBlock: BlockT, DomainHeader: HeaderT, CBlock::Hash: Into<H256>, DomainHeader::Hash: Into<H256>, MmrHash: Decode + Clone, SKP: FraudProofStorageKeyProvider<NumberFor<CBlock>>, MPV: MmrProofVerifier<MmrHash, NumberFor<CBlock>, CBlock::Hash>,