hyperliquid_rust_sdk_abrkn/info/
response_structs.rsuse crate::{
info::{AssetPosition, Level, MarginSummary},
DailyUserVlm, Delta, FeeSchedule, OrderInfo, Referrer, ReferrerState, UserTokenBalance,
};
use serde::Deserialize;
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct UserStateResponse {
pub asset_positions: Vec<AssetPosition>,
pub cross_margin_summary: MarginSummary,
pub margin_summary: MarginSummary,
pub withdrawable: String,
}
#[derive(Deserialize, Debug)]
pub struct UserTokenBalanceResponse {
pub balances: Vec<UserTokenBalance>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct UserFeesResponse {
pub active_referral_discount: String,
pub daily_user_vlm: Vec<DailyUserVlm>,
pub fee_schedule: FeeSchedule,
pub user_add_rate: String,
pub user_cross_rate: String,
}
#[derive(serde::Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct OpenOrdersResponse {
pub coin: String,
pub limit_px: String,
pub oid: u64,
pub side: String,
pub sz: String,
pub timestamp: u64,
}
#[derive(serde::Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct UserFillsResponse {
pub closed_pnl: String,
pub coin: String,
pub crossed: bool,
pub dir: String,
pub hash: String,
pub oid: u64,
pub px: String,
pub side: String,
pub start_position: String,
pub sz: String,
pub time: u64,
pub fee: String,
}
#[derive(serde::Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct FundingHistoryResponse {
pub coin: String,
pub funding_rate: String,
pub premium: String,
pub time: u64,
}
#[derive(Deserialize, Debug)]
pub struct UserFundingResponse {
pub time: u64,
pub hash: String,
pub delta: Delta,
}
#[derive(serde::Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct L2SnapshotResponse {
pub coin: String,
pub levels: Vec<Vec<Level>>,
pub time: u64,
}
#[derive(serde::Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct RecentTradesResponse {
pub coin: String,
pub side: String,
pub px: String,
pub sz: String,
pub time: u64,
pub hash: String,
}
#[derive(serde::Deserialize, Debug)]
pub struct CandlesSnapshotResponse {
#[serde(rename = "t")]
pub time_open: u64,
#[serde(rename = "T")]
pub time_close: u64,
#[serde(rename = "s")]
pub coin: String,
#[serde(rename = "i")]
pub candle_interval: String,
#[serde(rename = "o")]
pub open: String,
#[serde(rename = "c")]
pub close: String,
#[serde(rename = "h")]
pub high: String,
#[serde(rename = "l")]
pub low: String,
#[serde(rename = "v")]
pub vlm: String,
#[serde(rename = "n")]
pub num_trades: u64,
}
#[derive(Deserialize, Debug)]
pub struct OrderStatusResponse {
pub status: String,
pub order: Option<OrderInfo>,
}
#[derive(Deserialize, Debug)]
#[serde(rename_all = "camelCase")]
pub struct ReferralResponse {
pub referred_by: Option<Referrer>,
pub cum_vlm: String,
pub unclaimed_rewards: String,
pub claimed_rewards: String,
pub referrer_state: ReferrerState,
}