marsh-api 2.1.2

API for interacting with the MARSH program
Documentation
use bytemuck::{Pod, Zeroable};
use marsh_utils::*;
use solana_program::pubkey::Pubkey;

use crate::consts::TREASURY;

use super::MarshAccount;

/// Treasury is a singleton account which is the mint authority for the MARSH token and the authority of
/// the program's global token account.
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct Treasury {}

/// Derive the PDA of the treasury account.
pub fn treasury_pda() -> (Pubkey, u8) {
    Pubkey::find_program_address(&[TREASURY], &crate::id())
}

account!(MarshAccount, Treasury);