You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
HIP-3 dex parameter missing from docstrings for user_state, open_orders, all_mids #286
Feedback from an HIP-3 MM bot operator. Discovered these gaps while building a multi-DEX trading bot.
Problem
Several Info methods support a dex parameter for HIP-3 (builder-deployed perpetuals), but the docstrings don't document it in the Args section. This makes it hard for developers to discover HIP-3 support.
Affected methods
Method
Has dex param
Documented in docstring
user_state
✅ dex: str = ""
❌ Not in Args
open_orders
✅ dex: str = ""
❌ Not in Args
frontend_open_orders
✅ dex: str = ""
❌ Not in Args
all_mids
✅ dex: str = ""
❌ Not in Args
meta
✅ dex: str = ""
❌ Not in Args
Impact
HIP-3 bot developers don't realize these methods support DEX filtering. Common mistake: calling info.open_orders(addr) and wondering why HIP-3 orders aren't returned. The dex parameter is only discoverable by reading the source code.
Suggestion
Add dex to the Args section of each docstring, e.g.:
defuser_state(self, address: str, dex: str="") ->Any:
"""Retrieve trading details about a user. Args: address (str): Onchain address in 42-character hexadecimal format. dex (str): HIP-3 DEX name (e.g. "xyz", "flx", "km"). Empty string "" for standard Hyperliquid perps. """
Opened #320 for this — added dex to the Args of all five methods you listed (user_state, open_orders, frontend_open_orders, all_mids, meta), with a short Args section introduced for all_mids/meta since they had none. Docstring only, no behaviour change. Thanks for the precise write-up — the table made it easy to verify each signature against info.py.
Activity
massimiliano1991 commentedon Sep 4, 2026
Opened #320 for this — added
dexto theArgsof all five methods you listed (user_state,open_orders,frontend_open_orders,all_mids,meta), with a shortArgssection introduced forall_mids/metasince they had none. Docstring only, no behaviour change. Thanks for the precise write-up — the table made it easy to verify each signature againstinfo.py.