pallet_domains

Type Alias FraudProofFor

source
pub type FraudProofFor<T> = FraudProof<BlockNumberFor<T>, <T as Config>::Hash, <T as Config>::DomainHeader, <T as Config>::MmrHash>;

Aliased Type§

struct FraudProofFor<T> {
    pub domain_id: DomainId,
    pub bad_receipt_hash: <<T as Config>::DomainHeader as Header>::Hash,
    pub maybe_mmr_proof: Option<ConsensusChainMmrLeafProof<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash>>,
    pub maybe_domain_runtime_code_proof: Option<DomainRuntimeCodeAt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash>>,
    pub proof: FraudProofVariant<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash, <T as Config>::DomainHeader>,
}

Fields§

§domain_id: DomainId§bad_receipt_hash: <<T as Config>::DomainHeader as Header>::Hash

Hash of the bad receipt this fraud proof targeted

§maybe_mmr_proof: Option<ConsensusChainMmrLeafProof<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash>>

The MMR proof for the consensus state root that used to verify the storage proof

It is set None if the specific fraud proof variant doesn’t contains storage proof

§maybe_domain_runtime_code_proof: Option<DomainRuntimeCodeAt<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash>>

The domain runtime code storage proof

It is set None if the specific fraud proof variant doesn’t required domain runtime code or the required domain runtime code is available from the current runtime state.

§proof: FraudProofVariant<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number, <T as Config>::Hash, <T as Config>::MmrHash, <T as Config>::DomainHeader>

The specific fraud proof variant