Merge branch 'master' into Update181124
This commit is contained in:
@@ -43,6 +43,10 @@ import BaseRestClient from './util/BaseRestClient';
|
||||
|
||||
/**
|
||||
* REST API client for Account Asset V3 APIs
|
||||
* @deprecated WARNING
|
||||
* These endpoints are being switched off gradually and are expected to be completely turned off by the end of 2024.
|
||||
* They may stop working at any point before then.
|
||||
* Please update your code as soon as possible to use the V5 APIs instead.
|
||||
*/
|
||||
export class AccountAssetClientV3 extends BaseRestClient {
|
||||
getClientType() {
|
||||
@@ -67,20 +71,20 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
*/
|
||||
|
||||
createInternalTransfer(
|
||||
params: InternalTransferRequestV3
|
||||
params: InternalTransferRequestV3,
|
||||
): Promise<APIResponseWithTime<{ transferId: string }>> {
|
||||
return this.postPrivate(
|
||||
'/asset/v3/private/transfer/inter-transfer',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getInternalTransfers(
|
||||
params: QueryInternalTransfersRequestV3
|
||||
params: QueryInternalTransfersRequestV3,
|
||||
): Promise<APIResponseWithTime<QueryInternalTransferSResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/inter-transfer/list/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -93,16 +97,16 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
}): Promise<APIResponseWithTime<{ transferId: string }>> {
|
||||
return this.postPrivate(
|
||||
'/asset/v3/private/transfer/sub-member-transfer',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getSubAccountTransfers(
|
||||
params?: SubAccountTransferRequestV3
|
||||
params?: SubAccountTransferRequestV3,
|
||||
): Promise<APIResponseWithTime<SubAccountTransferResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/sub-member-transfer/list/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -120,61 +124,61 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
}): Promise<APIResponseWithTime<any>> {
|
||||
return this.postPrivate(
|
||||
'/asset/v3/private/transfer/transfer-sub-member-save',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
createUniversalTransfer(
|
||||
params: UniversalTransferRequestV3
|
||||
params: UniversalTransferRequestV3,
|
||||
): Promise<APIResponseWithTime<UniversalTransferCreateResponse>> {
|
||||
return this.postPrivate(
|
||||
'/asset/v3/private/transfer/universal-transfer',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getUniversalTransfers(
|
||||
params: UniversalTransferListRequestV3
|
||||
params: UniversalTransferListRequestV3,
|
||||
): Promise<APIResponseWithTime<UniversalTransferListResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/universal-transfer/list/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getTransferableCoinList(
|
||||
params: TransferCoinListRequestV3
|
||||
params: TransferCoinListRequestV3,
|
||||
): Promise<APIResponseWithTime<{ list: string[] }>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/transfer-coin/list/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getAccountCoinBalance(
|
||||
params: SingleAccountCoinBalanceRequestV3
|
||||
params: SingleAccountCoinBalanceRequestV3,
|
||||
): Promise<APIResponseWithTime<AccountCoinBalanceResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/account-coin/balance/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getAccountCoinBalances(
|
||||
params: AccountCoinBalancesRequestV3
|
||||
params: AccountCoinBalancesRequestV3,
|
||||
): Promise<APIResponseWithTime<AccountCoinBalancesResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/account-coins/balance/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getAssetInfo(
|
||||
params?: AssetInfoRequestV3
|
||||
params?: AssetInfoRequestV3,
|
||||
): Promise<APIResponseWithTime<AssetInfoResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/transfer/asset-info/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -186,49 +190,49 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
|
||||
/** Get Deposit Spec */
|
||||
getSupportedDepositList(
|
||||
params?: SupportedDepositListRequestV3
|
||||
params?: SupportedDepositListRequestV3,
|
||||
): Promise<APIResponseWithTime<SupportedDepositListResponseV3>> {
|
||||
return this.get(
|
||||
'/asset/v3/public/deposit/allowed-deposit-list/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getDepositRecords(
|
||||
params?: DepositRecordQueryRequestV3
|
||||
params?: DepositRecordQueryRequestV3,
|
||||
): Promise<APIResponseWithTime<DepositRecordQueryResponseV3>> {
|
||||
return this.getPrivate('/asset/v3/private/deposit/record/query', params);
|
||||
}
|
||||
|
||||
getSubDepositRecords(
|
||||
params: SubDepositRecordQueryRequestV3
|
||||
params: SubDepositRecordQueryRequestV3,
|
||||
): Promise<APIResponseWithTime<DepositRecordQueryResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/deposit/sub-member-record/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
getWithdrawRecords(
|
||||
params?: WithdrawRecordQueryRequestV3
|
||||
params?: WithdrawRecordQueryRequestV3,
|
||||
): Promise<APIResponseWithTime<WithdrawRecordsQueryResponseV3>> {
|
||||
return this.getPrivate('/asset/v3/private/withdraw/record/query', params);
|
||||
}
|
||||
|
||||
getCoinInformation(
|
||||
coin?: string
|
||||
coin?: string,
|
||||
): Promise<APIResponseWithTime<CoinInfoQueryResponseV3>> {
|
||||
return this.getPrivate('/asset/v3/private/coin-info/query', { coin });
|
||||
}
|
||||
|
||||
submitWithdrawal(
|
||||
params: WithdrawCreateRequestV3
|
||||
params: WithdrawCreateRequestV3,
|
||||
): Promise<APIResponseWithTime<{ id: string }>> {
|
||||
return this.postPrivate('/asset/v3/private/withdraw/create', params);
|
||||
}
|
||||
|
||||
cancelWithdrawal(
|
||||
withdrawalId: number
|
||||
withdrawalId: number,
|
||||
): Promise<APIResponseWithTime<{ status: 1 | 0 }>> {
|
||||
return this.postPrivate('/asset/v3/private/withdraw/create', {
|
||||
withdrawalId,
|
||||
@@ -236,28 +240,28 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
}
|
||||
|
||||
getMasterAccountDepositAddress(
|
||||
params?: QueryDepositAddressRequestV3
|
||||
params?: QueryDepositAddressRequestV3,
|
||||
): Promise<APIResponseWithTime<DepositAddressResponseV3>> {
|
||||
return this.getPrivate('/asset/v3/private/deposit/address/query', params);
|
||||
}
|
||||
|
||||
getSubAccountDepositAddress(
|
||||
params: QuerySubAccountDepositAddressRequestV3
|
||||
params: QuerySubAccountDepositAddressRequestV3,
|
||||
): Promise<APIResponseWithTime<DepositAddressResponseV3>> {
|
||||
return this.getPrivate(
|
||||
'/asset/v3/private/deposit/sub-member-address/query',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
|
||||
createSubMember(
|
||||
params: CreateSubMemberRequestV3
|
||||
params: CreateSubMemberRequestV3,
|
||||
): Promise<APIResponseWithTime<CreateSubMemberResponseV3>> {
|
||||
return this.postPrivate('/user/v3/private/create-sub-member', params);
|
||||
}
|
||||
|
||||
createSubAPIKey(
|
||||
params: CreateSubAPIKeyRequestV3
|
||||
params: CreateSubAPIKeyRequestV3,
|
||||
): Promise<APIResponseWithTime<CreateSubAPIKeyResponseV3>> {
|
||||
return this.postPrivate('/user/v3/private/create-sub-api', params);
|
||||
}
|
||||
@@ -274,7 +278,7 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
*/
|
||||
freezeSubMember(
|
||||
subuid: number,
|
||||
frozenStatus: 0 | 1
|
||||
frozenStatus: 0 | 1,
|
||||
): Promise<APIResponseWithTime<{}>> {
|
||||
return this.postPrivate('/user/v3/private/frozen-sub-member', {
|
||||
subuid,
|
||||
@@ -287,13 +291,13 @@ export class AccountAssetClientV3 extends BaseRestClient {
|
||||
}
|
||||
|
||||
modifyMasterAPIKey(
|
||||
params: ModifyAPIKeyRequestV3
|
||||
params: ModifyAPIKeyRequestV3,
|
||||
): Promise<APIResponseWithTime<APIKeyInfoV3>> {
|
||||
return this.postPrivate('/user/v3/private/update-api', params);
|
||||
}
|
||||
|
||||
modifySubAPIKey(
|
||||
params: ModifyAPIKeyRequestV3
|
||||
params: ModifyAPIKeyRequestV3,
|
||||
): Promise<APIResponseWithTime<APIKeyInfoV3>> {
|
||||
return this.postPrivate('/user/v3/private/update-sub-api', params);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,10 @@ import BaseRestClient from './util/BaseRestClient';
|
||||
|
||||
/**
|
||||
* REST API client for Derivatives V3 Contract APIs
|
||||
* @deprecated WARNING
|
||||
* These endpoints are being switched off gradually and are expected to be completely turned off by the end of 2024.
|
||||
* They may stop working at any point before then.
|
||||
* Please update your code as soon as possible to use the V5 APIs instead.
|
||||
*/
|
||||
export class ContractClient extends BaseRestClient {
|
||||
getClientType() {
|
||||
|
||||
@@ -14,6 +14,10 @@ import BaseRestClient from './util/BaseRestClient';
|
||||
|
||||
/**
|
||||
* REST API client for USDC Perpetual APIs
|
||||
* @deprecated WARNING
|
||||
* These endpoints are being switched off gradually and are expected to be completely turned off by the end of 2024.
|
||||
* They may stop working at any point before then.
|
||||
* Please update your code as soon as possible to use the V5 APIs instead.
|
||||
*/
|
||||
export class CopyTradingClient extends BaseRestClient {
|
||||
getClientType() {
|
||||
@@ -82,7 +86,10 @@ export class CopyTradingClient extends BaseRestClient {
|
||||
);
|
||||
}
|
||||
|
||||
/** Close Order. This endpoint's rate_limit will decrease by 10 per request; ie, one request to this endpoint consumes 10 from the limit allowed per minute. */
|
||||
/** Close Order.
|
||||
* This endpoint's rate_limit will decrease by 10 per request;
|
||||
* ie, one request to this endpoint consumes 10 from the limit allowed per minute.
|
||||
*/
|
||||
closeOrder(
|
||||
params: CopyTradingCloseOrderRequest,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable max-len */
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import {
|
||||
APIResponseV3,
|
||||
@@ -242,7 +243,7 @@ export class RestClientV5 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.
|
||||
`,
|
||||
|
||||
@@ -17,6 +17,10 @@ import BaseRestClient from './util/BaseRestClient';
|
||||
|
||||
/**
|
||||
* REST API client for newer Spot V3 APIs.
|
||||
* @deprecated WARNING
|
||||
* These endpoints are being switched off gradually and are expected to be completely turned off by the end of 2024.
|
||||
* They may stop working at any point before then.
|
||||
* Please update your code as soon as possible to use the V5 APIs instead.
|
||||
*/
|
||||
export class SpotClientV3 extends BaseRestClient {
|
||||
getClientType() {
|
||||
@@ -49,7 +53,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
getMergedOrderBook(
|
||||
symbol: string,
|
||||
scale?: number,
|
||||
limit?: number
|
||||
limit?: number,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.get('/spot/v3/public/quote/depth/merged', {
|
||||
symbol,
|
||||
@@ -69,7 +73,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
interval: KlineInterval,
|
||||
limit?: number,
|
||||
startTime?: number,
|
||||
endTime?: number
|
||||
endTime?: number,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.get('/spot/v3/public/quote/kline', {
|
||||
symbol,
|
||||
@@ -120,7 +124,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
|
||||
/** Batch cancel orders */
|
||||
cancelOrderBatch(
|
||||
params: SpotCancelOrderBatchRequest
|
||||
params: SpotCancelOrderBatchRequest,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
const orderTypes = params.orderTypes
|
||||
? params.orderTypes.join(',')
|
||||
@@ -145,7 +149,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
symbol?: string,
|
||||
orderId?: string,
|
||||
limit?: number,
|
||||
orderCategory?: 0 | 1
|
||||
orderCategory?: 0 | 1,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.getPrivate('/spot/v3/private/open-orders', {
|
||||
symbol,
|
||||
@@ -160,7 +164,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
symbol?: string,
|
||||
orderId?: string,
|
||||
limit?: number,
|
||||
orderCategory?: 0 | 1
|
||||
orderCategory?: 0 | 1,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.getPrivate('/spot/v3/private/history-orders', {
|
||||
symbol,
|
||||
@@ -220,7 +224,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
purchaseLeveragedToken(
|
||||
ltCode: string,
|
||||
ltAmount: string,
|
||||
serialNo?: string
|
||||
serialNo?: string,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.postPrivate('/spot/v3/private/purchase', {
|
||||
ltCode,
|
||||
@@ -233,7 +237,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
redeemLeveragedToken(
|
||||
ltCode: string,
|
||||
ltAmount: string,
|
||||
serialNo?: string
|
||||
serialNo?: string,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.postPrivate('/spot/v3/private/redeem', {
|
||||
ltCode,
|
||||
@@ -244,7 +248,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
|
||||
/** Get leveraged token purchase/redemption history */
|
||||
getLeveragedTokenPRHistory(
|
||||
params?: SpotLeveragedTokenPRHistoryRequest
|
||||
params?: SpotLeveragedTokenPRHistoryRequest,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.getPrivate('/spot/v3/private/record', params);
|
||||
}
|
||||
@@ -258,7 +262,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
/** Borrow margin loan */
|
||||
borrowCrossMarginLoan(
|
||||
coin: string,
|
||||
qty: string
|
||||
qty: string,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.postPrivate('/spot/v3/private/cross-margin-loan', {
|
||||
coin,
|
||||
@@ -276,7 +280,7 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
|
||||
/** Query borrowing info */
|
||||
getCrossMarginBorrowingInfo(
|
||||
params?: SpotCrossMarginBorrowingInfoRequest
|
||||
params?: SpotCrossMarginBorrowingInfoRequest,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.getPrivate('/spot/v3/private/cross-margin-orders', params);
|
||||
}
|
||||
@@ -293,11 +297,11 @@ export class SpotClientV3 extends BaseRestClient {
|
||||
|
||||
/** Query repayment history */
|
||||
getCrossMarginRepaymentHistory(
|
||||
params?: SpotCrossMarginRepaymentHistoryRequest
|
||||
params?: SpotCrossMarginRepaymentHistoryRequest,
|
||||
): Promise<APIResponseV3<any>> {
|
||||
return this.getPrivate(
|
||||
'/spot/v3/private/cross-margin-repay-history',
|
||||
params
|
||||
params,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,12 +133,12 @@ export interface LinearSetMarginSwitchRequest {
|
||||
|
||||
export interface LinearSetPositionModeRequest {
|
||||
symbol: string;
|
||||
mode: typeof linearPositionModeEnum[keyof typeof linearPositionModeEnum];
|
||||
mode: (typeof linearPositionModeEnum)[keyof typeof linearPositionModeEnum];
|
||||
}
|
||||
|
||||
export interface LinearSetPositionTpSlModeRequest {
|
||||
symbol: string;
|
||||
tp_sl_mode: typeof positionTpSlModeEnum[keyof typeof positionTpSlModeEnum];
|
||||
tp_sl_mode: (typeof positionTpSlModeEnum)[keyof typeof positionTpSlModeEnum];
|
||||
}
|
||||
|
||||
export interface LinearSetAddReduceMarginRequest {
|
||||
|
||||
@@ -293,6 +293,7 @@ export interface RiskLimitV5 {
|
||||
section: any;
|
||||
isLowestRisk: 0 | 1;
|
||||
maxLeverage: string;
|
||||
mmDeduction: string;
|
||||
}
|
||||
|
||||
/** @deprecated use DeliveryPriceV5 instead */
|
||||
|
||||
@@ -11,7 +11,6 @@ export type InstrumentStatusV5 =
|
||||
| 'Settling'
|
||||
| 'Delivering'
|
||||
| 'Closed';
|
||||
|
||||
|
||||
export type MarginTradingV5 = 'none' | 'both' | 'utaOnly' | 'normalSpotOnly';
|
||||
|
||||
@@ -156,7 +155,7 @@ export type PositionIdx = 0 | 1 | 2;
|
||||
|
||||
/**
|
||||
* Position status.
|
||||
*
|
||||
*
|
||||
* - 'Normal'
|
||||
* - 'Liq' in the liquidation progress
|
||||
* - 'Adl' in the auto-deleverage progress
|
||||
@@ -175,7 +174,10 @@ export type OptionTypeV5 = 'Call' | 'Put';
|
||||
export type TradeModeV5 = 0 | 1;
|
||||
|
||||
export type TPSLModeV5 = 'Full' | 'Partial';
|
||||
export type AccountMarginModeV5 = 'ISOLATED_MARGIN' | 'REGULAR_MARGIN' | 'PORTFOLIO_MARGIN';
|
||||
export type AccountMarginModeV5 =
|
||||
| 'ISOLATED_MARGIN'
|
||||
| 'REGULAR_MARGIN'
|
||||
| 'PORTFOLIO_MARGIN';
|
||||
export type UnifiedUpdateStatusV5 = 'FAIL' | 'PROCESS' | 'SUCCESS';
|
||||
|
||||
export type AccountTypeV5 =
|
||||
|
||||
@@ -60,7 +60,11 @@ export interface WSOrderbookV5 {
|
||||
seq: number;
|
||||
}
|
||||
|
||||
export type WSOrderbookEventV5 = WSPublicTopicEventV5<string, 'delta' | 'snapshot', WSOrderbookV5[]>;
|
||||
export type WSOrderbookEventV5 = WSPublicTopicEventV5<
|
||||
string,
|
||||
'delta' | 'snapshot',
|
||||
WSOrderbookV5[]
|
||||
>;
|
||||
|
||||
export interface WSPositionV5 {
|
||||
category: string;
|
||||
@@ -103,7 +107,10 @@ export interface WSPositionV5 {
|
||||
seq: number;
|
||||
}
|
||||
|
||||
export type WSPositionEventV5 = WSPrivateTopicEventV5<'position', WSPositionV5[]>;
|
||||
export type WSPositionEventV5 = WSPrivateTopicEventV5<
|
||||
'position',
|
||||
WSPositionV5[]
|
||||
>;
|
||||
|
||||
export interface WSAccountOrderV5 {
|
||||
category: CategoryV5;
|
||||
@@ -126,6 +133,7 @@ export interface WSAccountOrderV5 {
|
||||
cumExecQty: string;
|
||||
cumExecValue: string;
|
||||
cumExecFee: string;
|
||||
closedPnl: string;
|
||||
feeCurrency: string;
|
||||
timeInForce: OrderTimeInForceV5;
|
||||
orderType: OrderTypeV5;
|
||||
@@ -154,7 +162,10 @@ export interface WSAccountOrderV5 {
|
||||
updatedTime: string;
|
||||
}
|
||||
|
||||
export type WSAccountOrderEventV5 = WSPrivateTopicEventV5<'order', WSAccountOrderV5[]>;
|
||||
export type WSAccountOrderEventV5 = WSPrivateTopicEventV5<
|
||||
'order',
|
||||
WSAccountOrderV5[]
|
||||
>;
|
||||
|
||||
export interface WSExecutionV5 {
|
||||
category: CategoryV5;
|
||||
@@ -189,4 +200,7 @@ export interface WSExecutionV5 {
|
||||
marketUnit: string;
|
||||
}
|
||||
|
||||
export type WSExecutionEventV5 = WSPrivateTopicEventV5<'execution', WSExecutionV5[]>;
|
||||
export type WSExecutionEventV5 = WSPrivateTopicEventV5<
|
||||
'execution',
|
||||
WSExecutionV5[]
|
||||
>;
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable max-len */
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import {
|
||||
APIResponseV3,
|
||||
@@ -36,6 +37,10 @@ import BaseRestClient from './util/BaseRestClient';
|
||||
|
||||
/**
|
||||
* REST API client for Derivatives V3 unified margin APIs
|
||||
* @deprecated WARNING
|
||||
* These endpoints are being switched off gradually and are expected to be completely turned off by the end of 2024.
|
||||
* They may stop working at any point before then.
|
||||
* Please update your code as soon as possible to use the V5 APIs instead.
|
||||
*/
|
||||
export class UnifiedMarginClient extends BaseRestClient {
|
||||
getClientType() {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable max-len */
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import {
|
||||
APIResponseV3,
|
||||
@@ -133,7 +134,10 @@ export class USDCPerpetualClient extends BaseRestClient {
|
||||
);
|
||||
}
|
||||
|
||||
/** Active order parameters (such as quantity, price) and stop order parameters cannot be modified in one request at the same time. Please request modification separately. */
|
||||
/**
|
||||
* Active order parameters (such as quantity, price) and stop order parameters cannot be modified in one request at the same time.
|
||||
* Please request modification separately.
|
||||
*/
|
||||
modifyOrder(params: USDCPerpModifyOrderRequest): Promise<APIResponseV3<any>> {
|
||||
return this.postPrivate(
|
||||
'/perpetual/usdc/openapi/private/v1/replace-order',
|
||||
|
||||
@@ -71,7 +71,7 @@ export default class WsStore {
|
||||
if (this.hasExistingActiveConnection(key)) {
|
||||
this.logger.warning(
|
||||
'WsStore setConnection() overwriting existing open connection: ',
|
||||
this.getWs(key)
|
||||
this.getWs(key),
|
||||
);
|
||||
}
|
||||
this.wsState[key] = {
|
||||
@@ -86,7 +86,7 @@ export default class WsStore {
|
||||
const ws = this.getWs(key);
|
||||
this.logger.warning(
|
||||
'WsStore deleting state for connection still open: ',
|
||||
ws
|
||||
ws,
|
||||
);
|
||||
ws?.close();
|
||||
}
|
||||
@@ -107,7 +107,7 @@ export default class WsStore {
|
||||
if (this.isWsOpen(key)) {
|
||||
this.logger.warning(
|
||||
'WsStore setConnection() overwriting existing open connection: ',
|
||||
this.getWs(key)
|
||||
this.getWs(key),
|
||||
);
|
||||
}
|
||||
this.get(key, true)!.ws = wsConnection;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export async function signMessage(
|
||||
message: string,
|
||||
secret: string
|
||||
secret: string,
|
||||
): Promise<string> {
|
||||
const encoder = new TextEncoder();
|
||||
// eslint-disable-next-line no-undef
|
||||
@@ -9,21 +9,21 @@ export async function signMessage(
|
||||
encoder.encode(secret),
|
||||
{ name: 'HMAC', hash: { name: 'SHA-256' } },
|
||||
false,
|
||||
['sign']
|
||||
['sign'],
|
||||
);
|
||||
|
||||
// eslint-disable-next-line no-undef
|
||||
const signature = await window.crypto.subtle.sign(
|
||||
'HMAC',
|
||||
key,
|
||||
encoder.encode(message)
|
||||
encoder.encode(message),
|
||||
);
|
||||
|
||||
return Array.prototype.map
|
||||
.call(
|
||||
new Uint8Array(signature),
|
||||
(x: { toString: (arg0: number) => string }) =>
|
||||
('00' + x.toString(16)).slice(-2)
|
||||
('00' + x.toString(16)).slice(-2),
|
||||
)
|
||||
.join('');
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { createHmac } from 'crypto';
|
||||
/** This is async because the browser version uses a promise (browser-support) */
|
||||
export async function signMessage(
|
||||
message: string,
|
||||
secret: string
|
||||
secret: string,
|
||||
): Promise<string> {
|
||||
return createHmac('sha256', secret).update(message).digest('hex');
|
||||
}
|
||||
|
||||
@@ -2,7 +2,12 @@
|
||||
* Use type guards to narrow down types with minimal efforts.
|
||||
*/
|
||||
|
||||
import { WSAccountOrderEventV5, WSExecutionEventV5, WSOrderbookEventV5, WSPositionEventV5 } from '../types/websocket.events';
|
||||
import {
|
||||
WSAccountOrderEventV5,
|
||||
WSExecutionEventV5,
|
||||
WSOrderbookEventV5,
|
||||
WSPositionEventV5,
|
||||
} from '../types/websocket.events';
|
||||
|
||||
/**
|
||||
* Type guard to detect a V5 orderbook event (delta & snapshots)
|
||||
@@ -30,7 +35,7 @@ export function isWsOrderbookEventV5(
|
||||
|
||||
/**
|
||||
* Type guard to detect a V5 position event.
|
||||
*
|
||||
*
|
||||
* @param event
|
||||
* @returns
|
||||
*/
|
||||
@@ -86,4 +91,4 @@ export function isWsExecutionEventV5(
|
||||
}
|
||||
|
||||
return event['topic'] === 'execution';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,18 +4,12 @@
|
||||
import { EventEmitter } from 'events';
|
||||
import WebSocket from 'isomorphic-ws';
|
||||
|
||||
import { ContractClient } from './contract-client';
|
||||
import { InverseClient } from './inverse-client';
|
||||
import { LinearClient } from './linear-client';
|
||||
import { SpotClientV3 } from './spot-client-v3';
|
||||
import { RestClientV5 } from './rest-client-v5';
|
||||
import { SpotClient } from './spot-client';
|
||||
import { USDCOptionClient } from './usdc-option-client';
|
||||
import { USDCPerpetualClient } from './usdc-perpetual-client';
|
||||
import { UnifiedMarginClient } from './unified-margin-client';
|
||||
import { ContractClient } from './contract-client';
|
||||
|
||||
import { signMessage } from './util/node-support';
|
||||
import WsStore from './util/WsStore';
|
||||
|
||||
import { SpotClientV3 } from './spot-client-v3';
|
||||
import {
|
||||
APIMarket,
|
||||
CategoryV5,
|
||||
@@ -26,7 +20,10 @@ import {
|
||||
WsKey,
|
||||
WsTopic,
|
||||
} from './types';
|
||||
|
||||
import { WebsocketTopicSubscriptionConfirmationEvent } from './types/ws-events/topic-subscription-confirmation';
|
||||
import { UnifiedMarginClient } from './unified-margin-client';
|
||||
import { USDCOptionClient } from './usdc-option-client';
|
||||
import { USDCPerpetualClient } from './usdc-perpetual-client';
|
||||
import {
|
||||
DefaultLogger,
|
||||
PUBLIC_WS_KEYS,
|
||||
@@ -44,8 +41,8 @@ import {
|
||||
safeTerminateWs,
|
||||
serializeParams,
|
||||
} from './util';
|
||||
import { RestClientV5 } from './rest-client-v5';
|
||||
import { WebsocketTopicSubscriptionConfirmationEvent } from './types/ws-events/topic-subscription-confirmation';
|
||||
import { signMessage } from './util/node-support';
|
||||
import WsStore from './util/WsStore';
|
||||
|
||||
const loggerCategory = { category: 'bybit-ws' };
|
||||
|
||||
|
||||
Reference in New Issue
Block a user