pub struct TowerSync {
pub lockouts: VecDeque<Lockout>,
pub root: Option<Slot>,
pub hash: Hash,
pub timestamp: Option<UnixTimestamp>,
pub block_id: Hash,
}Fields§
§lockouts: VecDeque<Lockout>The proposed tower
root: Option<Slot>The proposed root
hash: Hashsignature of the bank’s state at the last slot
timestamp: Option<UnixTimestamp>processing timestamp of last slot
block_id: Hashthe unique identifier for the chain up to and including this block. Does not require replaying in order to compute.
Implementations§
Source§impl TowerSync
impl TowerSync
pub fn new( lockouts: VecDeque<Lockout>, root: Option<Slot>, hash: Hash, block_id: Hash, ) -> Self
Sourcepub fn new_from_slot(slot: Slot, hash: Hash) -> Self
pub fn new_from_slot(slot: Slot, hash: Hash) -> Self
Creates a tower with consecutive votes for slot - MAX_LOCKOUT_HISTORY + 1 to slot inclusive.
If slot >= MAX_LOCKOUT_HISTORY, sets the root to (slot - MAX_LOCKOUT_HISTORY)
Sets the hash to hash and leaves block_id unset.
Sourcepub fn new_from_slots(slots: Vec<Slot>, hash: Hash, root: Option<Slot>) -> Self
pub fn new_from_slots(slots: Vec<Slot>, hash: Hash, root: Option<Slot>) -> Self
Creates a tower with consecutive confirmation for slots
pub fn slots(&self) -> Vec<Slot>
pub fn last_voted_slot(&self) -> Option<Slot>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TowerSync
impl<'de> Deserialize<'de> for TowerSync
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TowerSync
impl StructuralPartialEq for TowerSync
Auto Trait Implementations§
impl Freeze for TowerSync
impl RefUnwindSafe for TowerSync
impl Send for TowerSync
impl Sync for TowerSync
impl Unpin for TowerSync
impl UnwindSafe for TowerSync
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 Twhere
T: Serialize + AbiExample,
impl<T> AbiEnumVisitor for Twhere
T: Serialize + AbiExample,
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
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<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