pub struct GaugeVoter {
    pub gaugemeister: Pubkey,
    pub escrow: Pubkey,
    pub owner: Pubkey,
    pub total_weight: u32,
    pub weight_change_seqno: u64,
}
Expand description

A GaugeVoter represents an locked_voter::Escrow that can vote on gauges.

Fields

gaugemeister: Pubkeyescrow: Pubkey

The Escrow of the GaugeVoter.

owner: Pubkey

Owner of the Escrow of the GaugeVoter.

total_weight: u32

Total number of parts that the voter has distributed.

weight_change_seqno: u64

This number gets incremented whenever weights are changed. Use this to determine if votes must be re-committed.

This is primarily used when provisioning an EpochGaugeVoter:

  1. When one wants to commit their votes, they call gauge::prepare_epoch_gauge_voter
  2. The Self::weight_change_seqno gets written to EpochGaugeVoter::weight_change_seqno.
  3. In gauge::gauge_commit_vote, if the Self::weight_change_seqno has changed, the transaction is blocked with a crate::ErrorCode::WeightSeqnoChanged error.

Implementations

Length of a GaugeVoter in bytes.

Trait Implementations

Deserializes previously initialized account data. Should fail for all uninitialized accounts, where the bytes are zeroed. Implementations should be unique to a particular account type so that one can never successfully deserialize the data of one account type into another. For example, if the SPL token program were to implement this trait, it should be impossible to deserialize a Mint account into a token Account. Read more

Deserializes account data without checking the account discriminator. This should only be used on account initialization, when the bytes of the account are zeroed. Read more

Serializes the account data into writer.

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes. Read more

Deserialize this instance from a slice of bytes.

Serialize this instance into a vector of bytes.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.