Struct diem_types::waypoint::Waypoint [−][src]
pub struct Waypoint { /* fields omitted */ }
Expand description
Waypoint keeps information about the LedgerInfo on a given version, which provides an off-chain mechanism to verify the sync process right after the restart. At high level, a trusted waypoint verifies the LedgerInfo for a certain epoch change. For more information, please refer to the Waypoints documentation.
Implementations
impl Waypoint
[src]
impl Waypoint
[src]pub fn new_any(ledger_info: &LedgerInfo) -> Self
[src]
pub fn new_any(ledger_info: &LedgerInfo) -> Self
[src]Generate a new waypoint given any LedgerInfo.
pub fn new_epoch_boundary(ledger_info: &LedgerInfo) -> Result<Self>
[src]
pub fn new_epoch_boundary(ledger_info: &LedgerInfo) -> Result<Self>
[src]Generates a new waypoint given the epoch change LedgerInfo.
pub fn version(&self) -> Version
[src]
pub fn value(&self) -> HashValue
[src]
pub fn verify(&self, ledger_info: &LedgerInfo) -> Result<()>
[src]
pub fn verify(&self, ledger_info: &LedgerInfo) -> Result<()>
[src]Errors in case the given ledger info does not match the waypoint.
Trait Implementations
impl<'de> Deserialize<'de> for Waypoint
[src]
impl<'de> Deserialize<'de> for Waypoint
[src]fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl From<Waypoint> for TrustedState
[src]
impl From<Waypoint> for TrustedState
[src]impl Verifier for Waypoint
[src]
impl Verifier for Waypoint
[src]fn verify(&self, ledger_info: &LedgerInfoWithSignatures) -> Result<()>
[src]
fn verify(&self, ledger_info: &LedgerInfoWithSignatures) -> Result<()>
[src]Verify if the ledger_info is trust worthy.
fn epoch_change_verification_required(&self, _epoch: u64) -> bool
[src]
fn epoch_change_verification_required(&self, _epoch: u64) -> bool
[src]Returns true in case the given epoch is larger than the existing verifier can support. In this case the EpochChangeProof should be verified and the verifier updated. Read more
fn is_ledger_info_stale(&self, ledger_info: &LedgerInfo) -> bool
[src]
fn is_ledger_info_stale(&self, ledger_info: &LedgerInfo) -> bool
[src]Returns true if the given LedgerInfo
is stale and probably in our
trusted prefix. Read more
impl Copy for Waypoint
[src]
impl Eq for Waypoint
[src]
impl StructuralEq for Waypoint
[src]
impl StructuralPartialEq for Waypoint
[src]
Auto Trait Implementations
impl RefUnwindSafe for Waypoint
impl Send for Waypoint
impl Sync for Waypoint
impl Unpin for Waypoint
impl UnwindSafe for Waypoint
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
[src]
impl<T> TestOnlyHash for T where
T: Serialize + ?Sized,
[src]pub fn test_only_hash(&self) -> HashValue
[src]
pub fn test_only_hash(&self) -> HashValue
[src]Generates a hash used only for tests.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,