1use serde::{Deserialize, Serialize};
2use steel::*;
3
4use crate::state::config_pda;
5
6use super::OilAccount;
7
8#[repr(C)]
9#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
10pub struct Config {
11 pub admin: Pubkey,
13
14 pub barrel_authority: Pubkey,
16
17 pub fee_collector: Pubkey,
19
20 pub swap_program: Pubkey,
22
23 pub var_address: Pubkey,
25
26 pub admin_fee: u64,
28
29 pub emission_week: u64,
31
32 pub last_emission_week_update: u64,
34}
35
36impl Config {
37 pub fn pda() -> (Pubkey, u8) {
38 config_pda()
39 }
40}
41
42account!(OilAccount, Config);