@solncebro/exchange-engine 0.1.1 → 0.2.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/CHANGELOG.md +42 -0
- package/README.md +7 -7
- package/dist/auth/binanceAuth.js +3 -6
- package/dist/auth/binanceAuth.js.map +1 -1
- package/dist/auth/bybitAuth.d.ts +0 -1
- package/dist/auth/bybitAuth.d.ts.map +1 -1
- package/dist/auth/bybitAuth.js +2 -9
- package/dist/auth/bybitAuth.js.map +1 -1
- package/dist/constants/binance.d.ts +8 -5
- package/dist/constants/binance.d.ts.map +1 -1
- package/dist/constants/binance.js +10 -23
- package/dist/constants/binance.js.map +1 -1
- package/dist/constants/bybit.d.ts +7 -9
- package/dist/constants/bybit.d.ts.map +1 -1
- package/dist/constants/bybit.js +10 -13
- package/dist/constants/bybit.js.map +1 -1
- package/dist/constants/mappings.d.ts +9 -0
- package/dist/constants/mappings.d.ts.map +1 -0
- package/dist/constants/mappings.js +40 -0
- package/dist/constants/mappings.js.map +1 -0
- package/dist/exchanges/BaseExchangeClient.d.ts +37 -0
- package/dist/exchanges/BaseExchangeClient.d.ts.map +1 -0
- package/dist/exchanges/BaseExchangeClient.js +91 -0
- package/dist/exchanges/BaseExchangeClient.js.map +1 -0
- package/dist/exchanges/BinanceBaseClient.d.ts +21 -0
- package/dist/exchanges/BinanceBaseClient.d.ts.map +1 -0
- package/dist/exchanges/BinanceBaseClient.js +64 -0
- package/dist/exchanges/BinanceBaseClient.js.map +1 -0
- package/dist/exchanges/BinanceFutures.d.ts +9 -21
- package/dist/exchanges/BinanceFutures.d.ts.map +1 -1
- package/dist/exchanges/BinanceFutures.js +23 -94
- package/dist/exchanges/BinanceFutures.js.map +1 -1
- package/dist/exchanges/BinanceSpot.d.ts +9 -21
- package/dist/exchanges/BinanceSpot.d.ts.map +1 -1
- package/dist/exchanges/BinanceSpot.js +16 -94
- package/dist/exchanges/BinanceSpot.js.map +1 -1
- package/dist/exchanges/BybitLinear.d.ts +19 -20
- package/dist/exchanges/BybitLinear.d.ts.map +1 -1
- package/dist/exchanges/BybitLinear.js +66 -71
- package/dist/exchanges/BybitLinear.js.map +1 -1
- package/dist/exchanges/BybitSpot.d.ts +17 -19
- package/dist/exchanges/BybitSpot.d.ts.map +1 -1
- package/dist/exchanges/BybitSpot.js +42 -64
- package/dist/exchanges/BybitSpot.js.map +1 -1
- package/dist/exchanges/Exchange.d.ts +1 -1
- package/dist/exchanges/Exchange.d.ts.map +1 -1
- package/dist/exchanges/Exchange.js +3 -2
- package/dist/exchanges/Exchange.js.map +1 -1
- package/dist/http/BaseHttpClient.d.ts +10 -1
- package/dist/http/BaseHttpClient.d.ts.map +1 -1
- package/dist/http/BaseHttpClient.js +27 -5
- package/dist/http/BaseHttpClient.js.map +1 -1
- package/dist/http/BinanceBaseHttpClient.d.ts +49 -0
- package/dist/http/BinanceBaseHttpClient.d.ts.map +1 -0
- package/dist/http/BinanceBaseHttpClient.js +86 -0
- package/dist/http/BinanceBaseHttpClient.js.map +1 -0
- package/dist/http/BinanceFuturesHttpClient.d.ts +11 -40
- package/dist/http/BinanceFuturesHttpClient.d.ts.map +1 -1
- package/dist/http/BinanceFuturesHttpClient.js +38 -185
- package/dist/http/BinanceFuturesHttpClient.js.map +1 -1
- package/dist/http/BinanceSpotHttpClient.d.ts +5 -24
- package/dist/http/BinanceSpotHttpClient.d.ts.map +1 -1
- package/dist/http/BinanceSpotHttpClient.js +15 -90
- package/dist/http/BinanceSpotHttpClient.js.map +1 -1
- package/dist/http/BybitHttpClient.d.ts +82 -134
- package/dist/http/BybitHttpClient.d.ts.map +1 -1
- package/dist/http/BybitHttpClient.js +61 -94
- package/dist/http/BybitHttpClient.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/normalizers/binanceNormalizer.d.ts +29 -19
- package/dist/normalizers/binanceNormalizer.d.ts.map +1 -1
- package/dist/normalizers/binanceNormalizer.js +55 -35
- package/dist/normalizers/binanceNormalizer.js.map +1 -1
- package/dist/normalizers/bybitNormalizer.d.ts +25 -19
- package/dist/normalizers/bybitNormalizer.d.ts.map +1 -1
- package/dist/normalizers/bybitNormalizer.js +60 -45
- package/dist/normalizers/bybitNormalizer.js.map +1 -1
- package/dist/precision/precision.d.ts +3 -3
- package/dist/precision/precision.d.ts.map +1 -1
- package/dist/precision/precision.js +4 -4
- package/dist/precision/precision.js.map +1 -1
- package/dist/types/common.d.ts +57 -22
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js +40 -0
- package/dist/types/common.js.map +1 -1
- package/dist/types/exchange.d.ts +14 -8
- package/dist/types/exchange.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/stream.d.ts +9 -0
- package/dist/types/stream.d.ts.map +1 -0
- package/dist/types/stream.js +3 -0
- package/dist/types/stream.js.map +1 -0
- package/dist/utils/crypto.d.ts +2 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +11 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/httpParams.d.ts +3 -0
- package/dist/utils/httpParams.d.ts.map +1 -0
- package/dist/utils/httpParams.js +15 -0
- package/dist/utils/httpParams.js.map +1 -0
- package/dist/utils/klineLoader.d.ts +10 -0
- package/dist/utils/klineLoader.d.ts.map +1 -0
- package/dist/utils/klineLoader.js +19 -0
- package/dist/utils/klineLoader.js.map +1 -0
- package/dist/ws/BinanceFuturesPublicStream.d.ts +8 -7
- package/dist/ws/BinanceFuturesPublicStream.d.ts.map +1 -1
- package/dist/ws/BinanceFuturesPublicStream.js +49 -79
- package/dist/ws/BinanceFuturesPublicStream.js.map +1 -1
- package/dist/ws/BinanceSpotPublicStream.d.ts +7 -5
- package/dist/ws/BinanceSpotPublicStream.d.ts.map +1 -1
- package/dist/ws/BinanceSpotPublicStream.js +24 -31
- package/dist/ws/BinanceSpotPublicStream.js.map +1 -1
- package/dist/ws/BinanceUserDataStream.d.ts +3 -3
- package/dist/ws/BinanceUserDataStream.d.ts.map +1 -1
- package/dist/ws/BinanceUserDataStream.js +10 -10
- package/dist/ws/BinanceUserDataStream.js.map +1 -1
- package/dist/ws/BybitPrivateStream.d.ts +1 -1
- package/dist/ws/BybitPrivateStream.d.ts.map +1 -1
- package/dist/ws/BybitPrivateStream.js +12 -29
- package/dist/ws/BybitPrivateStream.js.map +1 -1
- package/dist/ws/BybitPublicStream.d.ts +5 -4
- package/dist/ws/BybitPublicStream.d.ts.map +1 -1
- package/dist/ws/BybitPublicStream.js +18 -24
- package/dist/ws/BybitPublicStream.js.map +1 -1
- package/dist/ws/BybitTradeStream.d.ts +4 -2
- package/dist/ws/BybitTradeStream.d.ts.map +1 -1
- package/dist/ws/BybitTradeStream.js +32 -44
- package/dist/ws/BybitTradeStream.js.map +1 -1
- package/dist/ws/binanceWebSocketUtils.d.ts +4 -0
- package/dist/ws/binanceWebSocketUtils.d.ts.map +1 -0
- package/dist/ws/binanceWebSocketUtils.js +7 -0
- package/dist/ws/binanceWebSocketUtils.js.map +1 -0
- package/dist/ws/bybitWebSocketUtils.d.ts +28 -0
- package/dist/ws/bybitWebSocketUtils.d.ts.map +1 -0
- package/dist/ws/bybitWebSocketUtils.js +29 -0
- package/dist/ws/bybitWebSocketUtils.js.map +1 -0
- package/package.json +21 -3
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BybitHttpClient = void 0;
|
|
4
4
|
const bybitAuth_1 = require("../auth/bybitAuth");
|
|
5
|
+
const httpParams_1 = require("../utils/httpParams");
|
|
5
6
|
const bybit_1 = require("../constants/bybit");
|
|
6
7
|
const BaseHttpClient_1 = require("./BaseHttpClient");
|
|
7
8
|
class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
8
9
|
secret;
|
|
9
|
-
constructor(
|
|
10
|
-
super(
|
|
11
|
-
this.secret = secret;
|
|
10
|
+
constructor(args) {
|
|
11
|
+
super({ baseUrl: args.baseUrl, apiKey: args.apiKey, logger: args.logger, timeout: bybit_1.BYBIT_REQUEST_TIMEOUT });
|
|
12
|
+
this.secret = args.secret;
|
|
12
13
|
}
|
|
13
14
|
buildAuthHeaders(payload) {
|
|
14
15
|
return (0, bybitAuth_1.buildBybitAuthHeaders)({
|
|
@@ -20,62 +21,50 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
20
21
|
}
|
|
21
22
|
toQueryString(params) {
|
|
22
23
|
const urlParams = new URLSearchParams();
|
|
23
|
-
for (const [
|
|
24
|
-
urlParams.append(
|
|
24
|
+
for (const [key, value] of Object.entries(params)) {
|
|
25
|
+
urlParams.append(key, String(value));
|
|
25
26
|
}
|
|
26
27
|
return urlParams.toString();
|
|
27
28
|
}
|
|
29
|
+
authenticatedGet(path, params) {
|
|
30
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
31
|
+
return this.get(path, params, headers);
|
|
32
|
+
}
|
|
33
|
+
authenticatedPost(path, body) {
|
|
34
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
35
|
+
return this.post(path, body, headers);
|
|
36
|
+
}
|
|
28
37
|
async fetchInstrumentsInfo(category, options) {
|
|
29
38
|
const params = { category };
|
|
30
39
|
if (options?.symbol !== undefined) {
|
|
31
40
|
params.symbol = options.symbol;
|
|
32
41
|
}
|
|
33
|
-
|
|
34
|
-
return this.get('/v5/market/instruments-info', params, headers);
|
|
42
|
+
return this.authenticatedGet('/v5/market/instruments-info', params);
|
|
35
43
|
}
|
|
36
44
|
async fetchTickers(category, options) {
|
|
37
45
|
const params = { category };
|
|
38
46
|
if (options?.symbol !== undefined) {
|
|
39
47
|
params.symbol = options.symbol;
|
|
40
48
|
}
|
|
41
|
-
|
|
42
|
-
return this.get('/v5/market/tickers', params, headers);
|
|
49
|
+
return this.authenticatedGet('/v5/market/tickers', params);
|
|
43
50
|
}
|
|
44
51
|
async fetchOrderBook(category, symbol, limit) {
|
|
45
52
|
const params = { category, symbol };
|
|
46
53
|
if (limit !== undefined) {
|
|
47
54
|
params.limit = limit;
|
|
48
55
|
}
|
|
49
|
-
|
|
50
|
-
return this.get('/v5/market/orderbook', params, headers);
|
|
56
|
+
return this.authenticatedGet('/v5/market/orderbook', params);
|
|
51
57
|
}
|
|
52
|
-
async fetchKline(
|
|
58
|
+
async fetchKline(args) {
|
|
59
|
+
const { category, symbol, interval, options } = args;
|
|
53
60
|
const params = { category, symbol, interval };
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
if (options?.endTime !== undefined) {
|
|
58
|
-
params.endTime = options.endTime;
|
|
59
|
-
}
|
|
60
|
-
if (options?.limit !== undefined) {
|
|
61
|
-
params.limit = options.limit;
|
|
62
|
-
}
|
|
63
|
-
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
64
|
-
return this.get('/v5/market/kline', params, headers);
|
|
61
|
+
(0, httpParams_1.applyTimeRangeOptions)(params, options);
|
|
62
|
+
return this.authenticatedGet('/v5/market/kline', params);
|
|
65
63
|
}
|
|
66
64
|
async fetchFundingHistory(category, symbol, options) {
|
|
67
65
|
const params = { category, symbol };
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
if (options?.endTime !== undefined) {
|
|
72
|
-
params.endTime = options.endTime;
|
|
73
|
-
}
|
|
74
|
-
if (options?.limit !== undefined) {
|
|
75
|
-
params.limit = options.limit;
|
|
76
|
-
}
|
|
77
|
-
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
78
|
-
return this.get('/v5/market/funding/history', params, headers);
|
|
66
|
+
(0, httpParams_1.applyTimeRangeOptions)(params, options);
|
|
67
|
+
return this.authenticatedGet('/v5/market/funding/history', params);
|
|
79
68
|
}
|
|
80
69
|
async fetchOpenInterest(category, symbol, options) {
|
|
81
70
|
const params = { category, symbol };
|
|
@@ -85,39 +74,34 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
85
74
|
if (options?.limit !== undefined) {
|
|
86
75
|
params.limit = options.limit;
|
|
87
76
|
}
|
|
88
|
-
|
|
89
|
-
return this.get('/v5/market/open-interest', params, headers);
|
|
77
|
+
return this.authenticatedGet('/v5/market/open-interest', params);
|
|
90
78
|
}
|
|
91
79
|
async fetchRecentTrades(category, symbol, limit) {
|
|
92
80
|
const params = { category, symbol };
|
|
93
81
|
if (limit !== undefined) {
|
|
94
82
|
params.limit = limit;
|
|
95
83
|
}
|
|
96
|
-
|
|
97
|
-
return this.get('/v5/market/recent-trade', params, headers);
|
|
84
|
+
return this.authenticatedGet('/v5/market/recent-trade', params);
|
|
98
85
|
}
|
|
99
86
|
async createOrder(params) {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
87
|
+
const response = await this.authenticatedPost('/v5/order/create', params);
|
|
88
|
+
if (response.retCode !== 0) {
|
|
89
|
+
throw new Error(`Bybit API error ${response.retCode}: ${response.retMsg}`);
|
|
90
|
+
}
|
|
91
|
+
return response;
|
|
103
92
|
}
|
|
104
93
|
async amendOrder(params) {
|
|
105
|
-
|
|
106
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
107
|
-
return this.post('/v5/order/amend', body, headers);
|
|
94
|
+
return this.authenticatedPost('/v5/order/amend', params);
|
|
108
95
|
}
|
|
109
96
|
async cancelOrder(params) {
|
|
110
|
-
|
|
111
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
112
|
-
return this.post('/v5/order/cancel', body, headers);
|
|
97
|
+
return this.authenticatedPost('/v5/order/cancel', params);
|
|
113
98
|
}
|
|
114
99
|
async cancelAllOrders(category, symbol) {
|
|
115
100
|
const body = { category };
|
|
116
101
|
if (symbol !== undefined) {
|
|
117
102
|
body.symbol = symbol;
|
|
118
103
|
}
|
|
119
|
-
|
|
120
|
-
return this.post('/v5/order/cancel-all', body, headers);
|
|
104
|
+
return this.authenticatedPost('/v5/order/cancel-all', body);
|
|
121
105
|
}
|
|
122
106
|
async getOpenOrders(category, options) {
|
|
123
107
|
const params = { category };
|
|
@@ -127,8 +111,7 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
127
111
|
if (options?.limit !== undefined) {
|
|
128
112
|
params.limit = options.limit;
|
|
129
113
|
}
|
|
130
|
-
|
|
131
|
-
return this.get('/v5/order/realtime', params, headers);
|
|
114
|
+
return this.authenticatedGet('/v5/order/realtime', params);
|
|
132
115
|
}
|
|
133
116
|
async getOrderHistory(category, options) {
|
|
134
117
|
const params = { category };
|
|
@@ -138,18 +121,13 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
138
121
|
if (options?.limit !== undefined) {
|
|
139
122
|
params.limit = options.limit;
|
|
140
123
|
}
|
|
141
|
-
|
|
142
|
-
return this.get('/v5/order/history', params, headers);
|
|
124
|
+
return this.authenticatedGet('/v5/order/history', params);
|
|
143
125
|
}
|
|
144
126
|
async createBatchOrders(category, requestList) {
|
|
145
|
-
|
|
146
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
147
|
-
return this.post('/v5/order/create-batch', body, headers);
|
|
127
|
+
return this.authenticatedPost('/v5/order/create-batch', { category, request: requestList });
|
|
148
128
|
}
|
|
149
129
|
async cancelBatchOrders(category, requestList) {
|
|
150
|
-
|
|
151
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
152
|
-
return this.post('/v5/order/cancel-batch', body, headers);
|
|
130
|
+
return this.authenticatedPost('/v5/order/cancel-batch', { category, request: requestList });
|
|
153
131
|
}
|
|
154
132
|
async getPositionList(category, options) {
|
|
155
133
|
const params = { category };
|
|
@@ -159,29 +137,27 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
159
137
|
if (options?.limit !== undefined) {
|
|
160
138
|
params.limit = options.limit;
|
|
161
139
|
}
|
|
162
|
-
|
|
163
|
-
return this.get('/v5/position/list', params, headers);
|
|
140
|
+
return this.authenticatedGet('/v5/position/list', params);
|
|
164
141
|
}
|
|
165
|
-
async setLeverage(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
142
|
+
async setLeverage(args) {
|
|
143
|
+
return this.authenticatedPost('/v5/position/set-leverage', {
|
|
144
|
+
category: args.category,
|
|
145
|
+
symbol: args.symbol,
|
|
146
|
+
buyLeverage: String(args.buyLeverage),
|
|
147
|
+
sellLeverage: String(args.sellLeverage),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
async switchIsolated(args) {
|
|
151
|
+
return this.authenticatedPost('/v5/position/switch-isolated', {
|
|
152
|
+
category: args.category,
|
|
153
|
+
symbol: args.symbol,
|
|
154
|
+
tradeMode: args.tradeMode,
|
|
155
|
+
buyLeverage: String(args.buyLeverage),
|
|
156
|
+
sellLeverage: String(args.sellLeverage),
|
|
157
|
+
});
|
|
180
158
|
}
|
|
181
159
|
async setTradingStop(params) {
|
|
182
|
-
|
|
183
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
184
|
-
return this.post('/v5/position/trading-stop', body, headers);
|
|
160
|
+
return this.authenticatedPost('/v5/position/trading-stop', params);
|
|
185
161
|
}
|
|
186
162
|
async getClosedPnl(category, options) {
|
|
187
163
|
const params = { category };
|
|
@@ -191,31 +167,23 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
191
167
|
if (options?.limit !== undefined) {
|
|
192
168
|
params.limit = options.limit;
|
|
193
169
|
}
|
|
194
|
-
|
|
195
|
-
return this.get('/v5/position/closed-pnl', params, headers);
|
|
170
|
+
return this.authenticatedGet('/v5/position/closed-pnl', params);
|
|
196
171
|
}
|
|
197
172
|
async fetchWalletBalance(accountType) {
|
|
198
|
-
|
|
199
|
-
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
200
|
-
return this.get('/v5/account/wallet-balance', params, headers);
|
|
173
|
+
return this.authenticatedGet('/v5/account/wallet-balance', { accountType });
|
|
201
174
|
}
|
|
202
175
|
async fetchAccountInfo() {
|
|
203
|
-
|
|
204
|
-
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
205
|
-
return this.get('/v5/account/info', params, headers);
|
|
176
|
+
return this.authenticatedGet('/v5/account/info', {});
|
|
206
177
|
}
|
|
207
178
|
async fetchFeeRate(category, options) {
|
|
208
179
|
const params = { category };
|
|
209
180
|
if (options?.symbol !== undefined) {
|
|
210
181
|
params.symbol = options.symbol;
|
|
211
182
|
}
|
|
212
|
-
|
|
213
|
-
return this.get('/v5/account/fee-rate', params, headers);
|
|
183
|
+
return this.authenticatedGet('/v5/account/fee-rate', params);
|
|
214
184
|
}
|
|
215
185
|
async setMarginMode(mode) {
|
|
216
|
-
|
|
217
|
-
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
218
|
-
return this.post('/v5/account/set-margin-mode', body, headers);
|
|
186
|
+
return this.authenticatedPost('/v5/account/set-margin-mode', { setMarginMode: mode });
|
|
219
187
|
}
|
|
220
188
|
async fetchTransactionLog(options) {
|
|
221
189
|
const params = {};
|
|
@@ -225,8 +193,7 @@ class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
|
225
193
|
if (options?.limit !== undefined) {
|
|
226
194
|
params.limit = options.limit;
|
|
227
195
|
}
|
|
228
|
-
|
|
229
|
-
return this.get('/v5/account/transaction-log', params, headers);
|
|
196
|
+
return this.authenticatedGet('/v5/account/transaction-log', params);
|
|
230
197
|
}
|
|
231
198
|
}
|
|
232
199
|
exports.BybitHttpClient = BybitHttpClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BybitHttpClient.js","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"BybitHttpClient.js","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Exchange } from './exchanges/Exchange';
|
|
2
|
-
export type { ExchangeClient, ExchangeArgs,
|
|
3
|
-
export
|
|
2
|
+
export type { ExchangeClient, ExchangeArgs, CreateOrderWebSocketArgs, FetchPageWithLimitArgs, SubscribeKlinesArgs, KlineHandler, } from './types/exchange';
|
|
3
|
+
export { ExchangeName, OrderSide, OrderType, MarginMode, PositionSide, TradeSymbolType, TimeInForce, } from './types/common';
|
|
4
|
+
export type { KlineInterval, ExchangeConfig, ExchangeLogger, Ticker, TickerBySymbol, Kline, TradeSymbol, TradeSymbolBySymbol, TradeSymbolFilter, Position, Order, Balance, BalanceByAsset, FundingRateHistory, } from './types/common';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,EACN,cAAc,EACd,KAAK,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Exchange = void 0;
|
|
3
|
+
exports.TimeInForce = exports.TradeSymbolType = exports.PositionSide = exports.MarginMode = exports.OrderType = exports.OrderSide = exports.ExchangeName = exports.Exchange = void 0;
|
|
4
4
|
var Exchange_1 = require("./exchanges/Exchange");
|
|
5
5
|
Object.defineProperty(exports, "Exchange", { enumerable: true, get: function () { return Exchange_1.Exchange; } });
|
|
6
|
+
var common_1 = require("./types/common");
|
|
7
|
+
Object.defineProperty(exports, "ExchangeName", { enumerable: true, get: function () { return common_1.ExchangeName; } });
|
|
8
|
+
Object.defineProperty(exports, "OrderSide", { enumerable: true, get: function () { return common_1.OrderSide; } });
|
|
9
|
+
Object.defineProperty(exports, "OrderType", { enumerable: true, get: function () { return common_1.OrderType; } });
|
|
10
|
+
Object.defineProperty(exports, "MarginMode", { enumerable: true, get: function () { return common_1.MarginMode; } });
|
|
11
|
+
Object.defineProperty(exports, "PositionSide", { enumerable: true, get: function () { return common_1.PositionSide; } });
|
|
12
|
+
Object.defineProperty(exports, "TradeSymbolType", { enumerable: true, get: function () { return common_1.TradeSymbolType; } });
|
|
13
|
+
Object.defineProperty(exports, "TimeInForce", { enumerable: true, get: function () { return common_1.TimeInForce; } });
|
|
6
14
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAWjB,yCAQwB;AAPtB,sGAAA,YAAY,OAAA;AACZ,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,oGAAA,UAAU,OAAA;AACV,sGAAA,YAAY,OAAA;AACZ,yGAAA,eAAe,OAAA;AACf,qGAAA,WAAW,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TickerBySymbol, Kline,
|
|
2
|
-
interface
|
|
1
|
+
import type { TickerBySymbol, Kline, TradeSymbolBySymbol, Position, Order, BalanceByAsset, FundingRateHistory } from '../types/common';
|
|
2
|
+
interface BinanceFilterRaw {
|
|
3
3
|
filterType: string;
|
|
4
4
|
tickSize?: string;
|
|
5
5
|
stepSize?: string;
|
|
@@ -8,25 +8,25 @@ interface BinanceRawFilter {
|
|
|
8
8
|
minNotional?: string;
|
|
9
9
|
notional?: string;
|
|
10
10
|
}
|
|
11
|
-
interface
|
|
11
|
+
interface BinanceSymbolRaw {
|
|
12
12
|
symbol: string;
|
|
13
13
|
status: string;
|
|
14
14
|
baseAsset: string;
|
|
15
15
|
quoteAsset: string;
|
|
16
16
|
contractType?: string;
|
|
17
17
|
marginAsset?: string;
|
|
18
|
-
filters:
|
|
18
|
+
filters: BinanceFilterRaw[];
|
|
19
19
|
}
|
|
20
|
-
export interface
|
|
21
|
-
symbols:
|
|
20
|
+
export interface BinanceExchangeInfoRaw {
|
|
21
|
+
symbols: BinanceSymbolRaw[];
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
23
|
+
export interface BinanceTicker24hrRaw {
|
|
24
24
|
symbol: string;
|
|
25
25
|
lastPrice: string;
|
|
26
26
|
priceChangePercent: string;
|
|
27
27
|
time: number;
|
|
28
28
|
}
|
|
29
|
-
export interface
|
|
29
|
+
export interface BinanceWebSocketKlineRaw {
|
|
30
30
|
t: number;
|
|
31
31
|
o: string;
|
|
32
32
|
h: string;
|
|
@@ -36,8 +36,10 @@ export interface BinanceRawWsKline {
|
|
|
36
36
|
T: number;
|
|
37
37
|
q: string;
|
|
38
38
|
n: number;
|
|
39
|
+
V: string;
|
|
40
|
+
Q: string;
|
|
39
41
|
}
|
|
40
|
-
export interface
|
|
42
|
+
export interface BinancePositionRiskRaw {
|
|
41
43
|
symbol: string;
|
|
42
44
|
positionSide: string;
|
|
43
45
|
positionAmt: string;
|
|
@@ -49,8 +51,9 @@ export interface BinanceRawPositionRisk {
|
|
|
49
51
|
liquidationPrice: string;
|
|
50
52
|
notional: string;
|
|
51
53
|
isolatedMargin: string;
|
|
54
|
+
[key: string]: unknown;
|
|
52
55
|
}
|
|
53
|
-
export interface
|
|
56
|
+
export interface BinanceOrderResponseRaw {
|
|
54
57
|
orderId: number;
|
|
55
58
|
symbol: string;
|
|
56
59
|
side: string;
|
|
@@ -60,20 +63,27 @@ export interface BinanceRawOrderResponse {
|
|
|
60
63
|
status: string;
|
|
61
64
|
updateTime: number;
|
|
62
65
|
}
|
|
63
|
-
interface
|
|
66
|
+
interface BinanceBalanceRaw {
|
|
64
67
|
asset: string;
|
|
65
68
|
free: string;
|
|
66
69
|
locked: string;
|
|
67
70
|
}
|
|
68
|
-
export interface
|
|
69
|
-
balances:
|
|
71
|
+
export interface BinanceAccountRaw {
|
|
72
|
+
balances: BinanceBalanceRaw[];
|
|
70
73
|
}
|
|
71
|
-
export declare function
|
|
72
|
-
export declare function normalizeBinanceTickers(rawList:
|
|
74
|
+
export declare function normalizeBinanceTradeSymbols(raw: BinanceExchangeInfoRaw): TradeSymbolBySymbol;
|
|
75
|
+
export declare function normalizeBinanceTickers(rawList: BinanceTicker24hrRaw[]): TickerBySymbol;
|
|
73
76
|
export declare function normalizeBinanceKlines(rawList: unknown[][]): Kline[];
|
|
74
|
-
export declare function
|
|
75
|
-
export declare function normalizeBinancePosition(raw:
|
|
76
|
-
export declare function normalizeBinanceOrder(raw:
|
|
77
|
-
export declare function normalizeBinanceBalance(raw:
|
|
77
|
+
export declare function normalizeBinanceKlineWebSocketMessage(raw: BinanceWebSocketKlineRaw): Kline;
|
|
78
|
+
export declare function normalizeBinancePosition(raw: BinancePositionRiskRaw): Position;
|
|
79
|
+
export declare function normalizeBinanceOrder(raw: BinanceOrderResponseRaw): Order;
|
|
80
|
+
export declare function normalizeBinanceBalance(raw: BinanceAccountRaw): BalanceByAsset;
|
|
81
|
+
export interface BinanceFundingRateHistoryRaw {
|
|
82
|
+
symbol: string;
|
|
83
|
+
fundingRate: string;
|
|
84
|
+
fundingTime: number;
|
|
85
|
+
markPrice: string;
|
|
86
|
+
}
|
|
87
|
+
export declare function normalizeBinanceFundingRateHistory(rawList: BinanceFundingRateHistoryRaw[]): FundingRateHistory[];
|
|
78
88
|
export {};
|
|
79
89
|
//# sourceMappingURL=binanceNormalizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binanceNormalizer.d.ts","sourceRoot":"","sources":["../../src/normalizers/binanceNormalizer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"binanceNormalizer.d.ts","sourceRoot":"","sources":["../../src/normalizers/binanceNormalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.normalizeBinanceTradeSymbols = normalizeBinanceTradeSymbols;
|
|
4
4
|
exports.normalizeBinanceTickers = normalizeBinanceTickers;
|
|
5
5
|
exports.normalizeBinanceKlines = normalizeBinanceKlines;
|
|
6
|
-
exports.
|
|
6
|
+
exports.normalizeBinanceKlineWebSocketMessage = normalizeBinanceKlineWebSocketMessage;
|
|
7
7
|
exports.normalizeBinancePosition = normalizeBinancePosition;
|
|
8
8
|
exports.normalizeBinanceOrder = normalizeBinanceOrder;
|
|
9
9
|
exports.normalizeBinanceBalance = normalizeBinanceBalance;
|
|
10
|
+
exports.normalizeBinanceFundingRateHistory = normalizeBinanceFundingRateHistory;
|
|
11
|
+
const common_1 = require("../types/common");
|
|
12
|
+
const mappings_1 = require("../constants/mappings");
|
|
10
13
|
function extractFilter(filterList, filterType) {
|
|
11
|
-
return filterList.find((
|
|
14
|
+
return filterList.find((filter) => filter.filterType === filterType);
|
|
12
15
|
}
|
|
13
|
-
function
|
|
16
|
+
function normalizeBinanceTradeSymbols(raw) {
|
|
14
17
|
const result = new Map();
|
|
15
18
|
for (const symbol of raw.symbols) {
|
|
16
19
|
const priceFilter = extractFilter(symbol.filters, 'PRICE_FILTER');
|
|
@@ -19,23 +22,33 @@ function normalizeBinanceMarkets(raw) {
|
|
|
19
22
|
extractFilter(symbol.filters, 'NOTIONAL');
|
|
20
23
|
const isPerp = symbol.contractType === 'PERPETUAL';
|
|
21
24
|
const isSpot = symbol.contractType === undefined || symbol.contractType === '';
|
|
22
|
-
|
|
25
|
+
let tradeSymbolType = common_1.TradeSymbolType.Future;
|
|
26
|
+
if (isPerp) {
|
|
27
|
+
tradeSymbolType = common_1.TradeSymbolType.Swap;
|
|
28
|
+
}
|
|
29
|
+
else if (isSpot) {
|
|
30
|
+
tradeSymbolType = common_1.TradeSymbolType.Spot;
|
|
31
|
+
}
|
|
32
|
+
const tradeSymbol = {
|
|
23
33
|
symbol: symbol.symbol,
|
|
24
34
|
baseAsset: symbol.baseAsset,
|
|
25
35
|
quoteAsset: symbol.quoteAsset,
|
|
26
36
|
settle: isPerp ? 'USDT' : '',
|
|
27
|
-
|
|
28
|
-
type:
|
|
29
|
-
|
|
37
|
+
isActive: symbol.status === 'TRADING',
|
|
38
|
+
type: tradeSymbolType,
|
|
39
|
+
isLinear: isPerp,
|
|
30
40
|
contractSize: 1,
|
|
31
41
|
filter: {
|
|
32
42
|
tickSize: priceFilter?.tickSize ?? '0',
|
|
33
43
|
stepSize: lotSizeFilter?.stepSize ?? '0',
|
|
34
44
|
minQty: lotSizeFilter?.minQty ?? '0',
|
|
35
45
|
maxQty: lotSizeFilter?.maxQty ?? '0',
|
|
46
|
+
minNotional: minNotionalFilter?.notional
|
|
47
|
+
?? minNotionalFilter?.minNotional
|
|
48
|
+
?? '0',
|
|
36
49
|
},
|
|
37
50
|
};
|
|
38
|
-
result.set(symbol.symbol,
|
|
51
|
+
result.set(symbol.symbol, tradeSymbol);
|
|
39
52
|
}
|
|
40
53
|
return result;
|
|
41
54
|
}
|
|
@@ -54,38 +67,37 @@ function normalizeBinanceTickers(rawList) {
|
|
|
54
67
|
}
|
|
55
68
|
function normalizeBinanceKlines(rawList) {
|
|
56
69
|
return rawList.map((row) => ({
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
openTimestamp: row[0],
|
|
71
|
+
openPrice: parseFloat(row[1]),
|
|
72
|
+
highPrice: parseFloat(row[2]),
|
|
73
|
+
lowPrice: parseFloat(row[3]),
|
|
74
|
+
closePrice: parseFloat(row[4]),
|
|
62
75
|
volume: parseFloat(row[5]),
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
76
|
+
closeTimestamp: row[6],
|
|
77
|
+
quoteAssetVolume: parseFloat(row[7]),
|
|
78
|
+
numberOfTrades: row[8],
|
|
79
|
+
takerBuyBaseAssetVolume: parseFloat(row[9]),
|
|
80
|
+
takerBuyQuoteAssetVolume: parseFloat(row[10]),
|
|
66
81
|
}));
|
|
67
82
|
}
|
|
68
|
-
function
|
|
83
|
+
function normalizeBinanceKlineWebSocketMessage(raw) {
|
|
69
84
|
return {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
openTimestamp: raw.t,
|
|
86
|
+
openPrice: parseFloat(raw.o),
|
|
87
|
+
highPrice: parseFloat(raw.h),
|
|
88
|
+
lowPrice: parseFloat(raw.l),
|
|
89
|
+
closePrice: parseFloat(raw.c),
|
|
75
90
|
volume: parseFloat(raw.v),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
91
|
+
closeTimestamp: raw.T,
|
|
92
|
+
quoteAssetVolume: parseFloat(raw.q),
|
|
93
|
+
numberOfTrades: raw.n,
|
|
94
|
+
takerBuyBaseAssetVolume: parseFloat(raw.V),
|
|
95
|
+
takerBuyQuoteAssetVolume: parseFloat(raw.Q),
|
|
79
96
|
};
|
|
80
97
|
}
|
|
81
98
|
function normalizeBinancePosition(raw) {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
SHORT: 'short',
|
|
85
|
-
BOTH: 'both',
|
|
86
|
-
};
|
|
87
|
-
const side = sideMap[raw.positionSide] ?? 'both';
|
|
88
|
-
const marginMode = raw.marginType === 'ISOLATED' ? 'isolated' : 'cross';
|
|
99
|
+
const side = mappings_1.BINANCE_POSITION_SIDE[raw.positionSide] ?? common_1.PositionSide.Both;
|
|
100
|
+
const marginMode = raw.marginType === 'ISOLATED' ? common_1.MarginMode.Isolated : common_1.MarginMode.Cross;
|
|
89
101
|
const liquidationPriceRaw = parseFloat(raw.liquidationPrice);
|
|
90
102
|
return {
|
|
91
103
|
symbol: raw.symbol,
|
|
@@ -104,8 +116,8 @@ function normalizeBinanceOrder(raw) {
|
|
|
104
116
|
return {
|
|
105
117
|
id: String(raw.orderId),
|
|
106
118
|
symbol: raw.symbol,
|
|
107
|
-
side: raw.side
|
|
108
|
-
type: raw.type
|
|
119
|
+
side: mappings_1.BINANCE_ORDER_SIDE[raw.side],
|
|
120
|
+
type: mappings_1.BINANCE_ORDER_TYPE[raw.type],
|
|
109
121
|
amount: parseFloat(raw.origQty),
|
|
110
122
|
price: parseFloat(raw.price),
|
|
111
123
|
status: raw.status.toLowerCase(),
|
|
@@ -130,4 +142,12 @@ function normalizeBinanceBalance(raw) {
|
|
|
130
142
|
}
|
|
131
143
|
return result;
|
|
132
144
|
}
|
|
145
|
+
function normalizeBinanceFundingRateHistory(rawList) {
|
|
146
|
+
return rawList.map((raw) => ({
|
|
147
|
+
symbol: raw.symbol,
|
|
148
|
+
fundingRate: parseFloat(raw.fundingRate),
|
|
149
|
+
fundingTime: raw.fundingTime,
|
|
150
|
+
markPrice: raw.markPrice !== '' ? parseFloat(raw.markPrice) : null,
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
133
153
|
//# sourceMappingURL=binanceNormalizer.js.map
|