diff --git a/CHANGELOG.md b/CHANGELOG.md index 132e7481..793bce11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,14 +22,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Breaking Changes ## cp_amm [0.2.0] -[TODO] + +### Removed + +- Removed `partner` field from Pool struct +- Removed unused `partner_fee` feature and the `claim_partner_fee` endpoint ## cp_amm [0.1.8][PR #177](https://github.com/MeteoraAg/damm-v2/pull/177) ### Added - New endpoint `fix_pool_params` and `fix_config_fee_params` to allow `operator` to fix invalid scheduler params that causes blocking operation on `update_pool_fees` endpoint. -- New endpoint `lock_inner_position`, that allow to vest liquidity without external `Vesting` account for better composability. +- New endpoint `lock_inner_position`, that allow to vest liquidity without external `Vesting` account for better composability. ### Changed diff --git a/README.md b/README.md index 957a390b..0b6f6f1e 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,6 @@ MCPA is a brand new AMM program of Meteora that includes almost all features fro - fund_reward: fund reward for on-chain liquidity mining - withdraw_ineligible_reward: withdraw ineligible reward -### Partner (aka Launchpad) -- claim_partner_fee: claim partner fee - ### Token deployer - initialize_pool: create a new pool from a static config key - initialize_pool_with_dynamic_config: create a new pool from a dynamic config key @@ -54,7 +51,7 @@ MCPA is a brand new AMM program of Meteora that includes almost all features fro ## Config key state - vault_config_key: alpha-vault address that is able to buy pool before activation_point - pool_creator_authority: if this address is non-default, then only this address can create pool with that config key (for launchpad) -- pool_fees: includes base fee scheduler, dynamic-fee, protocol fee percent, partner fee percent, and referral fee percent configuration +- pool_fees: includes base fee scheduler, dynamic-fee, protocol fee percent, and referral fee percent configuration - activation_type: determines whether pools are run in slot or timestamp - collect_fee_mode: determines whether pool should collect fees in both tokens or only one token - sqrt_min_price: square root of min price for pools diff --git a/programs/cp-amm/src/constants.rs b/programs/cp-amm/src/constants.rs index 2df92890..c3330d81 100644 --- a/programs/cp-amm/src/constants.rs +++ b/programs/cp-amm/src/constants.rs @@ -208,11 +208,8 @@ pub mod fee { pub const HOST_FEE_PERCENT: u8 = 20; // 20% of protocol fee - pub const PARTNER_FEE_PERCENT: u8 = 0; // percentage of partner fee - static_assertions::const_assert!(PROTOCOL_FEE_PERCENT <= 50); static_assertions::const_assert!(HOST_FEE_PERCENT <= 50); - static_assertions::const_assert!(PARTNER_FEE_PERCENT <= 50); #[constant] pub const CURRENT_POOL_VERSION: u8 = 1; diff --git a/programs/cp-amm/src/event.rs b/programs/cp-amm/src/event.rs index 404ef078..4be8343e 100644 --- a/programs/cp-amm/src/event.rs +++ b/programs/cp-amm/src/event.rs @@ -141,13 +141,6 @@ pub struct EvtClaimProtocolFee { pub token_b_amount: u64, } -#[event] -pub struct EvtClaimPartnerFee { - pub pool: Pubkey, - pub token_a_amount: u64, - pub token_b_amount: u64, -} - #[event] pub struct EvtSetPoolStatus { pub pool: Pubkey, diff --git a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_customizable_pool.rs b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_customizable_pool.rs index 37f38b3a..7d1c6616 100644 --- a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_customizable_pool.rs +++ b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_customizable_pool.rs @@ -291,7 +291,6 @@ pub fn handle_initialize_customizable_pool<'c: 'info, 'info>( ctx.accounts.token_a_vault.key(), ctx.accounts.token_b_vault.key(), alpha_vault, - Pubkey::default(), sqrt_min_price, sqrt_max_price, sqrt_price, diff --git a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool.rs b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool.rs index 87e84b15..440a9073 100644 --- a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool.rs +++ b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool.rs @@ -274,7 +274,6 @@ pub fn handle_initialize_pool<'c: 'info, 'info>( ctx.accounts.token_a_vault.key(), ctx.accounts.token_b_vault.key(), alpha_vault, - config.pool_creator_authority, config.sqrt_min_price, config.sqrt_max_price, sqrt_price, diff --git a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool_with_dynamic_config.rs b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool_with_dynamic_config.rs index 8df33e60..4924e8d8 100644 --- a/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool_with_dynamic_config.rs +++ b/programs/cp-amm/src/instructions/initialize_pool/ix_initialize_pool_with_dynamic_config.rs @@ -242,7 +242,6 @@ pub fn handle_initialize_pool_with_dynamic_config<'c: 'info, 'info>( ctx.accounts.token_a_vault.key(), ctx.accounts.token_b_vault.key(), alpha_vault, - config.pool_creator_authority, sqrt_min_price, sqrt_max_price, sqrt_price, diff --git a/programs/cp-amm/src/instructions/mod.rs b/programs/cp-amm/src/instructions/mod.rs index 965c7fc4..19571049 100644 --- a/programs/cp-amm/src/instructions/mod.rs +++ b/programs/cp-amm/src/instructions/mod.rs @@ -22,8 +22,6 @@ pub mod ix_permanent_lock_position; pub use ix_permanent_lock_position::*; pub mod ix_claim_reward; pub use ix_claim_reward::*; -pub mod partner; -pub use partner::*; pub mod ix_fund_reward; pub use ix_fund_reward::*; pub mod ix_withdraw_ineligible_reward; diff --git a/programs/cp-amm/src/instructions/partner/ix_claim_partner_fee.rs b/programs/cp-amm/src/instructions/partner/ix_claim_partner_fee.rs deleted file mode 100644 index c995548b..00000000 --- a/programs/cp-amm/src/instructions/partner/ix_claim_partner_fee.rs +++ /dev/null @@ -1,92 +0,0 @@ -use anchor_lang::prelude::*; -use anchor_spl::token_interface::{Mint, TokenAccount, TokenInterface}; - -use crate::{const_pda, state::Pool, token::transfer_from_pool, EvtClaimPartnerFee}; - -/// Accounts for partner to claim fees -#[event_cpi] -#[derive(Accounts)] -pub struct ClaimPartnerFeesCtx<'info> { - /// CHECK: pool authority - #[account(address = const_pda::pool_authority::ID)] - pub pool_authority: UncheckedAccount<'info>, - - #[account( - mut, - has_one = token_a_vault, - has_one = token_b_vault, - has_one = token_a_mint, - has_one = token_b_mint, - has_one = partner, - )] - pub pool: AccountLoader<'info, Pool>, - - /// The treasury token a account - #[account(mut)] - pub token_a_account: Box>, - - /// The treasury token b account - #[account(mut)] - pub token_b_account: Box>, - - /// The vault token account for input token - #[account(mut, token::token_program = token_a_program, token::mint = token_a_mint)] - pub token_a_vault: Box>, - - /// The vault token account for output token - #[account(mut, token::token_program = token_b_program, token::mint = token_b_mint)] - pub token_b_vault: Box>, - - /// The mint of token a - pub token_a_mint: Box>, - - /// The mint of token b - pub token_b_mint: Box>, - - pub partner: Signer<'info>, - - /// Token a program - pub token_a_program: Interface<'info, TokenInterface>, - - /// Token b program - pub token_b_program: Interface<'info, TokenInterface>, -} - -/// Partner claim fees. -pub fn handle_claim_partner_fee( - ctx: Context, - max_amount_a: u64, - max_amount_b: u64, -) -> Result<()> { - let mut pool = ctx.accounts.pool.load_mut()?; - let (token_a_amount, token_b_amount) = pool.claim_partner_fee(max_amount_a, max_amount_b)?; - - if max_amount_a > 0 { - transfer_from_pool( - ctx.accounts.pool_authority.to_account_info(), - &ctx.accounts.token_a_mint, - &ctx.accounts.token_a_vault, - &ctx.accounts.token_a_account.to_account_info(), - &ctx.accounts.token_a_program, - token_a_amount, - )?; - } - - if max_amount_b > 0 { - transfer_from_pool( - ctx.accounts.pool_authority.to_account_info(), - &ctx.accounts.token_b_mint, - &ctx.accounts.token_b_vault, - &ctx.accounts.token_b_account.to_account_info(), - &ctx.accounts.token_b_program, - token_b_amount, - )?; - } - - emit_cpi!(EvtClaimPartnerFee { - pool: ctx.accounts.pool.key(), - token_a_amount, - token_b_amount - }); - Ok(()) -} diff --git a/programs/cp-amm/src/instructions/partner/mod.rs b/programs/cp-amm/src/instructions/partner/mod.rs deleted file mode 100644 index aa0f94a1..00000000 --- a/programs/cp-amm/src/instructions/partner/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod ix_claim_partner_fee; -pub use ix_claim_partner_fee::*; diff --git a/programs/cp-amm/src/lib.rs b/programs/cp-amm/src/lib.rs index 004d335d..6d2222dd 100644 --- a/programs/cp-amm/src/lib.rs +++ b/programs/cp-amm/src/lib.rs @@ -186,15 +186,6 @@ pub mod cp_amm { instructions::handle_zap_protocol_fee(ctx, max_amount) } - #[deprecated = "We currently disable this, and could enable this in the future"] - pub fn claim_partner_fee( - ctx: Context, - max_amount_a: u64, - max_amount_b: u64, - ) -> Result<()> { - instructions::handle_claim_partner_fee(ctx, max_amount_a, max_amount_b) - } - #[access_control(is_valid_operator_role(&ctx.accounts.operator, ctx.accounts.signer.key, OperatorPermission::CloseTokenBadge))] pub fn close_token_badge(ctx: Context) -> Result<()> { instructions::handle_close_token_badge(ctx) diff --git a/programs/cp-amm/src/params/fee_parameters.rs b/programs/cp-amm/src/params/fee_parameters.rs index 659d45cd..58bf94e8 100644 --- a/programs/cp-amm/src/params/fee_parameters.rs +++ b/programs/cp-amm/src/params/fee_parameters.rs @@ -1,9 +1,7 @@ //! Fees module includes information about fee charges use crate::activation_handler::ActivationType; use crate::base_fee::{base_fee_parameters_to_base_fee_info, BaseFeeHandlerBuilder}; -use crate::constants::fee::{ - HOST_FEE_PERCENT, MAX_BASIS_POINT, PARTNER_FEE_PERCENT, PROTOCOL_FEE_PERCENT, -}; +use crate::constants::fee::{HOST_FEE_PERCENT, MAX_BASIS_POINT, PROTOCOL_FEE_PERCENT}; use crate::constants::{BIN_STEP_BPS_DEFAULT, BIN_STEP_BPS_U128_DEFAULT, U24_MAX}; use crate::error::PoolError; use crate::safe_math::SafeMath; @@ -58,7 +56,6 @@ impl PoolFeeParameters { Ok(PoolFeesConfig { base_fee: base_fee.to_base_fee_config()?, protocol_fee_percent: PROTOCOL_FEE_PERCENT, - partner_fee_percent: PARTNER_FEE_PERCENT, referral_fee_percent: HOST_FEE_PERCENT, dynamic_fee: dynamic_fee.to_dynamic_fee_config(), ..Default::default() @@ -67,7 +64,6 @@ impl PoolFeeParameters { Ok(PoolFeesConfig { base_fee: base_fee.to_base_fee_config()?, protocol_fee_percent: PROTOCOL_FEE_PERCENT, - partner_fee_percent: PARTNER_FEE_PERCENT, referral_fee_percent: HOST_FEE_PERCENT, ..Default::default() }) @@ -82,7 +78,6 @@ impl PoolFeeParameters { Ok(PoolFeesStruct { base_fee: base_fee.to_base_fee_struct()?, protocol_fee_percent: PROTOCOL_FEE_PERCENT, - partner_fee_percent: PARTNER_FEE_PERCENT, referral_fee_percent: HOST_FEE_PERCENT, dynamic_fee: dynamic_fee.to_dynamic_fee_struct(), init_sqrt_price, @@ -92,7 +87,6 @@ impl PoolFeeParameters { Ok(PoolFeesStruct { base_fee: base_fee.to_base_fee_struct()?, protocol_fee_percent: PROTOCOL_FEE_PERCENT, - partner_fee_percent: PARTNER_FEE_PERCENT, referral_fee_percent: HOST_FEE_PERCENT, init_sqrt_price, ..Default::default() @@ -233,25 +227,3 @@ impl PoolFeeParameters { Ok(()) } } - -#[derive(Copy, Clone, Debug, AnchorSerialize, AnchorDeserialize, InitSpace, Default)] -pub struct PartnerInfo { - pub fee_percent: u8, - pub partner_authority: Pubkey, - pub pending_fee_a: u64, - pub pending_fee_b: u64, -} - -impl PartnerInfo { - pub fn have_partner(&self) -> bool { - self.partner_authority != Pubkey::default() - } - - pub fn validate(&self) -> Result<()> { - if !self.have_partner() { - require!(self.fee_percent == 0, PoolError::InvalidFee); - } - - Ok(()) - } -} diff --git a/programs/cp-amm/src/state/config.rs b/programs/cp-amm/src/state/config.rs index cc371651..20677e04 100644 --- a/programs/cp-amm/src/state/config.rs +++ b/programs/cp-amm/src/state/config.rs @@ -4,9 +4,7 @@ use crate::{ base_fee::base_fee_info_to_base_fee_parameters, constants::activation::*, error::PoolError, - params::fee_parameters::{ - BaseFeeParameters, DynamicFeeParameters, PartnerInfo, PoolFeeParameters, - }, + params::fee_parameters::{BaseFeeParameters, DynamicFeeParameters, PoolFeeParameters}, safe_math::SafeMath, state::fee::{BaseFeeStruct, DynamicFeeStruct, PoolFeesStruct}, }; @@ -41,10 +39,10 @@ pub struct PoolFeesConfig { pub base_fee: BaseFeeInfo, pub dynamic_fee: DynamicFeeConfig, pub protocol_fee_percent: u8, - pub partner_fee_percent: u8, + pub padding_0: u8, pub referral_fee_percent: u8, - pub padding_0: [u8; 5], - pub padding_1: [u64; 5], + pub padding_1: [u8; 5], + pub padding_2: [u64; 5], } const_assert_eq!(PoolFeesConfig::INIT_SPACE, 128); @@ -114,7 +112,6 @@ impl PoolFeesConfig { let &PoolFeesConfig { base_fee, protocol_fee_percent, - partner_fee_percent, referral_fee_percent, dynamic_fee, .. @@ -123,7 +120,6 @@ impl PoolFeesConfig { PoolFeesStruct { base_fee: base_fee.to_base_fee_struct(), protocol_fee_percent, - partner_fee_percent, referral_fee_percent, dynamic_fee: dynamic_fee.to_dynamic_fee_struct(), init_sqrt_price, @@ -282,14 +278,6 @@ impl Config { self.config_type = ConfigType::Dynamic.into(); } - pub fn get_partner_info(&self) -> PartnerInfo { - PartnerInfo { - partner_authority: self.pool_creator_authority, - fee_percent: self.pool_fees.partner_fee_percent, - ..Default::default() - } - } - pub fn has_alpha_vault(&self) -> bool { self.vault_config_key.ne(&Pubkey::default()) } diff --git a/programs/cp-amm/src/state/fee.rs b/programs/cp-amm/src/state/fee.rs index 44d712af..00ac9720 100644 --- a/programs/cp-amm/src/state/fee.rs +++ b/programs/cp-amm/src/state/fee.rs @@ -25,7 +25,6 @@ pub struct FeeOnAmountResult { pub amount: u64, pub trading_fee: u64, pub protocol_fee: u64, - pub partner_fee: u64, pub referral_fee: u64, } @@ -64,7 +63,6 @@ pub enum BaseFeeMode { /// trading_fee = amount * trade_fee_numerator / denominator /// protocol_fee = trading_fee * protocol_fee_percentage / 100 /// referral_fee = protocol_fee * referral_percentage / 100 -/// partner_fee = (protocol_fee - referral_fee) * partner_fee_percentage / denominator #[derive(Debug, InitSpace, Default)] pub struct PoolFeesStruct { /// Trade fees are extra token amounts that are held inside the token @@ -77,12 +75,12 @@ pub struct PoolFeesStruct { /// the protocol of the program. /// Protocol trade fee numerator pub protocol_fee_percent: u8, - /// partner fee - pub partner_fee_percent: u8, + /// padding for future use + pub padding_0: u8, /// referral fee pub referral_fee_percent: u8, /// padding - pub padding_0: [u8; 5], + pub padding_1: [u8; 5], /// dynamic fee pub dynamic_fee: DynamicFeeStruct, @@ -188,7 +186,6 @@ impl PoolFeesStruct { amount: u64, trade_fee_numerator: u64, has_referral: bool, - has_partner: bool, ) -> Result { let (amount, trading_fee) = PoolFeesStruct::get_excluded_fee_amount(trade_fee_numerator, amount)?; @@ -197,14 +194,12 @@ impl PoolFeesStruct { trading_fee, protocol_fee, referral_fee, - partner_fee, - } = self.split_fees(trading_fee, has_referral, has_partner)?; + } = self.split_fees(trading_fee, has_referral)?; Ok(FeeOnAmountResult { amount, trading_fee, protocol_fee, - partner_fee, referral_fee, }) } @@ -237,12 +232,7 @@ impl PoolFeesStruct { Ok((included_fee_amount, fee_amount)) } - pub fn split_fees( - &self, - fee_amount: u64, - has_referral: bool, - has_partner: bool, - ) -> Result { + pub fn split_fees(&self, fee_amount: u64, has_referral: bool) -> Result { let protocol_fee = safe_mul_div_cast_u64( fee_amount, self.protocol_fee_percent.into(), @@ -264,26 +254,12 @@ impl PoolFeesStruct { 0 }; - let protocol_fee_after_referral_fee = protocol_fee.safe_sub(referral_fee)?; - - let partner_fee = if has_partner && self.partner_fee_percent > 0 { - safe_mul_div_cast_u64( - protocol_fee_after_referral_fee, - self.partner_fee_percent.into(), - 100, - Rounding::Down, - )? - } else { - 0 - }; - - let protocol_fee = protocol_fee_after_referral_fee.safe_sub(partner_fee)?; + let protocol_fee = protocol_fee.safe_sub(referral_fee)?; Ok(SplitFees { trading_fee, protocol_fee, referral_fee, - partner_fee, }) } } @@ -436,7 +412,6 @@ pub struct SplitFees { pub trading_fee: u64, pub protocol_fee: u64, pub referral_fee: u64, - pub partner_fee: u64, } #[cfg(test)] diff --git a/programs/cp-amm/src/state/pool.rs b/programs/cp-amm/src/state/pool.rs index 24455f15..8d7bf7b3 100644 --- a/programs/cp-amm/src/state/pool.rs +++ b/programs/cp-amm/src/state/pool.rs @@ -115,20 +115,18 @@ pub struct Pool { pub token_b_vault: Pubkey, /// Whitelisted vault to be able to buy pool before activation_point pub whitelisted_vault: Pubkey, - /// partner - pub partner: Pubkey, + /// padding, previously partner pubkey, be careful when using this field + pub padding_0: [u8; 32], /// liquidity share pub liquidity: u128, /// padding, previous reserve amount, be careful to use that field - pub _padding: u128, + pub padding_1: u128, /// protocol a fee pub protocol_a_fee: u64, /// protocol b fee pub protocol_b_fee: u64, - /// partner a fee - pub partner_a_fee: u64, - /// partner b fee - pub partner_b_fee: u64, + // padding for future use + pub padding_2: u128, /// min price pub sqrt_min_price: u128, /// max price @@ -152,7 +150,7 @@ pub struct Pool { /// pool version, 0: max_fee is still capped at 50%, 1: max_fee is capped at 99% pub version: u8, /// padding - pub _padding_0: u8, + pub padding_3: u8, /// cumulative pub fee_a_per_liquidity: [u8; 32], // U256 /// cumulative @@ -164,7 +162,7 @@ pub struct Pool { /// pool creator pub creator: Pubkey, /// Padding for further use - pub _padding_1: [u64; 6], + pub padding_4: [u64; 6], /// Farming reward information pub reward_infos: [RewardInfo; NUM_REWARDS], } @@ -178,8 +176,7 @@ pub struct PoolMetrics { pub total_lp_b_fee: u128, pub total_protocol_a_fee: u64, pub total_protocol_b_fee: u64, - pub total_partner_a_fee: u64, - pub total_partner_b_fee: u64, + pub padding_0: [u64; 2], pub total_position: u64, pub padding: u64, } @@ -198,17 +195,14 @@ impl PoolMetrics { &mut self, lp_fee: u64, protocol_fee: u64, - partner_fee: u64, is_token_a: bool, ) -> Result<()> { if is_token_a { self.total_lp_a_fee = self.total_lp_a_fee.safe_add(lp_fee.into())?; self.total_protocol_a_fee = self.total_protocol_a_fee.safe_add(protocol_fee)?; - self.total_partner_a_fee = self.total_partner_a_fee.safe_add(partner_fee)?; } else { self.total_lp_b_fee = self.total_lp_b_fee.safe_add(lp_fee.into())?; self.total_protocol_b_fee = self.total_protocol_b_fee.safe_add(protocol_fee)?; - self.total_partner_b_fee = self.total_partner_b_fee.safe_add(partner_fee)?; } Ok(()) @@ -387,7 +381,6 @@ impl Pool { token_a_vault: Pubkey, token_b_vault: Pubkey, whitelisted_vault: Pubkey, - partner: Pubkey, sqrt_min_price: u128, sqrt_max_price: u128, sqrt_price: u128, @@ -406,7 +399,6 @@ impl Pool { self.token_a_vault = token_a_vault; self.token_b_vault = token_b_vault; self.whitelisted_vault = whitelisted_vault; - self.partner = partner; self.sqrt_min_price = sqrt_min_price; self.sqrt_max_price = sqrt_max_price; self.activation_point = activation_point; @@ -434,7 +426,6 @@ impl Pool { let mut actual_protocol_fee = 0; let mut actual_trading_fee = 0; let mut actual_referral_fee = 0; - let mut actual_partner_fee = 0; let max_fee_numerator = get_max_fee_numerator(self.version)?; @@ -459,15 +450,13 @@ impl Pool { trading_fee, protocol_fee, referral_fee, - partner_fee, } = self .pool_fees - .split_fees(fee_amount, fee_mode.has_referral, self.has_partner())?; + .split_fees(fee_amount, fee_mode.has_referral)?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; included_fee_amount_out }; @@ -499,15 +488,13 @@ impl Pool { trading_fee, protocol_fee, referral_fee, - partner_fee, } = self .pool_fees - .split_fees(fee_amount, fee_mode.has_referral, self.has_partner())?; + .split_fees(fee_amount, fee_mode.has_referral)?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; included_fee_input_amount } else { @@ -522,7 +509,6 @@ impl Pool { next_sqrt_price, trading_fee: actual_trading_fee, protocol_fee: actual_protocol_fee, - partner_fee: actual_partner_fee, referral_fee: actual_referral_fee, }) } @@ -537,7 +523,6 @@ impl Pool { let mut actual_protocol_fee = 0; let mut actual_trading_fee = 0; let mut actual_referral_fee = 0; - let mut actual_partner_fee = 0; let max_fee_numerator = get_max_fee_numerator(self.version)?; @@ -557,19 +542,16 @@ impl Pool { amount, trading_fee, protocol_fee, - partner_fee, referral_fee, } = self.pool_fees.get_fee_on_amount( amount_in, trade_fee_numerator, fee_mode.has_referral, - self.has_partner(), )?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; amount } else { @@ -607,17 +589,13 @@ impl Pool { trading_fee, protocol_fee, referral_fee, - partner_fee, - } = self.pool_fees.split_fees( - fee_amount, - fee_mode.has_referral, - self.has_partner(), - )?; + } = self + .pool_fees + .split_fees(fee_amount, fee_mode.has_referral)?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; included_fee_amount_in } else { @@ -634,19 +612,16 @@ impl Pool { amount, trading_fee, protocol_fee, - partner_fee, referral_fee, } = self.pool_fees.get_fee_on_amount( output_amount, trade_fee_numerator, fee_mode.has_referral, - self.has_partner(), )?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; amount }; @@ -659,7 +634,6 @@ impl Pool { next_sqrt_price, trading_fee: actual_trading_fee, protocol_fee: actual_protocol_fee, - partner_fee: actual_partner_fee, referral_fee: actual_referral_fee, }) } @@ -674,7 +648,6 @@ impl Pool { let mut actual_protocol_fee = 0; let mut actual_trading_fee = 0; let mut actual_referral_fee = 0; - let mut actual_partner_fee = 0; let max_fee_numerator = get_max_fee_numerator(self.version)?; @@ -698,19 +671,16 @@ impl Pool { amount, trading_fee, protocol_fee, - partner_fee, referral_fee, } = self.pool_fees.get_fee_on_amount( amount_in, trade_fee_numerator, fee_mode.has_referral, - self.has_partner(), )?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; amount } else { @@ -733,19 +703,16 @@ impl Pool { amount, trading_fee, protocol_fee, - partner_fee, referral_fee, } = self.pool_fees.get_fee_on_amount( output_amount, trade_fee_numerator, fee_mode.has_referral, - self.has_partner(), )?; actual_protocol_fee = protocol_fee; actual_trading_fee = trading_fee; actual_referral_fee = referral_fee; - actual_partner_fee = partner_fee; amount }; @@ -758,7 +725,6 @@ impl Pool { next_sqrt_price, trading_fee: actual_trading_fee, protocol_fee: actual_protocol_fee, - partner_fee: actual_partner_fee, referral_fee: actual_referral_fee, }) } @@ -948,7 +914,6 @@ impl Pool { trading_fee: lp_fee, next_sqrt_price, protocol_fee, - partner_fee, .. } = swap_result; @@ -959,23 +924,19 @@ impl Pool { .ok_or_else(|| PoolError::MathOverflow)?; if fee_mode.fees_on_token_a { - self.partner_a_fee = self.partner_a_fee.safe_add(partner_fee)?; self.protocol_a_fee = self.protocol_a_fee.safe_add(protocol_fee)?; self.fee_a_per_liquidity = self .fee_a_per_liquidity() .safe_add(fee_per_token_stored)? .to_le_bytes(); - self.metrics - .accumulate_fee(lp_fee, protocol_fee, partner_fee, true)?; + self.metrics.accumulate_fee(lp_fee, protocol_fee, true)?; } else { - self.partner_b_fee = self.partner_b_fee.safe_add(partner_fee)?; self.protocol_b_fee = self.protocol_b_fee.safe_add(protocol_fee)?; self.fee_b_per_liquidity = self .fee_b_per_liquidity() .safe_add(fee_per_token_stored)? .to_le_bytes(); - self.metrics - .accumulate_fee(lp_fee, protocol_fee, partner_fee, false)?; + self.metrics.accumulate_fee(lp_fee, protocol_fee, false)?; } self.update_post_swap(old_sqrt_price, current_timestamp)?; @@ -1227,18 +1188,6 @@ impl Pool { Ok((token_a_amount, token_b_amount)) } - pub fn claim_partner_fee( - &mut self, - max_amount_a: u64, - max_amount_b: u64, - ) -> Result<(u64, u64)> { - let token_a_amount = self.partner_a_fee.min(max_amount_a); - let token_b_amount = self.partner_b_fee.min(max_amount_b); - self.partner_a_fee = self.partner_a_fee.safe_sub(token_a_amount)?; - self.partner_b_fee = self.partner_b_fee.safe_sub(token_b_amount)?; - Ok((token_a_amount, token_b_amount)) - } - /// Update the rewards per token stored. pub fn update_rewards(&mut self, current_time: u64) -> Result<()> { for reward_idx in 0..NUM_REWARDS { @@ -1277,10 +1226,6 @@ impl Pool { signer == self.creator && reward_index == 0 } - pub fn has_partner(&self) -> bool { - self.partner != Pubkey::default() - } - pub fn get_reserves_amount(&self) -> Result<(u64, u64)> { let reserve_b_amount = get_delta_amount_b_unsigned( self.sqrt_min_price, @@ -1381,7 +1326,8 @@ pub struct SwapResult { pub next_sqrt_price: u128, pub lp_fee: u64, pub protocol_fee: u64, - pub partner_fee: u64, + // for future use + pub padding: u64, pub referral_fee: u64, } @@ -1392,7 +1338,7 @@ impl From for SwapResult { next_sqrt_price: value.next_sqrt_price, lp_fee: value.trading_fee, protocol_fee: value.protocol_fee, - partner_fee: value.partner_fee, + padding: 0, referral_fee: value.referral_fee, } } @@ -1408,7 +1354,6 @@ pub struct SwapResult2 { pub next_sqrt_price: u128, pub trading_fee: u64, pub protocol_fee: u64, - pub partner_fee: u64, pub referral_fee: u64, } diff --git a/programs/cp-amm/src/tests/test_integration.rs b/programs/cp-amm/src/tests/test_integration.rs index 2db28799..e28fe85a 100644 --- a/programs/cp-amm/src/tests/test_integration.rs +++ b/programs/cp-amm/src/tests/test_integration.rs @@ -35,7 +35,6 @@ proptest! { let pool_fees = PoolFeesStruct { base_fee, //1% protocol_fee_percent: 20, - partner_fee_percent: 50, referral_fee_percent: 20, ..Default::default() }; @@ -104,7 +103,6 @@ fn test_reserve_wont_lost_single() { let pool_fees = PoolFeesStruct { base_fee, //1% protocol_fee_percent: 20, - partner_fee_percent: 50, referral_fee_percent: 20, ..Default::default() }; diff --git a/programs/cp-amm/src/tests/test_swap.rs b/programs/cp-amm/src/tests/test_swap.rs index ef1dc7f1..d70a249e 100644 --- a/programs/cp-amm/src/tests/test_swap.rs +++ b/programs/cp-amm/src/tests/test_swap.rs @@ -159,7 +159,6 @@ fn test_swap_basic() { // let pool_fees = PoolFeesStruct { // trade_fee_numerator: 1_000_000, //1% // protocol_fee_percent: 20, - // partner_fee_percent: 50, // referral_fee_percent: 20, // ..Default::default() // }; @@ -205,7 +204,12 @@ fn test_swap_basic() { pool.apply_swap_result(&swap_result, fee_mode, 0).unwrap(); let swap_result_referse = pool - .get_swap_result_from_exact_input(swap_result.output_amount, fee_mode, TradeDirection::BtoA, 0) + .get_swap_result_from_exact_input( + swap_result.output_amount, + fee_mode, + TradeDirection::BtoA, + 0, + ) .unwrap(); println!("reverse {:?}", swap_result_referse); diff --git a/tests/claimFee.test.ts b/tests/claimFee.test.ts index d8123823..17ca72ef 100644 --- a/tests/claimFee.test.ts +++ b/tests/claimFee.test.ts @@ -3,7 +3,6 @@ import BN from "bn.js"; import { addLiquidity, AddLiquidityParams, - claimPartnerFee, claimProtocolFee, createConfigIx, CreateConfigParams, @@ -45,16 +44,14 @@ describe("Claim fee", () => { let position: PublicKey; let inputTokenMint: PublicKey; let outputTokenMint: PublicKey; - let claimFeeOperator: Keypair; - let partner: Keypair; + let creator: Keypair; beforeEach(async () => { svm = startSvm(); user = generateKpAndFund(svm); admin = generateKpAndFund(svm); - partner = generateKpAndFund(svm); - claimFeeOperator = generateKpAndFund(svm); + creator = generateKpAndFund(svm); whitelistedAccount = generateKpAndFund(svm); inputTokenMint = createToken(svm, admin.publicKey, admin.publicKey); @@ -64,9 +61,9 @@ describe("Claim fee", () => { mintSplTokenTo(svm, outputTokenMint, admin, user.publicKey); - mintSplTokenTo(svm, inputTokenMint, admin, partner.publicKey); + mintSplTokenTo(svm, inputTokenMint, admin, creator.publicKey); - mintSplTokenTo(svm, outputTokenMint, admin, partner.publicKey); + mintSplTokenTo(svm, outputTokenMint, admin, creator.publicKey); const cliffFeeNumerator = new BN(2_500_000); const numberOfPeriod = new BN(0); @@ -93,7 +90,7 @@ describe("Claim fee", () => { sqrtMinPrice: new BN(MIN_SQRT_PRICE), sqrtMaxPrice: new BN(MAX_SQRT_PRICE), vaultConfigKey: PublicKey.default, - poolCreatorAuthority: partner.publicKey, + poolCreatorAuthority: creator.publicKey, activationType: 0, collectFeeMode: 0, }; @@ -120,8 +117,8 @@ describe("Claim fee", () => { sqrtPrice = new BN(MIN_SQRT_PRICE.muln(2)); const initPoolParams: InitializePoolParams = { - payer: partner, - creator: partner.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: inputTokenMint, tokenBMint: outputTokenMint, @@ -164,16 +161,6 @@ describe("Claim fee", () => { pool, treasury: TREASURY, }); - - // claim partner fee - - await claimPartnerFee(svm, { - partner, - pool, - maxAmountA: new BN(100000000000000), - maxAmountB: new BN(100000000000000), - }); - }); }); @@ -190,8 +177,7 @@ describe("Claim fee", () => { let inputTokenMint: PublicKey; let outputTokenMint: PublicKey; - let operator: Keypair; - let partner: Keypair; + let creator: Keypair; beforeEach(async () => { svm = startSvm(); @@ -210,8 +196,7 @@ describe("Claim fee", () => { ]; user = generateKpAndFund(svm); admin = generateKpAndFund(svm); - partner = generateKpAndFund(svm); - operator = generateKpAndFund(svm); + creator = generateKpAndFund(svm); whitelistedAccount = generateKpAndFund(svm); await createToken2022( @@ -231,9 +216,9 @@ describe("Claim fee", () => { await mintToToken2022(svm, outputTokenMint, admin, user.publicKey); - await mintToToken2022(svm, inputTokenMint, admin, partner.publicKey); + await mintToToken2022(svm, inputTokenMint, admin, creator.publicKey); - await mintToToken2022(svm, outputTokenMint, admin, partner.publicKey); + await mintToToken2022(svm, outputTokenMint, admin, creator.publicKey); const cliffFeeNumerator = new BN(2_500_000); const numberOfPeriod = new BN(0); @@ -260,7 +245,7 @@ describe("Claim fee", () => { sqrtMinPrice: new BN(MIN_SQRT_PRICE), sqrtMaxPrice: new BN(MAX_SQRT_PRICE), vaultConfigKey: PublicKey.default, - poolCreatorAuthority: partner.publicKey, + poolCreatorAuthority: creator.publicKey, activationType: 0, collectFeeMode: 0, }; @@ -287,8 +272,8 @@ describe("Claim fee", () => { sqrtPrice = new BN(MIN_SQRT_PRICE.muln(2)); const initPoolParams: InitializePoolParams = { - payer: partner, - creator: partner.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: inputTokenMint, tokenBMint: outputTokenMint, @@ -331,15 +316,6 @@ describe("Claim fee", () => { pool, treasury: TREASURY, }); - - // claim partner fee - - await claimPartnerFee(svm, { - partner, - pool, - maxAmountA: new BN(100000000000000), - maxAmountB: new BN(100000000000000), - }); }); }); }); diff --git a/tests/helpers/cpAmm.ts b/tests/helpers/cpAmm.ts index d1fd2304..c348a893 100644 --- a/tests/helpers/cpAmm.ts +++ b/tests/helpers/cpAmm.ts @@ -321,7 +321,6 @@ export async function createConfigIx( throw new Error("Unreachable"); } expect(configState.poolFees.protocolFeePercent).eq(20); - expect(configState.poolFees.partnerFeePercent).eq(0); expect(configState.poolFees.referralFeePercent).eq(20); expect(configState.configType).eq(0); // ConfigType: Static @@ -571,59 +570,6 @@ export async function claimProtocolFee( expect(result).instanceOf(TransactionMetadata); } -export type ClaimPartnerFeeParams = { - partner: Keypair; - pool: PublicKey; - maxAmountA: BN; - maxAmountB: BN; -}; -export async function claimPartnerFee( - svm: LiteSVM, - params: ClaimPartnerFeeParams -) { - const program = createCpAmmProgram(); - const { partner, pool, maxAmountA, maxAmountB } = params; - const poolAuthority = derivePoolAuthority(); - const poolState = getPool(svm, pool); - const tokenAProgram = svm.getAccount(poolState.tokenAMint).owner; - const tokenBProgram = svm.getAccount(poolState.tokenBMint).owner; - const tokenAAccount = getOrCreateAssociatedTokenAccount( - svm, - partner, - poolState.tokenAMint, - partner.publicKey, - tokenAProgram - ); - - const tokenBAccount = getOrCreateAssociatedTokenAccount( - svm, - partner, - poolState.tokenBMint, - partner.publicKey, - tokenBProgram - ); - const transaction = await program.methods - .claimPartnerFee(maxAmountA, maxAmountB) - .accountsPartial({ - poolAuthority, - pool, - tokenAVault: poolState.tokenAVault, - tokenBVault: poolState.tokenBVault, - tokenAMint: poolState.tokenAMint, - tokenBMint: poolState.tokenBMint, - tokenAAccount, - tokenBAccount, - partner: partner.publicKey, - tokenAProgram, - tokenBProgram, - }) - .transaction(); - - const result = sendTransaction(svm, transaction, [partner]); - - expect(result).instanceOf(TransactionMetadata); -} - export type InitializePoolParams = { payer: Keypair; creator: PublicKey; @@ -2158,7 +2104,7 @@ export async function splitPosition(svm: LiteSVM, params: SplitPositionParams) { reward0Percentage, reward1Percentage, innerVestingLiquidityPercentage, - padding: new Array(16).fill(0), + padding: new Array(15).fill(0), }) .accountsPartial({ pool, diff --git a/tests/marketCapFeeScheduler.test.ts b/tests/marketCapFeeScheduler.test.ts index 181fd303..1f9465a4 100644 --- a/tests/marketCapFeeScheduler.test.ts +++ b/tests/marketCapFeeScheduler.test.ts @@ -35,10 +35,8 @@ const schedulerExpirationDuration = new BN(3600); describe("Market cap fee scheduler", () => { let svm: LiteSVM; let admin: Keypair; - let operator: Keypair; - let partner: Keypair; let user: Keypair; - let poolCreator: Keypair; + let creator: Keypair; let tokenA: PublicKey; let tokenB: PublicKey; let whitelistedAccount: Keypair; @@ -46,10 +44,8 @@ describe("Market cap fee scheduler", () => { before(async () => { svm = startSvm(); admin = generateKpAndFund(svm); - operator = generateKpAndFund(svm); - partner = generateKpAndFund(svm); user = generateKpAndFund(svm); - poolCreator = generateKpAndFund(svm); + creator = generateKpAndFund(svm); whitelistedAccount = generateKpAndFund(svm); tokenA = createToken(svm, admin.publicKey, admin.publicKey); tokenB = createToken(svm, admin.publicKey, admin.publicKey); @@ -58,9 +54,9 @@ describe("Market cap fee scheduler", () => { mintSplTokenTo(svm, tokenB, admin, user.publicKey); - mintSplTokenTo(svm, tokenA, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenA, admin, creator.publicKey); - mintSplTokenTo(svm, tokenB, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenB, admin, creator.publicKey); let permission = encodePermissions([ OperatorPermission.CreateConfigKey, @@ -102,8 +98,8 @@ describe("Market cap fee scheduler", () => { collectFeeMode: 1, // onlyB activationPoint: null, hasAlphaVault: false, - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, tokenAMint: tokenA, tokenBMint: tokenB, }); @@ -146,8 +142,8 @@ describe("Market cap fee scheduler", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -160,7 +156,7 @@ describe("Market cap fee scheduler", () => { // Market cap increase await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -175,7 +171,7 @@ describe("Market cap fee scheduler", () => { // Market cap increase await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, diff --git a/tests/rateLimiter.test.ts b/tests/rateLimiter.test.ts index 5a423b61..1961a185 100644 --- a/tests/rateLimiter.test.ts +++ b/tests/rateLimiter.test.ts @@ -38,21 +38,17 @@ import { LiteSVM } from "litesvm"; describe("Rate limiter", () => { let svm: LiteSVM; let admin: Keypair; - let operator: Keypair; - let partner: Keypair; let whitelistedAccount: Keypair; let user: Keypair; - let poolCreator: Keypair; + let creator: Keypair; let tokenA: PublicKey; let tokenB: PublicKey; beforeEach(async () => { svm = startSvm(); admin = generateKpAndFund(svm); - operator = generateKpAndFund(svm); - partner = generateKpAndFund(svm); user = generateKpAndFund(svm); - poolCreator = generateKpAndFund(svm); + creator = generateKpAndFund(svm); whitelistedAccount = generateKpAndFund(svm); tokenA = createToken(svm, admin.publicKey); @@ -62,9 +58,9 @@ describe("Rate limiter", () => { mintSplTokenTo(svm, tokenB, admin, user.publicKey); - mintSplTokenTo(svm, tokenA, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenA, admin, creator.publicKey); - mintSplTokenTo(svm, tokenB, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenB, admin, creator.publicKey); }); it("Rate limiter", async () => { @@ -117,8 +113,8 @@ describe("Rate limiter", () => { const sqrtPrice = new BN(MIN_SQRT_PRICE.muln(2)); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -132,7 +128,7 @@ describe("Rate limiter", () => { // swap with 1 SOL await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -154,7 +150,7 @@ describe("Rate limiter", () => { // swap with 2 SOL await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -180,7 +176,7 @@ describe("Rate limiter", () => { // swap with 2 SOL await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -219,8 +215,8 @@ describe("Rate limiter", () => { ); const initPoolParams: InitializeCustomizablePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, tokenAMint: tokenA, tokenBMint: tokenB, poolFees: { @@ -243,7 +239,7 @@ describe("Rate limiter", () => { // swap with 1 SOL const swapIx = await swapInstruction(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -260,7 +256,7 @@ describe("Rate limiter", () => { const errorCode = getCpAmmProgramErrorCode( "FailToValidateSingleSwapInstruction" ); - const result = sendTransaction(svm, transaction, [poolCreator]); + const result = sendTransaction(svm, transaction, [creator]); expectThrowsErrorCode(result, errorCode); }); }); diff --git a/tests/testMaxFee.test.ts b/tests/testMaxFee.test.ts index 3f734aee..b79dadfe 100644 --- a/tests/testMaxFee.test.ts +++ b/tests/testMaxFee.test.ts @@ -39,10 +39,8 @@ const schedulerExpirationDuration = new BN(3600); describe("Test max fee 99%", () => { let svm: LiteSVM; let admin: Keypair; - let operator: Keypair; - let partner: Keypair; let user: Keypair; - let poolCreator: Keypair; + let creator: Keypair; let tokenA: PublicKey; let tokenB: PublicKey; let whitelistedAccount: Keypair; @@ -51,10 +49,8 @@ describe("Test max fee 99%", () => { beforeEach(async () => { svm = startSvm(); admin = generateKpAndFund(svm); - operator = generateKpAndFund(svm); - partner = generateKpAndFund(svm); user = generateKpAndFund(svm); - poolCreator = generateKpAndFund(svm); + creator = generateKpAndFund(svm); whitelistedAccount = generateKpAndFund(svm); tokenA = createToken(svm, admin.publicKey); tokenB = createToken(svm, admin.publicKey); @@ -63,9 +59,9 @@ describe("Test max fee 99%", () => { mintSplTokenTo(svm, tokenB, admin, user.publicKey); - mintSplTokenTo(svm, tokenA, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenA, admin, creator.publicKey); - mintSplTokenTo(svm, tokenB, admin, poolCreator.publicKey); + mintSplTokenTo(svm, tokenB, admin, creator.publicKey); let permission = encodePermissions([ OperatorPermission.CreateConfigKey, @@ -119,8 +115,8 @@ describe("Test max fee 99%", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -135,7 +131,7 @@ describe("Test max fee 99%", () => { // Market cap increase const amountIn = new BN(LAMPORTS_PER_SOL); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -180,8 +176,8 @@ describe("Test max fee 99%", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -196,7 +192,7 @@ describe("Test max fee 99%", () => { // Market cap increase const amountIn = new BN(LAMPORTS_PER_SOL); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -244,8 +240,8 @@ describe("Test max fee 99%", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -260,7 +256,7 @@ describe("Test max fee 99%", () => { // Market cap increase const amountIn = new BN(LAMPORTS_PER_SOL); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -303,8 +299,8 @@ describe("Test max fee 99%", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -320,7 +316,7 @@ describe("Test max fee 99%", () => { // Market cap increase const amountIn = new BN(LAMPORTS_PER_SOL); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -363,8 +359,8 @@ describe("Test max fee 99%", () => { const liquidity = new BN(MIN_LP_AMOUNT); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -378,7 +374,7 @@ describe("Test max fee 99%", () => { // Market cap increase const amountIn = new BN(LAMPORTS_PER_SOL); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, @@ -426,8 +422,8 @@ describe("Test max fee 99%", () => { const sqrtPrice = new BN(MIN_SQRT_PRICE.muln(2)); const initPoolParams: InitializePoolParams = { - payer: poolCreator, - creator: poolCreator.publicKey, + payer: creator, + creator: creator.publicKey, config, tokenAMint: tokenA, tokenBMint: tokenB, @@ -441,7 +437,7 @@ describe("Test max fee 99%", () => { // swap with 3 SOL const amountIn = referenceAmount.muln(3); await swapExactIn(svm, { - payer: poolCreator, + payer: creator, pool, inputTokenMint: tokenB, outputTokenMint: tokenA, diff --git a/tsconfig.json b/tsconfig.json index 247d160a..b05883ec 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,8 @@ "module": "commonjs", "target": "es6", "esModuleInterop": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "noEmit": true, + "skipLibCheck": true } }