From fee1ab30e94c99931b1dbd4305e97dc1d1fdf551 Mon Sep 17 00:00:00 2001 From: Andrea Franz Date: Tue, 24 Feb 2026 16:24:36 +0100 Subject: [PATCH] chore(programs/amm): fix initial LP supply calculations ift-ts:sc:logos:2026q1-amm-core-improvements:fix-initial-lp-calc --- artifacts/program_methods/amm.bin | Bin 531248 -> 534992 bytes nssa/src/state.rs | 14 ++-- programs/amm/src/new_definition.rs | 8 +-- programs/amm/src/tests.rs | 111 ++++++++++++++++++++++++----- 4 files changed, 107 insertions(+), 26 deletions(-) diff --git a/artifacts/program_methods/amm.bin b/artifacts/program_methods/amm.bin index 45e28420be5562aa8f1510e38ba8e659889cf60c..359d062a73b757d0d95fb5c7303809f28a5efe68 100644 GIT binary patch delta 143609 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�x#9M!)# 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 Q?cc|gQ~LJZYTdg304R9@z5oCK delta 139997 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 u128 { 7_500 } + + fn lp_supply_init() -> u128 { + // isqrt(vault_a_balance_init * vault_b_balance_init) = isqrt(5_000 * 2_500) = 3535 + (BalanceForTests::vault_a_balance_init() * BalanceForTests::vault_b_balance_init()) + .isqrt() + } } struct IdForTests; @@ -3098,7 +3104,7 @@ pub mod tests { balance: 0u128, data: Data::from(&TokenHolding::Fungible { definition_id: IdForTests::token_lp_definition_id(), - balance: BalanceForTests::user_token_a_holding_new_definition(), + balance: BalanceForTests::lp_supply_init(), }), nonce: 0, } @@ -3110,7 +3116,7 @@ pub mod tests { balance: 0u128, data: Data::from(&TokenDefinition::Fungible { name: String::from("LP Token"), - total_supply: BalanceForTests::vault_a_balance_init(), + total_supply: BalanceForTests::lp_supply_init(), metadata_id: None, }), nonce: 0, @@ -3127,7 +3133,7 @@ pub mod tests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::user_token_a_holding_new_definition(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_balance_init(), reserve_b: BalanceForTests::vault_b_balance_init(), fees: 0u128, @@ -3417,7 +3423,7 @@ pub mod tests { let user_token_b_post = state.get_account_by_id(IdForTests::user_token_b_id()); let user_token_lp_post = state.get_account_by_id(IdForTests::user_token_lp_id()); - let expected_pool = AccountForTests::pool_definition_init(); + let expected_pool = AccountForTests::pool_definition_new_init(); let expected_vault_a = AccountForTests::vault_a_init(); let expected_vault_b = AccountForTests::vault_b_init(); let expected_token_lp = AccountForTests::token_lp_definition_new_init(); diff --git a/programs/amm/src/new_definition.rs b/programs/amm/src/new_definition.rs index ab0b241a..af54adce 100644 --- a/programs/amm/src/new_definition.rs +++ b/programs/amm/src/new_definition.rs @@ -77,7 +77,7 @@ pub fn new_definition( ); // LP Token minting calculation - // We assume LP is based on the initial deposit amount for Token_A. + let initial_lp = (token_a_amount.get() * token_b_amount.get()).isqrt(); // Update pool account let mut pool_post = pool.account.clone(); @@ -87,7 +87,7 @@ pub fn new_definition( vault_a_id: vault_a.account_id, vault_b_id: vault_b.account_id, liquidity_pool_id: pool_definition_lp.account_id, - liquidity_pool_supply: token_a_amount.into(), + liquidity_pool_supply: initial_lp, reserve_a: token_a_amount.into(), reserve_b: token_b_amount.into(), fees: 0u128, // TODO: we assume all fees are 0 for now. @@ -124,11 +124,11 @@ pub fn new_definition( let instruction = if pool.account == Account::default() { token_core::Instruction::NewFungibleDefinition { name: String::from("LP Token"), - total_supply: token_a_amount.into(), + total_supply: initial_lp, } } else { token_core::Instruction::Mint { - amount_to_mint: token_a_amount.into(), + amount_to_mint: initial_lp, } }; diff --git a/programs/amm/src/tests.rs b/programs/amm/src/tests.rs index 021e32b2..203e3284 100644 --- a/programs/amm/src/tests.rs +++ b/programs/amm/src/tests.rs @@ -70,7 +70,7 @@ impl BalanceForTests { } fn remove_actual_a_successful() -> u128 { - 100 + 141 } fn remove_min_amount_b_low() -> u128 { @@ -105,6 +105,11 @@ impl BalanceForTests { 20 } + fn lp_supply_init() -> u128 { + // sqrt(vault_a_reserve_init * vault_b_reserve_init) = sqrt(1000 * 500) = 707 + (BalanceForTests::vault_a_reserve_init() * BalanceForTests::vault_b_reserve_init()).isqrt() + } + fn vault_a_swap_test_1() -> u128 { 1_500 } @@ -142,11 +147,11 @@ impl BalanceForTests { } fn vault_a_remove_successful() -> u128 { - 900 + 859 } fn vault_b_remove_successful() -> u128 { - 450 + 430 } } @@ -249,7 +254,7 @@ impl ChainedCallForTests { TOKEN_PROGRAM_ID, vec![pool_lp_auth, AccountForTests::user_holding_lp_init()], &token_core::Instruction::Mint { - amount_to_mint: BalanceForTests::add_successful_amount_a(), + amount_to_mint: 282, }, ) .with_pda_seeds(vec![compute_liquidity_token_pda_seed( @@ -282,7 +287,7 @@ impl ChainedCallForTests { TOKEN_PROGRAM_ID, vec![vault_b_auth, AccountForTests::user_holding_b()], &token_core::Instruction::Transfer { - amount_to_transfer: BalanceForTests::remove_min_amount_b_low(), + amount_to_transfer: 70, }, ) .with_pda_seeds(vec![compute_vault_pda_seed( @@ -341,7 +346,7 @@ impl ChainedCallForTests { AccountForTests::user_holding_lp_uninit(), ], &token_core::Instruction::Mint { - amount_to_mint: BalanceForTests::add_successful_amount_a(), + amount_to_mint: BalanceForTests::lp_supply_init(), }, ) .with_pda_seeds(vec![compute_liquidity_token_pda_seed( @@ -568,7 +573,7 @@ impl AccountForTests { balance: 0u128, data: Data::from(&TokenDefinition::Fungible { name: String::from("test"), - total_supply: BalanceForTests::vault_a_reserve_init(), + total_supply: BalanceForTests::lp_supply_init(), metadata_id: None, }), nonce: 0, @@ -585,7 +590,7 @@ impl AccountForTests { balance: 0u128, data: Data::from(&TokenDefinition::Fungible { name: String::from("test"), - total_supply: BalanceForTests::vault_a_reserve_init(), + total_supply: BalanceForTests::lp_supply_init(), metadata_id: None, }), nonce: 0, @@ -638,7 +643,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_reserve_init(), reserve_b: BalanceForTests::vault_b_reserve_init(), fees: 0u128, @@ -662,7 +667,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: 0, reserve_b: BalanceForTests::vault_b_reserve_init(), fees: 0u128, @@ -686,7 +691,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_reserve_init(), reserve_b: 0, fees: 0u128, @@ -758,7 +763,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_swap_test_1(), reserve_b: BalanceForTests::vault_b_swap_test_1(), fees: 0u128, @@ -782,7 +787,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_swap_test_2(), reserve_b: BalanceForTests::vault_b_swap_test_2(), fees: 0u128, @@ -830,7 +835,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_add_successful(), + liquidity_pool_supply: 989, reserve_a: BalanceForTests::vault_a_add_successful(), reserve_b: BalanceForTests::vault_b_add_successful(), fees: 0u128, @@ -854,7 +859,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_remove_successful(), + liquidity_pool_supply: 607, reserve_a: BalanceForTests::vault_a_remove_successful(), reserve_b: BalanceForTests::vault_b_remove_successful(), fees: 0u128, @@ -878,7 +883,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_reserve_init(), reserve_b: BalanceForTests::vault_b_reserve_init(), fees: 0u128, @@ -902,7 +907,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_reserve_init(), reserve_b: BalanceForTests::vault_b_reserve_init(), fees: 0u128, @@ -958,7 +963,7 @@ impl AccountForTests { vault_a_id: IdForTests::vault_a_id(), vault_b_id: IdForTests::vault_b_id(), liquidity_pool_id: IdForTests::token_lp_definition_id(), - liquidity_pool_supply: BalanceForTests::vault_a_reserve_init(), + liquidity_pool_supply: BalanceForTests::lp_supply_init(), reserve_a: BalanceForTests::vault_a_reserve_init(), reserve_b: BalanceForTests::vault_b_reserve_init(), fees: 0u128, @@ -1717,3 +1722,73 @@ fn test_call_swap_chained_call_successful_2() { ChainedCallForTests::cc_swap_token_b_test_2() ); } + +#[test] +fn test_new_definition_lp_asymmetric_amounts() { + let (post_states, chained_calls) = new_definition( + AccountForTests::pool_definition_inactive(), + AccountForTests::vault_a_init(), + AccountForTests::vault_b_init(), + AccountForTests::pool_lp_init(), + AccountForTests::user_holding_a(), + AccountForTests::user_holding_b(), + AccountForTests::user_holding_lp_uninit(), + NonZero::new(BalanceForTests::vault_a_reserve_init()).unwrap(), + NonZero::new(BalanceForTests::vault_b_reserve_init()).unwrap(), + AMM_PROGRAM_ID, + ); + + // check the minted LP amount + let pool_post = post_states[0].clone(); + let pool_def = PoolDefinition::try_from(&pool_post.account().data).unwrap(); + assert_eq!( + pool_def.liquidity_pool_supply, + BalanceForTests::lp_supply_init() + ); + + let chained_call_lp = chained_calls[0].clone(); + assert!(chained_call_lp == ChainedCallForTests::cc_new_definition_token_lp()); +} + +#[test] +fn test_new_definition_lp_symmetric_amounts() { + // token_a=100, token_b=100 → LP=sqrt(10_000)=100 + let token_a_amount = 100u128; + let token_b_amount = 100u128; + let expected_lp = (token_a_amount * token_b_amount).isqrt(); + assert_eq!(expected_lp, 100); + + let (post_states, chained_calls) = new_definition( + AccountForTests::pool_definition_inactive(), + AccountForTests::vault_a_init(), + AccountForTests::vault_b_init(), + AccountForTests::pool_lp_init(), + AccountForTests::user_holding_a(), + AccountForTests::user_holding_b(), + AccountForTests::user_holding_lp_uninit(), + NonZero::new(token_a_amount).unwrap(), + NonZero::new(token_b_amount).unwrap(), + AMM_PROGRAM_ID, + ); + + let pool_post = post_states[0].clone(); + let pool_def = PoolDefinition::try_from(&pool_post.account().data).unwrap(); + assert_eq!(pool_def.liquidity_pool_supply, expected_lp); + + let chained_call_lp = chained_calls[0].clone(); + let expected_lp_call = ChainedCall::new( + TOKEN_PROGRAM_ID, + vec![ + AccountForTests::pool_lp_init(), + AccountForTests::user_holding_lp_uninit(), + ], + &token_core::Instruction::Mint { + amount_to_mint: expected_lp, + }, + ) + .with_pda_seeds(vec![compute_liquidity_token_pda_seed( + IdForTests::pool_definition_id(), + )]); + + assert_eq!(chained_call_lp, expected_lp_call); +}