carbon_wavebreak_decoder/accounts/
bonding_curve.rs1use super::super::types::*;
2
3use carbon_core::{borsh, CarbonDeserialize};
4
5#[derive(
6 CarbonDeserialize, Debug, serde::Deserialize, serde::Serialize, PartialEq, Eq, Clone, Hash,
7)]
8#[carbon(discriminator = "0x02")]
9pub struct BondingCurve {
10 pub discriminator: AccountDiscriminator,
11 pub base_mint: solana_pubkey::Pubkey,
12 pub quote_mint: solana_pubkey::Pubkey,
13 pub creator: solana_pubkey::Pubkey,
14 pub retain_mint_authority: bool,
15 pub buy_requires_permission: bool,
16 pub buy_permission_bitmap: [u8; 32],
17 pub sell_requires_permission: bool,
18 pub sell_permission_bitmap: [u8; 32],
19 pub quote_fee_bps: u16,
20 pub base_fee_bps: u16,
21 pub control_points: [u16; 4],
22 pub start_price: u128,
23 pub end_price: u128,
24 pub quote_amount: u64,
25 pub base_amount: u64,
26 pub launch_slot: u64,
27 pub creator_reward: u64,
28 pub graduation_target: u64,
29 pub graduation_slot: u64,
30 pub graduation_reward: u64,
31 pub max_buy_amount: u64,
32 pub max_sell_amount: u64,
33 pub swap_fee_bps: u16,
34 pub base_allocation_bps: u16,
35 pub graduation_methods: [GraduationMethodData; 8],
36 pub min_reserve_bps: u16,
37 pub padding1: [u8; 2],
38 pub preminted_supply: u64,
39 #[serde(with = "serde_big_array::BigArray")]
40 pub padding2: [u8; 728],
41}