pub fn perp_edit_market(
ctx: Context<'_, '_, '_, '_, PerpEditMarket<'_>>,
oracle_opt: Option<Pubkey>,
oracle_config_opt: Option<OracleConfigParams>,
base_decimals_opt: Option<u8>,
maint_base_asset_weight_opt: Option<f32>,
init_base_asset_weight_opt: Option<f32>,
maint_base_liab_weight_opt: Option<f32>,
init_base_liab_weight_opt: Option<f32>,
maint_overall_asset_weight_opt: Option<f32>,
init_overall_asset_weight_opt: Option<f32>,
base_liquidation_fee_opt: Option<f32>,
maker_fee_opt: Option<f32>,
taker_fee_opt: Option<f32>,
min_funding_opt: Option<f32>,
max_funding_opt: Option<f32>,
impact_quantity_opt: Option<i64>,
group_insurance_fund_opt: Option<bool>,
fee_penalty_opt: Option<f32>,
settle_fee_flat_opt: Option<f32>,
settle_fee_amount_threshold_opt: Option<f32>,
settle_fee_fraction_low_health_opt: Option<f32>,
stable_price_delay_interval_seconds_opt: Option<u32>,
stable_price_delay_growth_limit_opt: Option<f32>,
stable_price_growth_limit_opt: Option<f32>,
settle_pnl_limit_factor_opt: Option<f32>,
settle_pnl_limit_window_size_ts_opt: Option<u64>,
reduce_only_opt: Option<bool>,
reset_stable_price: bool,
positive_pnl_liquidation_fee_opt: Option<f32>,
name_opt: Option<String>,
force_close_opt: Option<bool>,
platform_liquidation_fee_opt: Option<f32>
) -> Result<()>