build the request payload for cancelling multiple orders https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s-by-cloid :
(self, ids: List[str], symbol: Str = None, params={})
| 2375 | return self.parse_order({'status': status, 'oid': id}, market) |
| 2376 | |
| 2377 | def cancel_orders_request(self, ids: List[str], symbol: Str = None, params={}) -> dict: |
| 2378 | """ |
| 2379 | build the request payload for cancelling multiple orders |
| 2380 | https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s |
| 2381 | https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/exchange-endpoint#cancel-order-s-by-cloid |
| 2382 | :param str[] ids: order ids |
| 2383 | :param str symbol: unified market symbol |
| 2384 | :param dict [params]: |
| 2385 | :returns dict: the raw request object to be sent to the exchange |
| 2386 | """ |
| 2387 | market = self.market(symbol) |
| 2388 | clientOrderId = self.safe_value_2(params, 'clientOrderId', 'client_id') |
| 2389 | params = self.omit(params, ['clientOrderId', 'client_id']) |
| 2390 | nonce = self.milliseconds() |
| 2391 | request = { |
| 2392 | 'nonce': nonce, |
| 2393 | # 'vaultAddress': vaultAddress, |
| 2394 | } |
| 2395 | cancelReq = [] |
| 2396 | cancelAction = { |
| 2397 | 'type': '', |
| 2398 | 'cancels': [], |
| 2399 | } |
| 2400 | baseId = self.parse_to_numeric(market['baseId']) |
| 2401 | if clientOrderId is not None: |
| 2402 | if not isinstance(clientOrderId, list): |
| 2403 | clientOrderId = [clientOrderId] |
| 2404 | cancelAction['type'] = 'cancelByCloid' |
| 2405 | for i in range(0, len(clientOrderId)): |
| 2406 | cancelReq.append({ |
| 2407 | 'asset': baseId, |
| 2408 | 'cloid': clientOrderId[i], |
| 2409 | }) |
| 2410 | else: |
| 2411 | cancelAction['type'] = 'cancel' |
| 2412 | for i in range(0, len(ids)): |
| 2413 | o = self.parse_to_numeric(ids[i]) |
| 2414 | cancelReq.append({ |
| 2415 | 'a': baseId, |
| 2416 | 'o': o, |
| 2417 | }) |
| 2418 | cancelAction['cancels'] = cancelReq |
| 2419 | vaultAddress = None |
| 2420 | vaultAddress, params = self.handle_option_and_params_2(params, 'cancelOrders', 'vaultAddress', 'subAccountAddress') |
| 2421 | vaultAddress = self.format_vault_address(vaultAddress) |
| 2422 | signature = self.sign_l1_action(cancelAction, nonce, vaultAddress) |
| 2423 | request['action'] = cancelAction |
| 2424 | request['signature'] = signature |
| 2425 | if vaultAddress is not None: |
| 2426 | params = self.omit(params, 'vaultAddress') |
| 2427 | request['vaultAddress'] = vaultAddress |
| 2428 | return request |
| 2429 | |
| 2430 | async def cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={}): |
| 2431 | """ |
no test coverage detected