use anchor_lang::event;
use anchor_lang::prelude::*;
#[event]
pub struct CompositionFee {
pub from: Pubkey,
pub bin_id: i16,
pub token_x_fee_amount: u64,
pub token_y_fee_amount: u64,
pub protocol_token_x_fee_amount: u64,
pub protocol_token_y_fee_amount: u64,
}
#[event]
pub struct AddLiquidity {
pub lb_pair: Pubkey,
pub from: Pubkey,
pub position: Pubkey,
pub amounts: [u64; 2],
pub active_bin_id: i32,
}
#[event]
pub struct RemoveLiquidity {
pub lb_pair: Pubkey,
pub from: Pubkey,
pub position: Pubkey,
pub amounts: [u64; 2],
pub active_bin_id: i32,
}
#[event]
pub struct Swap {
pub lb_pair: Pubkey,
pub from: Pubkey,
pub start_bin_id: i32,
pub end_bin_id: i32,
pub amount_in: u64,
pub amount_out: u64,
pub swap_for_y: bool,
pub fee: u64,
pub protocol_fee: u64,
pub fee_bps: u128,
pub host_fee: u64,
}
#[event]
pub struct ClaimReward {
pub lb_pair: Pubkey,
pub position: Pubkey,
pub owner: Pubkey,
pub reward_index: u64,
pub total_reward: u64,
}
#[event]
pub struct FundReward {
pub lb_pair: Pubkey,
pub funder: Pubkey,
pub reward_index: u64,
pub amount: u64,
}
#[event]
pub struct InitializeReward {
pub lb_pair: Pubkey,
pub reward_mint: Pubkey,
pub funder: Pubkey,
pub reward_index: u64,
pub reward_duration: u64,
}
#[event]
pub struct UpdateRewardDuration {
pub lb_pair: Pubkey,
pub reward_index: u64,
pub old_reward_duration: u64,
pub new_reward_duration: u64,
}
#[event]
pub struct UpdateRewardFunder {
pub lb_pair: Pubkey,
pub reward_index: u64,
pub old_funder: Pubkey,
pub new_funder: Pubkey,
}
#[event]
pub struct PositionClose {
pub position: Pubkey,
pub owner: Pubkey,
}
#[event]
pub struct ClaimFee {
pub lb_pair: Pubkey,
pub position: Pubkey,
pub owner: Pubkey,
pub fee_x: u64,
pub fee_y: u64,
}
#[event]
pub struct LbPairCreate {
pub lb_pair: Pubkey,
pub bin_step: u16,
pub token_x: Pubkey,
pub token_y: Pubkey,
}
#[event]
pub struct PositionCreate {
pub lb_pair: Pubkey,
pub position: Pubkey,
pub owner: Pubkey,
}
#[event]
pub struct FeeParameterUpdate {
pub lb_pair: Pubkey,
pub protocol_share: u16,
pub base_factor: u16,
}
#[event]
pub struct IncreaseObservation {
pub oracle: Pubkey,
pub new_observation_length: u64,
}
#[event]
pub struct WithdrawIneligibleReward {
pub lb_pair: Pubkey,
pub reward_mint: Pubkey,
pub amount: u64,
}
#[event]
pub struct UpdatePositionOperator {
pub position: Pubkey,
pub old_operator: Pubkey,
pub new_operator: Pubkey,
}