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

@@ -8,12 +8,12 @@ module.exports = {
plugins: [ plugins: [
'@typescript-eslint/eslint-plugin', '@typescript-eslint/eslint-plugin',
'simple-import-sort', 'simple-import-sort',
'require-extensions', // 'require-extensions', // only once moved to ESM
], ],
extends: [ extends: [
'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended', 'plugin:prettier/recommended',
'plugin:require-extensions/recommended', // 'plugin:require-extensions/recommended', // only once moved to ESM
], ],
root: true, root: true,
env: { env: {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -226,4 +226,4 @@ export interface HistoricPlanOrderTPSLRequest {
* @property {Array[5]} Base currency trading volume * @property {Array[5]} Base currency trading volume
* @property {Array[6]} Quote 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 WalletType = 'spot' | 'mix_usdt' | 'mix_usd';
export type SpotKlineInterval = export type SpotKlineInterval =
| '1min' | '1min'
| '5min' | '5min'
| '15min' | '15min'
| '30min' | '30min'
| '1h' | '1h'
| '4h' | '4h'
| '6h' | '6h'
| '12h' | '12h'
| '1day' | '1day'
| '3day' | '3day'
| '1week' | '1week'
| '1M' | '1M'
| '6Hutc' | '6Hutc'
| '12Hutc' | '12Hutc'
| '1Dutc' | '1Dutc'
| '3Dutc' | '3Dutc'
| '1Wutc' | '1Wutc'
| '1Mutc'; | '1Mutc';
export interface NewWalletTransfer { export interface NewWalletTransfer {
@@ -135,4 +135,4 @@ export interface SpotCandleData {
baseVol: string; baseVol: string;
usdtVol: string; usdtVol: string;
ts: string; ts: string;
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -12,17 +12,15 @@ import {
WsTopicSubscribePrivateInstIdArgsV2, WsTopicSubscribePrivateInstIdArgsV2,
WsTopicV2, WsTopicV2,
} from './types'; } from './types';
import { import {
WS_AUTH_ON_CONNECT_KEYS,
WS_KEY_MAP,
DefaultLogger, DefaultLogger,
WS_BASE_URL_MAP,
neverGuard,
getMaxTopicsPerSubscribeEvent, getMaxTopicsPerSubscribeEvent,
isPrivateChannel, isPrivateChannel,
neverGuard,
WS_AUTH_ON_CONNECT_KEYS,
WS_BASE_URL_MAP,
WS_KEY_MAP,
} from './util'; } from './util';
import { BaseWebsocketClient } from './util/BaseWSClient'; import { BaseWebsocketClient } from './util/BaseWSClient';
const LOGGER_CATEGORY = { category: 'bitget-ws' }; 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 { EventEmitter } from 'events';
import WebSocket from 'isomorphic-ws'; import WebSocket from 'isomorphic-ws';
import WsStore from './util/WsStore';
import { import {
BitgetInstType, BitgetInstType,
WebsocketClientOptions, WebsocketClientOptions,
@@ -11,19 +10,19 @@ import {
WsTopic, WsTopic,
WsTopicSubscribeEventArgs, WsTopicSubscribeEventArgs,
} from './types'; } from './types';
import { import {
isWsPong,
WS_AUTH_ON_CONNECT_KEYS,
WS_KEY_MAP,
DefaultLogger, DefaultLogger,
WS_BASE_URL_MAP,
getWsKeyForTopic,
neverGuard,
getMaxTopicsPerSubscribeEvent, getMaxTopicsPerSubscribeEvent,
isPrivateChannel,
getWsAuthSignature, getWsAuthSignature,
getWsKeyForTopic,
isPrivateChannel,
isWsPong,
neverGuard,
WS_AUTH_ON_CONNECT_KEYS,
WS_BASE_URL_MAP,
WS_KEY_MAP,
} from './util'; } from './util';
import WsStore from './util/WsStore';
import { WsConnectionStateEnum } from './util/WsStore.types'; import { WsConnectionStateEnum } from './util/WsStore.types';
const LOGGER_CATEGORY = { category: 'bitget-ws' }; const LOGGER_CATEGORY = { category: 'bitget-ws' };
@@ -387,7 +386,7 @@ export class WebsocketClient extends EventEmitter {
this.logger.silly( this.logger.silly(
`Subscribing to topics in batches of ${maxTopicsPerEvent}`, `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); const batch = topics.slice(i, i + maxTopicsPerEvent);
this.logger.silly(`Subscribing to batch of ${batch.length}`); this.logger.silly(`Subscribing to batch of ${batch.length}`);
this.requestSubscribeTopics(wsKey, batch); this.requestSubscribeTopics(wsKey, batch);
@@ -422,7 +421,7 @@ export class WebsocketClient extends EventEmitter {
this.logger.silly( this.logger.silly(
`Unsubscribing to topics in batches of ${maxTopicsPerEvent}`, `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); const batch = topics.slice(i, i + maxTopicsPerEvent);
this.logger.silly(`Unsubscribing to batch of ${batch.length}`); this.logger.silly(`Unsubscribing to batch of ${batch.length}`);
this.requestUnsubscribeTopics(wsKey, batch); this.requestUnsubscribeTopics(wsKey, batch);

View File

@@ -20,9 +20,9 @@ describe('Private Broker REST API GET Endpoints', () => {
const coin = 'BTC'; const coin = 'BTC';
const subUid = '123456'; const subUid = '123456';
const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60; // const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60;
const from = timestampOneHourAgo.toFixed(0); // const from = timestampOneHourAgo.toFixed(0);
const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes // const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes
it('getBrokerInfo()', async () => { it('getBrokerInfo()', async () => {
try { try {

View File

@@ -18,11 +18,11 @@ describe('Private Broker REST API POST Endpoints', () => {
apiPass: API_PASS, apiPass: API_PASS,
}); });
const coin = 'BTC'; // const coin = 'BTC';
const subUid = '123456'; const subUid = '123456';
const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60; // const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60;
const from = timestampOneHourAgo.toFixed(0); // const from = timestampOneHourAgo.toFixed(0);
const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes // const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes
it('createSubAccount()', async () => { it('createSubAccount()', async () => {
try { try {

View File

@@ -22,9 +22,9 @@ describe('Private Futures REST API POST Endpoints', () => {
const symbol = 'BTCUSDT_UMCBL'; const symbol = 'BTCUSDT_UMCBL';
const marginCoin = 'USDT'; const marginCoin = 'USDT';
const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60; // const timestampOneHourAgo = new Date().getTime() - 1000 * 60 * 60;
const from = timestampOneHourAgo.toFixed(0); // const from = timestampOneHourAgo.toFixed(0);
const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes // const to = String(Number(from) + 1000 * 60 * 30); // 30 minutes
it('setLeverage()', async () => { it('setLeverage()', async () => {
try { try {

View File

@@ -1,9 +1,5 @@
import { API_ERROR_CODE, FuturesClient } from '../../src'; import { FuturesClient } from '../../src';
import { import { sucessEmptyResponseObject } from '../response.util';
notAuthenticatedError,
successResponseString,
sucessEmptyResponseObject,
} from '../response.util';
describe('Public Spot REST API Endpoints', () => { describe('Public Spot REST API Endpoints', () => {
const api = new FuturesClient(); const api = new FuturesClient();

View File

@@ -1,4 +1,4 @@
import { API_ERROR_CODE, SpotClient } from '../../src'; import { SpotClient } from '../../src';
import { sucessEmptyResponseObject } from '../response.util'; import { sucessEmptyResponseObject } from '../response.util';
describe('Private Spot REST API GET Endpoints', () => { describe('Private Spot REST API GET Endpoints', () => {

View File

@@ -1,6 +1,5 @@
import { API_ERROR_CODE, SpotClient } from '../../src'; import { SpotClient } from '../../src';
import { import {
notAuthenticatedError,
successResponseString, successResponseString,
sucessEmptyResponseObject, sucessEmptyResponseObject,
} from '../response.util'; } from '../response.util';
@@ -9,8 +8,6 @@ describe('Public Spot REST API Endpoints', () => {
const api = new SpotClient(); const api = new SpotClient();
const symbol = 'BTCUSDT_SPBL'; const symbol = 'BTCUSDT_SPBL';
const timestampOneHourAgo = new Date().getTime() / 1000 - 1000 * 60 * 60;
const from = Number(timestampOneHourAgo.toFixed(0));
// it('should throw for unauthenticated private calls', async () => { // it('should throw for unauthenticated private calls', async () => {
// expect(() => api.getOpenOrders()).rejects.toMatchObject( // expect(() => api.getOpenOrders()).rejects.toMatchObject(

View File

@@ -1,15 +1,10 @@
import { import {
WebsocketClient, WebsocketClient,
WSClientConfigurableOptions,
WS_ERROR_ENUM, WS_ERROR_ENUM,
WS_KEY_MAP, WS_KEY_MAP,
WSClientConfigurableOptions,
} from '../src'; } from '../src';
import { import { getSilentLogger, logAllEvents, waitForSocketEvent } from './ws.util';
getSilentLogger,
listenToSocketEvents,
logAllEvents,
waitForSocketEvent,
} from './ws.util';
describe.skip('Private Spot Websocket Client', () => { describe.skip('Private Spot Websocket Client', () => {
const API_KEY = process.env.API_KEY_COM; const API_KEY = process.env.API_KEY_COM;
@@ -50,7 +45,7 @@ describe.skip('Private Spot Websocket Client', () => {
try { try {
await Promise.all([wsResponsePromise]); await Promise.all([wsResponsePromise]);
} catch (e) { } catch (e) {
// console.error() console.error(e);
} }
badClient.closeAll(); badClient.closeAll();
}); });

View File

@@ -1,9 +1,9 @@
import { import {
WebsocketClient, WebsocketClient,
WSClientConfigurableOptions,
WS_KEY_MAP, WS_KEY_MAP,
WSClientConfigurableOptions,
} from '../src'; } from '../src';
import { logAllEvents, getSilentLogger, waitForSocketEvent } from './ws.util'; import { getSilentLogger, logAllEvents, waitForSocketEvent } from './ws.util';
describe('Public Spot Websocket Client', () => { describe('Public Spot Websocket Client', () => {
let wsClient: WebsocketClient; let wsClient: WebsocketClient;

View File

@@ -1,5 +1,7 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import { WebsocketClient } from '../src'; import { WebsocketClient } from '../src';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function getSilentLogger(logHint?: string) { export function getSilentLogger(logHint?: string) {
return { return {
silly: () => {}, silly: () => {},