Skip to main content

hl_types/
lib.rs

1//! # hl-types
2//!
3//! Shared domain types for the motosan-hyperliquid SDK.
4//!
5//! This crate defines the Rust structs that map to Hyperliquid's API data
6//! model: orders, positions, candles, signatures, and a unified error type.
7//! Every other crate in the SDK depends on `hl-types`.
8//!
9//! This crate has no network dependencies.
10
11#![warn(missing_docs)]
12
13/// Account state types (positions, fills, vaults, fees, etc.).
14pub mod account;
15/// OHLCV candlestick types.
16pub mod candle;
17/// Unified error type used across all SDK crates.
18pub mod error;
19/// Market data types (orderbook, asset info, funding rates, trades).
20pub mod market;
21/// Order wire types (order builders, cancel/modify requests, enums).
22pub mod order;
23/// Exchange action and order response types.
24pub mod response;
25/// ECDSA signature type (r, s, v components).
26pub mod signature;
27/// Utility functions (coin normalization, JSON parsing helpers).
28pub mod util;
29
30pub use account::{
31    HlAccountState, HlActiveAssetData, HlBorrowLendState, HlExtraAgent, HlFill, HlFundingEntry,
32    HlHistoricalOrder, HlOpenOrder, HlOrderDetail, HlPosition, HlRateLimitStatus, HlReferralState,
33    HlStakingDelegation, HlUserFees, HlUserFundingEntry, HlVaultDetails, HlVaultSummary,
34};
35pub use candle::HlCandle;
36pub use error::HlError;
37pub use market::{
38    AssetContext, HlAssetInfo, HlFundingRate, HlOrderbook, HlPerpDexStatus, HlSpotAssetInfo,
39    HlSpotBalance, HlSpotMeta, HlTrade, SpotAssetContext, TradeSide,
40};
41pub use order::{
42    CancelByCloidRequest, CancelRequest, LimitOrderType, ModifyRequest, OrderStatus, OrderTypeWire,
43    OrderWire, OrderWireBuilder, PositionSide, Side, Tif, Tpsl, TriggerOrderType,
44};
45pub use response::{HlActionResponse, OrderResponse};
46pub use rust_decimal::Decimal;
47pub use signature::Signature;
48pub use util::{
49    normalize_coin, parse_mid_price_from_l2book, parse_position_szi, parse_str_decimal,
50};