UNPKG

@exchange-connect/coinex

Version:
1,217 lines 53.9 kB
"use strict"; /** * @fileOverview Futures API Endpoints * @module Futures */ Object.defineProperty(exports, "__esModule", { value: true }); exports.futuresPositionADLHistoryQuery = exports.futuresModifyStopOrder = exports.futuresModifyOrder = exports.futuresQueryMarketHistoricalFundingRate = exports.futuresMarketCloseAll = exports.futuresPositionTakeProfitSettings = exports.futuresPositionStopLossSettings = exports.futuresQueryUserHistoricalFundingRate = exports.futuresUserPositions = exports.futuresAdjustPositionMargin = exports.futuresMarketClose = exports.futuresLimitClose = exports.futuresQueryFinishedOrders = exports.futuresStopOrderStatus = exports.futuresQueryPendingStopOrders = exports.futuresOrderStatus = exports.futuresQueryPendingOrders = exports.futuresCancelAllStopOrders = exports.futuresCancelStopOrder = exports.futuresCancelAllOrders = exports.futuresCancelOrder = exports.futuresCancelOrderInBatch = exports.futuresSubmitStopMarketOrder = exports.futuresSubmitStopLimitOrder = exports.futuresSubmitMarketOrder = exports.futuresSubmitLimitOrder = exports.futuresAssetQuery = exports.futuresEstimatedAmountOfPositionsToBeOpened = exports.futuresAdjustLeverage = exports.futuresUserTransaction = exports.futuresMarketKLine = exports.futuresLatestTransactionInTheMarket = exports.futuresMarketDepth = exports.futuresAllMarketStatus = exports.futuresMarketStatus = exports.futuresPositionLevel = exports.futuresMarketList = exports.futuresSystemTime = exports.futuresPing = void 0; var _a = require("../../constants"), BASE_URLS = _a.BASE_URLS, METHOD_TYPE = _a.METHOD_TYPE; var executeRequest = require("../../libs").executeRequest; var signParams = require("../../utils").signParams; /** * [Ping (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http004_ping} * @async * @function futuresPing * @returns {Promise<String>} Promise object represents the result of the request */ function futuresPing() { var params = {}; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/ping", params: params, }); } exports.futuresPing = futuresPing; /** * [System Time (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http005_system_time} * @async * @function futuresSystemTime * @returns {Promise<Number>} Promise object represents the result of the request */ function futuresSystemTime() { var params = {}; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/time", params: params, }); } exports.futuresSystemTime = futuresSystemTime; /** * [Market List (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http006_market_list} * @async * @function futuresMarketList * @returns {Promise<Array<MarketListResult>>} Promise object represents the result of the request */ function futuresMarketList() { var params = {}; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/list", params: params, }); } exports.futuresMarketList = futuresMarketList; /** * [Position Level (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http007_market_limit} * @async * @function futuresPositionLevel * @returns {Promise<PositionLevelResults>} Promise object represents the result of the request */ function futuresPositionLevel() { var params = {}; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/limit_config", params: params, }); } exports.futuresPositionLevel = futuresPositionLevel; /** * [Market Status (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http008_market_ticker} * @async * @function futuresMarketStatus * @param {String} market Market name * @returns {Promise} Promise object represents the result of the request */ function futuresMarketStatus(market) { var params = { market: market }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "https://api.coinex.com/perpetual/v1/market/ticker", params: params, }); } exports.futuresMarketStatus = futuresMarketStatus; /** * [All Market Status (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http009_market_ticker_all} * @async * @function futuresAllMarketStatus * @returns {Promise} Promise object represents the result of the request */ function futuresAllMarketStatus() { var params = {}; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/ticker/all", params: params, }); } exports.futuresAllMarketStatus = futuresAllMarketStatus; /** * [Market Depth (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http010_market_depth} * @async * @function futuresMarketDepth * @param {String} market Market name, such as: “BTCUSD” contract market * @param {"10"|"1"|"0"|"0.1"|"0.01"} merge Accuracy combined, the value is one of the values in ["10", "1", "0", "0.1", "0.01"] * @param {5|10|20|50|100} limit The number of obtained items, the value is one of the values in [5, 10, 20, 50, 100] * @returns {Promise} Promise object represents the result of the request */ function futuresMarketDepth(market, merge, limit) { var params = { market: market, merge: merge, limit: limit, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/depth", params: params, }); } exports.futuresMarketDepth = futuresMarketDepth; /** * [Latest Transaction In The Market (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http011_market_deals} * @async * @function futuresLatestTransactionInTheMarket * @param {String} market Market name * @param {Object} options Optional Parameters * @param {Number} [options.last_id] The largest ID of the last returned result * @param {Number} [options.limit] Number of query * @returns {Promise} Promise object represents the result of the request */ function futuresLatestTransactionInTheMarket(market, _a) { var _b = _a === void 0 ? {} : _a, last_id = _b.last_id, limit = _b.limit; var params = { market: market, last_id: last_id, limit: limit, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/deals", params: params, }); } exports.futuresLatestTransactionInTheMarket = futuresLatestTransactionInTheMarket; /** * [Market K-Line (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http012_market_kline} * @async * @function futuresMarketKLine * @param {String} market Market market * @param {"1min"|"5min"|"15min"|"30min"|"1hour"|"2hour"|"4hour"|"6hour"|"12hour"|"1day"|"3day"|"1week"} type K-line information category, supports the following parameters: 1min, 5min, 15min, 30min, 1hour, 2hour, 4hour, 6hour, 12hour, 1day, 3day, 1week * @param {Number} [limit=1000] Get the K-line number, cannot exceed 1000 and the default is 1000 * @returns {Promise} Promise object represents the result of the request */ function futuresMarketKLine(market, type, limit) { if (limit === void 0) { limit = 1000; } var params = { market: market, type: type, limit: limit, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/kline", params: params, }); } exports.futuresMarketKLine = futuresMarketKLine; /** * [User Transaction (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http013_user_deals} * @async * @function futuresUserTransaction * @param {String} market Market name * @param {0|1|2} side 0 unlimited, 1 sell, 2 buy * @param {Number} offset Offset * @param {Number} limit Number of query * @param {Object} options Optional Parameters * @param {Number} [options.start_time] Start * @param {Number} [options.end_time] End * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresUserTransaction(market, side, offset, limit, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, start_time = _b.start_time, end_time = _b.end_time, timestamp = _b.timestamp; var params = { market: market, side: side, offset: offset, limit: limit, start_time: start_time, end_time: end_time, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/user_deals", params: params, }); } exports.futuresUserTransaction = futuresUserTransaction; /** * [Adjust Leverage (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http014_adjust_leverage} * @async * @function futuresAdjustLeverage * @param {String} market Market name * @param {String} leverage Margin * @param {1|2} position_type Position Type (1 Isolated Margin, 2 Cross Margin) * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresAdjustLeverage(market, leverage, position_type, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, leverage: leverage, position_type: position_type, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/market/adjust_leverage", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresAdjustLeverage = futuresAdjustLeverage; /** * [Estimated Amount Of Positions To Be Opened (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http015_position_expect} * @async * @function futuresEstimatedAmountOfPositionsToBeOpened * @param {String} market Market name * @param {String} price Price * @param {1|2} side 1: sell 2: buy * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresEstimatedAmountOfPositionsToBeOpened(market, price, side, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, price: price, side: side, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/market/position_expect", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresEstimatedAmountOfPositionsToBeOpened = futuresEstimatedAmountOfPositionsToBeOpened; /** * [Asset Query (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http016_asset_query} * @async * @function futuresAssetQuery * @param {Object} options Optional Parameters * @param {Number} [options.timestamp=Date.now()] * @returns {Promise} Promise object represents the result of the request */ function futuresAssetQuery(_a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/asset/query", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresAssetQuery = futuresAssetQuery; /** * [Submit Limit Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http017_put_limit} * @async * @function futuresSubmitLimitOrder * @param {String} market Market name * @param {1|2} side Order type (1: short sell, 2: long buy) * @param {String} amount Amount * @param {String} price Price * @param {Object} options Optional Parameters * @param {1|2|3} [options.effect_type=1] Order effective type (1: always valid, 2: immediate or cancel, 3: fill or kill, Default is 1) * @param {0|1|2|3} [options.option=0] Option (1: place maker orders only, 2: hidden order, 3: place maker orders only and hide the order, Default is 0) * @param {String} [options.client_id] Custom ID. This field is for identification only, supporting uppercase and lowercase letters, numbers, _ -, within 64 bytes * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresSubmitLimitOrder(market, side, amount, price, _a) { var _b = _a === void 0 ? { effect_type: 1, option: 0, timestamp: Date.now(), } : _a, effect_type = _b.effect_type, option = _b.option, client_id = _b.client_id, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, amount: amount, price: price, timestamp: timestamp, effect_type: effect_type, option: option, client_id: client_id, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/put_limit", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresSubmitLimitOrder = futuresSubmitLimitOrder; /** * [Submit Market Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http018_put_market} * @async * @function futuresSubmitMarketOrder * @param {String} market Market name * @param {1|2} side Order type (1: short sell, 2: long buy) * @param {String} amount Amount * @param {Object} options Optional Parameters * @param {String} [options.client_id] Custom id, limited to 64 bytes, valid characters are uppercase and lowercase English letters, numbers, _- * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresSubmitMarketOrder(market, side, amount, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, client_id = _b.client_id, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, amount: amount, client_id: client_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, url: "/order/put_market", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresSubmitMarketOrder = futuresSubmitMarketOrder; /** * [Submit Stop-Limit Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http019_put_limit_stop} * @async * @function futuresSubmitStopLimitOrder * @param {String} market Market name * @param {1|2} side Order type (1:short sell, 2:long buy) * @param {1|2|3} stop_type Trigger type (1: Triggered by the latest transaction price, 2: Triggered by the mark price, 3: Triggered by the index price) * @param {String} amount Amount * @param {String} stop_price Stop Price * @param {String} price Price * @param {Object} options Optional Parameters * @param {1|2|3} [options.effect_type=1] Order effective type (1: always valid, 2: immediate or cancel, 3: fill or kill, Default is 1) * @param {0|1|2|3} [options.option=0] Option (1: place maker orders only, 2: hidden order, 3: place maker orders only and hide the order, Default is 0) * @param {String} [options.client_id] Custom ID. This field is for identification only, supporting uppercase and lowercase letters, numbers, _ -, within 64 bytes * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresSubmitStopLimitOrder(market, side, stop_type, amount, stop_price, price, _a) { var _b = _a === void 0 ? { effect_type: 1, option: 0, timestamp: Date.now(), } : _a, effect_type = _b.effect_type, option = _b.option, client_id = _b.client_id, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, stop_type: stop_type, amount: amount, stop_price: stop_price, price: price, effect_type: effect_type, option: option, client_id: client_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/put_stop_limit", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresSubmitStopLimitOrder = futuresSubmitStopLimitOrder; /** * [Submit Stop-Market Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http020_put_market_stop} * @async * @function futuresSubmitStopMarketOrder * @param {String} market Market name * @param {1|2} side Order type (1: short sell, 2: long buy) * @param {1|2|3} stop_type Trigger type (1: Triggered by the latest transaction price, 2: Triggered by the mark price, 3: Triggered by the index price) * @param {String} amount Amount * @param {String} stop_price Stop Price * @param {Object} options Optional Parameters * @param {String} [options.client_id] Client id * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresSubmitStopMarketOrder(market, side, stop_type, amount, stop_price, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, client_id = _b.client_id, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, stop_type: stop_type, amount: amount, stop_price: stop_price, client_id: client_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/put_stop_market", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresSubmitStopMarketOrder = futuresSubmitStopMarketOrder; /** * [Cancel Order In Batch]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http021-0_cancel_order_batch} * @async * @function futuresCancelOrderInBatch * @param {String} market Market name * @param {String} order_ids In the ID list of unexecuted orders, use “p” to separate multiple IDs * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresCancelOrderInBatch(market, order_ids, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, order_ids: order_ids, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/cancel_batch", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: { market: market, order_ids: order_ids, timestamp: timestamp, windowtime: windowtime, }, }); } exports.futuresCancelOrderInBatch = futuresCancelOrderInBatch; /** * [Cancel Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http021_cancel_order} * @async * @function futuresCancelOrder * @param {String} market Market name * @param {Number} order_id Unexecuted order ID * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresCancelOrder(market, order_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, order_id: order_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/cancel", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresCancelOrder = futuresCancelOrder; /** * [Cancel All Orders (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http022_cancel_all} * @async * @function futuresCancelAllOrders * @param {String} market Market name * @param {Object} options Optional Parameters * @param {0|1|2} [options.side] Order type (0: All 1: Sell, 2: Buy) * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresCancelAllOrders(market, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, side = _b.side, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/cancel_all", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresCancelAllOrders = futuresCancelAllOrders; /** * [Cancel Stop Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http023_cancel_stop_order} * @async * @function futuresCancelStopOrder * @param {String} market Market name * @param {Number} order_id Unexecuted order ID * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresCancelStopOrder(market, order_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, order_id: order_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/cancel_stop", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresCancelStopOrder = futuresCancelStopOrder; /** * [Cancel All Stop Orders (Future)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http024_cancel_stop_all} * @async * @function futuresCancelAllStopOrders * @param {String} market Market name * @param {Object} options Optional Parameters * @param {0|1|2} [options.side] Order type (0: All 1: Sell, 2: Buy) * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresCancelAllStopOrders(market, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, side = _b.side, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/cancel_stop_all", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresCancelAllStopOrders = futuresCancelAllStopOrders; /** * [Query Pending Orders (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http025_query_pending} * @async * @function futuresQueryPendingOrders * @param {String} market Market name * @param {Object} options Optional Parameters * @param {0|1|2} [options.side=0] Order type (0: All 1: Sell, 2: Buy) * @param {Number} [options.offset=1] Offset, that is, from which one to get * @param {Number} [options.windowtime] Time window (unit: milliseconds) * @param {Number} [options.limit=100] Limit The number of records obtained at one time, the default is 20 and the maximum is 100 * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresQueryPendingOrders(market, _a) { var _b = _a === void 0 ? { offset: 1, side: 0, limit: 100, timestamp: Date.now(), } : _a, offset = _b.offset, side = _b.side, limit = _b.limit, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, offset: offset, windowtime: windowtime, limit: limit, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/order/pending", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresQueryPendingOrders = futuresQueryPendingOrders; /** * [Order Status (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http026_order_status} * @async * @function futuresOrderStatus * @param {String} market Market name * @param {Number} order_id Order id * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresOrderStatus(market, order_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, order_id: order_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/order/status", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresOrderStatus = futuresOrderStatus; /** * [Query Pending Stop Orders (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http027_query_pending_stop} * @async * @function futuresQueryPendingStopOrders * @param {String} market Market name * @param {Object} options Optional Parameters * @param {0|1|2} [options.side=0] Order type (0: All 1: Sell, 2: Buy) * @param {Number} [options.offset=1] Offset, that is, from which one to get * @param {Number} [options.windowtime] Time window (unit: milliseconds) * @param {Number} [options.limit=100] Limit The number of records obtained at one time, the default is 20 and the maximum is 100 * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresQueryPendingStopOrders(market, _a) { var _b = _a === void 0 ? { offset: 1, side: 0, limit: 100, timestamp: Date.now(), } : _a, offset = _b.offset, side = _b.side, limit = _b.limit, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, side: side, offset: offset, windowtime: windowtime, limit: limit, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/order/stop_pending", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresQueryPendingStopOrders = futuresQueryPendingStopOrders; /** * [Stop Order Status (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http028_stop_status} * @async * @function futuresStopOrderStatus * @param {String} market Market name * @param {Number} order_id Order id * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @returns {Promise} Promise object represents the result of the request */ function futuresStopOrderStatus(market, order_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, order_id: order_id, windowtime: windowtime, timestamp: timestamp, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/order/stop_status", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresStopOrderStatus = futuresStopOrderStatus; /** * [Query Finished Orders (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http029_query_finished} * @async * @function futuresQueryFinishedOrders * @param {String} market Market name * @param {Object} options Optional Parameters * @param {0|1|2} [options.side=0] Order type (0: All 1: Sell, 2: Buy) * @param {Number} [options.offset=1] Offset, that is, from which one to get * @param {Number} [options.limit=100] Limit The number of records obtained at one time, the default is 20 and the maximum is 100 * @param {Number} [options.start_time] * @param {Number} [options.end_time] * @param {Number} [options.timestamp=Date.now] Client timestamp, unit: milliseconds * @param {Number} [options.windowtime] Time window (unit: milliseconds) * @returns {Promise} Promise object represents the result of the request */ function futuresQueryFinishedOrders(market, _a) { var _b = _a === void 0 ? { side: 0, offset: 1, limit: 100, timestamp: Date.now(), } : _a, side = _b.side, offset = _b.offset, limit = _b.limit, start_time = _b.start_time, end_time = _b.end_time, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { side: side, market: market, offset: offset, limit: limit, start_time: start_time, end_time: end_time, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/order/finished", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresQueryFinishedOrders = futuresQueryFinishedOrders; /** * [Limit Close (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http030_limit_close} * @async * @function futuresLimitClose * @param {String} market Market name * @param {Number} position_id Position ID * @param {String} amount Amount of closed positions * @param {String} price Price * @param {Object} options Optional Parameters * @param {String} [options.client_id] Custom ID. This field is for identification only, supporting uppercase and lowercase letters, numbers, _ -, within 64 bytes * @param {1|2|3} [options.effect_type=1] Order effective type, 1: always valid, 2: immediate or cancel, 3: fill or kill.Default is 1 * @param {0|1} [options.option=0] Option, 1: place maker orders only. Default is 0. * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @param {Number} [options.windowtime] Time window, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresLimitClose(market, position_id, amount, price, _a) { var _b = _a === void 0 ? { timestamp: Date.now(), } : _a, client_id = _b.client_id, effect_type = _b.effect_type, option = _b.option, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, position_id: position_id, amount: amount, price: price, effect_type: effect_type, option: option, client_id: client_id, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/close_limit", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresLimitClose = futuresLimitClose; /** * [Market Close (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http031_market_close} * @async * @function futuresMarketClose * @param {String} market Market name * @param {Number} position_id Position ID * @param {Object} options Optional Parameters * @param {String} [amount=null] The number of positions to be closed, null to close all positions * @param {String} [options.client_id] Custom ID. This field is for identification only, supporting uppercase and lowercase letters, numbers, _ -, within 64 bytes * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @param {Number} [options.windowtime] Time window, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresMarketClose(market, position_id, _a) { var _b = _a === void 0 ? { amount: null, timestamp: Date.now(), } : _a, amount = _b.amount, client_id = _b.client_id, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, position_id: position_id, amount: amount, client_id: client_id, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/order/close_market", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresMarketClose = futuresMarketClose; /** * [Adjust Position Margin (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http032_adjust_position_margin} * @async * @function futuresAdjustPositionMargin * @param {String} market Market name * @param {String} amount Adjustment limit * @param {1|2} type Adjustment type: 1 means increase margin, 2 means decrease margin * @param {Object} options Optional Parameters * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @param {Number} [options.windowtime] Time window, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresAdjustPositionMargin(market, amount, type, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, amount: amount, type: type, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/position/adjust_margin", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresAdjustPositionMargin = futuresAdjustPositionMargin; /** * [User Positions (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http033_pending_position} * @async * @function futuresUserPositions * @param {Object} options Optional Parameters * @param {String} [options.market] Market name * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresUserPositions(market, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/position/pending", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresUserPositions = futuresUserPositions; /** * [Query User Historical Funding Rate (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http034_funding_position} * @async * @function futuresQueryUserHistoricalFundingRate * @param {String} market Market name * @param {Object} options Optional Parameters * @param {Number} [options.start_time] Start * @param {Number} [options.end_time] End * @param {Number} [options.offset=0] Offset * @param {Number} [options.limit=10] Number of records obtained * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresQueryUserHistoricalFundingRate(market, _a) { var _b = _a === void 0 ? { offset: 0, limit: 10, timestamp: Date.now() } : _a, start_time = _b.start_time, end_time = _b.end_time, offset = _b.offset, limit = _b.limit, timestamp = _b.timestamp, windowtime = _b.windowtime; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, offset: offset, timestamp: timestamp, start_time: start_time, end_time: end_time, windowtime: windowtime, limit: limit, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/position/funding", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresQueryUserHistoricalFundingRate = futuresQueryUserHistoricalFundingRate; /** * [Position Stop-Loss Settings (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http035_stop_loss_position} * @async * @function futuresPositionStopLossSettings * @param {String} market Market name * @param {Number} position_id Position id * @param {Number} stop_type 1: Transaction price, 3: Mark price * @param {String} stop_loss_price Stop-loss price * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresPositionStopLossSettings(market, position_id, stop_type, stop_loss_price, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, position_id: position_id, stop_type: stop_type, stop_loss_price: stop_loss_price, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/position/stop_loss", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresPositionStopLossSettings = futuresPositionStopLossSettings; /** * [Position Take-Profit Settings (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http036_take_profit_position} * @async * @function futuresPositionTakeProfitSettings * @param {String} market Perpetual Market * @param {Number} position_id Position id * @param {Number} stop_type 1: Transaction price, 3: Mark price * @param {String} take_profit_price Take-profit price * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresPositionTakeProfitSettings(market, position_id, stop_type, take_profit_price, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, position_id: position_id, stop_type: stop_type, take_profit_price: take_profit_price, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/position/take_profit", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresPositionTakeProfitSettings = futuresPositionTakeProfitSettings; /** * [Market Close All (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http037_market_close_position} * @async * @function futuresMarketCloseAll * @param {String} market Market name * @param {Number} position_id Position id * @param {Object} options Optional Parameters * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresMarketCloseAll(market, position_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } : _a, windowtime = _b.windowtime, timestamp = _b.timestamp; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, position_id: position_id, timestamp: timestamp, windowtime: windowtime, }; return executeRequest({ method: METHOD_TYPE.POST, baseURL: BASE_URLS.FUTURES, url: "/position/market_close", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresMarketCloseAll = futuresMarketCloseAll; /** * [Query Market Historical Funding Rate (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http038_funding_history} * @async * @function futuresQueryMarketHistoricalFundingRate * @param {String} market Market name * @param {Object} options Optional Parameters * @param {Number} [options.start_time] Start * @param {Number} [options.end_time] End * @param {Number} [options.offset=0] Offset * @param {Number} [options.limit=10] Number of records obtained * @returns {Promise<>} Promise object represents the result of the request */ function futuresQueryMarketHistoricalFundingRate(market, _a) { var _b = _a === void 0 ? { offset: 0, limit: 10 } : _a, start_time = _b.start_time, end_time = _b.end_time, offset = _b.offset, limit = _b.limit; // @ts-ignore var _c = this, apiKey = _c.apiKey, apiSecret = _c.apiSecret; var params = { market: market, offset: offset, start_time: start_time, end_time: end_time, limit: limit, }; return executeRequest({ method: METHOD_TYPE.GET, baseURL: BASE_URLS.FUTURES, url: "/market/funding_history", headers: { Authorization: signParams(apiSecret, params, "sha256"), AccessId: apiKey, }, params: params, }); } exports.futuresQueryMarketHistoricalFundingRate = futuresQueryMarketHistoricalFundingRate; /** * [Modify Order (Futures)]{@link https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http039_modify_order} * @async * @function futuresModifyOrder * @param {String} market Market name * @param {Number} order_id Order id * @param {Object} options Optional Parameters * @param {String} [options.amount] Amount * @param {String} [options.price] Price * @param {Number} [options.windowtime] Time window, unit: milliseconds * @param {Number} [options.timestamp=Date.now()] Client timestamp, unit: milliseconds * @returns {Promise<>} Promise object represents the result of the request */ function futuresModifyOrder(market, order_id, _a) { var _b = _a === void 0 ? { timestamp: Date.now() } :