Skip to content

Commit c761785

Browse files
ANTONANTON
authored andcommitted
Add dex parameter to user_fills, user_fills_by_time, meta_and_asset_ctxs
These three Info methods were the last holdouts without a dex parameter for HIP-3 builder-deployed perp dexes, while user_state, open_orders, all_mids, and meta already support it. Defaults to "" (the first/main dex) so existing callers are unaffected. Closes #278, #287
1 parent 2fdb18f commit c761785

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

hyperliquid/info.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,16 @@ def all_mids(self, dex: str = "") -> Any:
198198
"""
199199
return self.post("/info", {"type": "allMids", "dex": dex})
200200

201-
def user_fills(self, address: str) -> Any:
201+
def user_fills(self, address: str, dex: str = "") -> Any:
202202
"""Retrieve a given user's fills.
203203
204204
POST /info
205205
206206
Args:
207207
address (str): Onchain address in 42-character hexadecimal format;
208208
e.g. 0x0000000000000000000000000000000000000000.
209+
dex (str): Perp dex name for HIP-3 builder-deployed perps. Defaults to "",
210+
the first perp dex.
209211
210212
Returns:
211213
[
@@ -225,10 +227,15 @@ def user_fills(self, address: str) -> Any:
225227
...
226228
]
227229
"""
228-
return self.post("/info", {"type": "userFills", "user": address})
230+
return self.post("/info", {"type": "userFills", "user": address, "dex": dex})
229231

230232
def user_fills_by_time(
231-
self, address: str, start_time: int, end_time: Optional[int] = None, aggregate_by_time: Optional[bool] = False
233+
self,
234+
address: str,
235+
start_time: int,
236+
end_time: Optional[int] = None,
237+
aggregate_by_time: Optional[bool] = False,
238+
dex: str = "",
232239
) -> Any:
233240
"""Retrieve a given user's fills by time.
234241
@@ -240,6 +247,8 @@ def user_fills_by_time(
240247
start_time (int): Unix timestamp in milliseconds
241248
end_time (Optional[int]): Unix timestamp in milliseconds
242249
aggregate_by_time (Optional[bool]): When true, partial fills are combined when a crossing order gets filled by multiple different resting orders. Resting orders filled by multiple crossing orders will not be aggregated.
250+
dex (str): Perp dex name for HIP-3 builder-deployed perps. Defaults to "",
251+
the first perp dex.
243252
244253
Returns:
245254
[
@@ -267,6 +276,7 @@ def user_fills_by_time(
267276
"startTime": start_time,
268277
"endTime": end_time,
269278
"aggregateByTime": aggregate_by_time,
279+
"dex": dex,
270280
},
271281
)
272282

@@ -288,11 +298,15 @@ def meta(self, dex: str = "") -> Meta:
288298
"""
289299
return cast(Meta, self.post("/info", {"type": "meta", "dex": dex}))
290300

291-
def meta_and_asset_ctxs(self) -> Any:
301+
def meta_and_asset_ctxs(self, dex: str = "") -> Any:
292302
"""Retrieve exchange MetaAndAssetCtxs
293303
294304
POST /info
295305
306+
Args:
307+
dex (str): Perp dex name for HIP-3 builder-deployed perps. Defaults to "",
308+
the first perp dex.
309+
296310
Returns:
297311
[
298312
{
@@ -321,7 +335,7 @@ def meta_and_asset_ctxs(self) -> Any:
321335
...
322336
]
323337
"""
324-
return self.post("/info", {"type": "metaAndAssetCtxs"})
338+
return self.post("/info", {"type": "metaAndAssetCtxs", "dex": dex})
325339

326340
def perp_dexs(self) -> Any:
327341
return self.post("/info", {"type": "perpDexs"})

0 commit comments

Comments
 (0)