chore(): run linter fixes

This commit is contained in:
Tiago Siebler
2024-12-10 17:29:47 +00:00
parent 13255d467f
commit e92c083961
35 changed files with 817 additions and 825 deletions

View File

@@ -1,9 +1,9 @@
import {
APIResponse,
BrokerProductType,
BrokerSubWithdrawalRequest,
BrokerSubAPIKeyModifyRequest,
BrokerSubListRequest,
BrokerSubWithdrawalRequest,
} from './types';
import { REST_CLIENT_TYPE_ENUM } from './util';
import BaseRestClient from './util/BaseRestClient';

View File

@@ -1,32 +1,32 @@
import {
APIResponse,
FuturesProductType,
CancelFuturesPlanTPSL,
FuturesAccount,
FuturesAccountBillRequest,
FuturesBusinessBillRequest,
NewFuturesOrder,
NewBatchFuturesOrder,
FuturesCandleData,
FuturesHistoricPositions,
FuturesKlineInterval,
FuturesMarginMode,
FuturesMarketTrade,
FuturesPagination,
NewFuturesPlanOrder,
FuturesPlanType,
FuturesPosition,
FuturesProductType,
FuturesSymbolRule,
GetHistoricTradesParams,
HistoricPlanOrderTPSLRequest,
ModifyFuturesOrder,
ModifyFuturesPlanOrder,
ModifyFuturesPlanOrderTPSL,
NewFuturesPlanPositionTPSL,
ModifyFuturesPlanStopOrder,
CancelFuturesPlanTPSL,
HistoricPlanOrderTPSLRequest,
NewBatchFuturesOrder,
NewFuturesOrder,
NewFuturesPlanOrder,
NewFuturesPlanPositionTPSL,
NewFuturesPlanStopOrder,
FuturesAccount,
FuturesSymbolRule,
FuturesMarginMode,
FuturesPosition,
NewFuturesPlanTrailingStopOrder,
VIPFeeRate,
GetHistoricTradesParams,
FuturesMarketTrade,
FuturesPlanType,
FuturesKlineInterval,
FuturesHistoricPositions,
ModifyFuturesOrder,
FuturesCandleData,
} from './types';
import { REST_CLIENT_TYPE_ENUM } from './util';
import BaseRestClient from './util/BaseRestClient';
@@ -105,9 +105,9 @@ export class FuturesClient extends BaseRestClient {
symbol: string,
granularity: FuturesKlineInterval,
startTime: string,
endTime: string,
endTime: string,
limit?: string,
kLineType?: 'market' | 'mark' | 'index'
kLineType?: 'market' | 'mark' | 'index',
): Promise<APIResponse<FuturesCandleData[]>> {
return this.get('/api/mix/v1/market/candles', {
symbol,
@@ -569,16 +569,16 @@ export class FuturesClient extends BaseRestClient {
return this.postPrivate('/api/mix/v1/plan/cancelPlan', params);
}
/** Cancel Symbol Plan Order (TPSL) */
cancelSymbolPlanOrders(
symbol: string,
planType: FuturesPlanType,
): Promise<APIResponse<any>> {
return this.postPrivate('/api/mix/v1/plan/cancelSymbolPlan', {
symbol,
planType,
});
}
/** Cancel Symbol Plan Order (TPSL) */
cancelSymbolPlanOrders(
symbol: string,
planType: FuturesPlanType,
): Promise<APIResponse<any>> {
return this.postPrivate('/api/mix/v1/plan/cancelSymbolPlan', {
symbol,
planType,
});
}
/** Cancel All Trigger Order (TPSL) */
cancelAllPlanOrders(

View File

@@ -1,10 +1,10 @@
export * from './rest-client-v2';
export * from './broker-client';
export * from './constants/enum';
export * from './futures-client';
export * from './rest-client-v2';
export * from './spot-client';
export * from './types';
export * from './util';
export * from './util/logger';
export * from './websocket-client';
export * from './websocket-client-v2';
export * from './util/logger';
export * from './util';
export * from './types';
export * from './constants/enum';

View File

@@ -1,111 +1,111 @@
import {
APIResponse,
MarginType,
BorrowLoanRequestV2,
CloseFuturesFollowerPositionsRequestV2,
CopyTradingProductTypeV2,
FuturesAccountBillRequestV2,
FuturesBatchCancelOrderRequestV2,
FuturesBatchOrderRequestV2,
FuturesCancelAllOrdersRequestV2,
FuturesCancelOrderRequestV2,
FuturesCancelPlanOrderRequestV2,
FuturesCandlesRequestV2,
SpotCandlesRequestV2,
SpotAccountBill,
SpotHistoricCandlesRequestV2,
SpotHistoricTradesRequestV2,
SpotOrderRequestV2,
SpotCancelandSubmitOrderRequestV2,
SpotCancelOrderRequestV2,
SpotBatchOrderRequestV2,
SpotBatchCancelOrderRequestV2,
GetSpotOrderInfoRequestV2,
GetSpotOpenOrdersRequestV2,
GetSpotHistoryOrdersRequestV2,
GetSpotFillsRequestV2,
SpotPlanOrderRequestV2,
SpotModifyPlanOrderRequestV2,
GetSpotCurrentPlanOrdersRequestV2,
GetSpotHistoryPlanOrdersRequestV2,
GetSpotAccountBillsRequestV2,
SpotTransferRequestV2,
SpotAccountTypeV2,
SpotSubAccountTransferRequestV2,
SpotWithdrawalRequestV2,
SpotMainSubTransferRecordRequestV2,
GetSpotTransferRecordRequestV2,
GetSpotSubAccountDepositRecordRequestV2,
GetSpotWithdrawalRecordRequestV2,
GetSpotDepositRecordRequestV2,
FuturesFlashClosePositionsRequestV2,
FuturesGetHistoricalFillsRequestV2,
FuturesGetHistoryOrdersRequestV2,
FuturesGetHistoryPlanOrdersRequestV2,
FuturesGetOpenOrdersRequestV2,
FuturesGetOrderFillsRequestV2,
FuturesGetOrderRequestV2,
FuturesGetPlanOrdersRequestV2,
FuturesHistoricalPositionsRequestV2,
FuturesHistoricTradesRequestV2,
FuturesInterestHistoryRequestV2,
FuturesMergeDepthRequestV2,
FuturesModifyOrderRequestV2,
FuturesModifyPlanOrderRequestV2,
FuturesModifyTPSLOrderRequestV2,
FuturesOpenCountRequestV2,
FuturesPlaceOrderRequestV2,
FuturesPlanOrderRequestV2,
FuturesProductTypeV2,
FuturesRecentTradesRequestV2,
FuturesHistoricTradesRequestV2,
FuturesSingleAccountRequestV2,
FuturesInterestHistoryRequestV2,
FuturesOpenCountRequestV2,
FuturesReversalOrderRequestV2,
FuturesSetAutoMarginRequestV2,
FuturesSetLeverageRequestV2,
FuturesSetPositionMarginRequestV2,
FuturesSetMarginModeRequestV2,
FuturesHistoricalPositionsRequestV2,
FuturesPlaceOrderRequestV2,
FuturesReversalOrderRequestV2,
FuturesBatchOrderRequestV2,
FuturesModifyOrderRequestV2,
FuturesCancelOrderRequestV2,
FuturesBatchCancelOrderRequestV2,
FuturesFlashClosePositionsRequestV2,
FuturesGetOrderRequestV2,
FuturesGetOrderFillsRequestV2,
FuturesGetHistoricalFillsRequestV2,
FuturesGetOpenOrdersRequestV2,
FuturesGetHistoryOrdersRequestV2,
FuturesCancelAllOrdersRequestV2,
FuturesSetPositionMarginRequestV2,
FuturesSingleAccountRequestV2,
FuturesTPSLOrderRequestV2,
FuturesPlanOrderRequestV2,
FuturesModifyTPSLOrderRequestV2,
FuturesModifyPlanOrderRequestV2,
FuturesGetPlanOrdersRequestV2,
FuturesCancelPlanOrderRequestV2,
FuturesGetHistoryPlanOrdersRequestV2,
GetBorrowHistoryRequestV2,
GetRepayHistoryRequestV2,
GetInterestHistoryRequestV2,
GetLiquidationHistoryRequestV2,
GetFinancialHistoryRequestV2,
MarginPlaceOrderRequestV2,
MarginBatchOrdersRequestV2,
GetMarginCurrentOrdersRequestV2,
GetHistoryOrdersRequestV2,
GetMarginOrderFillsRequestV2,
GetMarginLiquidationOrdersRequestV2,
GetFuturesTraderCurrentOrdersRequestV2,
GetFuturesTraderHistoryOrdersRequestV2,
ModifyFuturesTraderOrderTPSLRequestV2,
GetFuturesTraderProfitShareDetailRequestV2,
CopyTradingProductTypeV2,
FuturesTraderSymbolSettingRequestV2,
GetFuturesTraderFollowersRequestV2,
GetFollowerFuturesCurrentTrackingOrdersRequestV2,
GetFollowerFuturesHistoryTrackingOrdersRequestV2,
UpdateFuturesFollowerTPSLRequestV2,
UpdateFuturesFollowerSettingsRequestV2,
GetFuturesFollowerTradersRequestV2,
CloseFuturesFollowerPositionsRequestV2,
GetSpotTraderHistoryProfitRequestV2,
GetSpotTraderHistoryOrdersRequestV2,
GetSpotTraderCurrentOrdersRequestV2,
GetSpotTraderFollowersRequestV2,
SpotFollowerCopyTradeSettingV2,
GetSpotFollowerHistoryOrdersRequestV2,
GetSpotFollowerOpenOrdersRequestV2,
GetBorrowHistoryRequestV2,
GetEarnSavingsAssetsRequestV2,
GetEarnSavingsRecordsRequestV2,
RedeemSavingsRequestV2,
GetFinancialHistoryRequestV2,
GetFollowerFuturesCurrentTrackingOrdersRequestV2,
GetFollowerFuturesHistoryTrackingOrdersRequestV2,
GetFuturesFollowerTradersRequestV2,
GetFuturesTraderCurrentOrdersRequestV2,
GetFuturesTraderFollowersRequestV2,
GetFuturesTraderHistoryOrdersRequestV2,
GetFuturesTraderProfitShareDetailRequestV2,
GetHistoryOrdersRequestV2,
GetInterestHistoryRequestV2,
GetLiquidationHistoryRequestV2,
GetLiquidationRecordsRequestV2,
GetLoanEstInterestAndBorrowableRequestV2,
GetLoanHistoryRequestV2,
GetLoanPledgeRateHistoryRequestV2,
GetLoanRepayHistoryRequestV2,
GetMarginCurrentOrdersRequestV2,
GetMarginLiquidationOrdersRequestV2,
GetMarginOrderFillsRequestV2,
GetRepayHistoryRequestV2,
GetSharkfinAssetsRequestV2,
GetSharkfinRecordsRequestV2,
GetLoanEstInterestAndBorrowableRequestV2,
BorrowLoanRequestV2,
RepayLoanRequestV2,
GetLoanRepayHistoryRequestV2,
GetSpotAccountBillsRequestV2,
GetSpotCurrentPlanOrdersRequestV2,
GetSpotDepositRecordRequestV2,
GetSpotFillsRequestV2,
GetSpotFollowerHistoryOrdersRequestV2,
GetSpotFollowerOpenOrdersRequestV2,
GetSpotHistoryOrdersRequestV2,
GetSpotHistoryPlanOrdersRequestV2,
GetSpotOpenOrdersRequestV2,
GetSpotOrderInfoRequestV2,
GetSpotSubAccountDepositRecordRequestV2,
GetSpotTraderCurrentOrdersRequestV2,
GetSpotTraderFollowersRequestV2,
GetSpotTraderHistoryOrdersRequestV2,
GetSpotTraderHistoryProfitRequestV2,
GetSpotTransferRecordRequestV2,
GetSpotWithdrawalRecordRequestV2,
MarginBatchOrdersRequestV2,
MarginPlaceOrderRequestV2,
MarginType,
ModifyFuturesTraderOrderTPSLRequestV2,
ModifyLoanPledgeRateRequestV2,
GetLoanPledgeRateHistoryRequestV2,
GetLoanHistoryRequestV2,
GetLiquidationRecordsRequestV2,
RedeemSavingsRequestV2,
RepayLoanRequestV2,
SpotAccountBill,
SpotAccountTypeV2,
SpotBatchCancelOrderRequestV2,
SpotBatchOrderRequestV2,
SpotCancelandSubmitOrderRequestV2,
SpotCancelOrderRequestV2,
SpotCandlesRequestV2,
SpotFollowerCopyTradeSettingV2,
SpotHistoricCandlesRequestV2,
SpotHistoricTradesRequestV2,
SpotMainSubTransferRecordRequestV2,
SpotModifyPlanOrderRequestV2,
SpotOrderRequestV2,
SpotPlanOrderRequestV2,
SpotSubAccountTransferRequestV2,
SpotTransferRequestV2,
SpotWithdrawalRequestV2,
UpdateFuturesFollowerSettingsRequestV2,
UpdateFuturesFollowerTPSLRequestV2,
} from './types';
import {
CreateSubAccountApiKeyRequestV2,
@@ -122,6 +122,7 @@ import {
CreateVirtualSubApiKeyRequestV2,
CreateVirtualSubRequestV2,
GetAnnouncementsRequestV2,
GetConvertBGBHistoryRequestV2,
GetConvertHistoryRequestV2,
GetFuturesTransactionsRequestV2,
GetMarginTransactionsRequestV2,
@@ -131,11 +132,10 @@ import {
GetP2PTransactionsRequestV2,
GetSpotTransactionsRequestV2,
GetTradeRateRequestV2,
ModifyVirtualSubRequestV2,
ModifyVirtualSubApiKeyRequestV2,
GetConvertBGBHistoryRequestV2,
ModifyVirtualSubRequestV2,
} from './types/request/v2/common';
import { REST_CLIENT_TYPE_ENUM, assertMarginType } from './util';
import { assertMarginType, REST_CLIENT_TYPE_ENUM } from './util';
import BaseRestClient from './util/BaseRestClient';
/**
@@ -188,7 +188,7 @@ export class RestClientV2 extends BaseRestClient {
console.log(result);
console.log(
`Your approximate latency to exchange server:
`Your approximate latency to exchange server:
One way: ${estimatedOneWayLatency}ms.
Round trip: ${roundTripTime}ms.
`,

View File

@@ -1,27 +1,27 @@
import {
APIResponse,
BatchCancelSpotOrderV2,
CancelSpotOrderV2,
CancelSpotPlanOrderParams,
CoinBalance,
GetHistoricPlanOrdersParams,
GetHistoricTradesParams,
GetSpotPlanOrdersParams,
ModifySpotPlanOrder,
NewBatchSpotOrder,
NewSpotOrder,
NewWalletTransfer,
Pagination,
APIResponse,
CoinBalance,
SymbolRules,
NewSpotPlanOrder,
NewSpotSubTransfer,
NewSpotWithdraw,
CancelSpotOrderV2,
BatchCancelSpotOrderV2,
SpotOrderResult,
NewSpotPlanOrder,
ModifySpotPlanOrder,
CancelSpotPlanOrderParams,
GetSpotPlanOrdersParams,
SpotPlanOrder,
GetHistoricPlanOrdersParams,
SpotMarketTrade,
GetHistoricTradesParams,
VIPFeeRate,
SpotKlineInterval,
NewWalletTransfer,
Pagination,
SpotCandleData,
SpotKlineInterval,
SpotMarketTrade,
SpotOrderResult,
SpotPlanOrder,
SymbolRules,
VIPFeeRate,
} from './types';
import { REST_CLIENT_TYPE_ENUM } from './util';
import BaseRestClient from './util/BaseRestClient';
@@ -112,7 +112,7 @@ export class SpotClient extends BaseRestClient {
getCandles(
symbol: string,
period: SpotKlineInterval,
pagination?: Pagination,
pagination?: Pagination,
): Promise<APIResponse<SpotCandleData[]>> {
return this.get('/api/spot/v1/market/candles', {
symbol,

View File

@@ -1,4 +1,4 @@
export * from './response';
export * from './request';
export * from './response';
export * from './shared';
export * from './websockets';

View File

@@ -1,11 +1,11 @@
export * from './v1/brokerV1';
export * from './v1/futuresV1';
export * from './v1/spotV1';
export * from './v2/futures';
export * from './v2/spot';
export * from './v2/broker';
export * from './v2/margin';
export * from './v2/copytrading';
export * from './v2/earn';
export * from './shared';
export * from './v2/common';
export * from './shared';
export * from './v1/brokerV1';
export * from './v1/futuresV1';
export * from './v1/spotV1';
export * from './v2/broker';
export * from './v2/common';
export * from './v2/copytrading';
export * from './v2/earn';
export * from './v2/futures';
export * from './v2/margin';
export * from './v2/spot';

View File

@@ -1,39 +1,39 @@
/** Pagination */
export interface Pagination {
/** Time after */
after?: string;
/** Time before */
before?: string;
/** Elements per page */
limit?: string;
}
export type OrderTimeInForce = 'normal' | 'post_only' | 'fok' | 'ioc';
export interface GetHistoricTradesParams {
symbol: string;
limit?: string;
tradeId?: string;
startTime?: string;
endTime?: string;
}
/**
* The margin type, used directly in building the endpoint URL
*/
export type MarginType = 'crossed' | 'isolated';
export type FuturesProductTypeV2 =
| 'USDT-FUTURES'
| 'COIN-FUTURES'
| 'USDC-FUTURES'
| 'SUSDT-FUTURES'
| 'SCOIN-FUTURES'
| 'SUSDC-FUTURES';
export type FuturesPlanTypeV2 =
| 'profit_plan'
| 'loss_plan'
| 'moving_plan'
| 'pos_profit'
| 'pos_loss';
/** Pagination */
export interface Pagination {
/** Time after */
after?: string;
/** Time before */
before?: string;
/** Elements per page */
limit?: string;
}
export type OrderTimeInForce = 'normal' | 'post_only' | 'fok' | 'ioc';
export interface GetHistoricTradesParams {
symbol: string;
limit?: string;
tradeId?: string;
startTime?: string;
endTime?: string;
}
/**
* The margin type, used directly in building the endpoint URL
*/
export type MarginType = 'crossed' | 'isolated';
export type FuturesProductTypeV2 =
| 'USDT-FUTURES'
| 'COIN-FUTURES'
| 'USDC-FUTURES'
| 'SUSDT-FUTURES'
| 'SCOIN-FUTURES'
| 'SUSDC-FUTURES';
export type FuturesPlanTypeV2 =
| 'profit_plan'
| 'loss_plan'
| 'moving_plan'
| 'pos_profit'
| 'pos_loss';

View File

@@ -226,4 +226,4 @@ export interface HistoricPlanOrderTPSLRequest {
* @property {Array[5]} Base currency trading volume
* @property {Array[6]} Quote currency trading volume
*/
export type FuturesCandleData = string[6];
export type FuturesCandleData = string[6];

View File

@@ -3,23 +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'
| '1day'
| '3day'
| '1week'
| '1M'
| '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 {
@@ -135,4 +135,4 @@ export interface SpotCandleData {
baseVol: string;
usdtVol: string;
ts: string;
}
}

View File

@@ -1,187 +1,187 @@
import { FuturesProductTypeV2, MarginType } from '../shared';
/**
*
* * Common | Notice
*
*/
export interface GetAnnouncementsRequestV2 {
annType?: string;
startTime?: string;
endTime?: string;
language: string;
}
/**
*
* * Common | Public
*
*/
export interface GetTradeRateRequestV2 {
symbol: string;
businessType: string;
}
/**
*
* * Common | Tax
*
*/
export interface GetSpotTransactionsRequestV2 {
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetFuturesTransactionsRequestV2 {
productType?: FuturesProductTypeV2;
marginCoin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetMarginTransactionsRequestV2 {
marginType?: MarginType;
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetP2PTransactionsRequestV2 {
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Common | P2P
*
*/
export interface GetP2PMerchantsRequestV2 {
online?: 'yes' | 'no';
idLessThan?: string;
limit?: string;
}
export interface GetMerchantP2POrdersRequestV2 {
startTime: string;
endTime?: string;
idLessThan?: string;
limit?: string;
status?: string;
advNo: string;
side?: string;
coin?: string;
language: string;
fiat?: string;
orderNo?: string;
}
export interface GetMerchantAdvertisementsRequestV2 {
startTime: string;
endTime?: string;
idLessThan?: string;
limit?: string;
status: string;
advNo?: string;
side: string;
coin: string;
language?: string;
fiat: string;
orderBy?: string;
payMethodId?: string;
sourceType?: string;
}
/**
*
* * Common | Virtual Subaccount
*
*/
export interface ModifyVirtualSubRequestV2 {
subAccountUid: string;
permList: string[];
status: string;
}
export interface CreateVirtualSubRequestV2 {
subAccountName: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
export interface CreateVirtualSubApiKeyRequestV2 {
subAccountUid: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
export interface ModifyVirtualSubApiKeyRequestV2 {
subAccountUid: string;
subAccountApiKey: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
/**
*
* * Common | Convert
*
*/
export interface ConvertQuoteRequestV2 {
fromCoin: string;
fromCoinSize?: string;
toCoin: string;
toCoinSize?: string;
}
export interface ConvertRequestV2 {
fromCoin: string;
fromCoinSize: string;
cnvtPrice: string;
toCoin: string;
toCoinSize: string;
traceId: string;
}
export interface GetConvertHistoryRequestV2 {
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Common | BGB Convert
*
*/
export interface GetConvertBGBHistoryRequestV2 {
orderId?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
import { FuturesProductTypeV2, MarginType } from '../shared';
/**
*
* * Common | Notice
*
*/
export interface GetAnnouncementsRequestV2 {
annType?: string;
startTime?: string;
endTime?: string;
language: string;
}
/**
*
* * Common | Public
*
*/
export interface GetTradeRateRequestV2 {
symbol: string;
businessType: string;
}
/**
*
* * Common | Tax
*
*/
export interface GetSpotTransactionsRequestV2 {
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetFuturesTransactionsRequestV2 {
productType?: FuturesProductTypeV2;
marginCoin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetMarginTransactionsRequestV2 {
marginType?: MarginType;
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
export interface GetP2PTransactionsRequestV2 {
coin?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Common | P2P
*
*/
export interface GetP2PMerchantsRequestV2 {
online?: 'yes' | 'no';
idLessThan?: string;
limit?: string;
}
export interface GetMerchantP2POrdersRequestV2 {
startTime: string;
endTime?: string;
idLessThan?: string;
limit?: string;
status?: string;
advNo: string;
side?: string;
coin?: string;
language: string;
fiat?: string;
orderNo?: string;
}
export interface GetMerchantAdvertisementsRequestV2 {
startTime: string;
endTime?: string;
idLessThan?: string;
limit?: string;
status: string;
advNo?: string;
side: string;
coin: string;
language?: string;
fiat: string;
orderBy?: string;
payMethodId?: string;
sourceType?: string;
}
/**
*
* * Common | Virtual Subaccount
*
*/
export interface ModifyVirtualSubRequestV2 {
subAccountUid: string;
permList: string[];
status: string;
}
export interface CreateVirtualSubRequestV2 {
subAccountName: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
export interface CreateVirtualSubApiKeyRequestV2 {
subAccountUid: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
export interface ModifyVirtualSubApiKeyRequestV2 {
subAccountUid: string;
subAccountApiKey: string;
passphrase: string;
label: string;
ipList?: string[];
permList?: string[];
}
/**
*
* * Common | Convert
*
*/
export interface ConvertQuoteRequestV2 {
fromCoin: string;
fromCoinSize?: string;
toCoin: string;
toCoinSize?: string;
}
export interface ConvertRequestV2 {
fromCoin: string;
fromCoinSize: string;
cnvtPrice: string;
toCoin: string;
toCoinSize: string;
traceId: string;
}
export interface GetConvertHistoryRequestV2 {
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Common | BGB Convert
*
*/
export interface GetConvertBGBHistoryRequestV2 {
orderId?: string;
startTime: string;
endTime: string;
limit?: string;
idLessThan?: string;
}

View File

@@ -1,351 +1,351 @@
type SpotKlineIntervalV2 =
| '1min'
| '5min'
| '15min'
| '30min'
| '1h'
| '4h'
| '6h'
| '12h'
| '1day'
| '3day'
| '1week'
| '1M'
| '6Hutc'
| '12Hutc'
| '1Dutc'
| '3Dutc'
| '1Wutc'
| '1Mutc';
export interface SpotCandlesRequestV2 {
symbol: string;
granularity: SpotKlineIntervalV2;
startTime?: string;
endTime?: string;
limit?: string;
}
export interface SpotHistoricCandlesRequestV2 {
symbol: string;
granularity: SpotKlineIntervalV2;
endTime?: string;
limit?: string;
}
export interface SpotHistoricTradesRequestV2 {
symbol: string;
limit?: string;
idLessThan?: string;
startTime?: string;
endTime?: string;
}
/**
*
* * Spot | Trade
*
*/
export type SpotOrderSideV2 = 'buy' | 'sell';
export type SpotOrderTypeV2 = 'limit' | 'market';
export type SpotOrderForceV2 = 'gtc' | 'post_only' | 'fok' | 'ioc';
export type SpotTPSLTypeV2 = 'normal' | 'tpsl';
export type SpotSTPModeV2 =
| 'none'
| 'cancel_taker'
| 'cancel_maker'
| 'cancel_both';
export type SpotBatchModeV2 = 'single' | 'multiple';
export interface SpotOrderRequestV2 {
symbol: string;
side: SpotOrderSideV2;
orderType: SpotOrderTypeV2;
force: SpotOrderForceV2;
price?: string;
size: string;
clientOid?: string;
triggerPrice?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
stpMode?: SpotSTPModeV2;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotCancelandSubmitOrderRequestV2 {
symbol: string;
price: string;
size: string;
orderId?: string;
clientOid?: string;
newClientOid?: string;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotCancelOrderRequestV2 {
symbol: string;
tpslType?: SpotTPSLTypeV2;
orderId?: string;
clientOid?: string;
}
export interface SpotBatchOrderRequestItemV2 {
symbol?: string;
side: SpotOrderSideV2;
orderType: SpotOrderTypeV2;
force: SpotOrderForceV2;
price?: string;
size: string;
clientOid?: string;
stpMode?: SpotSTPModeV2;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotBatchOrderRequestV2 {
symbol?: string;
batchMode?: SpotBatchModeV2;
orderList: SpotBatchOrderRequestItemV2[];
}
export interface SpotBatchCancelOrderRequestV2 {
symbol?: string;
batchMode?: SpotBatchModeV2;
orderList: {
symbol?: string;
orderId?: string;
clientOid?: string;
}[];
}
export interface GetSpotOrderInfoRequestV2 {
orderId?: string;
clientOid?: string;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotOpenOrdersRequestV2 {
symbol?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
orderId?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotHistoryOrdersRequestV2 {
symbol?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
orderId?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotFillsRequestV2 {
symbol: string;
orderId?: string;
startTime?: string;
endTime?: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Spot | Trigger Orders
*
*/
export type SpotPlanTypeV2 = 'amount' | 'total';
export type SpotTriggerTypeV2 = 'fill_price' | 'mark_price';
export interface SpotPlanOrderRequestV2 {
symbol: string;
side: SpotOrderSideV2;
triggerPrice: string;
orderType: SpotOrderTypeV2;
executePrice?: string;
planType?: SpotPlanTypeV2;
size: string;
triggerType: SpotTriggerTypeV2;
clientOid?: string;
force?: SpotOrderForceV2;
stpMode?: SpotSTPModeV2;
}
export interface SpotModifyPlanOrderRequestV2 {
orderId?: string;
clientOid?: string;
triggerPrice: string;
orderType: SpotOrderTypeV2;
executePrice?: string;
size: string;
}
export interface GetSpotCurrentPlanOrdersRequestV2 {
symbol: string;
limit?: string;
idLessThan?: string;
startTime?: string;
endTime?: string;
}
export interface GetSpotHistoryPlanOrdersRequestV2 {
symbol: string;
startTime: string;
endTime: string;
limit?: string;
}
/**
*
* * Spot | Account
*
*/
export type SpotBillGroupTypeV2 =
| 'deposit'
| 'withdraw'
| 'transaction'
| 'transfer'
| 'other';
export type SpotBusinessTypeV2 =
| 'deposit'
| 'withdraw'
| 'buy'
| 'sell'
| 'deduction of handling fee'
| 'transfer-in'
| 'transfer-out'
| 'rebate rewards'
| 'airdrop rewards'
| 'USDT contract rewards'
| 'mix contract rewards'
| 'system lock'
| 'user lock';
export type SpotAccountTypeV2 =
| 'spot'
| 'p2p'
| 'coin_futures'
| 'usdt_futures'
| 'usdc_futures'
| 'crossed_margin'
| 'isolated_margin';
export interface GetSpotAccountBillsRequestV2 {
coin?: string;
groupType?: SpotBillGroupTypeV2;
businessType?: SpotBusinessTypeV2;
startTime?: string;
endTime?: string;
limit?: string;
idLessThan?: string;
}
export interface SpotTransferRequestV2 {
fromType: SpotAccountTypeV2;
toType: SpotAccountTypeV2;
amount: string;
coin: string;
symbol: string;
clientOid?: string;
}
export interface SpotSubAccountTransferRequestV2 {
fromType: SpotAccountTypeV2;
toType: SpotAccountTypeV2;
amount: string;
coin: string;
symbol?: string;
clientOid?: string;
fromUserId: string;
toUserId: string;
}
export interface SpotWithdrawalRequestV2 {
coin: string;
transferType: 'on_chain' | 'internal_transfer';
address: string;
chain?: string;
innerToType?: 'email' | 'mobile' | 'uid';
areaCode?: string;
tag?: string;
size: string;
remark?: string;
clientOid?: string;
}
export interface SpotMainSubTransferRecordRequestV2 {
coin?: string;
role?: 'initiator' | 'receiver';
subUid?: string;
startTime?: string;
endTime?: string;
clientOid?: string;
limit?: string;
idLessThan?: string;
}
export interface GetSpotTransferRecordRequestV2 {
coin: string;
fromType: SpotAccountTypeV2;
startTime?: string;
endTime?: string;
clientOid?: string;
limit?: string;
idLessThan?: string;
}
export interface GetSpotSubAccountDepositRecordRequestV2 {
subUid: string;
coin?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
}
export interface GetSpotWithdrawalRecordRequestV2 {
coin?: string;
clientOid?: string;
startTime: string;
endTime: string;
idLessThan?: string;
orderId?: string;
limit?: string;
}
export interface GetSpotDepositRecordRequestV2 {
coin?: string;
orderId?: string;
startTime: string;
endTime: string;
idLessThan?: string;
limit?: string;
}
type SpotKlineIntervalV2 =
| '1min'
| '5min'
| '15min'
| '30min'
| '1h'
| '4h'
| '6h'
| '12h'
| '1day'
| '3day'
| '1week'
| '1M'
| '6Hutc'
| '12Hutc'
| '1Dutc'
| '3Dutc'
| '1Wutc'
| '1Mutc';
export interface SpotCandlesRequestV2 {
symbol: string;
granularity: SpotKlineIntervalV2;
startTime?: string;
endTime?: string;
limit?: string;
}
export interface SpotHistoricCandlesRequestV2 {
symbol: string;
granularity: SpotKlineIntervalV2;
endTime?: string;
limit?: string;
}
export interface SpotHistoricTradesRequestV2 {
symbol: string;
limit?: string;
idLessThan?: string;
startTime?: string;
endTime?: string;
}
/**
*
* * Spot | Trade
*
*/
export type SpotOrderSideV2 = 'buy' | 'sell';
export type SpotOrderTypeV2 = 'limit' | 'market';
export type SpotOrderForceV2 = 'gtc' | 'post_only' | 'fok' | 'ioc';
export type SpotTPSLTypeV2 = 'normal' | 'tpsl';
export type SpotSTPModeV2 =
| 'none'
| 'cancel_taker'
| 'cancel_maker'
| 'cancel_both';
export type SpotBatchModeV2 = 'single' | 'multiple';
export interface SpotOrderRequestV2 {
symbol: string;
side: SpotOrderSideV2;
orderType: SpotOrderTypeV2;
force: SpotOrderForceV2;
price?: string;
size: string;
clientOid?: string;
triggerPrice?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
stpMode?: SpotSTPModeV2;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotCancelandSubmitOrderRequestV2 {
symbol: string;
price: string;
size: string;
orderId?: string;
clientOid?: string;
newClientOid?: string;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotCancelOrderRequestV2 {
symbol: string;
tpslType?: SpotTPSLTypeV2;
orderId?: string;
clientOid?: string;
}
export interface SpotBatchOrderRequestItemV2 {
symbol?: string;
side: SpotOrderSideV2;
orderType: SpotOrderTypeV2;
force: SpotOrderForceV2;
price?: string;
size: string;
clientOid?: string;
stpMode?: SpotSTPModeV2;
presetTakeProfitPrice?: string;
executeTakeProfitPrice?: string;
presetStopLossPrice?: string;
executeStopLossPrice?: string;
}
export interface SpotBatchOrderRequestV2 {
symbol?: string;
batchMode?: SpotBatchModeV2;
orderList: SpotBatchOrderRequestItemV2[];
}
export interface SpotBatchCancelOrderRequestV2 {
symbol?: string;
batchMode?: SpotBatchModeV2;
orderList: {
symbol?: string;
orderId?: string;
clientOid?: string;
}[];
}
export interface GetSpotOrderInfoRequestV2 {
orderId?: string;
clientOid?: string;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotOpenOrdersRequestV2 {
symbol?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
orderId?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotHistoryOrdersRequestV2 {
symbol?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
orderId?: string;
tpslType?: SpotTPSLTypeV2;
requestTime?: string;
receiveWindow?: string;
}
export interface GetSpotFillsRequestV2 {
symbol: string;
orderId?: string;
startTime?: string;
endTime?: string;
limit?: string;
idLessThan?: string;
}
/**
*
* * Spot | Trigger Orders
*
*/
export type SpotPlanTypeV2 = 'amount' | 'total';
export type SpotTriggerTypeV2 = 'fill_price' | 'mark_price';
export interface SpotPlanOrderRequestV2 {
symbol: string;
side: SpotOrderSideV2;
triggerPrice: string;
orderType: SpotOrderTypeV2;
executePrice?: string;
planType?: SpotPlanTypeV2;
size: string;
triggerType: SpotTriggerTypeV2;
clientOid?: string;
force?: SpotOrderForceV2;
stpMode?: SpotSTPModeV2;
}
export interface SpotModifyPlanOrderRequestV2 {
orderId?: string;
clientOid?: string;
triggerPrice: string;
orderType: SpotOrderTypeV2;
executePrice?: string;
size: string;
}
export interface GetSpotCurrentPlanOrdersRequestV2 {
symbol: string;
limit?: string;
idLessThan?: string;
startTime?: string;
endTime?: string;
}
export interface GetSpotHistoryPlanOrdersRequestV2 {
symbol: string;
startTime: string;
endTime: string;
limit?: string;
}
/**
*
* * Spot | Account
*
*/
export type SpotBillGroupTypeV2 =
| 'deposit'
| 'withdraw'
| 'transaction'
| 'transfer'
| 'other';
export type SpotBusinessTypeV2 =
| 'deposit'
| 'withdraw'
| 'buy'
| 'sell'
| 'deduction of handling fee'
| 'transfer-in'
| 'transfer-out'
| 'rebate rewards'
| 'airdrop rewards'
| 'USDT contract rewards'
| 'mix contract rewards'
| 'system lock'
| 'user lock';
export type SpotAccountTypeV2 =
| 'spot'
| 'p2p'
| 'coin_futures'
| 'usdt_futures'
| 'usdc_futures'
| 'crossed_margin'
| 'isolated_margin';
export interface GetSpotAccountBillsRequestV2 {
coin?: string;
groupType?: SpotBillGroupTypeV2;
businessType?: SpotBusinessTypeV2;
startTime?: string;
endTime?: string;
limit?: string;
idLessThan?: string;
}
export interface SpotTransferRequestV2 {
fromType: SpotAccountTypeV2;
toType: SpotAccountTypeV2;
amount: string;
coin: string;
symbol: string;
clientOid?: string;
}
export interface SpotSubAccountTransferRequestV2 {
fromType: SpotAccountTypeV2;
toType: SpotAccountTypeV2;
amount: string;
coin: string;
symbol?: string;
clientOid?: string;
fromUserId: string;
toUserId: string;
}
export interface SpotWithdrawalRequestV2 {
coin: string;
transferType: 'on_chain' | 'internal_transfer';
address: string;
chain?: string;
innerToType?: 'email' | 'mobile' | 'uid';
areaCode?: string;
tag?: string;
size: string;
remark?: string;
clientOid?: string;
}
export interface SpotMainSubTransferRecordRequestV2 {
coin?: string;
role?: 'initiator' | 'receiver';
subUid?: string;
startTime?: string;
endTime?: string;
clientOid?: string;
limit?: string;
idLessThan?: string;
}
export interface GetSpotTransferRecordRequestV2 {
coin: string;
fromType: SpotAccountTypeV2;
startTime?: string;
endTime?: string;
clientOid?: string;
limit?: string;
idLessThan?: string;
}
export interface GetSpotSubAccountDepositRecordRequestV2 {
subUid: string;
coin?: string;
startTime?: string;
endTime?: string;
idLessThan?: string;
limit?: string;
}
export interface GetSpotWithdrawalRecordRequestV2 {
coin?: string;
clientOid?: string;
startTime: string;
endTime: string;
idLessThan?: string;
orderId?: string;
limit?: string;
}
export interface GetSpotDepositRecordRequestV2 {
coin?: string;
orderId?: string;
startTime: string;
endTime: string;
idLessThan?: string;
limit?: string;
}

View File

@@ -1,3 +1,3 @@
export * from './futures';
export * from './shared';
export * from './spot';
export * from './futures';

View File

@@ -27,4 +27,4 @@ export type KlineInterval =
| '1Mutc';
export type RestClientType =
typeof REST_CLIENT_TYPE_ENUM[keyof typeof REST_CLIENT_TYPE_ENUM];
(typeof REST_CLIENT_TYPE_ENUM)[keyof typeof REST_CLIENT_TYPE_ENUM];

View File

@@ -1,15 +1,15 @@
import axios, { AxiosRequestConfig, AxiosResponse, Method } from 'axios';
import { RestClientType } from '../types';
import { RestClientType } from '../types';
import { signMessage } from './node-support';
import {
getRestBaseUrl,
RestClientOptions,
serializeParams,
getRestBaseUrl,
} from './requestUtils';
import { neverGuard } from './websocket-util';
interface SignedRequest<T extends object | undefined = {}> {
interface SignedRequest<T extends object | undefined = object> {
originalParams: T;
paramsWithSign?: T & { sign: string };
serializedParams: string;
@@ -19,7 +19,7 @@ interface SignedRequest<T extends object | undefined = {}> {
recvWindow: number;
}
interface UnsignedRequest<T extends object | undefined = {}> {
interface UnsignedRequest<T extends object | undefined = object> {
originalParams: T;
paramsWithSign: T;
}
@@ -229,7 +229,7 @@ export default abstract class BaseRestClient {
/**
* @private sign request and set recv window
*/
private async signRequest<T extends object | undefined = {}>(
private async signRequest<T extends object | undefined = object>(
data: T,
endpoint: string,
method: Method,

View File

@@ -5,12 +5,12 @@ import WebSocket from 'isomorphic-ws';
import {
WebsocketClientOptions,
WSClientConfigurableOptions,
} from '../types/index.js';
import { DefaultLogger } from './logger.js';
import { isWsPong } from './requestUtils.js';
import { getWsAuthSignature } from './websocket-util.js';
import WsStore from './WsStore.js';
import { WsConnectionStateEnum } from './WsStore.types.js';
} from '../types/index';
import { DefaultLogger } from './logger';
import { isWsPong } from './requestUtils';
import { getWsAuthSignature } from './websocket-util';
import WsStore from './WsStore';
import { WsConnectionStateEnum } from './WsStore.types';
interface WSClientEventMap<WsKey extends string> {
/** Connection opened. If this connection was previously opened and reconnected, expect the reconnected event instead */

View File

@@ -1,4 +1,5 @@
import WebSocket from 'isomorphic-ws';
import { DefaultLogger } from './logger';
import { WsConnectionStateEnum, WsStoredState } from './WsStore.types';

View File

@@ -40,6 +40,7 @@ export async function signMessage(
return _arrayBufferToBase64(signature);
}
default: {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
((x: never) => {})(method);
throw new Error(`Unhandled sign method: ${method}`);
}

View File

@@ -1,6 +1,6 @@
export * from './BaseRestClient';
export * from './requestUtils';
export * from './WsStore';
export * from './logger';
export * from './requestUtils';
export * from './type-guards';
export * from './websocket-util';
export * from './WsStore';

View File

@@ -1,6 +1,7 @@
export type LogParams = null | any;
export const DefaultLogger = {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
silly: (...params: LogParams): void => {
// console.log(params);
},

View File

@@ -16,6 +16,7 @@ export async function signMessage(
return hmac.digest().toString('base64');
}
default: {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
((x: never) => {})(method);
throw new Error(`Unhandled sign method: ${method}`);
}

View File

@@ -34,7 +34,7 @@ export interface RestClientOptions {
parseExceptions?: boolean;
}
export function serializeParams<T extends object | undefined = {}>(
export function serializeParams<T extends object | undefined = object>(
params: T,
strict_validation = false,
encodeValues: boolean = true,

View File

@@ -95,6 +95,7 @@ export function isPrivateChannel<TChannel extends string>(
export function getWsKeyForTopic(
subscribeEvent: WsTopicSubscribeEventArgs,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
isPrivate?: boolean,
): WsKey {
const instType = subscribeEvent.instType.toUpperCase() as BitgetInstType;

View File

@@ -12,17 +12,15 @@ import {
WsTopicSubscribePrivateInstIdArgsV2,
WsTopicV2,
} from './types';
import {
WS_AUTH_ON_CONNECT_KEYS,
WS_KEY_MAP,
DefaultLogger,
WS_BASE_URL_MAP,
neverGuard,
getMaxTopicsPerSubscribeEvent,
isPrivateChannel,
neverGuard,
WS_AUTH_ON_CONNECT_KEYS,
WS_BASE_URL_MAP,
WS_KEY_MAP,
} from './util';
import { BaseWebsocketClient } from './util/BaseWSClient';
const LOGGER_CATEGORY = { category: 'bitget-ws' };

View File

@@ -1,8 +1,7 @@
/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
import { EventEmitter } from 'events';
import WebSocket from 'isomorphic-ws';
import WsStore from './util/WsStore';
import {
BitgetInstType,
WebsocketClientOptions,
@@ -11,19 +10,19 @@ import {
WsTopic,
WsTopicSubscribeEventArgs,
} from './types';
import {
isWsPong,
WS_AUTH_ON_CONNECT_KEYS,
WS_KEY_MAP,
DefaultLogger,
WS_BASE_URL_MAP,
getWsKeyForTopic,
neverGuard,
getMaxTopicsPerSubscribeEvent,
isPrivateChannel,
getWsAuthSignature,
getWsKeyForTopic,
isPrivateChannel,
isWsPong,
neverGuard,
WS_AUTH_ON_CONNECT_KEYS,
WS_BASE_URL_MAP,
WS_KEY_MAP,
} from './util';
import WsStore from './util/WsStore';
import { WsConnectionStateEnum } from './util/WsStore.types';
const LOGGER_CATEGORY = { category: 'bitget-ws' };
@@ -387,7 +386,7 @@ export class WebsocketClient extends EventEmitter {
this.logger.silly(
`Subscribing to topics in batches of ${maxTopicsPerEvent}`,
);
for (var i = 0; i < topics.length; i += maxTopicsPerEvent) {
for (let i = 0; i < topics.length; i += maxTopicsPerEvent) {
const batch = topics.slice(i, i + maxTopicsPerEvent);
this.logger.silly(`Subscribing to batch of ${batch.length}`);
this.requestSubscribeTopics(wsKey, batch);
@@ -422,7 +421,7 @@ export class WebsocketClient extends EventEmitter {
this.logger.silly(
`Unsubscribing to topics in batches of ${maxTopicsPerEvent}`,
);
for (var i = 0; i < topics.length; i += maxTopicsPerEvent) {
for (let i = 0; i < topics.length; i += maxTopicsPerEvent) {
const batch = topics.slice(i, i + maxTopicsPerEvent);
this.logger.silly(`Unsubscribing to batch of ${batch.length}`);
this.requestUnsubscribeTopics(wsKey, batch);