pub struct MaxVoterWeightRecord {
pub account_discriminator: [u8; 8],
pub realm: Pubkey,
pub governing_token_mint: Pubkey,
pub max_voter_weight: u64,
pub max_voter_weight_expiry: Option<Slot>,
pub reserved: [u8; 8],
}
Expand description
MaxVoterWeightRecord account The account is used as an api interface to provide max voting power to the governance program from external addin contracts
Fields
account_discriminator: [u8; 8]
VoterWeightRecord discriminator sha256(“account:MaxVoterWeightRecord”)[..8] Note: The discriminator size must match the addin implementing program discriminator size to ensure it’s stored in the private space of the account data and it’s unique
realm: Pubkey
The Realm the MaxVoterWeightRecord belongs to
governing_token_mint: Pubkey
Governing Token Mint the MaxVoterWeightRecord is associated with Note: The addin can take deposits of any tokens and is not restricted to the community or council tokens only
max_voter_weight: u64
Max voter weight The max voter weight provided by the addin for the given realm and governing_token_mint
max_voter_weight_expiry: Option<Slot>
The slot when the max voting weight expires It should be set to None if the weight never expires If the max vote weight decays with time, for example for time locked based weights, then the expiry must be set As a pattern Revise instruction to update the max weight should be invoked before governance instruction within the same transaction and the expiry set to the current slot to provide up to date weight
reserved: [u8; 8]
Reserved space for future versions
Implementations
sha256(“account:MaxVoterWeightRecord”)[..8]
Trait Implementations
Returns max account size or None if max size is not known and actual instance size should be used
impl BorshSchema for MaxVoterWeightRecord where
[u8; 8]: BorshSchema,
Pubkey: BorshSchema,
Pubkey: BorshSchema,
u64: BorshSchema,
Option<Slot>: BorshSchema,
[u8; 8]: BorshSchema,
impl BorshSchema for MaxVoterWeightRecord where
[u8; 8]: BorshSchema,
Pubkey: BorshSchema,
Pubkey: BorshSchema,
u64: BorshSchema,
Option<Slot>: BorshSchema,
[u8; 8]: BorshSchema,
Get the name of the type without brackets.
Recursively, using DFS, add type definitions required for this type. For primitive types this is an empty map. Type definition explains how to serialize/deserialize a type. Read more
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition, RandomState>
)
Helper method to add a single type definition to the map.
impl BorshSerialize for MaxVoterWeightRecord where
[u8; 8]: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
Option<Slot>: BorshSerialize,
[u8; 8]: BorshSerialize,
impl BorshSerialize for MaxVoterWeightRecord where
[u8; 8]: BorshSerialize,
Pubkey: BorshSerialize,
Pubkey: BorshSerialize,
u64: BorshSerialize,
Option<Slot>: BorshSerialize,
[u8; 8]: BorshSerialize,
Is initialized
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for MaxVoterWeightRecord
impl Send for MaxVoterWeightRecord
impl Sync for MaxVoterWeightRecord
impl Unpin for MaxVoterWeightRecord
impl UnwindSafe for MaxVoterWeightRecord
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more