@solncebro/exchange-engine 0.1.1 → 0.1.2
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 +17 -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 +5 -1
- package/dist/constants/binance.d.ts.map +1 -1
- package/dist/constants/binance.js +7 -4
- package/dist/constants/binance.js.map +1 -1
- package/dist/constants/bybit.d.ts +3 -5
- package/dist/constants/bybit.d.ts.map +1 -1
- package/dist/constants/bybit.js +6 -9
- package/dist/constants/bybit.js.map +1 -1
- package/dist/exchanges/BaseExchangeClient.d.ts +36 -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 +65 -0
- package/dist/exchanges/BinanceBaseClient.js.map +1 -0
- package/dist/exchanges/BinanceFutures.d.ts +7 -21
- package/dist/exchanges/BinanceFutures.d.ts.map +1 -1
- package/dist/exchanges/BinanceFutures.js +17 -94
- package/dist/exchanges/BinanceFutures.js.map +1 -1
- package/dist/exchanges/BinanceSpot.d.ts +7 -21
- package/dist/exchanges/BinanceSpot.d.ts.map +1 -1
- package/dist/exchanges/BinanceSpot.js +14 -95
- package/dist/exchanges/BinanceSpot.js.map +1 -1
- package/dist/exchanges/BybitLinear.d.ts +15 -18
- package/dist/exchanges/BybitLinear.d.ts.map +1 -1
- package/dist/exchanges/BybitLinear.js +58 -67
- package/dist/exchanges/BybitLinear.js.map +1 -1
- package/dist/exchanges/BybitSpot.d.ts +13 -17
- package/dist/exchanges/BybitSpot.d.ts.map +1 -1
- package/dist/exchanges/BybitSpot.js +36 -62
- package/dist/exchanges/BybitSpot.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 +36 -180
- 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 +81 -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 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/normalizers/binanceNormalizer.d.ts +2 -1
- package/dist/normalizers/binanceNormalizer.d.ts.map +1 -1
- package/dist/normalizers/binanceNormalizer.js +8 -5
- package/dist/normalizers/binanceNormalizer.js.map +1 -1
- package/dist/normalizers/bybitNormalizer.d.ts +7 -1
- package/dist/normalizers/bybitNormalizer.d.ts.map +1 -1
- package/dist/normalizers/bybitNormalizer.js +21 -5
- package/dist/normalizers/bybitNormalizer.js.map +1 -1
- package/dist/types/common.d.ts +4 -2
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/exchange.d.ts +6 -2
- package/dist/types/exchange.d.ts.map +1 -1
- package/dist/types/stream.d.ts +10 -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 +6 -5
- package/dist/ws/BinanceFuturesPublicStream.d.ts.map +1 -1
- package/dist/ws/BinanceFuturesPublicStream.js +27 -56
- 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 +17 -22
- package/dist/ws/BinanceSpotPublicStream.js.map +1 -1
- package/dist/ws/BinanceUserDataStream.d.ts +1 -1
- package/dist/ws/BinanceUserDataStream.d.ts.map +1 -1
- package/dist/ws/BinanceUserDataStream.js +7 -7
- 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 +11 -28
- 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 +14 -19
- 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 +24 -40
- package/dist/ws/BybitTradeStream.js.map +1 -1
- package/dist/ws/binanceWsUtils.d.ts +4 -0
- package/dist/ws/binanceWsUtils.d.ts.map +1 -0
- package/dist/ws/binanceWsUtils.js +13 -0
- package/dist/ws/binanceWsUtils.js.map +1 -0
- package/dist/ws/bybitWsUtils.d.ts +29 -0
- package/dist/ws/bybitWsUtils.d.ts.map +1 -0
- package/dist/ws/bybitWsUtils.js +29 -0
- package/dist/ws/bybitWsUtils.js.map +1 -0
- package/package.json +17 -3
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CreateOrderWsArgs, ExchangeArgs, FetchKlinesArgs } from '../types/exchange';
|
|
2
2
|
import type { Kline, KlineInterval, MarketBySymbol, TickerBySymbol, BalanceByAsset, Position, Order, MarginMode } from '../types/common';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
private
|
|
9
|
-
private
|
|
3
|
+
import type { PublicStreamLike } from '../types/stream';
|
|
4
|
+
import { BaseExchangeClient } from './BaseExchangeClient';
|
|
5
|
+
declare class BybitSpot extends BaseExchangeClient {
|
|
6
|
+
protected readonly marketLabel = "spot";
|
|
7
|
+
protected readonly klineLimit = 200;
|
|
8
|
+
private readonly httpClient;
|
|
9
|
+
private readonly publicStream;
|
|
10
10
|
constructor(args: ExchangeArgs);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
unsubscribeKlines(args: SubscribeKlinesArgs): void;
|
|
11
|
+
protected getPublicStream(): PublicStreamLike;
|
|
12
|
+
protected fetchAndNormalizeMarkets(): Promise<MarketBySymbol>;
|
|
13
|
+
protected fetchAndNormalizeTickers(): Promise<TickerBySymbol>;
|
|
14
|
+
protected fetchAndNormalizeKlines(symbol: string, interval: KlineInterval, options?: FetchKlinesArgs): Promise<Kline[]>;
|
|
15
|
+
protected fetchAndNormalizeBalance(): Promise<BalanceByAsset>;
|
|
17
16
|
createOrderWs(args: CreateOrderWsArgs): Promise<Order>;
|
|
18
17
|
fetchPosition(_symbol: string): Promise<Position>;
|
|
19
18
|
setLeverage(_leverage: number, _symbol: string): Promise<void>;
|
|
20
19
|
setMarginMode(_marginMode: MarginMode, _symbol: string): Promise<void>;
|
|
21
|
-
fetchBalance(): Promise<BalanceByAsset>;
|
|
22
|
-
amountToPrecision(symbol: string, amount: number): string;
|
|
23
|
-
priceToPrecision(symbol: string, price: number): string;
|
|
24
20
|
close(): Promise<void>;
|
|
25
21
|
}
|
|
26
22
|
export { BybitSpot };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BybitSpot.d.ts","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"BybitSpot.d.ts","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAiBxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,cAAM,SAAU,SAAQ,kBAAkB;IACxC,SAAS,CAAC,QAAQ,CAAC,WAAW,UAAU;IACxC,SAAS,CAAC,QAAQ,CAAC,UAAU,OAAO;IAEpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,IAAI,EAAE,YAAY;IAqB9B,SAAS,CAAC,eAAe,IAAI,gBAAgB;cAI7B,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;cAMnD,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;cAMnD,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,KAAK,EAAE,CAAC;cAYH,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;IAM7D,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IA2BtD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIjD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,aAAa,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -5,74 +5,69 @@ const BybitHttpClient_1 = require("../http/BybitHttpClient");
|
|
|
5
5
|
const bybitNormalizer_1 = require("../normalizers/bybitNormalizer");
|
|
6
6
|
const BybitPublicStream_1 = require("../ws/BybitPublicStream");
|
|
7
7
|
const bybit_1 = require("../constants/bybit");
|
|
8
|
-
const
|
|
9
|
-
class BybitSpot {
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const BaseExchangeClient_1 = require("./BaseExchangeClient");
|
|
9
|
+
class BybitSpot extends BaseExchangeClient_1.BaseExchangeClient {
|
|
10
|
+
marketLabel = 'spot';
|
|
11
|
+
klineLimit = 200;
|
|
12
12
|
httpClient;
|
|
13
13
|
publicStream;
|
|
14
|
-
logger;
|
|
15
|
-
onNotify;
|
|
16
14
|
constructor(args) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.
|
|
15
|
+
super(args);
|
|
16
|
+
const demo = args.config.demoMode === true;
|
|
17
|
+
const baseUrl = demo ? bybit_1.BYBIT_DEMO_BASE_URL : bybit_1.BYBIT_BASE_URL;
|
|
18
|
+
const publicWsUrl = demo ? bybit_1.BYBIT_DEMO_PUBLIC_SPOT_WS_URL : bybit_1.BYBIT_PUBLIC_SPOT_WS_URL;
|
|
19
|
+
this.httpClient = new BybitHttpClient_1.BybitHttpClient({
|
|
20
|
+
baseUrl,
|
|
21
|
+
apiKey: args.config.apiKey,
|
|
22
|
+
secret: args.config.secret,
|
|
23
|
+
logger: args.logger,
|
|
24
|
+
});
|
|
25
|
+
this.publicStream = new BybitPublicStream_1.BybitPublicStream(publicWsUrl, args.logger, args.onNotify);
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
this.logger.info('Loading spot markets');
|
|
27
|
+
getPublicStream() {
|
|
28
|
+
return this.publicStream;
|
|
29
|
+
}
|
|
30
|
+
async fetchAndNormalizeMarkets() {
|
|
28
31
|
const raw = await this.httpClient.fetchInstrumentsInfo('spot');
|
|
29
|
-
|
|
30
|
-
for (const [symbol, market] of normalized) {
|
|
31
|
-
this.markets.set(symbol, market);
|
|
32
|
-
}
|
|
33
|
-
this.logger.info(`Loaded ${this.markets.size} spot markets`);
|
|
34
|
-
return this.markets;
|
|
32
|
+
return (0, bybitNormalizer_1.normalizeBybitMarkets)(raw.result.list);
|
|
35
33
|
}
|
|
36
|
-
async
|
|
37
|
-
this.logger.debug('Fetching spot tickers');
|
|
34
|
+
async fetchAndNormalizeTickers() {
|
|
38
35
|
const raw = await this.httpClient.fetchTickers('spot');
|
|
39
36
|
return (0, bybitNormalizer_1.normalizeBybitTickers)(raw.result.list);
|
|
40
37
|
}
|
|
41
|
-
async
|
|
42
|
-
this.logger.debug(`Fetching klines for ${symbol} ${interval}`);
|
|
38
|
+
async fetchAndNormalizeKlines(symbol, interval, options) {
|
|
43
39
|
const bybitInterval = bybit_1.BYBIT_KLINE_INTERVAL[interval];
|
|
44
|
-
const raw = await this.httpClient.fetchKline(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
const raw = await this.httpClient.fetchKline({
|
|
41
|
+
category: 'spot',
|
|
42
|
+
symbol,
|
|
43
|
+
interval: bybitInterval,
|
|
44
|
+
options,
|
|
48
45
|
});
|
|
49
46
|
return (0, bybitNormalizer_1.normalizeBybitKlines)(raw.result.list);
|
|
50
47
|
}
|
|
51
|
-
async
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
subscribeKlines(args) {
|
|
56
|
-
this.publicStream.subscribeKlines(args.symbol, args.interval, args.handler);
|
|
57
|
-
}
|
|
58
|
-
unsubscribeKlines(args) {
|
|
59
|
-
this.publicStream.unsubscribeKlines(args.symbol, args.interval, args.handler);
|
|
48
|
+
async fetchAndNormalizeBalance() {
|
|
49
|
+
const raw = await this.httpClient.fetchWalletBalance('UNIFIED');
|
|
50
|
+
return (0, bybitNormalizer_1.normalizeBybitBalance)(raw.result);
|
|
60
51
|
}
|
|
61
52
|
async createOrderWs(args) {
|
|
62
53
|
this.logger.debug(`Creating order via REST: ${args.symbol}`);
|
|
54
|
+
const isMarket = args.type === 'market';
|
|
63
55
|
const orderParams = {
|
|
64
56
|
category: 'spot',
|
|
65
57
|
symbol: args.symbol,
|
|
66
|
-
orderType:
|
|
58
|
+
orderType: isMarket ? 'Market' : 'Limit',
|
|
67
59
|
side: args.side === 'buy' ? 'Buy' : 'Sell',
|
|
68
60
|
qty: this.amountToPrecision(args.symbol, args.amount),
|
|
69
61
|
...args.params,
|
|
70
62
|
};
|
|
63
|
+
if (isMarket) {
|
|
64
|
+
orderParams.marketUnit = 'baseCoin';
|
|
65
|
+
}
|
|
71
66
|
if (args.price > 0) {
|
|
72
67
|
orderParams.price = this.priceToPrecision(args.symbol, args.price);
|
|
73
68
|
}
|
|
74
69
|
const raw = await this.httpClient.createOrder(orderParams);
|
|
75
|
-
return (0, bybitNormalizer_1.
|
|
70
|
+
return (0, bybitNormalizer_1.buildBybitOrderFromCreateResponse)(args, raw.result.orderId);
|
|
76
71
|
}
|
|
77
72
|
async fetchPosition(_symbol) {
|
|
78
73
|
throw new Error('Not supported for spot market');
|
|
@@ -83,27 +78,6 @@ class BybitSpot {
|
|
|
83
78
|
async setMarginMode(_marginMode, _symbol) {
|
|
84
79
|
throw new Error('Not supported for spot market');
|
|
85
80
|
}
|
|
86
|
-
async fetchBalance() {
|
|
87
|
-
this.logger.debug('Fetching balance');
|
|
88
|
-
const raw = await this.httpClient.fetchWalletBalance('UNIFIED');
|
|
89
|
-
return (0, bybitNormalizer_1.normalizeBybitBalance)(raw.result);
|
|
90
|
-
}
|
|
91
|
-
amountToPrecision(symbol, amount) {
|
|
92
|
-
const market = this.markets.get(symbol);
|
|
93
|
-
if (!market) {
|
|
94
|
-
this.logger.warn(`Market ${symbol} not found, using raw amount`);
|
|
95
|
-
return String(amount);
|
|
96
|
-
}
|
|
97
|
-
return (0, precision_1.amountToPrecision)(market, amount);
|
|
98
|
-
}
|
|
99
|
-
priceToPrecision(symbol, price) {
|
|
100
|
-
const market = this.markets.get(symbol);
|
|
101
|
-
if (!market) {
|
|
102
|
-
this.logger.warn(`Market ${symbol} not found, using raw price`);
|
|
103
|
-
return String(price);
|
|
104
|
-
}
|
|
105
|
-
return (0, precision_1.priceToPrecision)(market, price);
|
|
106
|
-
}
|
|
107
81
|
async close() {
|
|
108
82
|
this.logger.info('Closing Bybit Spot connection');
|
|
109
83
|
this.publicStream.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BybitSpot.js","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"BybitSpot.js","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import { AxiosInstance } from 'axios';
|
|
2
2
|
import { ExchangeLogger } from '../types/common';
|
|
3
|
+
interface BaseHttpClientArgs {
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
apiKey: string;
|
|
6
|
+
logger: ExchangeLogger;
|
|
7
|
+
timeout?: number;
|
|
8
|
+
}
|
|
3
9
|
export declare abstract class BaseHttpClient {
|
|
4
10
|
protected readonly axiosInstance: AxiosInstance;
|
|
5
11
|
protected readonly logger: ExchangeLogger;
|
|
6
12
|
protected readonly apiKey: string;
|
|
7
|
-
constructor(
|
|
13
|
+
constructor(args: BaseHttpClientArgs);
|
|
8
14
|
protected get<T>(url: string, params?: Record<string, string | number | boolean>, headers?: Record<string, string>): Promise<T>;
|
|
9
15
|
protected post<T>(url: string, data?: Record<string, unknown>, headers?: Record<string, string>): Promise<T>;
|
|
16
|
+
protected postWithParams<T>(url: string, params?: Record<string, string | number | boolean>, headers?: Record<string, string>): Promise<T>;
|
|
10
17
|
protected put<T>(url: string, data?: Record<string, unknown>, headers?: Record<string, string>): Promise<T>;
|
|
18
|
+
protected putWithParams<T>(url: string, params?: Record<string, string | number | boolean>, headers?: Record<string, string>): Promise<T>;
|
|
11
19
|
protected delete<T>(url: string, params?: Record<string, string | number | boolean>, headers?: Record<string, string>): Promise<T>;
|
|
12
20
|
private handleError;
|
|
13
21
|
}
|
|
22
|
+
export {};
|
|
14
23
|
//# sourceMappingURL=BaseHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BaseHttpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA+BjD,8BAAsB,cAAc;IAClC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEtB,
|
|
1
|
+
{"version":3,"file":"BaseHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BaseHttpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAc,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA+BjD,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,8BAAsB,cAAc;IAClC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEtB,IAAI,EAAE,kBAAkB;cASpB,GAAG,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;cAuBG,IAAI,CAAC,CAAC,EACpB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;cAWG,cAAc,CAAC,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;cAWG,GAAG,CAAC,CAAC,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;cAWG,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;cAWG,MAAM,CAAC,CAAC,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IAWb,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -30,12 +30,12 @@ class BaseHttpClient {
|
|
|
30
30
|
axiosInstance;
|
|
31
31
|
logger;
|
|
32
32
|
apiKey;
|
|
33
|
-
constructor(
|
|
34
|
-
this.apiKey = apiKey;
|
|
35
|
-
this.logger = logger;
|
|
33
|
+
constructor(args) {
|
|
34
|
+
this.apiKey = args.apiKey;
|
|
35
|
+
this.logger = args.logger;
|
|
36
36
|
this.axiosInstance = axios_1.default.create({
|
|
37
|
-
baseURL,
|
|
38
|
-
timeout: timeout ?? 30000,
|
|
37
|
+
baseURL: args.baseUrl,
|
|
38
|
+
timeout: args.timeout ?? 30000,
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
async get(url, params, headers) {
|
|
@@ -69,6 +69,17 @@ class BaseHttpClient {
|
|
|
69
69
|
throw error;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
async postWithParams(url, params, headers) {
|
|
73
|
+
try {
|
|
74
|
+
this.logger.debug(`POST ${url} with params: ${JSON.stringify(params)}`);
|
|
75
|
+
const response = await this.axiosInstance.post(url, null, { params, headers });
|
|
76
|
+
return response.data;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
this.handleError(error);
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
72
83
|
async put(url, data, headers) {
|
|
73
84
|
try {
|
|
74
85
|
this.logger.debug(`PUT ${url} with data: ${JSON.stringify(data)}`);
|
|
@@ -80,6 +91,17 @@ class BaseHttpClient {
|
|
|
80
91
|
throw error;
|
|
81
92
|
}
|
|
82
93
|
}
|
|
94
|
+
async putWithParams(url, params, headers) {
|
|
95
|
+
try {
|
|
96
|
+
this.logger.debug(`PUT ${url} with params: ${JSON.stringify(params)}`);
|
|
97
|
+
const response = await this.axiosInstance.put(url, null, { params, headers });
|
|
98
|
+
return response.data;
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
this.handleError(error);
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
83
105
|
async delete(url, params, headers) {
|
|
84
106
|
try {
|
|
85
107
|
this.logger.debug(`DELETE ${url} with params: ${JSON.stringify(params)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHttpClient.js","sourceRoot":"","sources":["../../src/http/BaseHttpClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyD;AAGzD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,SAAS,WAAW,CAAC,KAAiB;IACpC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;IAErC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,OAAe;IACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseHttpClient.js","sourceRoot":"","sources":["../../src/http/BaseHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ExchangeLogger } from '../types/common';
|
|
2
|
+
import type { BinanceRawExchangeInfo, BinanceRawTicker24hr, BinanceRawOrderResponse, BinanceRawAccount } from '../normalizers/binanceNormalizer';
|
|
3
|
+
import type { FetchKlinesArgs } from '../types/exchange';
|
|
4
|
+
import { BaseHttpClient } from './BaseHttpClient';
|
|
5
|
+
export interface BinanceHttpClientArgs {
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
apiKey: string;
|
|
8
|
+
secret: string;
|
|
9
|
+
logger: ExchangeLogger;
|
|
10
|
+
}
|
|
11
|
+
interface BinanceListenKeyResponse {
|
|
12
|
+
listenKey: string;
|
|
13
|
+
}
|
|
14
|
+
interface BinanceEndpoints {
|
|
15
|
+
exchangeInfo: string;
|
|
16
|
+
ticker24hr: string;
|
|
17
|
+
depth: string;
|
|
18
|
+
klines: string;
|
|
19
|
+
trades: string;
|
|
20
|
+
order: string;
|
|
21
|
+
openOrders: string;
|
|
22
|
+
account: string;
|
|
23
|
+
listenKey: string;
|
|
24
|
+
}
|
|
25
|
+
declare abstract class BinanceBaseHttpClient extends BaseHttpClient {
|
|
26
|
+
protected readonly secret: string;
|
|
27
|
+
protected abstract readonly endpoints: BinanceEndpoints;
|
|
28
|
+
constructor(args: BinanceHttpClientArgs, timeout: number);
|
|
29
|
+
protected signedGet<T>(path: string, params?: Record<string, string | number | boolean>): Promise<T>;
|
|
30
|
+
protected signedPost<T>(path: string, params?: Record<string, string | number | boolean>): Promise<T>;
|
|
31
|
+
protected signedDelete<T>(path: string, params?: Record<string, string | number | boolean>): Promise<T>;
|
|
32
|
+
protected authHeaders(): Record<string, string>;
|
|
33
|
+
fetchExchangeInfo(): Promise<BinanceRawExchangeInfo>;
|
|
34
|
+
fetchTickers(): Promise<BinanceRawTicker24hr[]>;
|
|
35
|
+
fetchOrderBook(symbol: string, limit?: number): Promise<Record<string, unknown>>;
|
|
36
|
+
fetchKlines(symbol: string, interval: string, options?: FetchKlinesArgs): Promise<unknown[][]>;
|
|
37
|
+
fetchTrades(symbol: string, limit?: number): Promise<Record<string, unknown>[]>;
|
|
38
|
+
createOrder(params: Record<string, unknown>): Promise<BinanceRawOrderResponse>;
|
|
39
|
+
cancelOrder(symbol: string, orderId: string): Promise<Record<string, unknown>>;
|
|
40
|
+
getOrder(symbol: string, orderId: string): Promise<Record<string, unknown>>;
|
|
41
|
+
getOpenOrders(symbol?: string): Promise<Record<string, unknown>[]>;
|
|
42
|
+
fetchAccount(): Promise<BinanceRawAccount>;
|
|
43
|
+
createListenKey(): Promise<BinanceListenKeyResponse>;
|
|
44
|
+
keepAliveListenKey(listenKey: string): Promise<void>;
|
|
45
|
+
deleteListenKey(listenKey: string): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
export { BinanceBaseHttpClient };
|
|
48
|
+
export type { BinanceEndpoints, BinanceListenKeyResponse };
|
|
49
|
+
//# sourceMappingURL=BinanceBaseHttpClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinanceBaseHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BinanceBaseHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BinanceBaseHttpClient = void 0;
|
|
4
|
+
const binanceAuth_1 = require("../auth/binanceAuth");
|
|
5
|
+
const httpParams_1 = require("../utils/httpParams");
|
|
6
|
+
const BaseHttpClient_1 = require("./BaseHttpClient");
|
|
7
|
+
class BinanceBaseHttpClient extends BaseHttpClient_1.BaseHttpClient {
|
|
8
|
+
secret;
|
|
9
|
+
constructor(args, timeout) {
|
|
10
|
+
super({ baseUrl: args.baseUrl, apiKey: args.apiKey, logger: args.logger, timeout });
|
|
11
|
+
this.secret = args.secret;
|
|
12
|
+
}
|
|
13
|
+
signedGet(path, params = {}) {
|
|
14
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params, secret: this.secret });
|
|
15
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
16
|
+
return this.get(path, signedParams, headers);
|
|
17
|
+
}
|
|
18
|
+
signedPost(path, params = {}) {
|
|
19
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params, secret: this.secret });
|
|
20
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
21
|
+
return this.postWithParams(path, signedParams, headers);
|
|
22
|
+
}
|
|
23
|
+
signedDelete(path, params = {}) {
|
|
24
|
+
const signedParams = (0, binanceAuth_1.buildBinanceSignedParams)({ params, secret: this.secret });
|
|
25
|
+
const headers = (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
26
|
+
return this.delete(path, signedParams, headers);
|
|
27
|
+
}
|
|
28
|
+
authHeaders() {
|
|
29
|
+
return (0, binanceAuth_1.buildBinanceAuthHeaders)(this.apiKey);
|
|
30
|
+
}
|
|
31
|
+
async fetchExchangeInfo() {
|
|
32
|
+
return this.get(this.endpoints.exchangeInfo);
|
|
33
|
+
}
|
|
34
|
+
async fetchTickers() {
|
|
35
|
+
return this.get(this.endpoints.ticker24hr);
|
|
36
|
+
}
|
|
37
|
+
async fetchOrderBook(symbol, limit) {
|
|
38
|
+
const params = { symbol };
|
|
39
|
+
if (limit !== undefined) {
|
|
40
|
+
params.limit = limit;
|
|
41
|
+
}
|
|
42
|
+
return this.get(this.endpoints.depth, params);
|
|
43
|
+
}
|
|
44
|
+
async fetchKlines(symbol, interval, options) {
|
|
45
|
+
const params = { symbol, interval };
|
|
46
|
+
(0, httpParams_1.applyTimeRangeOptions)(params, options);
|
|
47
|
+
return this.get(this.endpoints.klines, params);
|
|
48
|
+
}
|
|
49
|
+
async fetchTrades(symbol, limit) {
|
|
50
|
+
const params = { symbol };
|
|
51
|
+
if (limit !== undefined) {
|
|
52
|
+
params.limit = limit;
|
|
53
|
+
}
|
|
54
|
+
return this.get(this.endpoints.trades, params);
|
|
55
|
+
}
|
|
56
|
+
async createOrder(params) {
|
|
57
|
+
return this.signedPost(this.endpoints.order, params);
|
|
58
|
+
}
|
|
59
|
+
async cancelOrder(symbol, orderId) {
|
|
60
|
+
return this.signedDelete(this.endpoints.order, { symbol, orderId });
|
|
61
|
+
}
|
|
62
|
+
async getOrder(symbol, orderId) {
|
|
63
|
+
return this.signedGet(this.endpoints.order, { symbol, orderId });
|
|
64
|
+
}
|
|
65
|
+
async getOpenOrders(symbol) {
|
|
66
|
+
const params = {};
|
|
67
|
+
if (symbol !== undefined) {
|
|
68
|
+
params.symbol = symbol;
|
|
69
|
+
}
|
|
70
|
+
return this.signedGet(this.endpoints.openOrders, params);
|
|
71
|
+
}
|
|
72
|
+
async fetchAccount() {
|
|
73
|
+
return this.signedGet(this.endpoints.account);
|
|
74
|
+
}
|
|
75
|
+
async createListenKey() {
|
|
76
|
+
return this.post(this.endpoints.listenKey, {}, this.authHeaders());
|
|
77
|
+
}
|
|
78
|
+
async keepAliveListenKey(listenKey) {
|
|
79
|
+
await this.put(this.endpoints.listenKey, { listenKey }, this.authHeaders());
|
|
80
|
+
}
|
|
81
|
+
async deleteListenKey(listenKey) {
|
|
82
|
+
await this.delete(this.endpoints.listenKey, { listenKey }, this.authHeaders());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.BinanceBaseHttpClient = BinanceBaseHttpClient;
|
|
86
|
+
//# sourceMappingURL=BinanceBaseHttpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BinanceBaseHttpClient.js","sourceRoot":"","sources":["../../src/http/BinanceBaseHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
fetchOrderBook(symbol: string, limit?: number): Promise<Record<string, unknown>>;
|
|
9
|
-
fetchKlines(symbol: string, interval: string, options?: {
|
|
10
|
-
startTime?: number;
|
|
11
|
-
endTime?: number;
|
|
12
|
-
limit?: number;
|
|
13
|
-
}): Promise<Array<unknown[]>>;
|
|
14
|
-
fetchTrades(symbol: string, limit?: number): Promise<Array<Record<string, unknown>>>;
|
|
1
|
+
import type { BinanceRawPositionRisk } from '../normalizers/binanceNormalizer';
|
|
2
|
+
import type { FetchKlinesArgs } from '../types/exchange';
|
|
3
|
+
import type { BinanceEndpoints, BinanceHttpClientArgs } from './BinanceBaseHttpClient';
|
|
4
|
+
import { BinanceBaseHttpClient } from './BinanceBaseHttpClient';
|
|
5
|
+
export declare class BinanceFuturesHttpClient extends BinanceBaseHttpClient {
|
|
6
|
+
protected readonly endpoints: BinanceEndpoints;
|
|
7
|
+
constructor(args: BinanceHttpClientArgs);
|
|
15
8
|
fetchMarkPrice(symbol?: string): Promise<Record<string, unknown> | Array<Record<string, unknown>>>;
|
|
16
|
-
fetchFundingRate(symbol?: string, options?:
|
|
17
|
-
startTime?: number;
|
|
18
|
-
endTime?: number;
|
|
19
|
-
limit?: number;
|
|
20
|
-
}): Promise<Array<Record<string, unknown>>>;
|
|
9
|
+
fetchFundingRate(symbol?: string, options?: FetchKlinesArgs): Promise<Array<Record<string, unknown>>>;
|
|
21
10
|
fetchOpenInterest(symbol: string): Promise<Record<string, unknown>>;
|
|
22
|
-
createOrder(params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
23
11
|
modifyOrder(params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
24
|
-
cancelOrder(symbol: string, orderId: string): Promise<Record<string, unknown>>;
|
|
25
12
|
cancelAllOrders(symbol: string): Promise<Array<Record<string, unknown>>>;
|
|
26
|
-
|
|
27
|
-
getOpenOrders(symbol?: string): Promise<Array<Record<string, unknown>>>;
|
|
28
|
-
getAllOrders(symbol: string, options?: {
|
|
29
|
-
startTime?: number;
|
|
30
|
-
endTime?: number;
|
|
31
|
-
limit?: number;
|
|
32
|
-
}): Promise<Array<Record<string, unknown>>>;
|
|
13
|
+
getAllOrders(symbol: string, options?: FetchKlinesArgs): Promise<Array<Record<string, unknown>>>;
|
|
33
14
|
createBatchOrders(orderList: Array<Record<string, unknown>>): Promise<Array<Record<string, unknown>>>;
|
|
34
15
|
cancelBatchOrders(symbol: string, orderIdList: string[]): Promise<Array<Record<string, unknown>>>;
|
|
35
|
-
|
|
36
|
-
fetchPositionRisk(symbol?: string): Promise<Array<Record<string, unknown>>>;
|
|
16
|
+
fetchPositionRisk(symbol?: string): Promise<BinanceRawPositionRisk[]>;
|
|
37
17
|
fetchCommissionRate(symbol: string): Promise<Record<string, unknown>>;
|
|
38
|
-
fetchIncome(options?:
|
|
39
|
-
startTime?: number;
|
|
40
|
-
endTime?: number;
|
|
41
|
-
limit?: number;
|
|
42
|
-
}): Promise<Array<Record<string, unknown>>>;
|
|
18
|
+
fetchIncome(options?: FetchKlinesArgs): Promise<Array<Record<string, unknown>>>;
|
|
43
19
|
setLeverage(symbol: string, leverage: number): Promise<Record<string, unknown>>;
|
|
44
20
|
setMarginType(symbol: string, marginType: string): Promise<Record<string, unknown>>;
|
|
45
21
|
setPositionMode(dualSidePosition: boolean): Promise<Record<string, unknown>>;
|
|
46
22
|
modifyPositionMargin(symbol: string, amount: number, type: number): Promise<Record<string, unknown>>;
|
|
47
|
-
createListenKey(): Promise<{
|
|
48
|
-
listenKey: string;
|
|
49
|
-
}>;
|
|
50
|
-
keepAliveListenKey(listenKey: string): Promise<void>;
|
|
51
|
-
deleteListenKey(listenKey: string): Promise<void>;
|
|
52
23
|
}
|
|
53
24
|
//# sourceMappingURL=BinanceFuturesHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinanceFuturesHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BinanceFuturesHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"BinanceFuturesHttpClient.d.ts","sourceRoot":"","sources":["../../src/http/BinanceFuturesHttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,qBAAa,wBAAyB,SAAQ,qBAAqB;IACjE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAU5C;gBAEU,IAAI,EAAE,qBAAqB;IAIjC,cAAc,CAClB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAa9D,gBAAgB,CACpB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAYpC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAa9E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOxE,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOpC,iBAAiB,CACrB,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOpC,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOpC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAUrE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIrE,WAAW,CACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAOpC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI/E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInF,eAAe,CAAC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAO5E,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAMpC"}
|