carbon-wavebreak-decoder 2.0.0

Wavebreak Program Decoder
Documentation
//! This code was AUTOGENERATED using the Codama library.
use solana_pubkey::Pubkey;

#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub struct MintConfig {
    pub instruction_discriminator: u8,
    pub quote_mint: Pubkey,
    pub create_requires_permission: bool,
    pub create_permission_bitmap: [u8; 32],
    pub default_buy_requires_permission: bool,
    pub default_buy_permission_bitmap: [u8; 32],
    pub default_sell_requires_permission: bool,
    pub default_sell_permission_bitmap: [u8; 32],
    pub padding1: [u8; 3],
    pub default_creator_reward: u64,
    pub default_graduation_reward: u64,
    pub default_graduation_target: u64,
    pub default_max_buy_amount: u64,
    pub default_max_sell_amount: u64,
    pub default_start_price: u128,
    pub default_end_price: u128,
    pub default_control_points: [u16; 4],
    pub default_swap_fee_bps: u16,
    pub default_quote_fee_bps: u16,
    pub default_base_fee_bps: u16,
    #[cfg_attr(feature = "serde", serde(with = "serde_big_array::BigArray"))]
    pub padding2: [u8; 1826],
}

impl MintConfig {
    pub fn decode(data: &[u8]) -> Option<Self> {
        let mut data_slice = data;

        borsh::BorshDeserialize::deserialize(&mut data_slice).ok()
    }
}