diff --git a/package.json b/package.json index 8b8b2a5..4cc997b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bitget-api", - "version": "2.0.2", + "version": "2.0.3", "description": "Node.js & JavaScript SDK for Bitget REST APIs & WebSockets, with TypeScript & end-to-end tests.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/src/futures-client.ts b/src/futures-client.ts index d6d82b4..2426e93 100644 --- a/src/futures-client.ts +++ b/src/futures-client.ts @@ -26,6 +26,7 @@ import { FuturesKlineInterval, FuturesHistoricPositions, ModifyFuturesOrder, + FuturesCandleData, } from './types'; import { REST_CLIENT_TYPE_ENUM } from './util'; import BaseRestClient from './util/BaseRestClient'; @@ -104,14 +105,16 @@ export class FuturesClient extends BaseRestClient { symbol: string, granularity: FuturesKlineInterval, startTime: string, - endTime: string, + endTime: string, limit?: string, - ): Promise { + kLineType?: 'market' | 'mark' | 'index' + ): Promise { return this.get('/api/mix/v1/market/candles', { symbol, granularity, startTime, endTime, + kLineType, limit, }); } @@ -559,13 +562,24 @@ export class FuturesClient extends BaseRestClient { return this.postPrivate('/api/mix/v1/plan/modifyTPSLPlan', params); } - /** Cancel Plan Order TPSL */ + /** Cancel Plan Order (TPSL) */ cancelPlanOrderTPSL( params: CancelFuturesPlanTPSL, ): Promise> { return this.postPrivate('/api/mix/v1/plan/cancelPlan', params); } + /** Cancel Symbol Plan Order (TPSL) */ + cancelSymbolPlanOrders( + symbol: string, + planType: FuturesPlanType, + ): Promise> { + return this.postPrivate('/api/mix/v1/plan/cancelSymbolPlan', { + symbol, + planType, + }); + } + /** Cancel All Trigger Order (TPSL) */ cancelAllPlanOrders( productType: FuturesProductType, diff --git a/src/spot-client.ts b/src/spot-client.ts index a500a26..975e976 100644 --- a/src/spot-client.ts +++ b/src/spot-client.ts @@ -21,6 +21,7 @@ import { GetHistoricTradesParams, VIPFeeRate, SpotKlineInterval, + SpotCandleData, } from './types'; import { REST_CLIENT_TYPE_ENUM } from './util'; import BaseRestClient from './util/BaseRestClient'; @@ -111,8 +112,8 @@ export class SpotClient extends BaseRestClient { getCandles( symbol: string, period: SpotKlineInterval, - pagination?: Pagination, - ): Promise> { + pagination?: Pagination, + ): Promise> { return this.get('/api/spot/v1/market/candles', { symbol, period, diff --git a/src/types/request/v1/futuresV1.ts b/src/types/request/v1/futuresV1.ts index e93fc0d..527e967 100644 --- a/src/types/request/v1/futuresV1.ts +++ b/src/types/request/v1/futuresV1.ts @@ -215,3 +215,15 @@ export interface HistoricPlanOrderTPSLRequest { isPre?: boolean; isPlan?: string; } + +/** + * @typedef {string[6]} FuturesCandleData + * @property {Array[0]} Timestamp in milliseconds + * @property {Array[1]} Opening price + * @property {Array[2]} Highest price + * @property {Array[3]} Lowest price + * @property {Array[4]} Closing price - Value of the latest candle stick might change + * @property {Array[5]} Base currency trading volume + * @property {Array[6]} Quote currency trading volume + */ +export type FuturesCandleData = string[6]; \ No newline at end of file diff --git a/src/types/request/v1/spotV1.ts b/src/types/request/v1/spotV1.ts index 79b758b..0009c4a 100644 --- a/src/types/request/v1/spotV1.ts +++ b/src/types/request/v1/spotV1.ts @@ -3,22 +3,23 @@ import { OrderTimeInForce } from '../shared'; export type WalletType = 'spot' | 'mix_usdt' | 'mix_usd'; export type SpotKlineInterval = - | '1min' - | '5min' - | '15min' - | '30min' - | '1h' - | '4h' - | '6h' - | '12h' - | '1M' - | '1W' - | '1week' - | '6Hutc' - | '12Hutc' - | '1Dutc' - | '3Dutc' - | '1Wutc' + | '1min' + | '5min' + | '15min' + | '30min' + | '1h' + | '4h' + | '6h' + | '12h' + | '1day' + | '3day' + | '1week' + | '1M' + | '6Hutc' + | '12Hutc' + | '1Dutc' + | '3Dutc' + | '1Wutc' | '1Mutc'; export interface NewWalletTransfer { @@ -124,3 +125,14 @@ export interface GetHistoricPlanOrdersParams { startTime: string; endTime: string; } + +export interface SpotCandleData { + open: string; + high: string; + low: string; + close: string; + quoteVol: string; + baseVol: string; + usdtVol: string; + ts: string; +} \ No newline at end of file diff --git a/src/types/response/futures.ts b/src/types/response/futures.ts index f195bd4..fb3b4f3 100644 --- a/src/types/response/futures.ts +++ b/src/types/response/futures.ts @@ -35,8 +35,14 @@ export interface FuturesSymbolRule { baseCoin: string; buyLimitPriceRatio: string; feeRateUpRatio: string; + limitOpenTime: string; + maintainTime: string; makerFeeRate: string; + maxOrderNum: string; + maxPositionNum: string; minTradeNum: string; + minTradeUSDT: string; + offTime: string; openCostUpRatio: string; priceEndStep: string; pricePlace: string; @@ -45,6 +51,9 @@ export interface FuturesSymbolRule { sizeMultiplier: string; supportMarginCoins: string[]; symbol: string; + symbolName: string; + symbolStatus: string; + symbolType: string; takerFeeRate: string; volumePlace: string; }