use super::super::types::*;
use carbon_core::{borsh, CarbonDeserialize};
#[derive(
CarbonDeserialize, Debug, serde::Deserialize, serde::Serialize, PartialEq, Eq, Clone, Hash,
)]
#[carbon(discriminator = "0xf7ede3f5d7c3de46")]
pub struct PoolState {
pub epoch: u64,
pub auth_bump: u8,
pub status: u8,
pub base_decimals: u8,
pub quote_decimals: u8,
pub migrate_type: u8,
pub supply: u64,
pub total_base_sell: u64,
pub virtual_base: u64,
pub virtual_quote: u64,
pub real_base: u64,
pub real_quote: u64,
pub total_quote_fund_raising: u64,
pub quote_protocol_fee: u64,
pub platform_fee: u64,
pub migrate_fee: u64,
pub vesting_schedule: VestingSchedule,
pub global_config: solana_pubkey::Pubkey,
pub platform_config: solana_pubkey::Pubkey,
pub base_mint: solana_pubkey::Pubkey,
pub quote_mint: solana_pubkey::Pubkey,
pub base_vault: solana_pubkey::Pubkey,
pub quote_vault: solana_pubkey::Pubkey,
pub creator: solana_pubkey::Pubkey,
pub token_program_flag: u8,
pub amm_creator_fee_on: AmmCreatorFeeOn,
#[serde(with = "serde_big_array::BigArray")]
pub padding: [u8; 62],
}