pub enum AttributesMatch {
Match,
Mismatch(AttributesMismatch),
}Expand description
Result of validating payload attributes against an execution layer block.
Used to verify that proposed payload attributes match the actual executed block, ensuring consistency between the rollup derivation process and execution layer. Validation includes withdrawals, transactions, fees, and other block properties.
§Examples
ⓘ
use kona_engine::AttributesMatch;
use kona_genesis::RollupConfig;
use kona_protocol::OpAttributesWithParent;
let config = RollupConfig::default();
let match_result = AttributesMatch::check_withdrawals(&config, &attributes, &block);
if match_result.is_match() {
println!("Attributes are valid for this block");
}Variants§
Match
The payload attributes are consistent with the block.
Mismatch(AttributesMismatch)
The attributes do not match the block (contains mismatch details).
Implementations§
Source§impl AttributesMatch
impl AttributesMatch
Sourcepub const fn is_mismatch(&self) -> bool
pub const fn is_mismatch(&self) -> bool
Returns true if the attributes do not match the block.
Sourcepub fn check_withdrawals(
config: &RollupConfig,
attributes: &OpAttributesWithParent,
block: &Block<Transaction>,
) -> Self
pub fn check_withdrawals( config: &RollupConfig, attributes: &OpAttributesWithParent, block: &Block<Transaction>, ) -> Self
Checks that withdrawals for a block and attributes match.
Sourcepub fn check(
config: &RollupConfig,
attributes: &OpAttributesWithParent,
block: &Block<Transaction>,
) -> Self
pub fn check( config: &RollupConfig, attributes: &OpAttributesWithParent, block: &Block<Transaction>, ) -> Self
Checks if the specified OpAttributesWithParent matches the specified Block.
Returns AttributesMatch::Match if they match, otherwise returns
AttributesMatch::Mismatch.
Trait Implementations§
Source§impl Clone for AttributesMatch
impl Clone for AttributesMatch
Source§fn clone(&self) -> AttributesMatch
fn clone(&self) -> AttributesMatch
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AttributesMatch
impl Debug for AttributesMatch
Source§impl From<AttributesMismatch> for AttributesMatch
impl From<AttributesMismatch> for AttributesMatch
Source§fn from(mismatch: AttributesMismatch) -> Self
fn from(mismatch: AttributesMismatch) -> Self
Converts to this type from the input type.
Source§impl PartialEq for AttributesMatch
impl PartialEq for AttributesMatch
impl Copy for AttributesMatch
impl Eq for AttributesMatch
impl StructuralPartialEq for AttributesMatch
Auto Trait Implementations§
impl Freeze for AttributesMatch
impl RefUnwindSafe for AttributesMatch
impl Send for AttributesMatch
impl Sync for AttributesMatch
impl Unpin for AttributesMatch
impl UnwindSafe for AttributesMatch
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more