Struct spl_governance::state::governance::GovernanceConfig [−][src]
#[repr(C)]pub struct GovernanceConfig { pub realm: Pubkey, pub governed_account: Pubkey, pub vote_threshold_percentage: VoteThresholdPercentage, pub min_tokens_to_create_proposal: u64, pub min_instruction_hold_up_time: u32, pub max_voting_time: u32, pub vote_weight_source: VoteWeightSource, pub proposal_cool_off_time: u32, }
Expand description
Governance config
Fields
realm: Pubkey
Governance Realm
governed_account: Pubkey
Account governed by this Governance. It can be for example Program account, Mint account or Token Account
vote_threshold_percentage: VoteThresholdPercentage
The type of the vote threshold used for voting Note: In the current version only YesVote threshold is supported
min_tokens_to_create_proposal: u64
Minimum number of tokens a governance token owner must possess to be able to create a proposal
min_instruction_hold_up_time: u32
Minimum waiting time in seconds for an instruction to be executed after proposal is voted on
max_voting_time: u32
Time limit in seconds for proposal to be open for voting
vote_weight_source: VoteWeightSource
The source of vote weight for voters Note: In the current version only token deposits are accepted as vote weight
proposal_cool_off_time: u32
The time period in seconds within which a Proposal can be still cancelled after being voted on Once cool off time expires Proposal can’t be cancelled any longer and becomes a law Note: This field is not implemented in the current version
Trait Implementations
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.
Whether Self is u8.
NOTE: Vec<u8>
is the most common use-case for serialization and deserialization, it’s
worth handling it as a special case to improve performance.
It’s a workaround for specific Vec<u8>
implementation versus generic Vec<T>
implementation. See https://github.com/rust-lang/rfcs/pull/1210 for details. Read more
impl BorshSchema for GovernanceConfig where
Pubkey: BorshSchema,
Pubkey: BorshSchema,
VoteThresholdPercentage: BorshSchema,
u64: BorshSchema,
u32: BorshSchema,
u32: BorshSchema,
VoteWeightSource: BorshSchema,
u32: BorshSchema,
impl BorshSchema for GovernanceConfig where
Pubkey: BorshSchema,
Pubkey: BorshSchema,
VoteThresholdPercentage: BorshSchema,
u64: BorshSchema,
u32: BorshSchema,
u32: BorshSchema,
VoteWeightSource: BorshSchema,
u32: 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.
Serialize this instance into a vector of bytes.
Whether Self is u8.
NOTE: Vec<u8>
is the most common use-case for serialization and deserialization, it’s
worth handling it as a special case to improve performance.
It’s a workaround for specific Vec<u8>
implementation versus generic Vec<T>
implementation. See https://github.com/rust-lang/rfcs/pull/1210 for details. Read more
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 GovernanceConfig
impl Send for GovernanceConfig
impl Sync for GovernanceConfig
impl Unpin for GovernanceConfig
impl UnwindSafe for GovernanceConfig
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self
pub fn vzip(self) -> V