use super::super::types::*;
use carbon_core::{borsh, CarbonDeserialize};
#[derive(
CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
)]
#[carbon(discriminator = "0xe445a52e51cb9a1dbddb7fd34ee661ee")]
pub struct TradeEvent {
pub pool_state: solana_pubkey::Pubkey,
pub total_base_sell: u64,
pub virtual_base: u64,
pub virtual_quote: u64,
pub real_base_before: u64,
pub real_quote_before: u64,
pub real_base_after: u64,
pub real_quote_after: u64,
pub amount_in: u64,
pub amount_out: u64,
pub protocol_fee: u64,
pub platform_fee: u64,
pub creator_fee: u64,
pub share_fee: u64,
pub trade_direction: TradeDirection,
pub pool_status: PoolStatus,
pub exact_in: bool,
}