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 is used to verify the storage proof
It is set None
if the specific fraud proof variant doesn’t contain a 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 require 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
Implementations
§impl<Number, Hash, MmrHash, DomainHeader> FraudProof<Number, Hash, DomainHeader, MmrHash>where
DomainHeader: Header,
impl<Number, Hash, MmrHash, DomainHeader> FraudProof<Number, Hash, DomainHeader, MmrHash>where
DomainHeader: Header,
pub fn domain_id(&self) -> DomainId
pub fn targeted_bad_receipt_hash(&self) -> <DomainHeader as Header>::Hash
pub fn is_unexpected_domain_runtime_code_proof(&self) -> bool
pub fn is_unexpected_mmr_proof(&self) -> bool
pub fn dummy_fraud_proof( domain_id: DomainId, bad_receipt_hash: <DomainHeader as Header>::Hash, ) -> FraudProof<Number, Hash, DomainHeader, MmrHash>
Trait Implementations
§impl<Number, Hash, DomainHeader, MmrHash> Clone for FraudProof<Number, Hash, DomainHeader, MmrHash>
impl<Number, Hash, DomainHeader, MmrHash> Clone for FraudProof<Number, Hash, DomainHeader, MmrHash>
§impl<Number, Hash, MmrHash, DomainHeader> Debug for FraudProof<Number, Hash, DomainHeader, MmrHash>where
DomainHeader: Header,
impl<Number, Hash, MmrHash, DomainHeader> Debug for FraudProof<Number, Hash, DomainHeader, MmrHash>where
DomainHeader: Header,
§impl<Number, Hash, DomainHeader, MmrHash> Decode for FraudProof<Number, Hash, DomainHeader, MmrHash>
impl<Number, Hash, DomainHeader, MmrHash> Decode for FraudProof<Number, Hash, DomainHeader, MmrHash>
§fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<FraudProof<Number, Hash, DomainHeader, MmrHash>, Error>where
__CodecInputEdqy: Input,
fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<FraudProof<Number, Hash, DomainHeader, MmrHash>, Error>where
__CodecInputEdqy: Input,
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
Attempt to skip the encoded value from input. Read more
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
§impl<Number, Hash, DomainHeader, MmrHash> Encode for FraudProof<Number, Hash, DomainHeader, MmrHash>
impl<Number, Hash, DomainHeader, MmrHash> Encode for FraudProof<Number, Hash, DomainHeader, MmrHash>
§fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)where
__CodecOutputEdqy: Output + ?Sized,
fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)where
__CodecOutputEdqy: Output + ?Sized,
Convert self to a slice and append it to the destination.
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more