pub enum CommitmentLevel {
Max,
Recent,
Root,
Single,
SingleGossip,
Processed,
Confirmed,
Finalized,
}
Expand description
An attribute of a slot. It describes how finalized a block is at some point in time. For example, a slot is said to be at the max level immediately after the cluster recognizes the block at that slot as finalized. When querying the ledger state, use lower levels of commitment to report progress and higher levels to ensure state changes will not be rolled back.
Variants§
Max
(DEPRECATED) The highest slot having reached max vote lockout, as recognized by a supermajority of the cluster.
Recent
(DEPRECATED) The highest slot of the heaviest fork. Ledger state at this slot is not derived from a finalized block, but if multiple forks are present, is from the fork the validator believes is most likely to finalize.
Root
(DEPRECATED) The highest slot having reached max vote lockout.
Single
(DEPRECATED) The highest slot having reached 1 confirmation by supermajority of the cluster.
SingleGossip
(DEPRECATED) The highest slot that has been voted on by supermajority of the cluster
This differs from single
in that:
- It incorporates votes from gossip and replay.
- It does not count votes on descendants of a block, only direct votes on that block.
- This confirmation level also upholds “optimistic confirmation” guarantees in release 1.3 and onwards.
Processed
The highest slot of the heaviest fork processed by the node. Ledger state at this slot is not derived from a confirmed or finalized block, but if multiple forks are present, is from the fork the validator believes is most likely to finalize.
Confirmed
The highest slot that has been voted on by supermajority of the cluster, ie. is confirmed. Confirmation incorporates votes from gossip and replay. It does not count votes on descendants of a block, only direct votes on that block, and upholds “optimistic confirmation” guarantees in release 1.3 and onwards.
Finalized
The highest slot having reached max vote lockout, as recognized by a supermajority of the cluster.
Trait Implementations§
source§impl Clone for CommitmentLevel
impl Clone for CommitmentLevel
source§fn clone(&self) -> CommitmentLevel
fn clone(&self) -> CommitmentLevel
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CommitmentLevel
impl Debug for CommitmentLevel
source§impl Default for CommitmentLevel
impl Default for CommitmentLevel
source§impl<'de> Deserialize<'de> for CommitmentLevel
impl<'de> Deserialize<'de> for CommitmentLevel
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Display for CommitmentLevel
impl Display for CommitmentLevel
source§impl FromStr for CommitmentLevel
impl FromStr for CommitmentLevel
source§impl Hash for CommitmentLevel
impl Hash for CommitmentLevel
source§impl PartialEq for CommitmentLevel
impl PartialEq for CommitmentLevel
source§impl Serialize for CommitmentLevel
impl Serialize for CommitmentLevel
impl Copy for CommitmentLevel
impl Eq for CommitmentLevel
impl StructuralPartialEq for CommitmentLevel
Auto Trait Implementations§
impl Freeze for CommitmentLevel
impl RefUnwindSafe for CommitmentLevel
impl Send for CommitmentLevel
impl Sync for CommitmentLevel
impl Unpin for CommitmentLevel
impl UnwindSafe for CommitmentLevel
Blanket Implementations§
source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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