carbon_wavebreak_decoder/types/
event.rs

1use super::*;
2
3use carbon_core::{borsh, CarbonDeserialize};
4
5#[derive(
6    CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
7)]
8pub enum Event {
9    BondingCurveCreated {
10        creation_type: BondingCurveCreationType,
11        base_mint: solana_pubkey::Pubkey,
12        quote_mint: solana_pubkey::Pubkey,
13        creator: solana_pubkey::Pubkey,
14        start_price: u128,
15        end_price: u128,
16        control_points: [u16; 4],
17        swap_fee_bps: u16,
18        quote_fee_bps: u16,
19        base_fee_bps: u16,
20        base_allocation_bps: u16,
21        launch_slot: u64,
22        creator_reward: u64,
23        graduation_methods: Box<[GraduationMethodData; 8]>,
24        graduation_target: u64,
25        graduation_slot: u64,
26        graduation_reward: u64,
27        retain_mint_authority: bool,
28        min_reserve_bps: u16,
29        buy_requires_permission: bool,
30        buy_permission_bitmap: [u8; 32],
31        max_buy_amount: u64,
32        sell_requires_permission: bool,
33        sell_permission_bitmap: [u8; 32],
34        max_sell_amount: u64,
35        quote_token_program: solana_pubkey::Pubkey,
36        base_token_program: solana_pubkey::Pubkey,
37        quote_token_decimals: u8,
38        base_token_decimals: u8,
39    },
40    TokenBought {
41        buyer: solana_pubkey::Pubkey,
42        base_mint: solana_pubkey::Pubkey,
43        quote_mint: solana_pubkey::Pubkey,
44        amount_in: u64,
45        amount_out: u64,
46        price_before: u128,
47        price_after: u128,
48        quote_amount_before: u64,
49        quote_amount_after: u64,
50        base_amount_before: u64,
51        base_amount_after: u64,
52        protocol_fee: u64,
53    },
54    TokenSold {
55        seller: solana_pubkey::Pubkey,
56        base_mint: solana_pubkey::Pubkey,
57        quote_mint: solana_pubkey::Pubkey,
58        amount_in: u64,
59        amount_out: u64,
60        price_before: u128,
61        price_after: u128,
62        quote_amount_before: u64,
63        quote_amount_after: u64,
64        base_amount_before: u64,
65        base_amount_after: u64,
66        protocol_fee: u64,
67    },
68    TokenRefunded {
69        signer: solana_pubkey::Pubkey,
70        base_mint: solana_pubkey::Pubkey,
71        quote_mint: solana_pubkey::Pubkey,
72        price: u128,
73        quote_amount: u64,
74        base_amount: u64,
75    },
76    BondingCurveGraduated {
77        graduator: solana_pubkey::Pubkey,
78        base_mint: solana_pubkey::Pubkey,
79        quote_mint: solana_pubkey::Pubkey,
80        final_price: u128,
81        graduation_methods: Box<[GraduationMethodData; 8]>,
82    },
83    BondingCurveClosed {
84        bonding_curve: solana_pubkey::Pubkey,
85    },
86}