//! This code was AUTOGENERATED using the codama library.
//! Please DO NOT EDIT THIS FILE, instead use visitors
//! to add features, then rerun codama to update it.
//!
//! <https://github.com/codama-idl/codama>
//!
use borsh::BorshDeserialize;
use borsh::BorshSerialize;
#[derive(BorshSerialize, BorshDeserialize, Clone, Debug, Eq, PartialEq)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Bin {
/// Amount of token X in the bin. This already excluded protocol fees.
pub amount_x: u64,
/// Amount of token Y in the bin. This already excluded protocol fees.
pub amount_y: u64,
/// Bin price
pub price: u128,
/// Liquidities of the bin. This is the same as LP mint supply. q-number
pub liquidity_supply: u128,
/// reward_a_per_token_stored
pub reward_per_token_stored: [u128; 2],
/// Swap fee amount of token X per liquidity deposited.
pub fee_amount_x_per_token_stored: u128,
/// Swap fee amount of token Y per liquidity deposited.
pub fee_amount_y_per_token_stored: u128,
/// Total token X swap into the bin. Only used for tracking purpose.
pub amount_x_in: u128,
/// Total token Y swap into he bin. Only used for tracking purpose.
pub amount_y_in: u128,
}