Struct gauge::GaugeVoter
source · [−]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: Pubkey
The Gaugemeister.
escrow: 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:
- When one wants to commit their votes, they call gauge::prepare_epoch_gauge_voter
- The Self::weight_change_seqno gets written to EpochGaugeVoter::weight_change_seqno.
- In gauge::gauge_commit_vote, if the Self::weight_change_seqno has changed, the transaction is blocked with a crate::ErrorCode::WeightSeqnoChanged error.
Implementations
sourceimpl GaugeVoter
impl GaugeVoter
sourcepub const LEN: usize = 108usize
pub const LEN: usize = 108usize
Length of a GaugeVoter in bytes.
Trait Implementations
sourceimpl AccountDeserialize for GaugeVoter
impl AccountDeserialize for GaugeVoter
sourcefn try_deserialize(buf: &mut &[u8]) -> Result<Self>
fn try_deserialize(buf: &mut &[u8]) -> Result<Self>
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
sourceimpl AccountSerialize for GaugeVoter
impl AccountSerialize for GaugeVoter
sourceimpl BorshDeserialize for GaugeVoter where
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u32: BorshDeserialize,
u64: BorshDeserialize,
impl BorshDeserialize for GaugeVoter where
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
Pubkey: BorshDeserialize,
u32: BorshDeserialize,
u64: BorshDeserialize,
sourceimpl BorshSerialize for GaugeVoter where
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u32: BorshSerialize,
u64: BorshSerialize,
impl BorshSerialize for GaugeVoter where
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u32: BorshSerialize,
u64: BorshSerialize,
sourceimpl Clone for GaugeVoter
impl Clone for GaugeVoter
sourcefn clone(&self) -> GaugeVoter
fn clone(&self) -> GaugeVoter
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for GaugeVoter
impl Debug for GaugeVoter
sourceimpl Default for GaugeVoter
impl Default for GaugeVoter
sourcefn default() -> GaugeVoter
fn default() -> GaugeVoter
Returns the “default value” for a type. Read more
sourceimpl Discriminator for GaugeVoter
impl Discriminator for GaugeVoter
fn discriminator() -> [u8; 8]
sourceimpl Owner for GaugeVoter
impl Owner for GaugeVoter
impl Copy for GaugeVoter
Auto Trait Implementations
impl RefUnwindSafe for GaugeVoter
impl Send for GaugeVoter
impl Sync for GaugeVoter
impl Unpin for GaugeVoter
impl UnwindSafe for GaugeVoter
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more