@@ -9,20 +9,24 @@ use serum_dex::state::ToAlignedBytes;
99use std:: convert:: { identity, TryInto } ;
1010use std:: mem:: size_of;
1111
12+ use crate :: controller;
1213use crate :: controller:: token:: { close_vault, initialize_immutable_owner, initialize_token_account} ;
1314use crate :: error:: ErrorCode ;
15+ use crate :: get_then_update_id;
1416use crate :: ids:: { admin_hot_wallet, amm_spread_adjust_wallet, mm_oracle_crank_wallet} ;
1517use crate :: instructions:: constraints:: * ;
1618use crate :: instructions:: optional_accounts:: { load_maps, AccountMaps } ;
19+ use crate :: load;
1720use crate :: math:: casting:: Cast ;
1821use crate :: math:: constants:: {
1922 AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO , DEFAULT_LIQUIDATION_MARGIN_BUFFER_RATIO ,
20- FEE_POOL_TO_REVENUE_POOL_THRESHOLD , GOV_SPOT_MARKET_INDEX , IF_FACTOR_PRECISION ,
21- INSURANCE_A_MAX , INSURANCE_B_MAX , INSURANCE_C_MAX , INSURANCE_SPECULATIVE_MAX ,
22- LIQUIDATION_FEE_PRECISION , MAX_CONCENTRATION_COEFFICIENT , MAX_SQRT_K ,
23- MAX_UPDATE_K_PRICE_CHANGE , PERCENTAGE_PRECISION , PERCENTAGE_PRECISION_I64 ,
24- QUOTE_SPOT_MARKET_INDEX , SPOT_CUMULATIVE_INTEREST_PRECISION , SPOT_IMF_PRECISION ,
25- SPOT_WEIGHT_PRECISION , THIRTEEN_DAY , TWENTY_FOUR_HOUR ,
23+ EPOCH_DURATION , FEE_ADJUSTMENT_MAX , FEE_POOL_TO_REVENUE_POOL_THRESHOLD , GOV_SPOT_MARKET_INDEX ,
24+ IF_FACTOR_PRECISION , INSURANCE_A_MAX , INSURANCE_B_MAX , INSURANCE_C_MAX ,
25+ INSURANCE_SPECULATIVE_MAX , LIQUIDATION_FEE_PRECISION , MAX_CONCENTRATION_COEFFICIENT ,
26+ MAX_SQRT_K , MAX_UPDATE_K_PRICE_CHANGE , PERCENTAGE_PRECISION , PERCENTAGE_PRECISION_I64 ,
27+ QUOTE_PRECISION_I64 , QUOTE_SPOT_MARKET_INDEX , SPOT_BALANCE_PRECISION ,
28+ SPOT_CUMULATIVE_INTEREST_PRECISION , SPOT_IMF_PRECISION , SPOT_WEIGHT_PRECISION , THIRTEEN_DAY ,
29+ TWENTY_FOUR_HOUR ,
2630} ;
2731use crate :: math:: cp_curve:: get_update_k_result;
2832use crate :: math:: helpers:: get_proportion_u128;
@@ -32,6 +36,7 @@ use crate::math::safe_math::SafeMath;
3236use crate :: math:: spot_balance:: get_token_amount;
3337use crate :: math:: spot_withdraw:: validate_spot_market_vault_amount;
3438use crate :: math:: { amm, bn} ;
39+ use crate :: math_error;
3540use crate :: optional_accounts:: get_token_mint;
3641use crate :: state:: amm_cache:: { AmmCache , CacheInfo , AMM_POSITIONS_CACHE } ;
3742use crate :: state:: events:: {
@@ -77,12 +82,8 @@ use crate::validation::fee_structure::validate_fee_structure;
7782use crate :: validation:: margin:: { validate_margin, validate_margin_weights} ;
7883use crate :: validation:: perp_market:: validate_perp_market;
7984use crate :: validation:: spot_market:: validate_borrow_rate;
80- use crate :: { controller, QUOTE_PRECISION_I64 } ;
81- use crate :: { get_then_update_id, EPOCH_DURATION } ;
82- use crate :: { load, FEE_ADJUSTMENT_MAX } ;
8385use crate :: { load_mut, PTYH_PRICE_FEED_SEED_PREFIX } ;
8486use crate :: { math, safe_decrement, safe_increment} ;
85- use crate :: { math_error, SPOT_BALANCE_PRECISION } ;
8687
8788use anchor_spl:: token_2022:: spl_token_2022:: extension:: transfer_hook:: TransferHook ;
8889use anchor_spl:: token_2022:: spl_token_2022:: extension:: {
0 commit comments