Struct spl_governance::state::realm::Realm [−][src]
#[repr(C)]pub struct Realm { pub account_type: GovernanceAccountType, pub community_mint: Pubkey, pub config: RealmConfig, pub reserved: [u8; 8], pub authority: Option<Pubkey>, pub name: String, }
Expand description
Governance Realm Account Account PDA seeds“ [‘governance’, name]
Fields
account_type: GovernanceAccountType
Governance account type
community_mint: Pubkey
Community mint
config: RealmConfig
Configuration of the Realm
reserved: [u8; 8]
Reserved space for future versions
Realm authority. The authority must sign transactions which update the realm config The authority can be transferer to Realm Governance and hence make the Realm self governed through proposals
name: String
Governance Realm name
Implementations
pub fn assert_is_valid_governing_token_mint(
&self,
governing_token_mint: &Pubkey
) -> Result<(), ProgramError>
pub fn assert_is_valid_governing_token_mint(
&self,
governing_token_mint: &Pubkey
) -> Result<(), ProgramError>
Asserts the given mint is either Community or Council mint of the Realm
pub fn assert_is_valid_governing_token_mint_and_holding(
&self,
program_id: &Pubkey,
realm: &Pubkey,
governing_token_mint: &Pubkey,
governing_token_holding: &Pubkey
) -> Result<(), ProgramError>
pub fn assert_is_valid_governing_token_mint_and_holding(
&self,
program_id: &Pubkey,
realm: &Pubkey,
governing_token_mint: &Pubkey,
governing_token_holding: &Pubkey
) -> Result<(), ProgramError>
Asserts the given governing token mint and holding accounts are valid for the realm
Trait Implementations
Returns max account size or None if max size is not known and actual instance size should be used
impl BorshSchema for Realm where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
RealmConfig: BorshSchema,
[u8; 8]: BorshSchema,
Option<Pubkey>: BorshSchema,
String: BorshSchema,
impl BorshSchema for Realm where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
RealmConfig: BorshSchema,
[u8; 8]: BorshSchema,
Option<Pubkey>: BorshSchema,
String: 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
Auto Trait Implementations
impl RefUnwindSafe for Realm
impl UnwindSafe for Realm
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