@solncebro/exchange-engine 0.1.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 +54 -0
- package/LICENSE +21 -0
- package/README.md +390 -0
- package/dist/auth/binanceAuth.d.ts +9 -0
- package/dist/auth/binanceAuth.d.ts.map +1 -0
- package/dist/auth/binanceAuth.js +31 -0
- package/dist/auth/binanceAuth.js.map +1 -0
- package/dist/auth/bybitAuth.d.ts +10 -0
- package/dist/auth/bybitAuth.d.ts.map +1 -0
- package/dist/auth/bybitAuth.js +23 -0
- package/dist/auth/bybitAuth.js.map +1 -0
- package/dist/constants/binance.d.ts +9 -0
- package/dist/constants/binance.d.ts.map +1 -0
- package/dist/constants/binance.js +28 -0
- package/dist/constants/binance.js.map +1 -0
- package/dist/constants/bybit.d.ts +14 -0
- package/dist/constants/bybit.d.ts.map +1 -0
- package/dist/constants/bybit.js +33 -0
- package/dist/constants/bybit.js.map +1 -0
- package/dist/exchanges/BinanceFutures.d.ts +28 -0
- package/dist/exchanges/BinanceFutures.d.ts.map +1 -0
- package/dist/exchanges/BinanceFutures.js +125 -0
- package/dist/exchanges/BinanceFutures.js.map +1 -0
- package/dist/exchanges/BinanceSpot.d.ts +28 -0
- package/dist/exchanges/BinanceSpot.d.ts.map +1 -0
- package/dist/exchanges/BinanceSpot.js +116 -0
- package/dist/exchanges/BinanceSpot.js.map +1 -0
- package/dist/exchanges/BybitLinear.d.ts +28 -0
- package/dist/exchanges/BybitLinear.d.ts.map +1 -0
- package/dist/exchanges/BybitLinear.js +131 -0
- package/dist/exchanges/BybitLinear.js.map +1 -0
- package/dist/exchanges/BybitSpot.d.ts +27 -0
- package/dist/exchanges/BybitSpot.d.ts.map +1 -0
- package/dist/exchanges/BybitSpot.js +113 -0
- package/dist/exchanges/BybitSpot.js.map +1 -0
- package/dist/exchanges/Exchange.d.ts +11 -0
- package/dist/exchanges/Exchange.d.ts.map +1 -0
- package/dist/exchanges/Exchange.js +32 -0
- package/dist/exchanges/Exchange.js.map +1 -0
- package/dist/http/BaseHttpClient.d.ts +14 -0
- package/dist/http/BaseHttpClient.d.ts.map +1 -0
- package/dist/http/BaseHttpClient.js +77 -0
- package/dist/http/BaseHttpClient.js.map +1 -0
- package/dist/http/BinanceFuturesHttpClient.d.ts +53 -0
- package/dist/http/BinanceFuturesHttpClient.d.ts.map +1 -0
- package/dist/http/BinanceFuturesHttpClient.js +235 -0
- package/dist/http/BinanceFuturesHttpClient.js.map +1 -0
- package/dist/http/BinanceSpotHttpClient.d.ts +26 -0
- package/dist/http/BinanceSpotHttpClient.d.ts.map +1 -0
- package/dist/http/BinanceSpotHttpClient.js +98 -0
- package/dist/http/BinanceSpotHttpClient.js.map +1 -0
- package/dist/http/BybitHttpClient.d.ts +143 -0
- package/dist/http/BybitHttpClient.d.ts.map +1 -0
- package/dist/http/BybitHttpClient.js +233 -0
- package/dist/http/BybitHttpClient.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/normalizers/binanceNormalizer.d.ts +79 -0
- package/dist/normalizers/binanceNormalizer.d.ts.map +1 -0
- package/dist/normalizers/binanceNormalizer.js +133 -0
- package/dist/normalizers/binanceNormalizer.js.map +1 -0
- package/dist/normalizers/bybitNormalizer.d.ts +79 -0
- package/dist/normalizers/bybitNormalizer.d.ts.map +1 -0
- package/dist/normalizers/bybitNormalizer.js +150 -0
- package/dist/normalizers/bybitNormalizer.js.map +1 -0
- package/dist/precision/precision.d.ts +6 -0
- package/dist/precision/precision.d.ts.map +1 -0
- package/dist/precision/precision.js +29 -0
- package/dist/precision/precision.js.map +1 -0
- package/dist/types/common.d.ts +86 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +3 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/exchange.d.ts +43 -0
- package/dist/types/exchange.d.ts.map +1 -0
- package/dist/types/exchange.js +3 -0
- package/dist/types/exchange.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ws/BinanceFuturesPublicStream.d.ts +30 -0
- package/dist/ws/BinanceFuturesPublicStream.d.ts.map +1 -0
- package/dist/ws/BinanceFuturesPublicStream.js +216 -0
- package/dist/ws/BinanceFuturesPublicStream.js.map +1 -0
- package/dist/ws/BinanceSpotPublicStream.d.ts +24 -0
- package/dist/ws/BinanceSpotPublicStream.d.ts.map +1 -0
- package/dist/ws/BinanceSpotPublicStream.js +186 -0
- package/dist/ws/BinanceSpotPublicStream.js.map +1 -0
- package/dist/ws/BinanceUserDataStream.d.ts +23 -0
- package/dist/ws/BinanceUserDataStream.d.ts.map +1 -0
- package/dist/ws/BinanceUserDataStream.js +48 -0
- package/dist/ws/BinanceUserDataStream.js.map +1 -0
- package/dist/ws/BybitPrivateStream.d.ts +25 -0
- package/dist/ws/BybitPrivateStream.d.ts.map +1 -0
- package/dist/ws/BybitPrivateStream.js +79 -0
- package/dist/ws/BybitPrivateStream.js.map +1 -0
- package/dist/ws/BybitPublicStream.d.ts +25 -0
- package/dist/ws/BybitPublicStream.d.ts.map +1 -0
- package/dist/ws/BybitPublicStream.js +178 -0
- package/dist/ws/BybitPublicStream.js.map +1 -0
- package/dist/ws/BybitTradeStream.d.ts +27 -0
- package/dist/ws/BybitTradeStream.d.ts.map +1 -0
- package/dist/ws/BybitTradeStream.js +146 -0
- package/dist/ws/BybitTradeStream.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BinanceSpotHttpClient = void 0;
|
|
4
|
+
const binanceAuth_1 = require("../auth/binanceAuth");
|
|
5
|
+
const binance_1 = require("../constants/binance");
|
|
6
|
+
const BaseHttpClient_1 = require("./BaseHttpClient");
|
|
7
|
+
class BinanceSpotHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
8
|
+
secret;
|
|
9
|
+
constructor(apiKey, secret, logger) {
|
|
10
|
+
super(binance_1.BINANCE_SPOT_BASE_URL, apiKey, logger, binance_1.BINANCE_REQUEST_TIMEOUT);
|
|
11
|
+
this.secret = secret;
|
|
12
|
+
}
|
|
13
|
+
async fetchExchangeInfo() {
|
|
14
|
+
return this.get('/api/v3/exchangeInfo');
|
|
15
|
+
}
|
|
16
|
+
async fetchTickers() {
|
|
17
|
+
return this.get('/api/v3/ticker/24hr');
|
|
18
|
+
}
|
|
19
|
+
async fetchOrderBook(symbol, limit) {
|
|
20
|
+
const params = { symbol };
|
|
21
|
+
if (limit !== undefined) {
|
|
22
|
+
params.limit = limit;
|
|
23
|
+
}
|
|
24
|
+
return this.get('/api/v3/depth', params);
|
|
25
|
+
}
|
|
26
|
+
async fetchKlines(symbol, interval, options) {
|
|
27
|
+
const params = { symbol, interval };
|
|
28
|
+
if (options?.startTime !== undefined) {
|
|
29
|
+
params.startTime = options.startTime;
|
|
30
|
+
}
|
|
31
|
+
if (options?.endTime !== undefined) {
|
|
32
|
+
params.endTime = options.endTime;
|
|
33
|
+
}
|
|
34
|
+
if (options?.limit !== undefined) {
|
|
35
|
+
params.limit = options.limit;
|
|
36
|
+
}
|
|
37
|
+
return this.get('/api/v3/klines', params);
|
|
38
|
+
}
|
|
39
|
+
async fetchTrades(symbol, limit) {
|
|
40
|
+
const params = { symbol };
|
|
41
|
+
if (limit !== undefined) {
|
|
42
|
+
params.limit = limit;
|
|
43
|
+
}
|
|
44
|
+
return this.get('/api/v3/trades', params);
|
|
45
|
+
}
|
|
46
|
+
async createOrder(params) {
|
|
47
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
|
|
48
|
+
params: params,
|
|
49
|
+
secret: this.secret,
|
|
50
|
+
});
|
|
51
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
52
|
+
return this.post('/api/v3/order', signedParams, headers);
|
|
53
|
+
}
|
|
54
|
+
async cancelOrder(symbol, orderId) {
|
|
55
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
|
|
56
|
+
params: { symbol, orderId },
|
|
57
|
+
secret: this.secret,
|
|
58
|
+
});
|
|
59
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
60
|
+
return this.delete('/api/v3/order', signedParams, headers);
|
|
61
|
+
}
|
|
62
|
+
async getOrder(symbol, orderId) {
|
|
63
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({
|
|
64
|
+
params: { symbol, orderId },
|
|
65
|
+
secret: this.secret,
|
|
66
|
+
});
|
|
67
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
68
|
+
return this.get('/api/v3/order', signedParams, headers);
|
|
69
|
+
}
|
|
70
|
+
async getOpenOrders(symbol) {
|
|
71
|
+
const rawParams = {};
|
|
72
|
+
if (symbol !== undefined) {
|
|
73
|
+
rawParams.symbol = symbol;
|
|
74
|
+
}
|
|
75
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params: rawParams, secret: this.secret });
|
|
76
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
77
|
+
return this.get('/api/v3/openOrders', signedParams, headers);
|
|
78
|
+
}
|
|
79
|
+
async fetchAccount() {
|
|
80
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params: {}, secret: this.secret });
|
|
81
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
82
|
+
return this.get('/api/v3/account', signedParams, headers);
|
|
83
|
+
}
|
|
84
|
+
async createListenKey() {
|
|
85
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
86
|
+
return this.post('/api/v3/userDataStream', {}, headers);
|
|
87
|
+
}
|
|
88
|
+
async keepAliveListenKey(listenKey) {
|
|
89
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
90
|
+
await this.put('/api/v3/userDataStream', { listenKey }, headers);
|
|
91
|
+
}
|
|
92
|
+
async deleteListenKey(listenKey) {
|
|
93
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
94
|
+
await this.delete('/api/v3/userDataStream', { listenKey }, headers);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.BinanceSpotHttpClient = BinanceSpotHttpClient;
|
|
98
|
+
//# sourceMappingURL=BinanceSpotHttpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinanceSpotHttpClient.js","sourceRoot":"","sources":["../../src/http/BinanceSpotHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ExchangeLogger } from '../types/common';
|
|
2
|
+
import { BaseHttpClient } from './BaseHttpClient';
|
|
3
|
+
export declare class BybitHttpClient extends BaseHttpClient {
|
|
4
|
+
private readonly secret;
|
|
5
|
+
constructor(apiKey: string, secret: string, logger: ExchangeLogger);
|
|
6
|
+
private buildAuthHeaders;
|
|
7
|
+
private toQueryString;
|
|
8
|
+
fetchInstrumentsInfo(category: string, options?: {
|
|
9
|
+
symbol?: string;
|
|
10
|
+
}): Promise<{
|
|
11
|
+
result: {
|
|
12
|
+
list: Array<Record<string, unknown>>;
|
|
13
|
+
};
|
|
14
|
+
}>;
|
|
15
|
+
fetchTickers(category: string, options?: {
|
|
16
|
+
symbol?: string;
|
|
17
|
+
}): Promise<{
|
|
18
|
+
result: {
|
|
19
|
+
list: Array<Record<string, unknown>>;
|
|
20
|
+
};
|
|
21
|
+
}>;
|
|
22
|
+
fetchOrderBook(category: string, symbol: string, limit?: number): Promise<{
|
|
23
|
+
result: {
|
|
24
|
+
a: string[][];
|
|
25
|
+
b: string[][];
|
|
26
|
+
};
|
|
27
|
+
}>;
|
|
28
|
+
fetchKline(category: string, symbol: string, interval: string, options?: {
|
|
29
|
+
startTime?: number;
|
|
30
|
+
endTime?: number;
|
|
31
|
+
limit?: number;
|
|
32
|
+
}): Promise<{
|
|
33
|
+
result: {
|
|
34
|
+
list: string[][];
|
|
35
|
+
};
|
|
36
|
+
}>;
|
|
37
|
+
fetchFundingHistory(category: string, symbol: string, options?: {
|
|
38
|
+
startTime?: number;
|
|
39
|
+
endTime?: number;
|
|
40
|
+
limit?: number;
|
|
41
|
+
}): Promise<{
|
|
42
|
+
result: {
|
|
43
|
+
list: Array<Record<string, unknown>>;
|
|
44
|
+
};
|
|
45
|
+
}>;
|
|
46
|
+
fetchOpenInterest(category: string, symbol: string, options?: {
|
|
47
|
+
period?: string;
|
|
48
|
+
limit?: number;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
result: {
|
|
51
|
+
list: Array<Record<string, unknown>>;
|
|
52
|
+
};
|
|
53
|
+
}>;
|
|
54
|
+
fetchRecentTrades(category: string, symbol: string, limit?: number): Promise<{
|
|
55
|
+
result: {
|
|
56
|
+
list: Array<Record<string, unknown>>;
|
|
57
|
+
};
|
|
58
|
+
}>;
|
|
59
|
+
createOrder(params: Record<string, unknown>): Promise<{
|
|
60
|
+
result: {
|
|
61
|
+
orderId: string;
|
|
62
|
+
};
|
|
63
|
+
}>;
|
|
64
|
+
amendOrder(params: Record<string, unknown>): Promise<{
|
|
65
|
+
result: Record<string, unknown>;
|
|
66
|
+
}>;
|
|
67
|
+
cancelOrder(params: Record<string, unknown>): Promise<{
|
|
68
|
+
result: Record<string, unknown>;
|
|
69
|
+
}>;
|
|
70
|
+
cancelAllOrders(category: string, symbol?: string): Promise<{
|
|
71
|
+
result: {
|
|
72
|
+
list: Array<Record<string, unknown>>;
|
|
73
|
+
};
|
|
74
|
+
}>;
|
|
75
|
+
getOpenOrders(category: string, options?: {
|
|
76
|
+
symbol?: string;
|
|
77
|
+
limit?: number;
|
|
78
|
+
}): Promise<{
|
|
79
|
+
result: {
|
|
80
|
+
list: Array<Record<string, unknown>>;
|
|
81
|
+
};
|
|
82
|
+
}>;
|
|
83
|
+
getOrderHistory(category: string, options?: {
|
|
84
|
+
symbol?: string;
|
|
85
|
+
limit?: number;
|
|
86
|
+
}): Promise<{
|
|
87
|
+
result: {
|
|
88
|
+
list: Array<Record<string, unknown>>;
|
|
89
|
+
};
|
|
90
|
+
}>;
|
|
91
|
+
createBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<{
|
|
92
|
+
result: {
|
|
93
|
+
list: Array<Record<string, unknown>>;
|
|
94
|
+
};
|
|
95
|
+
}>;
|
|
96
|
+
cancelBatchOrders(category: string, requestList: Array<Record<string, unknown>>): Promise<{
|
|
97
|
+
result: {
|
|
98
|
+
list: Array<Record<string, unknown>>;
|
|
99
|
+
};
|
|
100
|
+
}>;
|
|
101
|
+
getPositionList(category: string, options?: {
|
|
102
|
+
symbol?: string;
|
|
103
|
+
limit?: number;
|
|
104
|
+
}): Promise<{
|
|
105
|
+
result: {
|
|
106
|
+
list: Array<Record<string, unknown>>;
|
|
107
|
+
};
|
|
108
|
+
}>;
|
|
109
|
+
setLeverage(category: string, symbol: string, buyLeverage: number, sellLeverage: number): Promise<Record<string, unknown>>;
|
|
110
|
+
switchIsolated(category: string, symbol: string, tradeMode: number, buyLeverage: number, sellLeverage: number): Promise<Record<string, unknown>>;
|
|
111
|
+
setTradingStop(params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
112
|
+
getClosedPnl(category: string, options?: {
|
|
113
|
+
symbol?: string;
|
|
114
|
+
limit?: number;
|
|
115
|
+
}): Promise<{
|
|
116
|
+
result: {
|
|
117
|
+
list: Array<Record<string, unknown>>;
|
|
118
|
+
};
|
|
119
|
+
}>;
|
|
120
|
+
fetchWalletBalance(accountType: string): Promise<{
|
|
121
|
+
result: {
|
|
122
|
+
list: Array<Record<string, unknown>>;
|
|
123
|
+
};
|
|
124
|
+
}>;
|
|
125
|
+
fetchAccountInfo(): Promise<{
|
|
126
|
+
result: Record<string, unknown>;
|
|
127
|
+
}>;
|
|
128
|
+
fetchFeeRate(category: string, options?: {
|
|
129
|
+
symbol?: string;
|
|
130
|
+
}): Promise<{
|
|
131
|
+
result: Record<string, unknown>;
|
|
132
|
+
}>;
|
|
133
|
+
setMarginMode(mode: string): Promise<Record<string, unknown>>;
|
|
134
|
+
fetchTransactionLog(options?: {
|
|
135
|
+
category?: string;
|
|
136
|
+
limit?: number;
|
|
137
|
+
}): Promise<{
|
|
138
|
+
result: {
|
|
139
|
+
list: Array<Record<string, unknown>>;
|
|
140
|
+
};
|
|
141
|
+
}>;
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=BybitHttpClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BybitHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BybitHttpClient = void 0;
|
|
4
|
+
const bybitAuth_1 = require("../auth/bybitAuth");
|
|
5
|
+
const bybit_1 = require("../constants/bybit");
|
|
6
|
+
const BaseHttpClient_1 = require("./BaseHttpClient");
|
|
7
|
+
class BybitHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
8
|
+
secret;
|
|
9
|
+
constructor(apiKey, secret, logger) {
|
|
10
|
+
super(bybit_1.BYBIT_BASE_URL, apiKey, logger, bybit_1.BYBIT_REQUEST_TIMEOUT);
|
|
11
|
+
this.secret = secret;
|
|
12
|
+
}
|
|
13
|
+
buildAuthHeaders(payload) {
|
|
14
|
+
return (0, bybitAuth_1.buildBybitAuthHeaders)({
|
|
15
|
+
apiKey: this.apiKey,
|
|
16
|
+
secret: this.secret,
|
|
17
|
+
timestamp: Date.now(),
|
|
18
|
+
payload,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
toQueryString(params) {
|
|
22
|
+
const urlParams = new URLSearchParams();
|
|
23
|
+
for (const [k, v] of Object.entries(params)) {
|
|
24
|
+
urlParams.append(k, String(v));
|
|
25
|
+
}
|
|
26
|
+
return urlParams.toString();
|
|
27
|
+
}
|
|
28
|
+
async fetchInstrumentsInfo(category, options) {
|
|
29
|
+
const params = { category };
|
|
30
|
+
if (options?.symbol !== undefined) {
|
|
31
|
+
params.symbol = options.symbol;
|
|
32
|
+
}
|
|
33
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
34
|
+
return this.get('/v5/market/instruments-info', params, headers);
|
|
35
|
+
}
|
|
36
|
+
async fetchTickers(category, options) {
|
|
37
|
+
const params = { category };
|
|
38
|
+
if (options?.symbol !== undefined) {
|
|
39
|
+
params.symbol = options.symbol;
|
|
40
|
+
}
|
|
41
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
42
|
+
return this.get('/v5/market/tickers', params, headers);
|
|
43
|
+
}
|
|
44
|
+
async fetchOrderBook(category, symbol, limit) {
|
|
45
|
+
const params = { category, symbol };
|
|
46
|
+
if (limit !== undefined) {
|
|
47
|
+
params.limit = limit;
|
|
48
|
+
}
|
|
49
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
50
|
+
return this.get('/v5/market/orderbook', params, headers);
|
|
51
|
+
}
|
|
52
|
+
async fetchKline(category, symbol, interval, options) {
|
|
53
|
+
const params = { category, symbol, interval };
|
|
54
|
+
if (options?.startTime !== undefined) {
|
|
55
|
+
params.startTime = options.startTime;
|
|
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);
|
|
65
|
+
}
|
|
66
|
+
async fetchFundingHistory(category, symbol, options) {
|
|
67
|
+
const params = { category, symbol };
|
|
68
|
+
if (options?.startTime !== undefined) {
|
|
69
|
+
params.startTime = options.startTime;
|
|
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);
|
|
79
|
+
}
|
|
80
|
+
async fetchOpenInterest(category, symbol, options) {
|
|
81
|
+
const params = { category, symbol };
|
|
82
|
+
if (options?.period !== undefined) {
|
|
83
|
+
params.period = options.period;
|
|
84
|
+
}
|
|
85
|
+
if (options?.limit !== undefined) {
|
|
86
|
+
params.limit = options.limit;
|
|
87
|
+
}
|
|
88
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
89
|
+
return this.get('/v5/market/open-interest', params, headers);
|
|
90
|
+
}
|
|
91
|
+
async fetchRecentTrades(category, symbol, limit) {
|
|
92
|
+
const params = { category, symbol };
|
|
93
|
+
if (limit !== undefined) {
|
|
94
|
+
params.limit = limit;
|
|
95
|
+
}
|
|
96
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
97
|
+
return this.get('/v5/market/recent-trade', params, headers);
|
|
98
|
+
}
|
|
99
|
+
async createOrder(params) {
|
|
100
|
+
const body = params;
|
|
101
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
102
|
+
return this.post('/v5/order/create', body, headers);
|
|
103
|
+
}
|
|
104
|
+
async amendOrder(params) {
|
|
105
|
+
const body = params;
|
|
106
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
107
|
+
return this.post('/v5/order/amend', body, headers);
|
|
108
|
+
}
|
|
109
|
+
async cancelOrder(params) {
|
|
110
|
+
const body = params;
|
|
111
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
112
|
+
return this.post('/v5/order/cancel', body, headers);
|
|
113
|
+
}
|
|
114
|
+
async cancelAllOrders(category, symbol) {
|
|
115
|
+
const body = { category };
|
|
116
|
+
if (symbol !== undefined) {
|
|
117
|
+
body.symbol = symbol;
|
|
118
|
+
}
|
|
119
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
120
|
+
return this.post('/v5/order/cancel-all', body, headers);
|
|
121
|
+
}
|
|
122
|
+
async getOpenOrders(category, options) {
|
|
123
|
+
const params = { category };
|
|
124
|
+
if (options?.symbol !== undefined) {
|
|
125
|
+
params.symbol = options.symbol;
|
|
126
|
+
}
|
|
127
|
+
if (options?.limit !== undefined) {
|
|
128
|
+
params.limit = options.limit;
|
|
129
|
+
}
|
|
130
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
131
|
+
return this.get('/v5/order/realtime', params, headers);
|
|
132
|
+
}
|
|
133
|
+
async getOrderHistory(category, options) {
|
|
134
|
+
const params = { category };
|
|
135
|
+
if (options?.symbol !== undefined) {
|
|
136
|
+
params.symbol = options.symbol;
|
|
137
|
+
}
|
|
138
|
+
if (options?.limit !== undefined) {
|
|
139
|
+
params.limit = options.limit;
|
|
140
|
+
}
|
|
141
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
142
|
+
return this.get('/v5/order/history', params, headers);
|
|
143
|
+
}
|
|
144
|
+
async createBatchOrders(category, requestList) {
|
|
145
|
+
const body = { category, request: requestList };
|
|
146
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
147
|
+
return this.post('/v5/order/create-batch', body, headers);
|
|
148
|
+
}
|
|
149
|
+
async cancelBatchOrders(category, requestList) {
|
|
150
|
+
const body = { category, request: requestList };
|
|
151
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
152
|
+
return this.post('/v5/order/cancel-batch', body, headers);
|
|
153
|
+
}
|
|
154
|
+
async getPositionList(category, options) {
|
|
155
|
+
const params = { category };
|
|
156
|
+
if (options?.symbol !== undefined) {
|
|
157
|
+
params.symbol = options.symbol;
|
|
158
|
+
}
|
|
159
|
+
if (options?.limit !== undefined) {
|
|
160
|
+
params.limit = options.limit;
|
|
161
|
+
}
|
|
162
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
163
|
+
return this.get('/v5/position/list', params, headers);
|
|
164
|
+
}
|
|
165
|
+
async setLeverage(category, symbol, buyLeverage, sellLeverage) {
|
|
166
|
+
const body = { category, symbol, buyLeverage: String(buyLeverage), sellLeverage: String(sellLeverage) };
|
|
167
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
168
|
+
return this.post('/v5/position/set-leverage', body, headers);
|
|
169
|
+
}
|
|
170
|
+
async switchIsolated(category, symbol, tradeMode, buyLeverage, sellLeverage) {
|
|
171
|
+
const body = {
|
|
172
|
+
category,
|
|
173
|
+
symbol,
|
|
174
|
+
tradeMode,
|
|
175
|
+
buyLeverage: String(buyLeverage),
|
|
176
|
+
sellLeverage: String(sellLeverage),
|
|
177
|
+
};
|
|
178
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
179
|
+
return this.post('/v5/position/switch-isolated', body, headers);
|
|
180
|
+
}
|
|
181
|
+
async setTradingStop(params) {
|
|
182
|
+
const body = params;
|
|
183
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
184
|
+
return this.post('/v5/position/trading-stop', body, headers);
|
|
185
|
+
}
|
|
186
|
+
async getClosedPnl(category, options) {
|
|
187
|
+
const params = { category };
|
|
188
|
+
if (options?.symbol !== undefined) {
|
|
189
|
+
params.symbol = options.symbol;
|
|
190
|
+
}
|
|
191
|
+
if (options?.limit !== undefined) {
|
|
192
|
+
params.limit = options.limit;
|
|
193
|
+
}
|
|
194
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
195
|
+
return this.get('/v5/position/closed-pnl', params, headers);
|
|
196
|
+
}
|
|
197
|
+
async fetchWalletBalance(accountType) {
|
|
198
|
+
const params = { accountType };
|
|
199
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
200
|
+
return this.get('/v5/account/wallet-balance', params, headers);
|
|
201
|
+
}
|
|
202
|
+
async fetchAccountInfo() {
|
|
203
|
+
const params = {};
|
|
204
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
205
|
+
return this.get('/v5/account/info', params, headers);
|
|
206
|
+
}
|
|
207
|
+
async fetchFeeRate(category, options) {
|
|
208
|
+
const params = { category };
|
|
209
|
+
if (options?.symbol !== undefined) {
|
|
210
|
+
params.symbol = options.symbol;
|
|
211
|
+
}
|
|
212
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
213
|
+
return this.get('/v5/account/fee-rate', params, headers);
|
|
214
|
+
}
|
|
215
|
+
async setMarginMode(mode) {
|
|
216
|
+
const body = { setMarginMode: mode };
|
|
217
|
+
const headers = this.buildAuthHeaders(JSON.stringify(body));
|
|
218
|
+
return this.post('/v5/account/set-margin-mode', body, headers);
|
|
219
|
+
}
|
|
220
|
+
async fetchTransactionLog(options) {
|
|
221
|
+
const params = {};
|
|
222
|
+
if (options?.category !== undefined) {
|
|
223
|
+
params.category = options.category;
|
|
224
|
+
}
|
|
225
|
+
if (options?.limit !== undefined) {
|
|
226
|
+
params.limit = options.limit;
|
|
227
|
+
}
|
|
228
|
+
const headers = this.buildAuthHeaders(this.toQueryString(params));
|
|
229
|
+
return this.get('/v5/account/transaction-log', params, headers);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.BybitHttpClient = BybitHttpClient;
|
|
233
|
+
//# sourceMappingURL=BybitHttpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BybitHttpClient.js","sourceRoot":"","sources":["../../src/http/BybitHttpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Exchange } from './exchanges/Exchange';
|
|
2
|
+
export type { ExchangeClient, ExchangeArgs, CreateOrderWsArgs, FetchKlinesArgs, SubscribeKlinesArgs, } from './types/exchange';
|
|
3
|
+
export type { ExchangeName, OrderSide, OrderType, MarginMode, PositionSide, MarketType, TimeInForce, KlineInterval, ExchangeConfig, ExchangeLogger, Ticker, TickerBySymbol, Kline, Market, MarketBySymbol, MarketFilter, Position, Order, Balance, BalanceByAsset, } from './types/common';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EACd,MAAM,EACN,cAAc,EACd,KAAK,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,OAAO,EACP,cAAc,GACf,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Exchange = void 0;
|
|
4
|
+
var Exchange_1 = require("./exchanges/Exchange");
|
|
5
|
+
Object.defineProperty(exports, "Exchange", { enumerable: true, get: function () { return Exchange_1.Exchange; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { TickerBySymbol, Kline, MarketBySymbol, Position, Order, BalanceByAsset } from '../types/common';
|
|
2
|
+
interface BinanceRawFilter {
|
|
3
|
+
filterType: string;
|
|
4
|
+
tickSize?: string;
|
|
5
|
+
stepSize?: string;
|
|
6
|
+
minQty?: string;
|
|
7
|
+
maxQty?: string;
|
|
8
|
+
minNotional?: string;
|
|
9
|
+
notional?: string;
|
|
10
|
+
}
|
|
11
|
+
interface BinanceRawSymbol {
|
|
12
|
+
symbol: string;
|
|
13
|
+
status: string;
|
|
14
|
+
baseAsset: string;
|
|
15
|
+
quoteAsset: string;
|
|
16
|
+
contractType?: string;
|
|
17
|
+
marginAsset?: string;
|
|
18
|
+
filters: BinanceRawFilter[];
|
|
19
|
+
}
|
|
20
|
+
export interface BinanceRawExchangeInfo {
|
|
21
|
+
symbols: BinanceRawSymbol[];
|
|
22
|
+
}
|
|
23
|
+
export interface BinanceRawTicker24hr {
|
|
24
|
+
symbol: string;
|
|
25
|
+
lastPrice: string;
|
|
26
|
+
priceChangePercent: string;
|
|
27
|
+
time: number;
|
|
28
|
+
}
|
|
29
|
+
export interface BinanceRawWsKline {
|
|
30
|
+
t: number;
|
|
31
|
+
o: string;
|
|
32
|
+
h: string;
|
|
33
|
+
l: string;
|
|
34
|
+
c: string;
|
|
35
|
+
v: string;
|
|
36
|
+
T: number;
|
|
37
|
+
q: string;
|
|
38
|
+
n: number;
|
|
39
|
+
}
|
|
40
|
+
export interface BinanceRawPositionRisk {
|
|
41
|
+
symbol: string;
|
|
42
|
+
positionSide: string;
|
|
43
|
+
positionAmt: string;
|
|
44
|
+
entryPrice: string;
|
|
45
|
+
markPrice: string;
|
|
46
|
+
unRealizedProfit: string;
|
|
47
|
+
leverage: string;
|
|
48
|
+
marginType: string;
|
|
49
|
+
liquidationPrice: string;
|
|
50
|
+
notional: string;
|
|
51
|
+
isolatedMargin: string;
|
|
52
|
+
}
|
|
53
|
+
export interface BinanceRawOrderResponse {
|
|
54
|
+
orderId: number;
|
|
55
|
+
symbol: string;
|
|
56
|
+
side: string;
|
|
57
|
+
type: string;
|
|
58
|
+
origQty: string;
|
|
59
|
+
price: string;
|
|
60
|
+
status: string;
|
|
61
|
+
updateTime: number;
|
|
62
|
+
}
|
|
63
|
+
interface BinanceRawBalance {
|
|
64
|
+
asset: string;
|
|
65
|
+
free: string;
|
|
66
|
+
locked: string;
|
|
67
|
+
}
|
|
68
|
+
export interface BinanceRawAccount {
|
|
69
|
+
balances: BinanceRawBalance[];
|
|
70
|
+
}
|
|
71
|
+
export declare function normalizeBinanceMarkets(raw: BinanceRawExchangeInfo): MarketBySymbol;
|
|
72
|
+
export declare function normalizeBinanceTickers(rawList: BinanceRawTicker24hr[]): TickerBySymbol;
|
|
73
|
+
export declare function normalizeBinanceKlines(rawList: unknown[][]): Kline[];
|
|
74
|
+
export declare function normalizeBinanceKlineWsMessage(raw: BinanceRawWsKline): Kline;
|
|
75
|
+
export declare function normalizeBinancePosition(raw: BinanceRawPositionRisk): Position;
|
|
76
|
+
export declare function normalizeBinanceOrder(raw: BinanceRawOrderResponse): Order;
|
|
77
|
+
export declare function normalizeBinanceBalance(raw: BinanceRawAccount): BalanceByAsset;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=binanceNormalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binanceNormalizer.d.ts","sourceRoot":"","sources":["../../src/normalizers/binanceNormalizer.ts"],"names":[],"mappings":"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"}
|