#[repr(C)]pub struct RealmV2 {
pub account_type: GovernanceAccountType,
pub community_mint: Pubkey,
pub config: RealmConfig,
pub reserved: [u8; 6],
pub voting_proposal_count: u16,
pub authority: Option<Pubkey>,
pub name: String,
pub reserved_v2: [u8; 128],
}
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; 6]
Reserved space for future versions
voting_proposal_count: u16
The number of proposals in voting state in the Realm
Realm authority. The authority must sign transactions which update the realm config The authority should be transferred to Realm Governance to make the Realm self governed through proposals
name: String
Governance Realm name
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
sourceimpl RealmV2
impl RealmV2
sourcepub 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
sourcepub 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
sourcepub fn asset_governing_tokens_deposits_allowed(
&self,
governing_token_mint: &Pubkey
) -> Result<(), ProgramError>
pub fn asset_governing_tokens_deposits_allowed(
&self,
governing_token_mint: &Pubkey
) -> Result<(), ProgramError>
Asserts the given governing token can be deposited into the realm
Assert the given create authority can create governance
Trait Implementations
sourceimpl AccountMaxSize for RealmV2
impl AccountMaxSize for RealmV2
sourcefn get_max_size(&self) -> Option<usize>
fn get_max_size(&self) -> Option<usize>
Returns max account size or None if max size is not known and actual instance size should be used
sourceimpl BorshDeserialize for RealmV2 where
GovernanceAccountType: BorshDeserialize,
Pubkey: BorshDeserialize,
RealmConfig: BorshDeserialize,
[u8; 6]: BorshDeserialize,
u16: BorshDeserialize,
Option<Pubkey>: BorshDeserialize,
String: BorshDeserialize,
[u8; 128]: BorshDeserialize,
impl BorshDeserialize for RealmV2 where
GovernanceAccountType: BorshDeserialize,
Pubkey: BorshDeserialize,
RealmConfig: BorshDeserialize,
[u8; 6]: BorshDeserialize,
u16: BorshDeserialize,
Option<Pubkey>: BorshDeserialize,
String: BorshDeserialize,
[u8; 128]: BorshDeserialize,
sourceimpl BorshSchema for RealmV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
RealmConfig: BorshSchema,
[u8; 6]: BorshSchema,
u16: BorshSchema,
Option<Pubkey>: BorshSchema,
String: BorshSchema,
[u8; 128]: BorshSchema,
impl BorshSchema for RealmV2 where
GovernanceAccountType: BorshSchema,
Pubkey: BorshSchema,
RealmConfig: BorshSchema,
[u8; 6]: BorshSchema,
u16: BorshSchema,
Option<Pubkey>: BorshSchema,
String: BorshSchema,
[u8; 128]: BorshSchema,
sourcefn declaration() -> Declaration
fn declaration() -> Declaration
Get the name of the type without brackets.
sourcefn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
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
sourcefn 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.
fn schema_container() -> BorshSchemaContainer
sourceimpl BorshSerialize for RealmV2 where
GovernanceAccountType: BorshSerialize,
Pubkey: BorshSerialize,
RealmConfig: BorshSerialize,
[u8; 6]: BorshSerialize,
u16: BorshSerialize,
Option<Pubkey>: BorshSerialize,
String: BorshSerialize,
[u8; 128]: BorshSerialize,
impl BorshSerialize for RealmV2 where
GovernanceAccountType: BorshSerialize,
Pubkey: BorshSerialize,
RealmConfig: BorshSerialize,
[u8; 6]: BorshSerialize,
u16: BorshSerialize,
Option<Pubkey>: BorshSerialize,
String: BorshSerialize,
[u8; 128]: BorshSerialize,
sourceimpl IsInitialized for RealmV2
impl IsInitialized for RealmV2
sourcefn is_initialized(&self) -> bool
fn is_initialized(&self) -> bool
Is initialized
impl StructuralPartialEq for RealmV2
Auto Trait Implementations
impl RefUnwindSafe for RealmV2
impl Send for RealmV2
impl Sync for RealmV2
impl Unpin for RealmV2
impl UnwindSafe for RealmV2
Blanket Implementations
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more