@@ -3130,30 +3130,13 @@ pub fn handle_settle_perp_to_lp_pool<'c: 'info, 'info>(
31303130 return Err ( ErrorCode :: SettleLpPoolDisabled . into ( ) ) ;
31313131 }
31323132
3133- // Validation and setup code (unchanged)
3134- let amm_cache_key = & ctx. accounts . amm_cache . key ( ) ;
31353133 let mut amm_cache: AccountZeroCopyMut < ' _ , CacheInfo , _ > =
31363134 ctx. accounts . amm_cache . load_zc_mut ( ) ?;
31373135 let quote_market = & mut ctx. accounts . quote_market . load_mut ( ) ?;
31383136 let mut quote_constituent = ctx. accounts . constituent . load_mut ( ) ?;
31393137 let constituent_token_account = & mut ctx. accounts . constituent_quote_token_account ;
31403138 let mut lp_pool = ctx. accounts . lp_pool . load_mut ( ) ?;
31413139
3142- // PDA validation (unchanged)
3143- let expected_pda = & Pubkey :: create_program_address (
3144- & [
3145- AMM_POSITIONS_CACHE . as_ref ( ) ,
3146- amm_cache. fixed . bump . to_le_bytes ( ) . as_ref ( ) ,
3147- ] ,
3148- & crate :: ID ,
3149- )
3150- . map_err ( |_| ErrorCode :: InvalidPDA ) ?;
3151- validate ! (
3152- expected_pda. eq( amm_cache_key) ,
3153- ErrorCode :: InvalidPDA ,
3154- "Amm cache PDA does not match expected PDA"
3155- ) ?;
3156-
31573140 let remaining_accounts_iter = & mut ctx. remaining_accounts . iter ( ) . peekable ( ) ;
31583141 let AccountMaps {
31593142 perp_market_map,
@@ -3211,7 +3194,7 @@ pub fn handle_settle_perp_to_lp_pool<'c: 'info, 'info>(
32113194 // Create settlement context
32123195 let settlement_ctx = SettlementContext {
32133196 quote_owed_from_lp : cached_info. quote_owed_from_lp_pool ,
3214- quote_constituent_token_balance : quote_constituent. token_balance ,
3197+ quote_constituent_token_balance : quote_constituent. vault_token_balance ,
32153198 fee_pool_balance : get_token_amount (
32163199 perp_market. amm . fee_pool . scaled_balance ,
32173200 quote_market,
@@ -3287,13 +3270,13 @@ pub fn handle_settle_perp_to_lp_pool<'c: 'info, 'info>(
32873270 // Update LP pool stats
32883271 match settlement_result. direction {
32893272 SettlementDirection :: FromLpPool => {
3290- lp_pool. cumulative_usdc_sent_to_perp_markets = lp_pool
3291- . cumulative_usdc_sent_to_perp_markets
3273+ lp_pool. cumulative_quote_sent_to_perp_markets = lp_pool
3274+ . cumulative_quote_sent_to_perp_markets
32923275 . saturating_add ( settlement_result. amount_transferred as u128 ) ;
32933276 }
32943277 SettlementDirection :: ToLpPool => {
3295- lp_pool. cumulative_usdc_received_from_perp_markets = lp_pool
3296- . cumulative_usdc_received_from_perp_markets
3278+ lp_pool. cumulative_quote_received_from_perp_markets = lp_pool
3279+ . cumulative_quote_received_from_perp_markets
32973280 . saturating_add ( settlement_result. amount_transferred as u128 ) ;
32983281 }
32993282 SettlementDirection :: None => { }
@@ -3318,26 +3301,11 @@ pub fn handle_update_amm_cache<'c: 'info, 'info>(
33183301 ctx : Context < ' _ , ' _ , ' c , ' info , UpdateAmmCache < ' info > > ,
33193302) -> Result < ( ) > {
33203303 let remaining_accounts_iter = & mut ctx. remaining_accounts . iter ( ) . peekable ( ) ;
3321- let amm_cache_key = & ctx. accounts . amm_cache . key ( ) ;
33223304 let mut amm_cache: AccountZeroCopyMut < ' _ , CacheInfo , _ > =
33233305 ctx. accounts . amm_cache . load_zc_mut ( ) ?;
33243306
33253307 let quote_market = ctx. accounts . quote_market . load ( ) ?;
33263308
3327- let expected_pda = & Pubkey :: create_program_address (
3328- & [
3329- AMM_POSITIONS_CACHE . as_ref ( ) ,
3330- amm_cache. fixed . bump . to_le_bytes ( ) . as_ref ( ) ,
3331- ] ,
3332- & crate :: ID ,
3333- )
3334- . map_err ( |_| ErrorCode :: InvalidPDA ) ?;
3335- validate ! (
3336- expected_pda. eq( amm_cache_key) ,
3337- ErrorCode :: InvalidPDA ,
3338- "Amm cache PDA does not match expected PDA"
3339- ) ?;
3340-
33413309 let AccountMaps {
33423310 perp_market_map,
33433311 spot_market_map : _,
@@ -3414,7 +3382,7 @@ pub struct SettleAmmPnlToLp<'info> {
34143382 pub constituent : AccountLoader < ' info , Constituent > ,
34153383 #[ account(
34163384 mut ,
3417- address = constituent. load( ) ?. token_vault ,
3385+ address = constituent. load( ) ?. vault ,
34183386 ) ]
34193387 pub constituent_quote_token_account : Box < InterfaceAccount < ' info , TokenAccount > > ,
34203388 #[ account(
0 commit comments