use bytemuck::{Pod, Zeroable};
use marsh_utils::*;
use solana_program::pubkey::Pubkey;
use crate::consts::CONFIG;
use super::MarshAccount;
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
pub struct Config {
pub base_reward_rate: u64,
pub last_reset_at: i64,
pub min_difficulty: u64,
pub top_balance: u64,
pub evolver: Pubkey,
pub evolvable: u64,
}
pub fn config_pda() -> (Pubkey, u8) {
Pubkey::find_program_address(&[CONFIG], &crate::id())
}
account!(MarshAccount, Config);