bitmart-api
Version:
Complete & robust Node.js SDK for BitMart's REST APIs and WebSockets, with TypeScript declarations.
216 lines • 7.37 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FuturesClientV2 = void 0;
const BaseRestClient_js_1 = require("./lib/BaseRestClient.js");
/**
* REST API client for Bitmart's V2 Futures APIs via the "api-cloud-v2.bitmart.com" domain
*/
class FuturesClientV2 extends BaseRestClient_js_1.BaseRestClient {
constructor(restClientOptions = {}, requestOptions = {}) {
super(restClientOptions, requestOptions);
return this;
}
getClientType() {
return BaseRestClient_js_1.REST_CLIENT_TYPE_ENUM.mainV2;
}
/**
*
* System Status Endpoints
*
**/
getSystemTime() {
return this.get('system/time');
}
getSystemStatus() {
return this.get('system/service');
}
/**
*
*****************
* USD-M Futures V2 *
*****************
*
*/
/**
*
* Futures Market Data
*
*/
/**
* Get a list of all symbols, including most recent price, rules (min/max precision/volume/etc) and other metrics (funding rate, open interest, contract expiry, etc).
*/
getFuturesContractDetails(params) {
return this.get('contract/public/details', params);
}
getFuturesContractDepth(params) {
return this.get('contract/public/depth', params);
}
getFuturesMarketTrade(params) {
return this.get('contract/public/market-trade', params);
}
getFuturesOpenInterest(params) {
return this.get('contract/public/open-interest', params);
}
getFuturesFundingRate(params) {
return this.get('contract/public/funding-rate', params);
}
getFuturesKlines(params) {
return this.get('contract/public/kline', params);
}
getFuturesMarkPriceKlines(params) {
return this.get('contract/public/markprice-kline', params);
}
getFuturesFundingRateHistory(params) {
return this.get('contract/public/funding-rate-history', params);
}
/**
* Get current leverage risk limit for a specified contract
* @param params Optional parameters including symbol
* @returns Promise with leverage bracket information
*/
getFuturesLeverageBracket(params) {
return this.get('contract/public/leverage-bracket', params);
}
/**
*
* Futures Account Data
*
*/
getFuturesAccountAssets() {
return this.getPrivate('contract/private/assets-detail');
}
/**
*
* Futures Trading
*
*/
getFuturesTradeFeeRate(params) {
return this.getPrivate('contract/private/trade-fee-rate', params);
}
getFuturesAccountOrder(params) {
return this.getPrivate('contract/private/order', params);
}
getFuturesAccountOrderHistory(params) {
return this.getPrivate('contract/private/order-history', params);
}
getFuturesAccountOpenOrders(params) {
return this.getPrivate('contract/private/get-open-orders', params);
}
getFuturesAccountPlanOrders(params) {
return this.getPrivate('contract/private/current-plan-order', params);
}
getFuturesAccountPositions(params) {
return this.getPrivate('contract/private/position', params);
}
getFuturesAccountPositionsV2(params) {
return this.getPrivate('contract/private/position-v2', params);
}
/**
* Get current position risk details
*/
getPositionRiskDetails(params) {
return this.getPrivate('contract/private/position-risk', params);
}
getFuturesAccountTrades(params) {
return this.getPrivate('contract/private/trades', params);
}
getFuturesAccountTransactionHistory(params) {
return this.getPrivate('contract/private/transaction-history', params);
}
getFuturesTransfers(params) {
return this.getPrivate('account/v1/transfer-contract-list', params);
}
submitFuturesOrder(params) {
return this.postPrivate('contract/private/submit-order', params);
}
updateFuturesLimitOrder(params) {
return this.postPrivate('contract/private/modify-limit-order', params);
}
cancelFuturesOrder(params) {
return this.postPrivate('contract/private/cancel-order', params);
}
cancelAllFuturesOrders(params) {
return this.postPrivate('contract/private/cancel-orders', params);
}
cancelAllFuturesOrdersAfter(params) {
return this.postPrivate('contract/private/cancel-all-after', params);
}
submitFuturesPlanOrder(params) {
return this.postPrivate('contract/private/submit-plan-order', params);
}
cancelFuturesPlanOrder(params) {
return this.postPrivate('contract/private/cancel-plan-order', params);
}
submitFuturesTransfer(params) {
return this.postPrivate('account/v1/transfer-contract', params);
}
setFuturesLeverage(params) {
return this.postPrivate('contract/private/submit-leverage', params);
}
submitFuturesTPSLOrder(params) {
return this.postPrivate('contract/private/submit-tp-sl-order', params);
}
updateFuturesPlanOrder(params) {
return this.postPrivate('contract/private/modify-plan-order', params);
}
updateFuturesPresetPlanOrder(params) {
return this.postPrivate('contract/private/modify-preset-plan-order', params);
}
updateFuturesTPSLOrder(params) {
return this.postPrivate('contract/private/modify-tp-sl-order', params);
}
submitFuturesTrailOrder(params) {
return this.postPrivate('contract/private/submit-trail-order', params);
}
cancelFuturesTrailOrder(params) {
return this.postPrivate('contract/private/cancel-trail-order', params);
}
/**
* Set position mode (hedge_mode or one_way_mode)
*/
setPositionMode(params) {
return this.postPrivate('contract/private/set-position-mode', params);
}
/**
* Get current position mode
*/
getPositionMode() {
return this.getPrivate('contract/private/get-position-mode');
}
/**
*
* Futures Sub-Account Endpoints
*
*/
submitFuturesSubToMainTransferFromMain(params) {
return this.postPrivate('account/contract/sub-account/main/v1/sub-to-main', params);
}
submitFuturesMainToSubTransferFromMain(params) {
return this.postPrivate('account/contract/sub-account/main/v1/main-to-sub', params);
}
submitFuturesSubToMainSubFromSub(params) {
return this.postPrivate('account/contract/sub-account/sub/v1/sub-to-main', params);
}
getFuturesSubWallet(params) {
return this.getPrivate('account/contract/sub-account/main/v1/wallet', params);
}
getFuturesSubTransfers(params) {
return this.getPrivate('account/contract/sub-account/main/v1/transfer-list', params);
}
getFuturesSubTransferHistory(params) {
return this.getPrivate('account/contract/sub-account/v1/transfer-history', params);
}
/**
*
* Futures Affiliate Endpoints
*
*/
getFuturesAffiliateRebates(params) {
return this.getPrivate('contract/private/affiliate/rebate-list', params);
}
getFuturesAffiliateTrades(params) {
return this.getPrivate('contract/private/affiliate/trade-list', params);
}
}
exports.FuturesClientV2 = FuturesClientV2;
//# sourceMappingURL=FuturesClientV2.js.map