use carbon_core::{borsh, CarbonDeserialize};
#[derive(
CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
)]
#[carbon(discriminator = "0xe445a52e51cb9a1d3e2f370aa503dc2a")]
pub struct SellEvent {
pub timestamp: i64,
pub base_amount_in: u64,
pub min_quote_amount_out: u64,
pub user_base_token_reserves: u64,
pub user_quote_token_reserves: u64,
pub pool_base_token_reserves: u64,
pub pool_quote_token_reserves: u64,
pub quote_amount_out: u64,
pub lp_fee_basis_points: u64,
pub lp_fee: u64,
pub protocol_fee_basis_points: u64,
pub protocol_fee: u64,
pub quote_amount_out_without_lp_fee: u64,
pub user_quote_amount_out: u64,
pub pool: solana_sdk::pubkey::Pubkey,
pub user: solana_sdk::pubkey::Pubkey,
pub user_base_token_account: solana_sdk::pubkey::Pubkey,
pub user_quote_token_account: solana_sdk::pubkey::Pubkey,
pub protocol_fee_recipient: solana_sdk::pubkey::Pubkey,
pub protocol_fee_recipient_token_account: solana_sdk::pubkey::Pubkey,
}