bybit-api 2.4.0-beta.2 → 3.0.1
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 +62 -43
- package/lib/inverse-client.d.ts +18 -126
- package/lib/inverse-client.js.map +1 -1
- package/lib/linear-client.d.ts +20 -142
- package/lib/linear-client.js.map +1 -1
- package/lib/spot-client-v3.d.ts +2 -6
- package/lib/spot-client-v3.js.map +1 -1
- package/lib/spot-client.js +1 -1
- package/lib/spot-client.js.map +1 -1
- package/lib/types/request/index.d.ts +2 -1
- package/lib/types/request/index.js +2 -1
- package/lib/types/request/index.js.map +1 -1
- package/lib/types/request/inverse.d.ts +120 -0
- package/lib/types/request/{usdt-perp.js → inverse.js} +1 -1
- package/lib/types/request/inverse.js.map +1 -0
- package/lib/types/request/linear.d.ts +160 -0
- package/lib/types/request/linear.js +3 -0
- package/lib/types/request/linear.js.map +1 -0
- package/lib/types/request/spot.d.ts +5 -0
- package/lib/types/shared.d.ts +2 -1
- package/lib/types/websockets.d.ts +1 -1
- package/lib/util/BaseRestClient.d.ts +4 -8
- package/lib/util/BaseRestClient.js +16 -23
- package/lib/util/BaseRestClient.js.map +1 -1
- package/lib/util/WsStore.d.ts +1 -1
- package/lib/util/requestUtils.d.ts +8 -4
- package/lib/util/requestUtils.js +9 -6
- package/lib/util/requestUtils.js.map +1 -1
- package/lib/util/websocket-util.d.ts +5 -1
- package/lib/util/websocket-util.js +65 -0
- package/lib/util/websocket-util.js.map +1 -1
- package/lib/websocket-client.d.ts +12 -5
- package/lib/websocket-client.js +76 -34
- package/lib/websocket-client.js.map +1 -1
- package/package.json +2 -2
- package/lib/types/request/usdt-perp.d.ts +0 -20
- package/lib/types/request/usdt-perp.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spot-client-v3.js","sourceRoot":"","sources":["../src/spot-client-v3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"spot-client-v3.js","sourceRoot":"","sources":["../src/spot-client-v3.ts"],"names":[],"mappings":"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"}
|
package/lib/spot-client.js
CHANGED
|
@@ -81,7 +81,7 @@ class SpotClient extends BaseRestClient_1.default {
|
|
|
81
81
|
* Account Data Endpoints
|
|
82
82
|
*/
|
|
83
83
|
submitOrder(params) {
|
|
84
|
-
return this.postPrivate('/spot/v1/order',
|
|
84
|
+
return this.postPrivate('/spot/v1/order', params);
|
|
85
85
|
}
|
|
86
86
|
getOrder(params) {
|
|
87
87
|
return this.getPrivate('/spot/v1/order', params);
|
package/lib/spot-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spot-client.js","sourceRoot":"","sources":["../src/spot-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAWA,2EAAmD;AACnD,
|
|
1
|
+
{"version":3,"file":"spot-client.js","sourceRoot":"","sources":["../src/spot-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export * from './account-asset';
|
|
2
2
|
export * from './copy-trading';
|
|
3
|
+
export * from './linear';
|
|
4
|
+
export * from './inverse';
|
|
3
5
|
export * from './spot';
|
|
4
|
-
export * from './usdt-perp';
|
|
5
6
|
export * from './usdc-perp';
|
|
6
7
|
export * from './usdc-options';
|
|
7
8
|
export * from './usdc-shared';
|
|
@@ -12,8 +12,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./account-asset"), exports);
|
|
14
14
|
__exportStar(require("./copy-trading"), exports);
|
|
15
|
+
__exportStar(require("./linear"), exports);
|
|
16
|
+
__exportStar(require("./inverse"), exports);
|
|
15
17
|
__exportStar(require("./spot"), exports);
|
|
16
|
-
__exportStar(require("./usdt-perp"), exports);
|
|
17
18
|
__exportStar(require("./usdc-perp"), exports);
|
|
18
19
|
__exportStar(require("./usdc-options"), exports);
|
|
19
20
|
__exportStar(require("./usdc-shared"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/request/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,yCAAuB;AACvB,8CAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/request/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAChC,iDAA+B;AAC/B,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAC9B,mDAAiC"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export interface InverseOrderRequest {
|
|
2
|
+
side: string;
|
|
3
|
+
symbol: string;
|
|
4
|
+
order_type: string;
|
|
5
|
+
qty: number;
|
|
6
|
+
price?: number;
|
|
7
|
+
time_in_force: string;
|
|
8
|
+
take_profit?: number;
|
|
9
|
+
stop_loss?: number;
|
|
10
|
+
reduce_only?: boolean;
|
|
11
|
+
tp_trigger_by?: 'LastPrice' | 'MarkPrice' | 'IndexPrice';
|
|
12
|
+
sl_trigger_by?: 'LastPrice' | 'MarkPrice' | 'IndexPrice';
|
|
13
|
+
close_on_trigger?: boolean;
|
|
14
|
+
order_link_id?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface InverseActiveOrdersRequest {
|
|
17
|
+
symbol: string;
|
|
18
|
+
order_status?: string;
|
|
19
|
+
direction?: string;
|
|
20
|
+
limit?: number;
|
|
21
|
+
cursor?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface InverseCancelOrderRequest {
|
|
24
|
+
symbol: string;
|
|
25
|
+
order_id?: string;
|
|
26
|
+
order_link_id?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface InverseReplaceOrderRequest {
|
|
29
|
+
order_id?: string;
|
|
30
|
+
order_link_id?: string;
|
|
31
|
+
symbol: string;
|
|
32
|
+
p_r_qty?: number;
|
|
33
|
+
p_r_price?: string;
|
|
34
|
+
take_profit?: number;
|
|
35
|
+
stop_loss?: number;
|
|
36
|
+
tp_trigger_by?: string;
|
|
37
|
+
sl_trigger_by?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface InverseGetOrderRequest {
|
|
40
|
+
order_id?: string;
|
|
41
|
+
order_link_id?: string;
|
|
42
|
+
symbol: string;
|
|
43
|
+
}
|
|
44
|
+
export interface InverseConditionalOrderRequest {
|
|
45
|
+
side: string;
|
|
46
|
+
symbol: string;
|
|
47
|
+
order_type: string;
|
|
48
|
+
qty: string;
|
|
49
|
+
price?: string;
|
|
50
|
+
base_price: string;
|
|
51
|
+
stop_px: string;
|
|
52
|
+
time_in_force: string;
|
|
53
|
+
trigger_by?: string;
|
|
54
|
+
close_on_trigger?: boolean;
|
|
55
|
+
order_link_id?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface InverseActiveConditionalOrderRequest {
|
|
58
|
+
symbol: string;
|
|
59
|
+
stop_order_status?: string;
|
|
60
|
+
direction?: string;
|
|
61
|
+
limit?: number;
|
|
62
|
+
cursor?: string;
|
|
63
|
+
}
|
|
64
|
+
export interface InverseCancelConditionalOrderRequest {
|
|
65
|
+
symbol: string;
|
|
66
|
+
stop_order_id?: string;
|
|
67
|
+
order_link_id?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface InverseReplaceConditionalOrderRequest {
|
|
70
|
+
stop_order_id?: string;
|
|
71
|
+
order_link_id?: string;
|
|
72
|
+
symbol: string;
|
|
73
|
+
p_r_qty?: number;
|
|
74
|
+
p_r_price?: string;
|
|
75
|
+
p_r_trigger_price?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface InverseChangePositionMarginRequest {
|
|
78
|
+
symbol: string;
|
|
79
|
+
margin: string;
|
|
80
|
+
}
|
|
81
|
+
export interface InverseSetTradingStopRequest {
|
|
82
|
+
symbol: string;
|
|
83
|
+
take_profit?: number;
|
|
84
|
+
stop_loss?: number;
|
|
85
|
+
trailing_stop?: number;
|
|
86
|
+
tp_trigger_by?: string;
|
|
87
|
+
sl_trigger_by?: string;
|
|
88
|
+
new_trailing_active?: number;
|
|
89
|
+
}
|
|
90
|
+
export interface InverseSetLeverageRequest {
|
|
91
|
+
symbol: string;
|
|
92
|
+
leverage: number;
|
|
93
|
+
leverage_only?: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface InverseGetTradeRecordsRequest {
|
|
96
|
+
order_id?: string;
|
|
97
|
+
symbol: string;
|
|
98
|
+
start_time?: number;
|
|
99
|
+
page?: number;
|
|
100
|
+
limit?: number;
|
|
101
|
+
order?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface InverseGetClosedPnlRequest {
|
|
104
|
+
symbol: string;
|
|
105
|
+
start_time?: number;
|
|
106
|
+
end_time?: number;
|
|
107
|
+
exec_type?: string;
|
|
108
|
+
page?: number;
|
|
109
|
+
limit?: number;
|
|
110
|
+
}
|
|
111
|
+
export interface InverseSetSlTpPositionModeRequest {
|
|
112
|
+
symbol: string;
|
|
113
|
+
tp_sl_mode: 'Full' | 'Partial';
|
|
114
|
+
}
|
|
115
|
+
export interface InverseSetMarginTypeRequest {
|
|
116
|
+
symbol: string;
|
|
117
|
+
is_isolated: boolean;
|
|
118
|
+
buy_leverage: number;
|
|
119
|
+
sell_leverage: number;
|
|
120
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inverse.js","sourceRoot":"","sources":["../../../src/types/request/inverse.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { LinearPositionIdx, linearPositionModeEnum, positionTpSlModeEnum } from '../../constants/enum';
|
|
2
|
+
import { OrderSide } from '../shared';
|
|
3
|
+
export interface LinearGetOrdersRequest {
|
|
4
|
+
order_id?: string;
|
|
5
|
+
order_link_id?: string;
|
|
6
|
+
symbol: string;
|
|
7
|
+
order?: string;
|
|
8
|
+
page?: number;
|
|
9
|
+
limit?: number;
|
|
10
|
+
order_status?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LinearCancelOrderRequest {
|
|
13
|
+
symbol: string;
|
|
14
|
+
order_id?: string;
|
|
15
|
+
order_link_id?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface LinearReplaceOrderRequest {
|
|
18
|
+
order_id?: string;
|
|
19
|
+
order_link_id?: string;
|
|
20
|
+
symbol: string;
|
|
21
|
+
p_r_qty?: number;
|
|
22
|
+
p_r_price?: number;
|
|
23
|
+
take_profit?: number;
|
|
24
|
+
stop_loss?: number;
|
|
25
|
+
tp_trigger_by?: string;
|
|
26
|
+
sl_trigger_by?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface LinearGetOrderRequest {
|
|
29
|
+
order_id?: string;
|
|
30
|
+
order_link_id?: string;
|
|
31
|
+
symbol: string;
|
|
32
|
+
}
|
|
33
|
+
export declare type LinearOrderType = 'Limit' | 'Market';
|
|
34
|
+
export declare type LinearTimeInForce = 'GoodTillCancel' | 'ImmediateOrCancel' | 'FillOrKill' | 'PostOnly';
|
|
35
|
+
export interface NewLinearOrder {
|
|
36
|
+
side: OrderSide;
|
|
37
|
+
symbol: string;
|
|
38
|
+
order_type: LinearOrderType;
|
|
39
|
+
qty: number;
|
|
40
|
+
price?: number;
|
|
41
|
+
time_in_force: LinearTimeInForce;
|
|
42
|
+
take_profit?: number;
|
|
43
|
+
stop_loss?: number;
|
|
44
|
+
tp_trigger_by?: string;
|
|
45
|
+
sl_trigger_by?: string;
|
|
46
|
+
reduce_only: boolean;
|
|
47
|
+
close_on_trigger: boolean;
|
|
48
|
+
order_link_id?: string;
|
|
49
|
+
position_idx?: LinearPositionIdx;
|
|
50
|
+
}
|
|
51
|
+
export interface LinearConditionalOrderRequest {
|
|
52
|
+
side: string;
|
|
53
|
+
symbol: string;
|
|
54
|
+
order_type: string;
|
|
55
|
+
qty: number;
|
|
56
|
+
price?: number;
|
|
57
|
+
base_price: number;
|
|
58
|
+
stop_px: number;
|
|
59
|
+
time_in_force: string;
|
|
60
|
+
trigger_by?: string;
|
|
61
|
+
close_on_trigger?: boolean;
|
|
62
|
+
order_link_id?: string;
|
|
63
|
+
reduce_only: boolean;
|
|
64
|
+
take_profit?: number;
|
|
65
|
+
stop_loss?: number;
|
|
66
|
+
tp_trigger_by?: string;
|
|
67
|
+
sl_trigger_by?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface LinearGetConditionalOrderRequest {
|
|
70
|
+
stop_order_id?: string;
|
|
71
|
+
order_link_id?: string;
|
|
72
|
+
symbol: string;
|
|
73
|
+
stop_order_status?: string;
|
|
74
|
+
order?: string;
|
|
75
|
+
page?: number;
|
|
76
|
+
limit?: number;
|
|
77
|
+
}
|
|
78
|
+
export interface LinearCancelConditionalOrderRequest {
|
|
79
|
+
symbol: string;
|
|
80
|
+
stop_order_id?: string;
|
|
81
|
+
order_link_id?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface LinearReplaceConditionalOrderRequest {
|
|
84
|
+
stop_order_id?: string;
|
|
85
|
+
order_link_id?: string;
|
|
86
|
+
symbol: string;
|
|
87
|
+
p_r_qty?: number;
|
|
88
|
+
p_r_price?: number;
|
|
89
|
+
p_r_trigger_price?: number;
|
|
90
|
+
take_profit?: number;
|
|
91
|
+
stop_loss?: number;
|
|
92
|
+
tp_trigger_by?: string;
|
|
93
|
+
sl_trigger_by?: string;
|
|
94
|
+
}
|
|
95
|
+
export interface LinearQueryConditionalOrderRequest {
|
|
96
|
+
symbol: string;
|
|
97
|
+
stop_order_id?: string;
|
|
98
|
+
order_link_id?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface LinearSetAutoAddMarginRequest {
|
|
101
|
+
symbol: string;
|
|
102
|
+
side: string;
|
|
103
|
+
auto_add_margin: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface LinearSetMarginSwitchRequest {
|
|
106
|
+
symbol: string;
|
|
107
|
+
is_isolated: boolean;
|
|
108
|
+
buy_leverage: number;
|
|
109
|
+
sell_leverage: number;
|
|
110
|
+
}
|
|
111
|
+
export interface LinearSetPositionModeRequest {
|
|
112
|
+
symbol: string;
|
|
113
|
+
mode: typeof linearPositionModeEnum[keyof typeof linearPositionModeEnum];
|
|
114
|
+
}
|
|
115
|
+
export interface LinearSetPositionTpSlModeRequest {
|
|
116
|
+
symbol: string;
|
|
117
|
+
tp_sl_mode: typeof positionTpSlModeEnum[keyof typeof positionTpSlModeEnum];
|
|
118
|
+
}
|
|
119
|
+
export interface LinearSetAddReduceMarginRequest {
|
|
120
|
+
symbol: string;
|
|
121
|
+
side: string;
|
|
122
|
+
margin: number;
|
|
123
|
+
}
|
|
124
|
+
export interface LinearSetUserLeverageRequest {
|
|
125
|
+
symbol: string;
|
|
126
|
+
buy_leverage: number;
|
|
127
|
+
sell_leverage: number;
|
|
128
|
+
}
|
|
129
|
+
export interface LinearSetTradingStopRequest {
|
|
130
|
+
symbol: string;
|
|
131
|
+
side: string;
|
|
132
|
+
take_profit?: number;
|
|
133
|
+
stop_loss?: number;
|
|
134
|
+
trailing_stop?: number;
|
|
135
|
+
tp_trigger_by?: string;
|
|
136
|
+
sl_trigger_by?: string;
|
|
137
|
+
sl_size?: number;
|
|
138
|
+
tp_size?: number;
|
|
139
|
+
}
|
|
140
|
+
export interface LinearGetTradeRecordsRequest {
|
|
141
|
+
symbol: string;
|
|
142
|
+
start_time?: number;
|
|
143
|
+
end_time?: number;
|
|
144
|
+
exec_type?: string;
|
|
145
|
+
page?: number;
|
|
146
|
+
limit?: number;
|
|
147
|
+
}
|
|
148
|
+
export interface LinearGetClosedPnlRequest {
|
|
149
|
+
symbol: string;
|
|
150
|
+
start_time?: number;
|
|
151
|
+
end_time?: number;
|
|
152
|
+
exec_type?: string;
|
|
153
|
+
page?: number;
|
|
154
|
+
limit?: number;
|
|
155
|
+
}
|
|
156
|
+
export interface LinearSetRiskLimitRequest {
|
|
157
|
+
symbol: string;
|
|
158
|
+
side: string;
|
|
159
|
+
risk_id: number;
|
|
160
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/types/request/linear.ts"],"names":[],"mappings":""}
|
|
@@ -21,6 +21,11 @@ export interface NewSpotOrderV3 {
|
|
|
21
21
|
orderCategory?: 0 | 1;
|
|
22
22
|
triggerPrice?: string;
|
|
23
23
|
}
|
|
24
|
+
export interface SpotCancelOrderBatchRequest {
|
|
25
|
+
symbol: string;
|
|
26
|
+
side?: OrderSide;
|
|
27
|
+
orderTypes: OrderTypeSpot[];
|
|
28
|
+
}
|
|
24
29
|
export interface SpotOrderQueryById {
|
|
25
30
|
orderId?: string;
|
|
26
31
|
orderLinkId?: string;
|
package/lib/types/shared.d.ts
CHANGED
|
@@ -2,9 +2,10 @@ import { InverseClient } from '../inverse-client';
|
|
|
2
2
|
import { LinearClient } from '../linear-client';
|
|
3
3
|
import { SpotClient } from '../spot-client';
|
|
4
4
|
import { SpotClientV3 } from '../spot-client-v3';
|
|
5
|
+
import { UnifiedMarginClient } from '../unified-margin-client';
|
|
5
6
|
import { USDCOptionClient } from '../usdc-option-client';
|
|
6
7
|
import { USDCPerpetualClient } from '../usdc-perpetual-client';
|
|
7
|
-
export declare type RESTClient = InverseClient | LinearClient | SpotClient | SpotClientV3 | USDCOptionClient | USDCPerpetualClient;
|
|
8
|
+
export declare type RESTClient = InverseClient | LinearClient | SpotClient | SpotClientV3 | USDCOptionClient | USDCPerpetualClient | UnifiedMarginClient;
|
|
8
9
|
export declare type numberInString = string;
|
|
9
10
|
export declare type OrderSide = 'Buy' | 'Sell';
|
|
10
11
|
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';
|
|
3
|
+
export declare type APIMarket = 'inverse' | 'linear' | 'spot' | 'spotv3' | 'usdcOption' | 'usdcPerp' | 'unifiedPerp' | 'unifiedOption';
|
|
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';
|
|
@@ -14,19 +14,15 @@ export default abstract class BaseRestClient {
|
|
|
14
14
|
/** Defines the client type (affecting how requests & signatures behave) */
|
|
15
15
|
abstract getClientType(): RestClientType;
|
|
16
16
|
/**
|
|
17
|
-
* Create an instance of the REST client
|
|
18
|
-
* @param {string} key - your API key
|
|
19
|
-
* @param {string} secret - your API secret
|
|
20
|
-
* @param {boolean} [useLivenet=false]
|
|
17
|
+
* Create an instance of the REST client. Pass API credentials in the object in the first parameter.
|
|
21
18
|
* @param {RestClientOptions} [restClientOptions={}] options to configure REST API connectivity
|
|
22
|
-
* @param {AxiosRequestConfig} [
|
|
19
|
+
* @param {AxiosRequestConfig} [networkOptions={}] HTTP networking options for axios
|
|
23
20
|
*/
|
|
24
|
-
constructor(
|
|
21
|
+
constructor(restOptions?: RestClientOptions, networkOptions?: AxiosRequestConfig);
|
|
25
22
|
private isSpotClient;
|
|
26
|
-
private isUSDCClient;
|
|
27
23
|
get(endpoint: string, params?: any): Promise<any>;
|
|
28
|
-
post(endpoint: string, params?: any): Promise<any>;
|
|
29
24
|
getPrivate(endpoint: string, params?: any): Promise<any>;
|
|
25
|
+
post(endpoint: string, params?: any): Promise<any>;
|
|
30
26
|
postPrivate(endpoint: string, params?: any): Promise<any>;
|
|
31
27
|
deletePrivate(endpoint: string, params?: any): Promise<any>;
|
|
32
28
|
private prepareSignParams;
|
|
@@ -17,15 +17,11 @@ const node_support_1 = require("./node-support");
|
|
|
17
17
|
const requestUtils_1 = require("./requestUtils");
|
|
18
18
|
class BaseRestClient {
|
|
19
19
|
/**
|
|
20
|
-
* Create an instance of the REST client
|
|
21
|
-
* @param {string} key - your API key
|
|
22
|
-
* @param {string} secret - your API secret
|
|
23
|
-
* @param {boolean} [useLivenet=false]
|
|
20
|
+
* Create an instance of the REST client. Pass API credentials in the object in the first parameter.
|
|
24
21
|
* @param {RestClientOptions} [restClientOptions={}] options to configure REST API connectivity
|
|
25
|
-
* @param {AxiosRequestConfig} [
|
|
22
|
+
* @param {AxiosRequestConfig} [networkOptions={}] HTTP networking options for axios
|
|
26
23
|
*/
|
|
27
|
-
constructor(
|
|
28
|
-
const baseUrl = requestUtils_1.getRestBaseUrl(useLivenet, options);
|
|
24
|
+
constructor(restOptions = {}, networkOptions = {}) {
|
|
29
25
|
this.timeOffset = null;
|
|
30
26
|
this.syncTimePromise = null;
|
|
31
27
|
this.clientType = this.getClientType();
|
|
@@ -35,38 +31,35 @@ class BaseRestClient {
|
|
|
35
31
|
/** Disable time sync by default */
|
|
36
32
|
enable_time_sync: false,
|
|
37
33
|
/** How often to sync time drift with bybit servers (if time sync is enabled) */
|
|
38
|
-
sync_interval_ms: 3600000 },
|
|
34
|
+
sync_interval_ms: 3600000 }, restOptions);
|
|
39
35
|
this.globalRequestOptions = Object.assign(Object.assign({
|
|
40
36
|
// in ms == 5 minutes by default
|
|
41
|
-
timeout: 1000 * 60 * 5 },
|
|
42
|
-
'x-referer': requestUtils_1.
|
|
37
|
+
timeout: 1000 * 60 * 5 }, networkOptions), { headers: {
|
|
38
|
+
'x-referer': requestUtils_1.APIID,
|
|
43
39
|
} });
|
|
44
|
-
this.baseUrl =
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
this.baseUrl = requestUtils_1.getRestBaseUrl(!!this.options.testnet, restOptions);
|
|
41
|
+
this.key = this.options.key;
|
|
42
|
+
this.secret = this.options.secret;
|
|
43
|
+
if (this.key && !this.secret) {
|
|
44
|
+
throw new Error('API Key & Secret are both required for private endpoints');
|
|
47
45
|
}
|
|
48
46
|
if (this.options.enable_time_sync) {
|
|
49
47
|
this.syncTime();
|
|
50
48
|
setInterval(this.syncTime.bind(this), +this.options.sync_interval_ms);
|
|
51
49
|
}
|
|
52
|
-
this.key = key;
|
|
53
|
-
this.secret = secret;
|
|
54
50
|
}
|
|
55
51
|
isSpotClient() {
|
|
56
52
|
return this.clientType === requestUtils_1.REST_CLIENT_TYPE_ENUM.spot;
|
|
57
53
|
}
|
|
58
|
-
isUSDCClient() {
|
|
59
|
-
return this.clientType === requestUtils_1.REST_CLIENT_TYPE_ENUM.v3;
|
|
60
|
-
}
|
|
61
54
|
get(endpoint, params) {
|
|
62
55
|
return this._call('GET', endpoint, params, true);
|
|
63
56
|
}
|
|
64
|
-
post(endpoint, params) {
|
|
65
|
-
return this._call('POST', endpoint, params, true);
|
|
66
|
-
}
|
|
67
57
|
getPrivate(endpoint, params) {
|
|
68
58
|
return this._call('GET', endpoint, params, false);
|
|
69
59
|
}
|
|
60
|
+
post(endpoint, params) {
|
|
61
|
+
return this._call('POST', endpoint, params, true);
|
|
62
|
+
}
|
|
70
63
|
postPrivate(endpoint, params) {
|
|
71
64
|
return this._call('POST', endpoint, params, false);
|
|
72
65
|
}
|
|
@@ -102,8 +95,8 @@ class BaseRestClient {
|
|
|
102
95
|
if (isPublicApi) {
|
|
103
96
|
return Object.assign(Object.assign({}, options), { params: params });
|
|
104
97
|
}
|
|
105
|
-
// USDC
|
|
106
|
-
if (this.
|
|
98
|
+
// USDC endpoints, unified margin and a few others use a different way of authenticating requests (headers instead of params)
|
|
99
|
+
if (this.clientType === requestUtils_1.REST_CLIENT_TYPE_ENUM.v3) {
|
|
107
100
|
if (!options.headers) {
|
|
108
101
|
options.headers = {};
|
|
109
102
|
}
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"BaseRestClient.js","sourceRoot":"","sources":["../../src/util/BaseRestClient.ts"],"names":[],"mappings":"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"}
|
package/lib/util/WsStore.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare enum WsConnectionStateEnum {
|
|
|
12
12
|
declare type WsTopic = string;
|
|
13
13
|
/**
|
|
14
14
|
* A "Set" is used to ensure we only subscribe to a topic once (tracking a list of unique topics we're expected to be connected to)
|
|
15
|
-
*
|
|
15
|
+
* Note: Accurate duplicate tracking only works for plaintext topics. E.g. JSON objects may not be seen as duplicates if keys are in different orders. If that's needed, check the FTX implementation.
|
|
16
16
|
*/
|
|
17
17
|
declare type WsTopicList = Set<WsTopic>;
|
|
18
18
|
interface WsStoredState {
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export interface RestClientOptions {
|
|
2
|
+
/** Your API key */
|
|
3
|
+
key?: string;
|
|
4
|
+
/** Your API secret */
|
|
5
|
+
secret?: string;
|
|
6
|
+
/** Set to `true` to connect to testnet. Uses the live environment by default. */
|
|
7
|
+
testnet?: boolean;
|
|
2
8
|
/** Override the max size of the request window (in ms) */
|
|
3
9
|
recv_window?: number;
|
|
4
|
-
/** @deprecated Time sync is now disabled by default. To re-enable it, use enable_time_sync instead. */
|
|
5
|
-
disable_time_sync?: boolean;
|
|
6
10
|
/** Disabled by default. This can help on machines with consistent latency problems. */
|
|
7
11
|
enable_time_sync?: boolean;
|
|
8
12
|
/** How often to sync time drift with bybit servers */
|
|
@@ -18,9 +22,9 @@ export interface RestClientOptions {
|
|
|
18
22
|
parse_exceptions?: boolean;
|
|
19
23
|
}
|
|
20
24
|
export declare function serializeParams(params?: object, strict_validation?: boolean): string;
|
|
21
|
-
export declare function getRestBaseUrl(
|
|
25
|
+
export declare function getRestBaseUrl(useTestnet: boolean, restInverseOptions: RestClientOptions): string;
|
|
22
26
|
export declare function isWsPong(msg: any): boolean;
|
|
23
|
-
export declare const
|
|
27
|
+
export declare const APIID = "bybitapinode";
|
|
24
28
|
/**
|
|
25
29
|
* Used to switch how authentication/requests work under the hood (primarily for SPOT since it's different there)
|
|
26
30
|
*/
|
package/lib/util/requestUtils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REST_CLIENT_TYPE_ENUM = exports.
|
|
3
|
+
exports.REST_CLIENT_TYPE_ENUM = exports.APIID = exports.isWsPong = exports.getRestBaseUrl = exports.serializeParams = void 0;
|
|
4
4
|
function serializeParams(params = {}, strict_validation = false) {
|
|
5
5
|
return Object.keys(params)
|
|
6
6
|
.sort()
|
|
@@ -14,7 +14,7 @@ function serializeParams(params = {}, strict_validation = false) {
|
|
|
14
14
|
.join('&');
|
|
15
15
|
}
|
|
16
16
|
exports.serializeParams = serializeParams;
|
|
17
|
-
function getRestBaseUrl(
|
|
17
|
+
function getRestBaseUrl(useTestnet, restInverseOptions) {
|
|
18
18
|
const exchangeBaseUrls = {
|
|
19
19
|
livenet: 'https://api.bybit.com',
|
|
20
20
|
testnet: 'https://api-testnet.bybit.com',
|
|
@@ -22,10 +22,10 @@ function getRestBaseUrl(useLivenet, restInverseOptions) {
|
|
|
22
22
|
if (restInverseOptions.baseUrl) {
|
|
23
23
|
return restInverseOptions.baseUrl;
|
|
24
24
|
}
|
|
25
|
-
if (
|
|
26
|
-
return exchangeBaseUrls.
|
|
25
|
+
if (useTestnet) {
|
|
26
|
+
return exchangeBaseUrls.testnet;
|
|
27
27
|
}
|
|
28
|
-
return exchangeBaseUrls.
|
|
28
|
+
return exchangeBaseUrls.livenet;
|
|
29
29
|
}
|
|
30
30
|
exports.getRestBaseUrl = getRestBaseUrl;
|
|
31
31
|
function isWsPong(msg) {
|
|
@@ -38,13 +38,16 @@ function isWsPong(msg) {
|
|
|
38
38
|
if (msg['op'] === 'pong') {
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
|
+
if (msg['ret_msg'] === 'pong') {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
41
44
|
return (msg.request &&
|
|
42
45
|
msg.request.op === 'ping' &&
|
|
43
46
|
msg.ret_msg === 'pong' &&
|
|
44
47
|
msg.success === true);
|
|
45
48
|
}
|
|
46
49
|
exports.isWsPong = isWsPong;
|
|
47
|
-
exports.
|
|
50
|
+
exports.APIID = 'bybitapinode';
|
|
48
51
|
/**
|
|
49
52
|
* Used to switch how authentication/requests work under the hood (primarily for SPOT since it's different there)
|
|
50
53
|
*/
|
|
@@ -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":";;;AAgCA,SAAgB,eAAe,CAC7B,SAAiB,EAAE,EACnB,iBAAiB,GAAG,KAAK;IAEzB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,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;AAhBD,0CAgBC;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"}
|