@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.
Files changed (141) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +7 -7
  3. package/dist/auth/binanceAuth.js +3 -6
  4. package/dist/auth/binanceAuth.js.map +1 -1
  5. package/dist/auth/bybitAuth.d.ts +0 -1
  6. package/dist/auth/bybitAuth.d.ts.map +1 -1
  7. package/dist/auth/bybitAuth.js +2 -9
  8. package/dist/auth/bybitAuth.js.map +1 -1
  9. package/dist/constants/binance.d.ts +8 -5
  10. package/dist/constants/binance.d.ts.map +1 -1
  11. package/dist/constants/binance.js +10 -23
  12. package/dist/constants/binance.js.map +1 -1
  13. package/dist/constants/bybit.d.ts +7 -9
  14. package/dist/constants/bybit.d.ts.map +1 -1
  15. package/dist/constants/bybit.js +10 -13
  16. package/dist/constants/bybit.js.map +1 -1
  17. package/dist/constants/mappings.d.ts +9 -0
  18. package/dist/constants/mappings.d.ts.map +1 -0
  19. package/dist/constants/mappings.js +40 -0
  20. package/dist/constants/mappings.js.map +1 -0
  21. package/dist/exchanges/BaseExchangeClient.d.ts +37 -0
  22. package/dist/exchanges/BaseExchangeClient.d.ts.map +1 -0
  23. package/dist/exchanges/BaseExchangeClient.js +91 -0
  24. package/dist/exchanges/BaseExchangeClient.js.map +1 -0
  25. package/dist/exchanges/BinanceBaseClient.d.ts +21 -0
  26. package/dist/exchanges/BinanceBaseClient.d.ts.map +1 -0
  27. package/dist/exchanges/BinanceBaseClient.js +64 -0
  28. package/dist/exchanges/BinanceBaseClient.js.map +1 -0
  29. package/dist/exchanges/BinanceFutures.d.ts +9 -21
  30. package/dist/exchanges/BinanceFutures.d.ts.map +1 -1
  31. package/dist/exchanges/BinanceFutures.js +23 -94
  32. package/dist/exchanges/BinanceFutures.js.map +1 -1
  33. package/dist/exchanges/BinanceSpot.d.ts +9 -21
  34. package/dist/exchanges/BinanceSpot.d.ts.map +1 -1
  35. package/dist/exchanges/BinanceSpot.js +16 -94
  36. package/dist/exchanges/BinanceSpot.js.map +1 -1
  37. package/dist/exchanges/BybitLinear.d.ts +19 -20
  38. package/dist/exchanges/BybitLinear.d.ts.map +1 -1
  39. package/dist/exchanges/BybitLinear.js +66 -71
  40. package/dist/exchanges/BybitLinear.js.map +1 -1
  41. package/dist/exchanges/BybitSpot.d.ts +17 -19
  42. package/dist/exchanges/BybitSpot.d.ts.map +1 -1
  43. package/dist/exchanges/BybitSpot.js +42 -64
  44. package/dist/exchanges/BybitSpot.js.map +1 -1
  45. package/dist/exchanges/Exchange.d.ts +1 -1
  46. package/dist/exchanges/Exchange.d.ts.map +1 -1
  47. package/dist/exchanges/Exchange.js +3 -2
  48. package/dist/exchanges/Exchange.js.map +1 -1
  49. package/dist/http/BaseHttpClient.d.ts +10 -1
  50. package/dist/http/BaseHttpClient.d.ts.map +1 -1
  51. package/dist/http/BaseHttpClient.js +27 -5
  52. package/dist/http/BaseHttpClient.js.map +1 -1
  53. package/dist/http/BinanceBaseHttpClient.d.ts +49 -0
  54. package/dist/http/BinanceBaseHttpClient.d.ts.map +1 -0
  55. package/dist/http/BinanceBaseHttpClient.js +86 -0
  56. package/dist/http/BinanceBaseHttpClient.js.map +1 -0
  57. package/dist/http/BinanceFuturesHttpClient.d.ts +11 -40
  58. package/dist/http/BinanceFuturesHttpClient.d.ts.map +1 -1
  59. package/dist/http/BinanceFuturesHttpClient.js +38 -185
  60. package/dist/http/BinanceFuturesHttpClient.js.map +1 -1
  61. package/dist/http/BinanceSpotHttpClient.d.ts +5 -24
  62. package/dist/http/BinanceSpotHttpClient.d.ts.map +1 -1
  63. package/dist/http/BinanceSpotHttpClient.js +15 -90
  64. package/dist/http/BinanceSpotHttpClient.js.map +1 -1
  65. package/dist/http/BybitHttpClient.d.ts +82 -134
  66. package/dist/http/BybitHttpClient.d.ts.map +1 -1
  67. package/dist/http/BybitHttpClient.js +61 -94
  68. package/dist/http/BybitHttpClient.js.map +1 -1
  69. package/dist/index.d.ts +3 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +9 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/normalizers/binanceNormalizer.d.ts +29 -19
  74. package/dist/normalizers/binanceNormalizer.d.ts.map +1 -1
  75. package/dist/normalizers/binanceNormalizer.js +55 -35
  76. package/dist/normalizers/binanceNormalizer.js.map +1 -1
  77. package/dist/normalizers/bybitNormalizer.d.ts +25 -19
  78. package/dist/normalizers/bybitNormalizer.d.ts.map +1 -1
  79. package/dist/normalizers/bybitNormalizer.js +60 -45
  80. package/dist/normalizers/bybitNormalizer.js.map +1 -1
  81. package/dist/precision/precision.d.ts +3 -3
  82. package/dist/precision/precision.d.ts.map +1 -1
  83. package/dist/precision/precision.js +4 -4
  84. package/dist/precision/precision.js.map +1 -1
  85. package/dist/types/common.d.ts +57 -22
  86. package/dist/types/common.d.ts.map +1 -1
  87. package/dist/types/common.js +40 -0
  88. package/dist/types/common.js.map +1 -1
  89. package/dist/types/exchange.d.ts +14 -8
  90. package/dist/types/exchange.d.ts.map +1 -1
  91. package/dist/types/index.d.ts +2 -2
  92. package/dist/types/index.d.ts.map +1 -1
  93. package/dist/types/stream.d.ts +9 -0
  94. package/dist/types/stream.d.ts.map +1 -0
  95. package/dist/types/stream.js +3 -0
  96. package/dist/types/stream.js.map +1 -0
  97. package/dist/utils/crypto.d.ts +2 -0
  98. package/dist/utils/crypto.d.ts.map +1 -0
  99. package/dist/utils/crypto.js +11 -0
  100. package/dist/utils/crypto.js.map +1 -0
  101. package/dist/utils/httpParams.d.ts +3 -0
  102. package/dist/utils/httpParams.d.ts.map +1 -0
  103. package/dist/utils/httpParams.js +15 -0
  104. package/dist/utils/httpParams.js.map +1 -0
  105. package/dist/utils/klineLoader.d.ts +10 -0
  106. package/dist/utils/klineLoader.d.ts.map +1 -0
  107. package/dist/utils/klineLoader.js +19 -0
  108. package/dist/utils/klineLoader.js.map +1 -0
  109. package/dist/ws/BinanceFuturesPublicStream.d.ts +8 -7
  110. package/dist/ws/BinanceFuturesPublicStream.d.ts.map +1 -1
  111. package/dist/ws/BinanceFuturesPublicStream.js +49 -79
  112. package/dist/ws/BinanceFuturesPublicStream.js.map +1 -1
  113. package/dist/ws/BinanceSpotPublicStream.d.ts +7 -5
  114. package/dist/ws/BinanceSpotPublicStream.d.ts.map +1 -1
  115. package/dist/ws/BinanceSpotPublicStream.js +24 -31
  116. package/dist/ws/BinanceSpotPublicStream.js.map +1 -1
  117. package/dist/ws/BinanceUserDataStream.d.ts +3 -3
  118. package/dist/ws/BinanceUserDataStream.d.ts.map +1 -1
  119. package/dist/ws/BinanceUserDataStream.js +10 -10
  120. package/dist/ws/BinanceUserDataStream.js.map +1 -1
  121. package/dist/ws/BybitPrivateStream.d.ts +1 -1
  122. package/dist/ws/BybitPrivateStream.d.ts.map +1 -1
  123. package/dist/ws/BybitPrivateStream.js +12 -29
  124. package/dist/ws/BybitPrivateStream.js.map +1 -1
  125. package/dist/ws/BybitPublicStream.d.ts +5 -4
  126. package/dist/ws/BybitPublicStream.d.ts.map +1 -1
  127. package/dist/ws/BybitPublicStream.js +18 -24
  128. package/dist/ws/BybitPublicStream.js.map +1 -1
  129. package/dist/ws/BybitTradeStream.d.ts +4 -2
  130. package/dist/ws/BybitTradeStream.d.ts.map +1 -1
  131. package/dist/ws/BybitTradeStream.js +32 -44
  132. package/dist/ws/BybitTradeStream.js.map +1 -1
  133. package/dist/ws/binanceWebSocketUtils.d.ts +4 -0
  134. package/dist/ws/binanceWebSocketUtils.d.ts.map +1 -0
  135. package/dist/ws/binanceWebSocketUtils.js +7 -0
  136. package/dist/ws/binanceWebSocketUtils.js.map +1 -0
  137. package/dist/ws/bybitWebSocketUtils.d.ts +28 -0
  138. package/dist/ws/bybitWebSocketUtils.d.ts.map +1 -0
  139. package/dist/ws/bybitWebSocketUtils.js +29 -0
  140. package/dist/ws/bybitWebSocketUtils.js.map +1 -0
  141. package/package.json +21 -3
