hyperliquid_rust_sdk_abrkn/info/
sub_structs.rsuse ethers::types::H160;
use serde::Deserialize;
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Leverage {
#[serde(rename = "type")]
pub type_string: String,
pub value: u32,
pub raw_usd: Option<String>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct PositionData {
pub coin: String,
pub entry_px: Option<String>,
pub leverage: Leverage,
pub liquidation_px: Option<String>,
pub margin_used: String,
pub position_value: String,
pub return_on_equity: String,
pub szi: String,
pub unrealized_pnl: String,
}
#[derive(Deserialize, Debug)]
pub struct AssetPosition {
pub position: PositionData,
#[serde(rename = "type")]
pub type_string: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct MarginSummary {
pub account_value: String,
pub total_margin_used: String,
pub total_ntl_pos: String,
pub total_raw_usd: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Level {
pub n: u64,
pub px: String,
pub sz: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Delta {
#[serde(rename = "type")]
pub type_string: String,
pub coin: String,
pub usdc: String,
pub szi: String,
pub funding_rate: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct DailyUserVlm {
pub date: String,
pub exchange: String,
pub user_add: String,
pub user_cross: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct FeeSchedule {
pub add: String,
pub cross: String,
pub referral_discount: String,
pub tiers: Tiers,
}
#[derive(Deserialize, Debug)]
pub struct Tiers {
pub mm: Vec<Mm>,
pub vip: Vec<Vip>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Mm {
pub add: String,
pub maker_fraction_cutoff: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Vip {
pub add: String,
pub cross: String,
pub ntl_cutoff: String,
}
#[derive(Deserialize, Debug)]
pub struct UserTokenBalance {
pub coin: String,
pub hold: String,
pub total: String,
}
#[derive(Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct OrderInfo {
pub order: BasicOrderInfo,
pub status: String,
pub status_timestamp: u64,
}
#[derive(Deserialize, Clone, Debug)]
#[serde(rename_all = "camelCase")]
pub struct BasicOrderInfo {
pub coin: String,
pub side: String,
pub limit_px: String,
pub sz: String,
pub oid: u64,
pub timestamp: u64,
pub trigger_condition: String,
pub is_trigger: bool,
pub trigger_px: String,
pub is_position_tpsl: bool,
pub reduce_only: bool,
pub order_type: String,
pub orig_sz: String,
pub tif: String,
pub cloid: Option<String>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct Referrer {
pub referrer: H160,
pub code: String,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct ReferrerState {
pub stage: String,
pub data: ReferrerData,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct ReferrerData {
pub required: String,
}