[][src]Struct solana_libra_types::proto::types::ValidatorChangeEventWithProof

pub struct ValidatorChangeEventWithProof {
    pub ledger_info_with_sigs: Option<LedgerInfoWithSignatures>,
    pub event_with_proof: Option<EventWithProof>,
}

This is used to prove validator changes. When a validator is changing, it triggers an event on /validator_change_account/events/sent. To tell the client about validator changes, we query /validator_change_account/events/sent to get all versions that contain validator changes after the version that we are trying to update from. For each of these versions, the old validator set would have signed the ledger info at that version. The client needs this as well as the event results + proof. The client can then verify that these events were under the current tree and that the changes were signed by the old validators (and that the events correctly show which validators are the new validators).

This message represents a single validator change event and the proof that corresponds to it

Fields

ledger_info_with_sigs: Option<LedgerInfoWithSignatures>event_with_proof: Option<EventWithProof>

Trait Implementations

impl Clone for ValidatorChangeEventWithProof[src]

impl Debug for ValidatorChangeEventWithProof[src]

impl Default for ValidatorChangeEventWithProof[src]

impl<Sig: Signature> From<ValidatorChangeEventWithProof<Sig>> for ValidatorChangeEventWithProof[src]

impl Message for ValidatorChangeEventWithProof[src]

impl PartialEq<ValidatorChangeEventWithProof> for ValidatorChangeEventWithProof[src]

impl StructuralPartialEq for ValidatorChangeEventWithProof[src]

impl<Sig: Signature> TryFrom<ValidatorChangeEventWithProof> for ValidatorChangeEventWithProof<Sig>[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

impl<T> From<T> for T[src]

impl<T> InitializableFromZeroed for T where
    T: Default

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,