carbon-wavebreak-decoder 2.0.0

Wavebreak Program Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
use {
    crate::types::{BondingCurveCreationType, GraduationMethodData},
    solana_pubkey::Pubkey,
};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub enum Event {
    BondingCurveCreated {
        creation_type: BondingCurveCreationType,
        base_mint: Pubkey,
        quote_mint: Pubkey,
        creator: Pubkey,
        start_price: u128,
        end_price: u128,
        control_points: [u16; 4],
        swap_fee_bps: u16,
        quote_fee_bps: u16,
        base_fee_bps: u16,
        base_allocation_bps: u16,
        launch_time: i64,
        creator_reward: u64,
        graduation_methods: [GraduationMethodData; 8],
        graduation_target: u64,
        graduation_time: i64,
        graduation_reward: u64,
        retain_mint_authority: bool,
        min_reserve_bps: u16,
        buy_requires_permission: bool,
        buy_permission_bitmap: [u8; 32],
        max_buy_amount: u64,
        sell_requires_permission: bool,
        sell_permission_bitmap: [u8; 32],
        max_sell_amount: u64,
        quote_token_program: Pubkey,
        base_token_program: Pubkey,
        quote_token_decimals: u8,
        base_token_decimals: u8,
    },
    TokenBought {
        buyer: Pubkey,
        base_mint: Pubkey,
        quote_mint: Pubkey,
        amount_in: u64,
        amount_out: u64,
        price_before: u128,
        price_after: u128,
        quote_amount_before: u64,
        quote_amount_after: u64,
        base_amount_before: u64,
        base_amount_after: u64,
        protocol_fee: u64,
    },
    TokenSold {
        seller: Pubkey,
        base_mint: Pubkey,
        quote_mint: Pubkey,
        amount_in: u64,
        amount_out: u64,
        price_before: u128,
        price_after: u128,
        quote_amount_before: u64,
        quote_amount_after: u64,
        base_amount_before: u64,
        base_amount_after: u64,
        protocol_fee: u64,
    },
    TokenRefunded {
        signer: Pubkey,
        base_mint: Pubkey,
        quote_mint: Pubkey,
        price: u128,
        quote_amount: u64,
        base_amount: u64,
    },
    BondingCurveGraduated {
        graduator: Pubkey,
        base_mint: Pubkey,
        quote_mint: Pubkey,
        final_price: u128,
        graduation_methods: [GraduationMethodData; 8],
    },
    BondingCurveClosed {
        bonding_curve: Pubkey,
    },
}