pub enum ControlEvent {
InvalidateBlock(B256),
ProviderL1(BlockInfo),
Reset {
local_unsafe: Option<BlockInfo>,
cross_unsafe: Option<BlockInfo>,
local_safe: Option<BlockInfo>,
cross_safe: Option<BlockInfo>,
finalized: Option<BlockInfo>,
},
UpdateCrossSafe(BlockInfo),
UpdateCrossUnsafe(BlockInfo),
UpdateFinalized(BlockInfo),
}Expand description
Control Event
The ControlEvent is an action performed by the supervisor
on the L2 consensus node, in this case the kona-node.
Variants§
InvalidateBlock(B256)
Invalidates a specified block.
Based on some dependency or L1 changes, the supervisor can instruct the L2 to invalidate a specific block.
ProviderL1(BlockInfo)
The supervisor sends the next L1 block to the node. Ideally sent after the node emits exhausted-l1.
Reset
Forces a reset to a specific local-unsafe/local-safe/finalized starting point only if the blocks did exist. Resets may override local-unsafe, to reset the very end of the chain. Resets may override local-safe, since post-interop we need the local-safe block derivation to continue.
Fields
UpdateCrossSafe(BlockInfo)
Signal that a block can be promoted to cross-safe.
UpdateCrossUnsafe(BlockInfo)
Signal that a block can be promoted to cross-unsafe.
UpdateFinalized(BlockInfo)
Signal that a block can be marked as finalized.
Trait Implementations§
Source§impl Clone for ControlEvent
impl Clone for ControlEvent
Source§fn clone(&self) -> ControlEvent
fn clone(&self) -> ControlEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ControlEvent
impl Debug for ControlEvent
Source§impl PartialEq for ControlEvent
impl PartialEq for ControlEvent
impl Eq for ControlEvent
impl StructuralPartialEq for ControlEvent
Auto Trait Implementations§
impl Freeze for ControlEvent
impl RefUnwindSafe for ControlEvent
impl Send for ControlEvent
impl Sync for ControlEvent
impl Unpin for ControlEvent
impl UnwindSafe for ControlEvent
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
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§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>
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>
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