feat(): mark optional params

This commit is contained in:
Tiago Siebler
2023-11-14 11:07:00 +00:00
parent 62aad4e2b8
commit c45dd5d382
3 changed files with 34 additions and 38 deletions

View File

@@ -382,10 +382,6 @@ export class RestClientV2 extends BaseRestClient {
return this.get(`/api/v2/mix/market/vip-fee-rate`); return this.get(`/api/v2/mix/market/vip-fee-rate`);
} }
getFuturesMergeDepth(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/merge-depth`, params);
}
getFuturesTicker(params: object): Promise<APIResponse<any>> { getFuturesTicker(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/ticker`, params); return this.get(`/api/v2/mix/market/ticker`, params);
} }
@@ -394,12 +390,8 @@ export class RestClientV2 extends BaseRestClient {
return this.get(`/api/v2/mix/market/tickers`, params); return this.get(`/api/v2/mix/market/tickers`, params);
} }
getFuturesRecentTrades(params: object): Promise<APIResponse<any>> { getFuturesMergeDepth(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/fills`, params); return this.get(`/api/v2/mix/market/merge-depth`, params);
}
getFuturesHistoricTrades(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/fills-history`, params);
} }
getFuturesCandlestickData(params: object): Promise<APIResponse<any>> { getFuturesCandlestickData(params: object): Promise<APIResponse<any>> {
@@ -422,6 +414,14 @@ export class RestClientV2 extends BaseRestClient {
return this.get(`/api/v2/mix/market/history-mark-candles`, params); return this.get(`/api/v2/mix/market/history-mark-candles`, params);
} }
getFuturesRecentTrades(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/fills`, params);
}
getFuturesHistoricTrades(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/fills-history`, params);
}
getFuturesOpenInterest(params: object): Promise<APIResponse<any>> { getFuturesOpenInterest(params: object): Promise<APIResponse<any>> {
return this.get(`/api/v2/mix/market/open-interest`, params); return this.get(`/api/v2/mix/market/open-interest`, params);
} }
@@ -472,7 +472,7 @@ export class RestClientV2 extends BaseRestClient {
return this.postPrivate(`/api/v2/mix/account/set-leverage`, params); return this.postPrivate(`/api/v2/mix/account/set-leverage`, params);
} }
adjustFuturesPositionMargin(params: object): Promise<APIResponse<any>> { setFuturesPositionMargin(params: object): Promise<APIResponse<any>> {
return this.postPrivate(`/api/v2/mix/account/set-margin`, params); return this.postPrivate(`/api/v2/mix/account/set-margin`, params);
} }
@@ -520,7 +520,11 @@ export class RestClientV2 extends BaseRestClient {
return this.postPrivate(`/api/v2/mix/order/place-order`, params); return this.postPrivate(`/api/v2/mix/order/place-order`, params);
} }
futuresSubmitReverseal(params: object): Promise<APIResponse<any>> { futuresCancelOrder(params: object): Promise<APIResponse<any>> {
return this.postPrivate(`/api/v2/mix/order/cancel-order`, params);
}
futuresSubmitReversal(params: object): Promise<APIResponse<any>> {
return this.postPrivate(`/api/v2/mix/order/click-backhand`, params); return this.postPrivate(`/api/v2/mix/order/click-backhand`, params);
} }
@@ -532,10 +536,6 @@ export class RestClientV2 extends BaseRestClient {
return this.postPrivate(`/api/v2/mix/order/modify-order`, params); return this.postPrivate(`/api/v2/mix/order/modify-order`, params);
} }
futuresCancelOrder(params: object): Promise<APIResponse<any>> {
return this.postPrivate(`/api/v2/mix/order/cancel-order`, params);
}
futuresBatchCancelOrders(params: object): Promise<APIResponse<any>> { futuresBatchCancelOrders(params: object): Promise<APIResponse<any>> {
return this.postPrivate(`/api/v2/mix/order/batch-cancel-orders`, params); return this.postPrivate(`/api/v2/mix/order/batch-cancel-orders`, params);
} }
@@ -544,11 +544,11 @@ export class RestClientV2 extends BaseRestClient {
return this.postPrivate(`/api/v2/mix/order/close-positions`, params); return this.postPrivate(`/api/v2/mix/order/close-positions`, params);
} }
getFuturesOrderDetail(params: object): Promise<APIResponse<any>> { getFuturesOrder(params: object): Promise<APIResponse<any>> {
return this.getPrivate(`/api/v2/mix/order/detail`, params); return this.getPrivate(`/api/v2/mix/order/detail`, params);
} }
getFuturesOrderFillDetails(params: object): Promise<APIResponse<any>> { getFuturesFills(params: object): Promise<APIResponse<any>> {
return this.getPrivate(`/api/v2/mix/order/fills`, params); return this.getPrivate(`/api/v2/mix/order/fills`, params);
} }

