use solana_keypair::Pubkey;
use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::transaction::ActionMeta;
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
pub struct LiqConfigByInstrument {
pub max_exposure: f64,
pub premium_min: f64,
pub fee: f64,
pub max_adl_notional: f64,
pub max_adl_percent: f64,
}
#[derive(Debug, Default, Clone, Serialize, Deserialize)]
pub struct LiqConfig {
#[serde(with = "crate::msgs::serde_pubkey")]
pub owner: Pubkey,
pub cross_exposure: f64,
pub scoring_skew: f64,
pub percent_volume: f64,
pub instrument: HashMap<String, LiqConfigByInstrument>,
#[serde(skip)]
pub meta: ActionMeta,
}