@exchange-connect/coinex
Version:
Coinex ( https://www.coinex.com ) SDK
1,217 lines • 53.9 kB
JavaScript
"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() } :