@@ -1,85 +1,93 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BybitLinear = void 0;
4
+ const common_1 = require("../types/common");
4
5
  const BybitHttpClient_1 = require("../http/BybitHttpClient");
5
6
  const bybitNormalizer_1 = require("../normalizers/bybitNormalizer");
6
7
  const BybitPublicStream_1 = require("../ws/BybitPublicStream");
7
8
  const BybitTradeStream_1 = require("../ws/BybitTradeStream");
8
9
  const bybit_1 = require("../constants/bybit");
9
- const precision_1 = require("../precision/precision");
10
- class BybitLinear {
11
- apiKey;
12
- markets = new Map();
10
+ const BaseExchangeClient_1 = require("./BaseExchangeClient");
11
+ class BybitLinear extends BaseExchangeClient_1.BaseExchangeClient {
12
+ marketLabel = 'linear';
13
+ klineLimit = 200;
14
+ isDemoMode;
13
15
  httpClient;
14
16
  publicStream;
15
17
  tradeStream;
16
- logger;
17
- onNotify;
18
18
  constructor(args) {
19
- this.apiKey = args.config.apiKey;
20
- this.logger = args.logger;
21
- this.onNotify = args.onNotify;
22
- this.httpClient = new BybitHttpClient_1.BybitHttpClient(args.config.apiKey, args.config.secret, args.logger);
23
- this.publicStream = new BybitPublicStream_1.BybitPublicStream(bybit_1.BYBIT_PUBLIC_LINEAR_WS_URL, args.logger, args.onNotify);
24
- this.tradeStream = new BybitTradeStream_1.BybitTradeStream({
19
+ super(args);
20
+ const isDemoMode = args.config.isDemoMode === true;
21
+ this.isDemoMode = isDemoMode;
22
+ const baseUrl = isDemoMode ? bybit_1.BYBIT_DEMO_BASE_URL : bybit_1.BYBIT_BASE_URL;
23
+ const publicWebSocketUrl = isDemoMode ? bybit_1.BYBIT_DEMO_PUBLIC_LINEAR_WEBSOCKET_URL : bybit_1.BYBIT_PUBLIC_LINEAR_WEBSOCKET_URL;
24
+ this.httpClient = new BybitHttpClient_1.BybitHttpClient({
25
+ baseUrl,
25
26
  apiKey: args.config.apiKey,
26
27
  secret: args.config.secret,
27
28
  logger: args.logger,
28
- onNotify: args.onNotify,
29
29
  });
30
- }
31
- async loadMarkets(reload = false) {
32
- if (!reload && this.markets.size > 0) {
33
- return this.markets;
30
+ this.publicStream = new BybitPublicStream_1.BybitPublicStream(publicWebSocketUrl, args.logger, args.onNotify);
31
+ if (isDemoMode) {
32
+ this.tradeStream = null;
34
33
  }
35
- this.logger.info('Loading linear markets');
36
- const raw = await this.httpClient.fetchInstrumentsInfo('linear');
37
- const normalized = (0, bybitNormalizer_1.normalizeBybitMarkets)(raw.result.list);
38
- for (const [symbol, market] of normalized) {
39
- this.markets.set(symbol, market);
34
+ else {
35
+ this.tradeStream = new BybitTradeStream_1.BybitTradeStream({
36
+ url: bybit_1.BYBIT_TRADE_WEBSOCKET_URL,
37
+ apiKey: args.config.apiKey,
38
+ secret: args.config.secret,
39
+ logger: args.logger,
40
+ onNotify: args.onNotify,
41
+ });
40
42
  }
41
- this.logger.info(`Loaded ${this.markets.size} linear markets`);
42
- return this.markets;
43
43
  }
44
- async fetchTickers() {
45
- this.logger.debug('Fetching linear tickers');
44
+ getPublicStream() {
45
+ return this.publicStream;
46
+ }
47
+ async fetchAndNormalizeTradeSymbols() {
48
+ const raw = await this.httpClient.fetchInstrumentsInfo('linear');
49
+ return (0, bybitNormalizer_1.normalizeBybitTradeSymbols)(raw.result.list);
50
+ }
51
+ async fetchAndNormalizeTickers() {
46
52
  const raw = await this.httpClient.fetchTickers('linear');
47
53
  return (0, bybitNormalizer_1.normalizeBybitTickers)(raw.result.list);
48
54
  }
49
- async fetchKlines(symbol, interval, options) {
50
- this.logger.debug(`Fetching klines for ${symbol} ${interval}`);
55
+ async fetchAndNormalizeKlines(symbol, interval, options) {
51
56
  const bybitInterval = bybit_1.BYBIT_KLINE_INTERVAL[interval];
52
- const raw = await this.httpClient.fetchKline('linear', symbol, bybitInterval, {
53
- startTime: options?.startTime,
54
- endTime: options?.endTime,
55
- limit: options?.limit,
57
+ const raw = await this.httpClient.fetchKline({
58
+ category: 'linear',
59
+ symbol,
60
+ interval: bybitInterval,
61
+ options,
56
62
  });
57
63
  return (0, bybitNormalizer_1.normalizeBybitKlines)(raw.result.list);
58
64
  }
59
- async *watchTickers() {
60
- this.publicStream.subscribeAllTickers(() => { });
61
- yield await this.fetchTickers();
62
- }
63
- subscribeKlines(args) {
64
- this.publicStream.subscribeKlines(args.symbol, args.interval, args.handler);
65
- }
66
- unsubscribeKlines(args) {
67
- this.publicStream.unsubscribeKlines(args.symbol, args.interval, args.handler);
65
+ async fetchAndNormalizeBalance() {
66
+ const raw = await this.httpClient.fetchWalletBalance('UNIFIED');
67
+ return (0, bybitNormalizer_1.normalizeBybitBalance)(raw.result);
68
68
  }
69
- async createOrderWs(args) {
70
- this.logger.debug(`Creating order via WS: ${args.symbol}`);
69
+ async createOrderWebSocket(args) {
71
70
  const orderParams = {
72
71
  category: 'linear',
73
72
  symbol: args.symbol,
74
- orderType: args.type === 'market' ? 'Market' : 'Limit',
75
- side: args.side === 'buy' ? 'Buy' : 'Sell',
73
+ orderType: args.type === common_1.OrderType.Market ? 'Market' : 'Limit',
74
+ side: args.side === common_1.OrderSide.Buy ? 'Buy' : 'Sell',
76
75
  qty: this.amountToPrecision(args.symbol, args.amount),
77
76
  ...args.params,
78
77
  };
79
78
  if (args.price > 0) {
80
79
  orderParams.price = this.priceToPrecision(args.symbol, args.price);
81
80
  }
82
- return this.tradeStream.createOrder(orderParams);
81
+ if (this.tradeStream !== null) {
82
+ this.logger.debug(`Creating order via WebSocket: ${args.symbol}`);
83
+ return this.tradeStream.createOrder(orderParams);
84
+ }
85
+ this.logger.debug(`Creating order via REST: ${args.symbol}`);
86
+ const raw = await this.httpClient.createOrder(orderParams);
87
+ return (0, bybitNormalizer_1.buildBybitOrderFromCreateResponse)(args, raw.result.orderId);
88
+ }
89
+ async fetchFundingRateHistory() {
90
+ throw new Error('Not implemented for Bybit');
83
91
  }
84
92
  async fetchPosition(symbol) {
85
93
  this.logger.debug(`Fetching position for ${symbol}`);
@@ -92,38 +100,25 @@ class BybitLinear {
92
100
  }
93
101
  async setLeverage(leverage, symbol) {
94
102
  this.logger.info(`Setting leverage to ${leverage}x for ${symbol}`);
95
- await this.httpClient.setLeverage('linear', symbol, leverage, leverage);
103
+ await this.httpClient.setLeverage({ category: 'linear', symbol, buyLeverage: leverage, sellLeverage: leverage });
96
104
  }
97
105
  async setMarginMode(marginMode, symbol) {
98
106
  this.logger.info(`Setting margin mode to ${marginMode} for ${symbol}`);
99
- const tradeMode = marginMode === 'isolated' ? 1 : 0;
107
+ const tradeMode = marginMode === common_1.MarginMode.Isolated ? 1 : 0;
100
108
  const defaultLeverage = 10;
101
- await this.httpClient.switchIsolated('linear', symbol, tradeMode, defaultLeverage, defaultLeverage);
102
- }
103
- async fetchBalance() {
104
- this.logger.debug('Fetching balance');
105
- const raw = await this.httpClient.fetchWalletBalance('UNIFIED');
106
- return (0, bybitNormalizer_1.normalizeBybitBalance)(raw.result);
107
- }
108
- amountToPrecision(symbol, amount) {
109
- const market = this.markets.get(symbol);
110
- if (!market) {
111
- this.logger.warn(`Market ${symbol} not found, using raw amount`);
112
- return String(amount);
113
- }
114
- return (0, precision_1.amountToPrecision)(market, amount);
115
- }
116
- priceToPrecision(symbol, price) {
117
- const market = this.markets.get(symbol);
118
- if (!market) {
119
- this.logger.warn(`Market ${symbol} not found, using raw price`);
120
- return String(price);
121
- }
122
- return (0, precision_1.priceToPrecision)(market, price);
109
+ await this.httpClient.switchIsolated({
110
+ category: 'linear',
111
+ symbol,
112
+ tradeMode,
113
+ buyLeverage: defaultLeverage,
114
+ sellLeverage: defaultLeverage,
115
+ });
123
116
  }
124
117
  async close() {
125
118
  this.logger.info('Closing Bybit Linear connection');
126
- this.tradeStream.disconnect();
119
+ if (this.tradeStream !== null) {
120
+ this.tradeStream.disconnect();
121
+ }
127
122
  this.publicStream.close();
128
123
  }
129
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BybitLinear.js","sourceRoot":"","sources":["../../src/exchanges/BybitLinear.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BybitLinear.js","sourceRoot":"","sources":["../../src/exchanges/BybitLinear.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,24 @@
1
- import type { ExchangeClient, ExchangeArgs, CreateOrderWsArgs, FetchKlinesArgs, SubscribeKlinesArgs } from '../types/exchange';
2
- import type { Kline, KlineInterval, MarketBySymbol, TickerBySymbol, BalanceByAsset, Position, Order, MarginMode } from '../types/common';
3
- declare class BybitSpot implements ExchangeClient {
4
- readonly apiKey: string;
5
- readonly markets: MarketBySymbol;
6
- private httpClient;
7
- private publicStream;
8
- private logger;
9
- private onNotify?;
1
+ import type { CreateOrderWebSocketArgs, ExchangeArgs, FetchPageWithLimitArgs } from '../types/exchange';
2
+ import type { Kline, KlineInterval, TradeSymbolBySymbol, TickerBySymbol, BalanceByAsset, Position, Order, FundingRateHistory } from '../types/common';
3
+ import { MarginMode } from '../types/common';
4
+ import type { PublicStreamLike } from '../types/stream';
5
+ import { BaseExchangeClient } from './BaseExchangeClient';
6
+ declare class BybitSpot extends BaseExchangeClient {
7
+ protected readonly marketLabel = "spot";
8
+ protected readonly klineLimit = 200;
9
+ private readonly httpClient;
10
+ private readonly publicStream;
10
11
  constructor(args: ExchangeArgs);
11
- loadMarkets(reload?: boolean): Promise<MarketBySymbol>;
12
- fetchTickers(): Promise<TickerBySymbol>;
13
- fetchKlines(symbol: string, interval: KlineInterval, options?: FetchKlinesArgs): Promise<Kline[]>;
14
- watchTickers(): AsyncGenerator<TickerBySymbol>;
15
- subscribeKlines(args: SubscribeKlinesArgs): void;
16
- unsubscribeKlines(args: SubscribeKlinesArgs): void;
17
- createOrderWs(args: CreateOrderWsArgs): Promise<Order>;
12
+ protected getPublicStream(): PublicStreamLike;
13
+ protected fetchAndNormalizeTradeSymbols(): Promise<TradeSymbolBySymbol>;
14
+ protected fetchAndNormalizeTickers(): Promise<TickerBySymbol>;
15
+ protected fetchAndNormalizeKlines(symbol: string, interval: KlineInterval, options?: FetchPageWithLimitArgs): Promise<Kline[]>;
16
+ protected fetchAndNormalizeBalance(): Promise<BalanceByAsset>;
17
+ createOrderWebSocket(args: CreateOrderWebSocketArgs): Promise<Order>;
18
+ fetchFundingRateHistory(): Promise<FundingRateHistory[]>;
18
19
  fetchPosition(_symbol: string): Promise<Position>;
19
20
  setLeverage(_leverage: number, _symbol: string): Promise<void>;
20
21
  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
22
  close(): Promise<void>;
25
23
  }
26
24
  export { BybitSpot };
@@ -1 +1 @@
1
- {"version":3,"file":"BybitSpot.d.ts","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAEV,KAAK,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACX,MAAM,iBAAiB,CAAC;AAmBzB,cAAM,SAAU,YAAW,cAAc;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAa;IAE7C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAA4C;gBAEjD,IAAI,EAAE,YAAY;IAkBxB,WAAW,CAAC,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB7D,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAOvC,WAAW,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,KAAK,EAAE,CAAC;IAYZ,YAAY,IAAI,cAAc,CAAC,cAAc,CAAC;IAMrD,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAIhD,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAI5C,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC;IAqBtD,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,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAO7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAYzD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAYjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"BybitSpot.d.ts","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACxG,OAAO,KAAK,EACV,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,QAAQ,EACR,KAAK,EACL,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAwB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnE,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,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;cAM7D,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;cAMnD,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,KAAK,EAAE,CAAC;cAYH,wBAAwB,IAAI,OAAO,CAAC,cAAc,CAAC;IAM7D,oBAAoB,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC;IA2BpE,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIxD,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"}
@@ -1,78 +1,77 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BybitSpot = void 0;
4
+ const common_1 = require("../types/common");
4
5
  const BybitHttpClient_1 = require("../http/BybitHttpClient");
5
6
  const bybitNormalizer_1 = require("../normalizers/bybitNormalizer");
6
7
  const BybitPublicStream_1 = require("../ws/BybitPublicStream");
7
8
  const bybit_1 = require("../constants/bybit");
8
- const precision_1 = require("../precision/precision");
9
- class BybitSpot {
10
- apiKey;
11
- markets = new Map();
9
+ const BaseExchangeClient_1 = require("./BaseExchangeClient");
10
+ class BybitSpot extends BaseExchangeClient_1.BaseExchangeClient {
11
+ marketLabel = 'spot';
12
+ klineLimit = 200;
12
13
  httpClient;
13
14
  publicStream;
14
- logger;
15
- onNotify;
16
15
  constructor(args) {
17
- this.apiKey = args.config.apiKey;
18
- this.logger = args.logger;
19
- this.onNotify = args.onNotify;
20
- this.httpClient = new BybitHttpClient_1.BybitHttpClient(args.config.apiKey, args.config.secret, args.logger);
21
- this.publicStream = new BybitPublicStream_1.BybitPublicStream(bybit_1.BYBIT_PUBLIC_SPOT_WS_URL, args.logger, args.onNotify);
16
+ super(args);
17
+ const isDemoMode = args.config.isDemoMode === true;
18
+ const baseUrl = isDemoMode ? bybit_1.BYBIT_DEMO_BASE_URL : bybit_1.BYBIT_BASE_URL;
19
+ const publicWebSocketUrl = isDemoMode ? bybit_1.BYBIT_DEMO_PUBLIC_SPOT_WEBSOCKET_URL : bybit_1.BYBIT_PUBLIC_SPOT_WEBSOCKET_URL;
20
+ this.httpClient = new BybitHttpClient_1.BybitHttpClient({
21
+ baseUrl,
22
+ apiKey: args.config.apiKey,
23
+ secret: args.config.secret,
24
+ logger: args.logger,
25
+ });
26
+ this.publicStream = new BybitPublicStream_1.BybitPublicStream(publicWebSocketUrl, args.logger, args.onNotify);
22
27
  }
23
- async loadMarkets(reload = false) {
24
- if (!reload && this.markets.size > 0) {
25
- return this.markets;
26
- }
27
- this.logger.info('Loading spot markets');
28
+ getPublicStream() {
29
+ return this.publicStream;
30
+ }
31
+ async fetchAndNormalizeTradeSymbols() {
28
32
  const raw = await this.httpClient.fetchInstrumentsInfo('spot');
29
- const normalized = (0, bybitNormalizer_1.normalizeBybitMarkets)(raw.result.list);
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;
33
+ return (0, bybitNormalizer_1.normalizeBybitTradeSymbols)(raw.result.list);
35
34
  }
36
- async fetchTickers() {
37
- this.logger.debug('Fetching spot tickers');
35
+ async fetchAndNormalizeTickers() {
38
36
  const raw = await this.httpClient.fetchTickers('spot');
39
37
  return (0, bybitNormalizer_1.normalizeBybitTickers)(raw.result.list);
40
38
  }
41
- async fetchKlines(symbol, interval, options) {
42
- this.logger.debug(`Fetching klines for ${symbol} ${interval}`);
39
+ async fetchAndNormalizeKlines(symbol, interval, options) {
43
40
  const bybitInterval = bybit_1.BYBIT_KLINE_INTERVAL[interval];
44
- const raw = await this.httpClient.fetchKline('spot', symbol, bybitInterval, {
45
- startTime: options?.startTime,
46
- endTime: options?.endTime,
47
- limit: options?.limit,
41
+ const raw = await this.httpClient.fetchKline({
42
+ category: 'spot',
43
+ symbol,
44
+ interval: bybitInterval,
45
+ options,
48
46
  });
49
47
  return (0, bybitNormalizer_1.normalizeBybitKlines)(raw.result.list);
50
48
  }
51
- async *watchTickers() {
52
- this.publicStream.subscribeAllTickers(() => { });
53
- yield await this.fetchTickers();
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);
49
+ async fetchAndNormalizeBalance() {
50
+ const raw = await this.httpClient.fetchWalletBalance('UNIFIED');
51
+ return (0, bybitNormalizer_1.normalizeBybitBalance)(raw.result);
60
52
  }
61
- async createOrderWs(args) {
53
+ async createOrderWebSocket(args) {
62
54
  this.logger.debug(`Creating order via REST: ${args.symbol}`);
55
+ const isMarket = args.type === common_1.OrderType.Market;
63
56
  const orderParams = {
64
57
  category: 'spot',
65
58
  symbol: args.symbol,
66
- orderType: args.type === 'market' ? 'Market' : 'Limit',
67
- side: args.side === 'buy' ? 'Buy' : 'Sell',
59
+ orderType: isMarket ? 'Market' : 'Limit',
60
+ side: args.side === common_1.OrderSide.Buy ? 'Buy' : 'Sell',
68
61
  qty: this.amountToPrecision(args.symbol, args.amount),
69
62
  ...args.params,
70
63
  };
64
+ if (isMarket) {
65
+ orderParams.marketUnit = 'baseCoin';
66
+ }
71
67
  if (args.price > 0) {
72
68
  orderParams.price = this.priceToPrecision(args.symbol, args.price);
73
69
  }
74
70
  const raw = await this.httpClient.createOrder(orderParams);
75
- return (0, bybitNormalizer_1.normalizeBybitOrder)(raw.result);
71
+ return (0, bybitNormalizer_1.buildBybitOrderFromCreateResponse)(args, raw.result.orderId);
72
+ }
73
+ async fetchFundingRateHistory() {
74
+ throw new Error('Not supported for spot market');
76
75
  }
77
76
  async fetchPosition(_symbol) {
78
77
  throw new Error('Not supported for spot market');
@@ -83,27 +82,6 @@ class BybitSpot {
83
82
  async setMarginMode(_marginMode, _symbol) {
84
83
  throw new Error('Not supported for spot market');
85
84
  }
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
85
  async close() {
108
86
  this.logger.info('Closing Bybit Spot connection');
109
87
  this.publicStream.close();
@@ -1 +1 @@
1
- {"version":3,"file":"BybitSpot.js","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":";;;AAkBA,6DAA0D;AAC1D,oEAMwC;AAOxC,+DAA4D;AAC5D,8CAAoF;AACpF,sDAA6E;AAE7E,MAAM,SAAS;IACJ,MAAM,CAAS;IACf,OAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;IAErC,UAAU,CAAkB;IAC5B,YAAY,CAAoB;IAChC,MAAM,CAAiB;IACvB,QAAQ,CAA6C;IAE7D,YAAY,IAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9B,IAAI,CAAC,UAAU,GAAG,IAAI,iCAAe,CACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,qCAAiB,CACvC,gCAAwB,EACxB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAkB,KAAK;QACvC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEzC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,IAAA,uCAAqB,EACtC,GAAG,CAAC,MAAM,CAAC,IAA2C,CACvD,CAAC;QAEF,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,IAAA,uCAAqB,EAAC,GAAG,CAAC,MAAM,CAAC,IAAmC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAc,EACd,QAAuB,EACvB,OAAyB;QAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,4BAAoB,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE;YAC1E,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,KAAK,EAAE,OAAO,EAAE,KAAK;SACtB,CAAC,CAAC;QAEH,OAAO,IAAA,sCAAoB,EAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,CAAC,YAAY;QACjB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEhD,MAAM,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,eAAe,CAAC,IAAyB;QACvC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,iBAAiB,CAAC,IAAyB;QACzC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAuB;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,MAAM,WAAW,GAA4B;YAC3C,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YACtD,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YAC1C,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YACrD,GAAG,IAAI,CAAC,MAAM;SACf,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnB,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAA,qCAAmB,EAAC,GAAG,CAAC,MAA0C,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,OAAe;QAClD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAuB,EAAE,OAAe;QAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAA,uCAAqB,EAAC,GAAG,CAAC,MAA0C,CAAC,CAAC;IAC/E,CAAC;IAED,iBAAiB,CAAC,MAAc,EAAE,MAAc;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,8BAA8B,CAAC,CAAC;YAEjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,OAAO,IAAA,6BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,KAAa;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,6BAA6B,CAAC,CAAC;YAEhE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAA,4BAAgB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAElD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF;AAEQ,8BAAS"}
1
+ {"version":3,"file":"BybitSpot.js","sourceRoot":"","sources":["../../src/exchanges/BybitSpot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ExchangeClient, ExchangeArgs } from '../types/exchange';
2
- import type { ExchangeName } from '../types/common';
2
+ import { ExchangeName } from '../types/common';
3
3
  declare class Exchange {
4
4
  readonly name: ExchangeName;
5
5
  readonly futures: ExchangeClient;
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../../src/exchanges/Exchange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD,cAAM,QAAQ;IACZ,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;gBAElB,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;IAgB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"Exchange.d.ts","sourceRoot":"","sources":["../../src/exchanges/Exchange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,cAAM,QAAQ;IACZ,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;gBAElB,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;IAgB5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Exchange = void 0;
4
+ const common_1 = require("../types/common");
4
5
  const BinanceFutures_1 = require("./BinanceFutures");
5
6
  const BinanceSpot_1 = require("./BinanceSpot");
6
7
  const BybitLinear_1 = require("./BybitLinear");
@@ -11,11 +12,11 @@ class Exchange {
11
12
  spot;
12
13
  constructor(name, args) {
13
14
  this.name = name;
14
- if (name === 'binance') {
15
+ if (name === common_1.ExchangeName.Binance) {
15
16
  this.futures = new BinanceFutures_1.BinanceFutures(args);
16
17
  this.spot = new BinanceSpot_1.BinanceSpot(args);
17
18
  }
18
- else if (name === 'bybit') {
19
+ else if (name === common_1.ExchangeName.Bybit) {
19
20
  this.futures = new BybitLinear_1.BybitLinear(args);
20
21
  this.spot = new BybitSpot_1.BybitSpot(args);
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../../src/exchanges/Exchange.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,2CAAwC;AAExC,MAAM,QAAQ;IACH,IAAI,CAAe;IACnB,OAAO,CAAiB;IACxB,IAAI,CAAiB;IAE9B,YAAY,IAAkB,EAAE,IAAkB;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAU,IAAI,CAAC;YAEpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAEQ,4BAAQ"}
1
+ {"version":3,"file":"Exchange.js","sourceRoot":"","sources":["../../src/exchanges/Exchange.ts"],"names":[],"mappings":";;;AACA,4CAA+C;AAC/C,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,2CAAwC;AAExC,MAAM,QAAQ;IACH,IAAI,CAAe;IACnB,OAAO,CAAiB;IACxB,IAAI,CAAiB;IAE9B,YAAY,IAAkB,EAAE,IAAkB;QAChD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,KAAK,qBAAY,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,KAAK,qBAAY,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAU,IAAI,CAAC;YAEpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAEQ,4BAAQ"}
@@ -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(baseURL: string, apiKey: string, logger: ExchangeLogger, timeout?: number);
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,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM;cASrE,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,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,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"}
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;cAwBG,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;cAaG,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;cAaG,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;cAaG,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;cAaG,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;IAab,OAAO,CAAC,WAAW;CAWpB"}
@@ -30,12 +30,12 @@ class BaseHttpClient {
30
30
  axiosInstance;
31
31
  logger;
32
32
  apiKey;
33
- constructor(baseURL, apiKey, logger, timeout) {
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":"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"}
1
+ {"version":3,"file":"BaseHttpClient.js","sourceRoot":"","sources":["../../src/http/BaseHttpClient.ts"],"names":[],"mappings":"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"}