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

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

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. 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

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

Performs the conversion.

Performs the conversion.

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)

recently added

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.