Struct spl_governance::state::governance::GovernanceV2
source · [−]#[repr(C)]pub struct GovernanceV2 {
pub account_type: GovernanceAccountType,
pub realm: Pubkey,
pub governed_account: Pubkey,
pub proposals_count: u32,
pub config: GovernanceConfig,
pub reserved: [u8; 6],
pub voting_proposal_count: u16,
pub reserved_v2: [u8; 128],
}
Expand description
Governance Account
Fields
account_type: GovernanceAccountType
Account type. It can be Uninitialized, Governance, ProgramGovernance, TokenGovernance or MintGovernance
realm: Pubkey
Governance Realm
governed_account: Pubkey
Account governed by this Governance and/or PDA identity seed It can be Program account, Mint account, Token account or any other account
Note: The account doesn’t have to exist. In that case the field is only a PDA seed
Note: Setting governed_account doesn’t give any authority over the governed account The relevant authorities for specific account types must still be transferred to the Governance PDA Ex: mint_authority/freeze_authority for a Mint account or upgrade_authority for a Program account should be transferred to the Governance PDA
proposals_count: u32
Running count of proposals
config: GovernanceConfig
Governance config
reserved: [u8; 6]
Reserved space for future versions
voting_proposal_count: u16
The number of proposals in voting state in the Governance
reserved_v2: [u8; 128]
Reserved space for versions v2 and onwards Note: This space won’t be available to v1 accounts until runtime supports resizing
Implementations
Trait Implementations
Returns max account size or None if max size is not known and actual instance size should be used
impl BorshSchema for GovernanceV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
Pubkey: BorshSchema,
u32: BorshSchema,
GovernanceConfig: BorshSchema,
[u8; 6]: BorshSchema,
u16: BorshSchema,
[u8; 128]: BorshSchema,
impl BorshSchema for GovernanceV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
Pubkey: BorshSchema,
u32: BorshSchema,
GovernanceConfig: BorshSchema,
[u8; 6]: BorshSchema,
u16: BorshSchema,
[u8; 128]: 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.
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 GovernanceV2
impl Send for GovernanceV2
impl Sync for GovernanceV2
impl Unpin for GovernanceV2
impl UnwindSafe for GovernanceV2
Blanket Implementations
pub default fn example() -> T
Mutably borrows from an owned value. Read more