bybit-api 3.1.3 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/lib/constants/enum.d.ts +8 -0
- package/lib/constants/enum.js +8 -0
- package/lib/constants/enum.js.map +1 -1
- package/lib/contract-client.d.ts +118 -0
- package/lib/contract-client.js +233 -0
- package/lib/contract-client.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/types/request/contract.d.ts +115 -0
- package/lib/types/request/contract.js +3 -0
- package/lib/types/request/contract.js.map +1 -0
- package/lib/types/request/index.d.ts +1 -0
- package/lib/types/request/index.js +1 -0
- package/lib/types/request/index.js.map +1 -1
- package/lib/types/response/index.d.ts +1 -0
- package/lib/types/response/index.js +1 -0
- package/lib/types/response/index.js.map +1 -1
- package/lib/types/response/unified-margin.d.ts +65 -0
- package/lib/types/response/unified-margin.js +3 -0
- package/lib/types/response/unified-margin.js.map +1 -0
- package/lib/types/shared.d.ts +2 -1
- package/lib/types/websockets.d.ts +1 -1
- package/lib/unified-margin-client.d.ts +3 -3
- package/lib/unified-margin-client.js.map +1 -1
- package/lib/usdc-perpetual-client.js +1 -0
- package/lib/usdc-perpetual-client.js.map +1 -1
- package/lib/util/BaseRestClient.js +6 -3
- package/lib/util/BaseRestClient.js.map +1 -1
- package/lib/util/requestUtils.d.ts +8 -1
- package/lib/util/requestUtils.js +5 -2
- package/lib/util/requestUtils.js.map +1 -1
- package/lib/util/websocket-util.d.ts +4 -0
- package/lib/util/websocket-util.js +46 -1
- package/lib/util/websocket-util.js.map +1 -1
- package/lib/websocket-client.d.ts +6 -1
- package/lib/websocket-client.js +77 -19
- package/lib/websocket-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export interface UMPaginatedResult<List = any> {
|
|
2
|
+
nextPageCursor: string;
|
|
3
|
+
category: string;
|
|
4
|
+
list: List[];
|
|
5
|
+
}
|
|
6
|
+
export interface UMLeverageFilter {
|
|
7
|
+
minLeverage: string;
|
|
8
|
+
maxLeverage: string;
|
|
9
|
+
leverageStep: string;
|
|
10
|
+
}
|
|
11
|
+
export interface UMPriceFilter {
|
|
12
|
+
minPrice: string;
|
|
13
|
+
maxPrice: string;
|
|
14
|
+
tickSize: string;
|
|
15
|
+
}
|
|
16
|
+
export interface UMLotSizeFilter {
|
|
17
|
+
maxTradingQty: string;
|
|
18
|
+
minTradingQty: string;
|
|
19
|
+
qtyStep: string;
|
|
20
|
+
}
|
|
21
|
+
export interface UMInstrumentInfo {
|
|
22
|
+
symbol: string;
|
|
23
|
+
contractType: string;
|
|
24
|
+
status: string;
|
|
25
|
+
baseCoin: string;
|
|
26
|
+
quoteCoin: string;
|
|
27
|
+
launchTime: string;
|
|
28
|
+
deliveryTime: string;
|
|
29
|
+
deliveryFeeRate: string;
|
|
30
|
+
priceScale: string;
|
|
31
|
+
leverageFilter: UMLeverageFilter;
|
|
32
|
+
priceFilter: UMPriceFilter;
|
|
33
|
+
lotSizeFilter: UMLotSizeFilter;
|
|
34
|
+
}
|
|
35
|
+
export interface UMHistoricOrder {
|
|
36
|
+
symbol: string;
|
|
37
|
+
orderType: string;
|
|
38
|
+
orderLinkId: string;
|
|
39
|
+
orderId: string;
|
|
40
|
+
stopOrderType: string;
|
|
41
|
+
orderStatus: string;
|
|
42
|
+
takeProfit: string;
|
|
43
|
+
cumExecValue: string;
|
|
44
|
+
blockTradeId: string;
|
|
45
|
+
rejectReason: string;
|
|
46
|
+
price: string;
|
|
47
|
+
createdTime: number;
|
|
48
|
+
tpTriggerBy: string;
|
|
49
|
+
timeInForce: string;
|
|
50
|
+
basePrice: string;
|
|
51
|
+
leavesValue: string;
|
|
52
|
+
updatedTime: number;
|
|
53
|
+
side: string;
|
|
54
|
+
triggerPrice: string;
|
|
55
|
+
cumExecFee: string;
|
|
56
|
+
slTriggerBy: string;
|
|
57
|
+
leavesQty: string;
|
|
58
|
+
closeOnTrigger: boolean;
|
|
59
|
+
cumExecQty: string;
|
|
60
|
+
reduceOnly: boolean;
|
|
61
|
+
qty: string;
|
|
62
|
+
stopLoss: string;
|
|
63
|
+
triggerBy: string;
|
|
64
|
+
orderIM: string;
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-margin.js","sourceRoot":"","sources":["../../../src/types/response/unified-margin.ts"],"names":[],"mappings":""}
|
package/lib/types/shared.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ContractClient } from '../contract-client';
|
|
1
2
|
import { InverseClient } from '../inverse-client';
|
|
2
3
|
import { LinearClient } from '../linear-client';
|
|
3
4
|
import { SpotClient } from '../spot-client';
|
|
@@ -5,7 +6,7 @@ import { SpotClientV3 } from '../spot-client-v3';
|
|
|
5
6
|
import { UnifiedMarginClient } from '../unified-margin-client';
|
|
6
7
|
import { USDCOptionClient } from '../usdc-option-client';
|
|
7
8
|
import { USDCPerpetualClient } from '../usdc-perpetual-client';
|
|
8
|
-
export declare type RESTClient = InverseClient | LinearClient | SpotClient | SpotClientV3 | USDCOptionClient | USDCPerpetualClient | UnifiedMarginClient;
|
|
9
|
+
export declare type RESTClient = InverseClient | LinearClient | SpotClient | SpotClientV3 | USDCOptionClient | USDCPerpetualClient | UnifiedMarginClient | ContractClient;
|
|
9
10
|
export declare type numberInString = string;
|
|
10
11
|
export declare type OrderSide = 'Buy' | 'Sell';
|
|
11
12
|
export declare type KlineInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d' | '1w' | '1M';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RestClientOptions, WS_KEY_MAP } from '../util';
|
|
2
2
|
/** For spot markets, spotV3 is recommended */
|
|
3
|
-
export declare type APIMarket = 'inverse' | 'linear' | 'spot' | 'spotv3' | 'usdcOption' | 'usdcPerp' | 'unifiedPerp' | 'unifiedOption';
|
|
3
|
+
export declare type APIMarket = 'inverse' | 'linear' | 'spot' | 'spotv3' | 'usdcOption' | 'usdcPerp' | 'unifiedPerp' | 'unifiedOption' | 'contractUSDT' | 'contractInverse';
|
|
4
4
|
export declare type WsPublicInverseTopic = 'orderBookL2_25' | 'orderBookL2_200' | 'trade' | 'insurance' | 'instrument_info' | 'klineV2';
|
|
5
5
|
export declare type WsPublicUSDTPerpTopic = 'orderBookL2_25' | 'orderBookL2_200' | 'trade' | 'insurance' | 'instrument_info' | 'kline';
|
|
6
6
|
export declare type WsPublicSpotV1Topic = 'trade' | 'realtimes' | 'kline' | 'depth' | 'mergedDepth' | 'diffDepth';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { APIResponseWithTime, APIResponseV3, UMCategory, UMCandlesRequest, UMInstrumentInfoRequest, UMFundingRateHistoryRequest, UMOptionDeliveryPriceRequest, UMPublicTradesRequest, UMOpenInterestRequest, UMOrderRequest, UMModifyOrderRequest, UMCancelOrderRequest, UMActiveOrdersRequest, UMHistoricOrdersRequest, UMBatchOrder, UMBatchOrderReplace, UMBatchOrderCancel, UMCancelAllOrdersRequest, UMPositionsRequest, UMSetTPSLRequest, UM7DayTradingHistoryRequest, UMOptionsSettlementHistoryRequest, UMPerpSettlementHistoryRequest, UMTransactionLogRequest, InternalTransferRequest, UMExchangeCoinsRequest, UMBorrowHistoryRequest } from './types';
|
|
1
|
+
import { APIResponseWithTime, APIResponseV3, UMCategory, UMCandlesRequest, UMInstrumentInfoRequest, UMFundingRateHistoryRequest, UMOptionDeliveryPriceRequest, UMPublicTradesRequest, UMOpenInterestRequest, UMOrderRequest, UMModifyOrderRequest, UMCancelOrderRequest, UMActiveOrdersRequest, UMHistoricOrdersRequest, UMBatchOrder, UMBatchOrderReplace, UMBatchOrderCancel, UMCancelAllOrdersRequest, UMPositionsRequest, UMSetTPSLRequest, UM7DayTradingHistoryRequest, UMOptionsSettlementHistoryRequest, UMPerpSettlementHistoryRequest, UMTransactionLogRequest, InternalTransferRequest, UMExchangeCoinsRequest, UMBorrowHistoryRequest, UMPaginatedResult, UMHistoricOrder, UMInstrumentInfo } from './types';
|
|
2
2
|
import BaseRestClient from './util/BaseRestClient';
|
|
3
3
|
/**
|
|
4
4
|
* REST API client for Derivatives V3 unified margin APIs
|
|
@@ -18,7 +18,7 @@ export declare class UnifiedMarginClient extends BaseRestClient {
|
|
|
18
18
|
/** Get a symbol price/statistics ticker */
|
|
19
19
|
getSymbolTicker(category: UMCategory, symbol?: string): Promise<APIResponseV3<any>>;
|
|
20
20
|
/** Get trading rules per symbol/contract, incl price/amount/value/leverage filters */
|
|
21
|
-
getInstrumentInfo(params: UMInstrumentInfoRequest): Promise<APIResponseV3<
|
|
21
|
+
getInstrumentInfo(params: UMInstrumentInfoRequest): Promise<APIResponseV3<UMPaginatedResult<UMInstrumentInfo>>>;
|
|
22
22
|
/** Query mark price kline (like getCandles() but for mark price). */
|
|
23
23
|
getMarkPriceCandles(params: UMCandlesRequest): Promise<APIResponseV3<any>>;
|
|
24
24
|
/** Query Index Price Kline */
|
|
@@ -54,7 +54,7 @@ export declare class UnifiedMarginClient extends BaseRestClient {
|
|
|
54
54
|
/** Query Open Orders */
|
|
55
55
|
getActiveOrders(params: UMActiveOrdersRequest): Promise<APIResponseV3<any>>;
|
|
56
56
|
/** Query order history. As order creation/cancellation is asynchronous, the data returned from the interface may be delayed. To access order information in real-time, call getActiveOrders() */
|
|
57
|
-
getHistoricOrders(params: UMHistoricOrdersRequest): Promise<APIResponseV3<
|
|
57
|
+
getHistoricOrders(params: UMHistoricOrdersRequest): Promise<APIResponseV3<UMPaginatedResult<UMHistoricOrder>>>;
|
|
58
58
|
/**
|
|
59
59
|
* This API provides the batch order mode under the unified margin account.
|
|
60
60
|
* Max 10 per request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-margin-client.js","sourceRoot":"","sources":["../src/unified-margin-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"unified-margin-client.js","sourceRoot":"","sources":["../src/unified-margin-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ const BaseRestClient_1 = __importDefault(require("./util/BaseRestClient"));
|
|
|
20
20
|
*/
|
|
21
21
|
class USDCPerpetualClient extends BaseRestClient_1.default {
|
|
22
22
|
getClientType() {
|
|
23
|
+
// Follows the same authentication mechanism as other v3 APIs (e.g. USDC)
|
|
23
24
|
return util_1.REST_CLIENT_TYPE_ENUM.v3;
|
|
24
25
|
}
|
|
25
26
|
fetchServerTime() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usdc-perpetual-client.js","sourceRoot":"","sources":["../src/usdc-perpetual-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"usdc-perpetual-client.js","sourceRoot":"","sources":["../src/usdc-perpetual-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,9 @@ class BaseRestClient {
|
|
|
31
31
|
/** Disable time sync by default */
|
|
32
32
|
enable_time_sync: false,
|
|
33
33
|
/** How often to sync time drift with bybit servers (if time sync is enabled) */
|
|
34
|
-
sync_interval_ms: 3600000
|
|
34
|
+
sync_interval_ms: 3600000,
|
|
35
|
+
/** Request parameter values are now URI encoded by default during signing. Set to false to override this behaviour. */
|
|
36
|
+
encodeSerialisedValues: true }, restOptions);
|
|
35
37
|
this.globalRequestOptions = Object.assign(Object.assign({
|
|
36
38
|
// in ms == 5 minutes by default
|
|
37
39
|
timeout: 1000 * 60 * 5 }, networkOptions), { headers: {
|
|
@@ -183,13 +185,14 @@ class BaseRestClient {
|
|
|
183
185
|
const key = this.key;
|
|
184
186
|
const recvWindow = res.originalParams.recv_window || this.options.recv_window || 5000;
|
|
185
187
|
const strictParamValidation = this.options.strict_param_validation;
|
|
188
|
+
const encodeSerialisedValues = this.options.encodeSerialisedValues;
|
|
186
189
|
// In case the parent function needs it (e.g. USDC uses a header)
|
|
187
190
|
res.recvWindow = recvWindow;
|
|
188
191
|
// usdc is different for some reason
|
|
189
192
|
if (signMethod === 'usdc') {
|
|
190
193
|
const sortProperties = false;
|
|
191
194
|
const signRequestParams = method === 'GET'
|
|
192
|
-
? requestUtils_1.serializeParams(res.originalParams, strictParamValidation, sortProperties)
|
|
195
|
+
? requestUtils_1.serializeParams(res.originalParams, strictParamValidation, sortProperties, encodeSerialisedValues)
|
|
193
196
|
: JSON.stringify(res.originalParams);
|
|
194
197
|
const paramsStr = timestamp + key + recvWindow + signRequestParams;
|
|
195
198
|
res.sign = yield node_support_1.signMessage(paramsStr, this.secret);
|
|
@@ -210,7 +213,7 @@ class BaseRestClient {
|
|
|
210
213
|
}
|
|
211
214
|
}
|
|
212
215
|
const sortProperties = true;
|
|
213
|
-
res.serializedParams = requestUtils_1.serializeParams(res.originalParams, strictParamValidation, sortProperties);
|
|
216
|
+
res.serializedParams = requestUtils_1.serializeParams(res.originalParams, strictParamValidation, sortProperties, encodeSerialisedValues);
|
|
214
217
|
res.sign = yield node_support_1.signMessage(res.serializedParams, this.secret);
|
|
215
218
|
res.paramsWithSign = Object.assign(Object.assign({}, res.originalParams), { sign: res.sign });
|
|
216
219
|
return res;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRestClient.js","sourceRoot":"","sources":["../../src/util/BaseRestClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAAyE;AAEzE,iDAA6C;AAC7C,iDAOwB;AAoCxB,MAA8B,cAAc;IAgB1C;;;;OAIG;IACH,YACE,cAAiC,EAAE,EACnC,iBAAqC,EAAE;QAtBjC,eAAU,GAAkB,IAAI,CAAC;QACjC,oBAAe,GAAwB,IAAI,CAAC;QAuBlD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEvC,IAAI,CAAC,OAAO,mBACV,WAAW,EAAE,IAAI;YACjB,mDAAmD;YACnD,uBAAuB,EAAE,KAAK;YAC9B,mCAAmC;YACnC,gBAAgB,EAAE,KAAK;YACvB,gFAAgF;YAChF,gBAAgB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseRestClient.js","sourceRoot":"","sources":["../../src/util/BaseRestClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,12 @@ export interface RestClientOptions {
|
|
|
13
13
|
sync_interval_ms?: number | string;
|
|
14
14
|
/** Default: false. If true, we'll throw errors if any params are undefined */
|
|
15
15
|
strict_param_validation?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Default: true.
|
|
18
|
+
* If true, request parameters will be URI encoded during the signing process.
|
|
19
|
+
* New behaviour introduced in v3.2.1 to fix rare parameter-driven sign errors with unified margin cursors containing "%".
|
|
20
|
+
*/
|
|
21
|
+
encodeSerialisedValues?: boolean;
|
|
16
22
|
/**
|
|
17
23
|
* Optionally override API protocol + domain
|
|
18
24
|
* e.g baseUrl: 'https://api.bytick.com'
|
|
@@ -26,9 +32,10 @@ export interface RestClientOptions {
|
|
|
26
32
|
* @param params the object to serialise
|
|
27
33
|
* @param strict_validation throw if any properties are undefined
|
|
28
34
|
* @param sortProperties sort properties alphabetically before building a query string
|
|
35
|
+
* @param encodeSerialisedValues URL encode value before serialising
|
|
29
36
|
* @returns the params object as a serialised string key1=value1&key2=value2&etc
|
|
30
37
|
*/
|
|
31
|
-
export declare function serializeParams(params?: object, strict_validation?: boolean, sortProperties?: boolean): string;
|
|
38
|
+
export declare function serializeParams(params?: object, strict_validation?: boolean, sortProperties?: boolean, encodeSerialisedValues?: boolean): string;
|
|
32
39
|
export declare function getRestBaseUrl(useTestnet: boolean, restInverseOptions: RestClientOptions): string;
|
|
33
40
|
export declare function isWsPong(msg: any): boolean;
|
|
34
41
|
export declare const APIID = "bybitapinode";
|
package/lib/util/requestUtils.js
CHANGED
|
@@ -6,15 +6,18 @@ exports.REST_CLIENT_TYPE_ENUM = exports.APIID = exports.isWsPong = exports.getRe
|
|
|
6
6
|
* @param params the object to serialise
|
|
7
7
|
* @param strict_validation throw if any properties are undefined
|
|
8
8
|
* @param sortProperties sort properties alphabetically before building a query string
|
|
9
|
+
* @param encodeSerialisedValues URL encode value before serialising
|
|
9
10
|
* @returns the params object as a serialised string key1=value1&key2=value2&etc
|
|
10
11
|
*/
|
|
11
|
-
function serializeParams(params = {}, strict_validation = false, sortProperties = true) {
|
|
12
|
+
function serializeParams(params = {}, strict_validation = false, sortProperties = true, encodeSerialisedValues = true) {
|
|
12
13
|
const properties = sortProperties
|
|
13
14
|
? Object.keys(params).sort()
|
|
14
15
|
: Object.keys(params);
|
|
15
16
|
return properties
|
|
16
17
|
.map((key) => {
|
|
17
|
-
const value =
|
|
18
|
+
const value = encodeSerialisedValues
|
|
19
|
+
? encodeURI(params[key])
|
|
20
|
+
: params[key];
|
|
18
21
|
if (strict_validation === true && typeof value === 'undefined') {
|
|
19
22
|
throw new Error('Failed to sign API request due to undefined parameter');
|
|
20
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/util/requestUtils.ts"],"names":[],"mappings":";;;AAuCA;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,SAAiB,EAAE,EACnB,iBAAiB,GAAG,KAAK,EACzB,cAAc,GAAG,IAAI,EACrB,sBAAsB,GAAG,IAAI;IAE7B,MAAM,UAAU,GAAG,cAAc;QAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;QAC5B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,UAAU;SACd,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,sBAAsB;YAClC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI,iBAAiB,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;YAC9D,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;SACH;QACD,OAAO,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAxBD,0CAwBC;AAED,SAAgB,cAAc,CAC5B,UAAmB,EACnB,kBAAqC;IAErC,MAAM,gBAAgB,GAAG;QACvB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,+BAA+B;KACzC,CAAC;IAEF,IAAI,kBAAkB,CAAC,OAAO,EAAE;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC;KACnC;IAED,IAAI,UAAU,EAAE;QACd,OAAO,gBAAgB,CAAC,OAAO,CAAC;KACjC;IAED,OAAO,gBAAgB,CAAC,OAAO,CAAC;AAClC,CAAC;AAlBD,wCAkBC;AAED,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,KAAK,CAAC;KACd;IACD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM;QACzB,GAAG,CAAC,OAAO,KAAK,MAAM;QACtB,GAAG,CAAC,OAAO,KAAK,IAAI,CACrB,CAAC;AACJ,CAAC;AAtBD,4BAsBC;AAEY,QAAA,KAAK,GAAG,cAAc,CAAC;AAEpC;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC,YAAY,EAAE,cAAc;IAC5B,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;CACA,CAAC"}
|
|
@@ -23,6 +23,10 @@ export declare const WS_KEY_MAP: {
|
|
|
23
23
|
readonly unifiedOptionPublic: "unifiedOptionPublic";
|
|
24
24
|
readonly unifiedPerpUSDTPublic: "unifiedPerpUSDTPublic";
|
|
25
25
|
readonly unifiedPerpUSDCPublic: "unifiedPerpUSDCPublic";
|
|
26
|
+
readonly contractUSDTPublic: "contractUSDTPublic";
|
|
27
|
+
readonly contractUSDTPrivate: "contractUSDTPrivate";
|
|
28
|
+
readonly contractInversePublic: "contractInversePublic";
|
|
29
|
+
readonly contractInversePrivate: "contractInversePrivate";
|
|
26
30
|
};
|
|
27
31
|
export declare const WS_AUTH_ON_CONNECT_KEYS: WsKey[];
|
|
28
32
|
export declare const PUBLIC_WS_KEYS: string[];
|
|
@@ -110,6 +110,26 @@ exports.WS_BASE_URL_MAP = {
|
|
|
110
110
|
testnet: 'useUnifiedEndpoint',
|
|
111
111
|
},
|
|
112
112
|
},
|
|
113
|
+
contractUSDT: {
|
|
114
|
+
public: {
|
|
115
|
+
livenet: 'wss://stream.bybit.com/contract/usdt/public/v3',
|
|
116
|
+
testnet: 'wss://stream-testnet.bybit.com/contract/usdt/public/v3',
|
|
117
|
+
},
|
|
118
|
+
private: {
|
|
119
|
+
livenet: 'wss://stream.bybit.com/contract/private/v3',
|
|
120
|
+
testnet: 'wss://stream-testnet.bybit.com/contract/private/v3',
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
contractInverse: {
|
|
124
|
+
public: {
|
|
125
|
+
livenet: 'wss://stream.bybit.com/contract/inverse/public/v3',
|
|
126
|
+
testnet: 'wss://stream-testnet.bybit.com/contract/inverse/public/v3',
|
|
127
|
+
},
|
|
128
|
+
private: {
|
|
129
|
+
livenet: 'wss://stream.bybit.com/contract/private/v3',
|
|
130
|
+
testnet: 'wss://stream-testnet.bybit.com/contract/private/v3',
|
|
131
|
+
},
|
|
132
|
+
},
|
|
113
133
|
};
|
|
114
134
|
exports.WS_KEY_MAP = {
|
|
115
135
|
inverse: 'inverse',
|
|
@@ -127,12 +147,18 @@ exports.WS_KEY_MAP = {
|
|
|
127
147
|
unifiedOptionPublic: 'unifiedOptionPublic',
|
|
128
148
|
unifiedPerpUSDTPublic: 'unifiedPerpUSDTPublic',
|
|
129
149
|
unifiedPerpUSDCPublic: 'unifiedPerpUSDCPublic',
|
|
150
|
+
contractUSDTPublic: 'contractUSDTPublic',
|
|
151
|
+
contractUSDTPrivate: 'contractUSDTPrivate',
|
|
152
|
+
contractInversePublic: 'contractInversePublic',
|
|
153
|
+
contractInversePrivate: 'contractInversePrivate',
|
|
130
154
|
};
|
|
131
155
|
exports.WS_AUTH_ON_CONNECT_KEYS = [
|
|
132
156
|
exports.WS_KEY_MAP.spotV3Private,
|
|
133
157
|
exports.WS_KEY_MAP.usdcOptionPrivate,
|
|
134
158
|
exports.WS_KEY_MAP.usdcPerpPrivate,
|
|
135
159
|
exports.WS_KEY_MAP.unifiedPrivate,
|
|
160
|
+
exports.WS_KEY_MAP.contractUSDTPrivate,
|
|
161
|
+
exports.WS_KEY_MAP.contractInversePrivate,
|
|
136
162
|
];
|
|
137
163
|
exports.PUBLIC_WS_KEYS = [
|
|
138
164
|
exports.WS_KEY_MAP.linearPublic,
|
|
@@ -143,6 +169,8 @@ exports.PUBLIC_WS_KEYS = [
|
|
|
143
169
|
exports.WS_KEY_MAP.unifiedOptionPublic,
|
|
144
170
|
exports.WS_KEY_MAP.unifiedPerpUSDTPublic,
|
|
145
171
|
exports.WS_KEY_MAP.unifiedPerpUSDCPublic,
|
|
172
|
+
exports.WS_KEY_MAP.contractUSDTPublic,
|
|
173
|
+
exports.WS_KEY_MAP.contractInversePublic,
|
|
146
174
|
];
|
|
147
175
|
/** Used to automatically determine if a sub request should be to the public or private ws (when there's two) */
|
|
148
176
|
const PRIVATE_TOPICS = [
|
|
@@ -178,6 +206,11 @@ const PRIVATE_TOPICS = [
|
|
|
178
206
|
'user.order.unifiedAccount',
|
|
179
207
|
'user.wallet.unifiedAccount',
|
|
180
208
|
'user.greeks.unifiedAccount',
|
|
209
|
+
// contract v3
|
|
210
|
+
'user.position.contractAccount',
|
|
211
|
+
'user.execution.contractAccount',
|
|
212
|
+
'user.order.contractAccount',
|
|
213
|
+
'user.wallet.contractAccount',
|
|
181
214
|
];
|
|
182
215
|
function getWsKeyForTopic(market, topic, isPrivate) {
|
|
183
216
|
const isPrivateTopic = isPrivate === true || PRIVATE_TOPICS.includes(topic);
|
|
@@ -226,6 +259,16 @@ function getWsKeyForTopic(market, topic, isPrivate) {
|
|
|
226
259
|
}
|
|
227
260
|
throw new Error(`Failed to determine wskey for unified perps topic: "${topic}`);
|
|
228
261
|
}
|
|
262
|
+
case 'contractInverse': {
|
|
263
|
+
return isPrivateTopic
|
|
264
|
+
? exports.WS_KEY_MAP.contractInversePrivate
|
|
265
|
+
: exports.WS_KEY_MAP.contractInversePublic;
|
|
266
|
+
}
|
|
267
|
+
case 'contractUSDT': {
|
|
268
|
+
return isPrivateTopic
|
|
269
|
+
? exports.WS_KEY_MAP.contractUSDTPrivate
|
|
270
|
+
: exports.WS_KEY_MAP.contractUSDTPublic;
|
|
271
|
+
}
|
|
229
272
|
default: {
|
|
230
273
|
throw neverGuard(market, `getWsKeyForTopic(): Unhandled market`);
|
|
231
274
|
}
|
|
@@ -240,7 +283,9 @@ function getMaxTopicsPerSubscribeEvent(market) {
|
|
|
240
283
|
case 'usdcPerp':
|
|
241
284
|
case 'unifiedOption':
|
|
242
285
|
case 'unifiedPerp':
|
|
243
|
-
case 'spot':
|
|
286
|
+
case 'spot':
|
|
287
|
+
case 'contractInverse':
|
|
288
|
+
case 'contractUSDT': {
|
|
244
289
|
return null;
|
|
245
290
|
}
|
|
246
291
|
case 'spotv3': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../src/util/websocket-util.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"websocket-util.js","sourceRoot":"","sources":["../../src/util/websocket-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,9 +81,15 @@ export declare class WebsocketClient extends EventEmitter {
|
|
|
81
81
|
private getWsAuthSignature;
|
|
82
82
|
private reconnectWithDelay;
|
|
83
83
|
private ping;
|
|
84
|
+
/**
|
|
85
|
+
* Closes a connection, if it's even open. If open, this will trigger a reconnect asynchronously.
|
|
86
|
+
* If closed, trigger a reconnect immediately
|
|
87
|
+
*/
|
|
88
|
+
private executeReconnectableClose;
|
|
84
89
|
private clearTimers;
|
|
85
90
|
private clearPingTimer;
|
|
86
91
|
private clearPongTimer;
|
|
92
|
+
private clearReconnectTimer;
|
|
87
93
|
/**
|
|
88
94
|
* @private Use the `subscribe(topics)` method to subscribe to topics. Send WS message to subscribe to topics.
|
|
89
95
|
*/
|
|
@@ -96,7 +102,6 @@ export declare class WebsocketClient extends EventEmitter {
|
|
|
96
102
|
private connectToWsUrl;
|
|
97
103
|
private onWsOpen;
|
|
98
104
|
private onWsMessage;
|
|
99
|
-
private onWsError;
|
|
100
105
|
private onWsClose;
|
|
101
106
|
private getWs;
|
|
102
107
|
private setWsState;
|