Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 30 additions & 6 deletions hyperliquid/info.py
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ def spot_meta(self) -> SpotMeta:
"""
return cast(SpotMeta, self.post("/info", {"type": "spotMeta"}))

def spot_meta_and_asset_ctxs(self) -> SpotMetaAndAssetCtxs:
def spot_meta_and_asset_ctxs(self, dex: str = "") -> SpotMetaAndAssetCtxs:
"""Retrieve exchange spot asset contexts
POST /info
Returns:
Expand Down Expand Up @@ -395,7 +395,7 @@ def spot_meta_and_asset_ctxs(self) -> SpotMetaAndAssetCtxs:
]
]
"""
return cast(SpotMetaAndAssetCtxs, self.post("/info", {"type": "spotMetaAndAssetCtxs"}))
return cast(SpotMetaAndAssetCtxs, self.post("/info", {"type": "spotMetaAndAssetCtxs", "dex": dex}))

def funding_history(self, name: str, startTime: int, endTime: Optional[int] = None) -> Any:
"""Retrieve funding history for a given coin
Expand Down Expand Up @@ -608,11 +608,35 @@ def delegator_history(self, user: str) -> Any:
"""
return self.post("/info", {"type": "delegatorHistory", "user": user})

def query_order_by_oid(self, user: str, oid: int) -> Any:
return self.post("/info", {"type": "orderStatus", "user": user, "oid": oid})
def query_order_by_oid(self, user: str, oid: int, dex: str = "") -> Any:
"""Query order status by order ID.

def query_order_by_cloid(self, user: str, cloid: Cloid) -> Any:
return self.post("/info", {"type": "orderStatus", "user": user, "oid": cloid.to_raw()})
POST /info

Args:
user (str): Onchain address in 42-character hexadecimal format.
oid (int): Order ID.
dex (str): Optional DEX identifier (defaults to "" for the original DEX).

Returns:
Order status.
"""
return self.post("/info", {"type": "orderStatus", "user": user, "oid": oid, "dex": dex})

def query_order_by_cloid(self, user: str, cloid: Cloid, dex: str = "") -> Any:
"""Query order status by client order ID.

POST /info

Args:
user (str): Onchain address in 42-character hexadecimal format.
cloid (Cloid): Client order ID.
dex (str): Optional DEX identifier (defaults to "" for the original DEX).

Returns:
Order status.
"""
return self.post("/info", {"type": "orderStatus", "user": user, "oid": cloid.to_raw(), "dex": dex})

def query_referral_state(self, user: str) -> Any:
return self.post("/info", {"type": "referral", "user": user})
Expand Down