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