pub fn token_register(
ctx: Context<'_, '_, '_, '_, TokenRegister<'_>>,
token_index: TokenIndex,
name: String,
oracle_config: OracleConfigParams,
interest_rate_params: InterestRateParams,
loan_fee_rate: f32,
loan_origination_fee_rate: f32,
maint_asset_weight: f32,
init_asset_weight: f32,
maint_liab_weight: f32,
init_liab_weight: f32,
liquidation_fee: f32,
stable_price_delay_interval_seconds: u32,
stable_price_delay_growth_limit: f32,
stable_price_growth_limit: f32,
min_vault_to_deposits_ratio: f64,
net_borrow_limit_window_size_ts: u64,
net_borrow_limit_per_window_quote: i64,
borrow_weight_scale_start_quote: f64,
deposit_weight_scale_start_quote: f64,
reduce_only: u8,
token_conditional_swap_taker_fee_rate: f32,
token_conditional_swap_maker_fee_rate: f32,
flash_loan_swap_fee_rate: f32,
interest_curve_scaling: f32,
interest_target_utilization: f32,
group_insurance_fund: bool,
deposit_limit: u64,
zero_util_rate: f32,
platform_liquidation_fee: f32,
disable_asset_liquidation: bool,
collateral_fee_per_day: f32
) -> Result<()>