View File

@@ -19,38 +19,25 @@ type NetworkMap<
export const WS_BASE_URL_MAP: Record< export const WS_BASE_URL_MAP: Record<
WsKey, WsKey,
Record<'all' | 'public' | 'private', NetworkMap<'livenet'>> Record<'all', NetworkMap<'livenet'>>
> = { > = {
mixv1: { mixv1: {
all: { all: {
livenet: 'wss://ws.bitget.com/mix/v1/stream', livenet: 'wss://ws.bitget.com/mix/v1/stream',
}, },
public: {
livenet: 'N/A',
},
private: {
livenet: 'N/A',
},
}, },
spotv1: { spotv1: {
all: { all: {
livenet: 'wss://ws.bitget.com/spot/v1/stream', livenet: 'wss://ws.bitget.com/spot/v1/stream',
}, },
public: {
livenet: 'N/A',
}, },
private: { v2Public: {
livenet: 'N/A',
},
},
v2: {
all: { all: {
livenet: 'N/A',
},
public: {
livenet: 'wss://ws.bitget.com/v2/ws/public', livenet: 'wss://ws.bitget.com/v2/ws/public',
}, },
private: { },
v2Private: {
all: {
livenet: 'wss://ws.bitget.com/v2/ws/private', livenet: 'wss://ws.bitget.com/v2/ws/private',
}, },
}, },
@@ -60,13 +47,15 @@ export const WS_BASE_URL_MAP: Record<
export const WS_KEY_MAP = { export const WS_KEY_MAP = {
spotv1: 'spotv1', spotv1: 'spotv1',
mixv1: 'mixv1', mixv1: 'mixv1',
v2: 'v2', v2Public: 'v2Public',
v2Private: 'v2Private',
} as const; } as const;
/** Any WS keys in this list will trigger auth on connect, if credentials are available */ /** Any WS keys in this list will trigger auth on connect, if credentials are available */
export const WS_AUTH_ON_CONNECT_KEYS: WsKey[] = [ export const WS_AUTH_ON_CONNECT_KEYS: WsKey[] = [
WS_KEY_MAP.spotv1, WS_KEY_MAP.spotv1,
WS_KEY_MAP.mixv1, WS_KEY_MAP.mixv1,
WS_KEY_MAP.v2Private,
]; ];
/** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */ /** Any WS keys in this list will ALWAYS skip the authentication process, even if credentials are available */
@@ -113,7 +102,8 @@ export function getMaxTopicsPerSubscribeEvent(wsKey: WsKey): number | null {
switch (wsKey) { switch (wsKey) {
case 'mixv1': case 'mixv1':
case 'spotv1': case 'spotv1':
case 'v2': { case 'v2Public':
case 'v2Private': {
// Technically there doesn't seem to be a documented cap, but there is a size limit per request. Doesn't hurt to batch requests. // Technically there doesn't seem to be a documented cap, but there is a size limit per request. Doesn't hurt to batch requests.
return 15; return 15;
} }

View File

@@ -646,6 +646,12 @@ export class WebsocketClient extends EventEmitter {
case WS_KEY_MAP.mixv1: { case WS_KEY_MAP.mixv1: {
return WS_BASE_URL_MAP.mixv1.all[networkKey]; return WS_BASE_URL_MAP.mixv1.all[networkKey];
} }
case WS_KEY_MAP.v2Private: {
return WS_BASE_URL_MAP.v2Private.all[networkKey];
}
case WS_KEY_MAP.v2Public: {
return WS_BASE_URL_MAP.v2Public.all[networkKey];
}
default: { default: {
this.logger.error('getWsUrl(): Unhandled wsKey: ', { this.logger.error('getWsUrl(): Unhandled wsKey: ', {
...LOGGER_CATEGORY, ...LOGGER_CATEGORY,