pub struct HyperliquidClient { /* private fields */ }Implementations§
Trait Implementations§
Source§impl GetMarketData for HyperliquidClient
impl GetMarketData for HyperliquidClient
Source§async fn get_symbol(&self) -> Result<Vec<String>, String>
async fn get_symbol(&self) -> Result<Vec<String>, String>
Returns all perpetual asset names from Hyperliquid’s meta endpoint.
Source§async fn get_open_interest(&self, symbol: String) -> Result<Decimal, String>
async fn get_open_interest(&self, symbol: String) -> Result<Decimal, String>
Returns the current open interest for symbol from metaAndAssetCtxs.
Source§async fn get_asset_context(
&self,
symbol: String,
) -> Result<AssetContext, String>
async fn get_asset_context( &self, symbol: String, ) -> Result<AssetContext, String>
Returns a full AssetContext snapshot for symbol from metaAndAssetCtxs.
Source§impl ManageOrder for HyperliquidClient
impl ManageOrder for HyperliquidClient
Source§async fn place_order(
&self,
symbol: String,
side: OrderSide,
price: Decimal,
volume: Decimal,
order_type: OrderType,
time_in_force: TimeInForce,
) -> Result<OrderPlacement, String>
async fn place_order( &self, symbol: String, side: OrderSide, price: Decimal, volume: Decimal, order_type: OrderType, time_in_force: TimeInForce, ) -> Result<OrderPlacement, String>
Source§impl SubscribeMarketData for HyperliquidClient
impl SubscribeMarketData for HyperliquidClient
Source§fn subscribe_l2_update(&self, symbol: String) -> BoxStream<L2Update>
fn subscribe_l2_update(&self, symbol: String) -> BoxStream<L2Update>
Streams L2 orderbook updates for symbol. Each message from Hyperliquid is a
full-depth snapshot; every level is emitted as an individual L2Update event.
All levels in the same snapshot share the same sequence value.
Source§fn subscribe_asset_context(&self, symbol: String) -> BoxStream<AssetContext>
fn subscribe_asset_context(&self, symbol: String) -> BoxStream<AssetContext>
Streams asset context updates for symbol via Hyperliquid’s activeAssetCtx subscription.
Each message carries OI, funding rate, mark price, and 24h notional volume.
Source§fn subscribe_liquidation(&self, user: String) -> BoxStream<Liquidation>
fn subscribe_liquidation(&self, user: String) -> BoxStream<Liquidation>
Streams liquidation events for a user address via Hyperliquid’s userEvents subscription.
Note: Hyperliquid’s liquidation event is account-level; symbol is set to empty string
and side defaults to OrderSide::Sell as the data source does not provide per-position detail.