squads_multisig_program/state/
program_config.rs1use anchor_lang::prelude::*;
2
3use crate::errors::MultisigError;
4
5#[account]
7#[derive(InitSpace)]
8pub struct ProgramConfig {
9 pub authority: Pubkey,
11 pub multisig_creation_fee: u64,
14 pub treasury: Pubkey,
16 pub _reserved: [u8; 64],
18}
19
20impl ProgramConfig {
21 pub fn invariant(&self) -> Result<()> {
22 require_keys_neq!(
24 self.authority,
25 Pubkey::default(),
26 MultisigError::InvalidAccount
27 );
28
29 require_keys_neq!(
31 self.treasury,
32 Pubkey::default(),
33 MultisigError::InvalidAccount
34 );
35
36 Ok(())
37 }
38}