@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 +1 @@
1
- {"version":3,"file":"binanceNormalizer.js","sourceRoot":"","sources":["../../src/normalizers/binanceNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binanceNormalizer.js","sourceRoot":"","sources":["../../src/normalizers/binanceNormalizer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
- import { TickerBySymbol, Kline, MarketBySymbol, Position, Order, BalanceByAsset } from '../types/common';
2
- interface BybitRawLotSizeFilter {
1
+ import type { TickerBySymbol, Kline, TradeSymbolBySymbol, Position, Order, BalanceByAsset } from '../types/common';
2
+ import type { CreateOrderWebSocketArgs } from '../types/exchange';
3
+ interface BybitLotSizeFilterRaw {
4
+ basePrecision?: string;
3
5
  qtyStep?: string;
4
6
  minOrderQty?: string;
5
7
  maxOrderQty?: string;
8
+ minNotionalValue?: string;
9
+ minOrderAmt?: string;
6
10
  }
7
- interface BybitRawPriceFilter {
11
+ interface BybitPriceFilterRaw {
8
12
  tickSize?: string;
9
13
  }
10
- export interface BybitRawInstrumentInfo {
14
+ export interface BybitInstrumentInfoRaw {
11
15
  symbol: string;
12
16
  status: string;
13
17
  baseCoin: string;
@@ -15,16 +19,16 @@ export interface BybitRawInstrumentInfo {
15
19
  settleCoin?: string;
16
20
  contractType?: string;
17
21
  contractSize?: string;
18
- lotSizeFilter?: BybitRawLotSizeFilter;
19
- priceFilter?: BybitRawPriceFilter;
22
+ lotSizeFilter?: BybitLotSizeFilterRaw;
23
+ priceFilter?: BybitPriceFilterRaw;
20
24
  }
21
- export interface BybitRawTicker {
25
+ export interface BybitTickerRaw {
22
26
  symbol: string;
23
27
  lastPrice: string;
24
28
  price24hPcnt: string;
25
29
  time?: number;
26
30
  }
27
- export interface BybitRawWsKline {
31
+ export interface BybitWebSocketKlineRaw {
28
32
  start: number;
29
33
  open: string;
30
34
  high: string;
@@ -35,7 +39,7 @@ export interface BybitRawWsKline {
35
39
  confirm: boolean;
36
40
  timestamp: number;
37
41
  }
38
- export interface BybitRawPosition {
42
+ export interface BybitPositionRaw {
39
43
  symbol: string;
40
44
  side: string;
41
45
  size: string;
@@ -46,8 +50,9 @@ export interface BybitRawPosition {
46
50
  tradeMode: number;
47
51
  liqPrice: string;
48
52
  positionIdx: number;
53
+ [key: string]: unknown;
49
54
  }
50
- export interface BybitRawOrderResponse {
55
+ export interface BybitOrderResponseRaw {
51
56
  orderId: string;
52
57
  symbol: string;
53
58
  side: string;
@@ -57,7 +62,7 @@ export interface BybitRawOrderResponse {
57
62
  orderStatus: string;
58
63
  createdTime: string;
59
64
  }
60
- interface BybitRawCoin {
65
+ interface BybitCoinRaw {
61
66
  coin: string;
62
67
  availableToWithdraw?: string;
63
68
  walletBalance?: string;
@@ -65,15 +70,16 @@ interface BybitRawCoin {
65
70
  locked?: string;
66
71
  frozenAmount?: string;
67
72
  }
68
- export interface BybitRawWalletBalance {
69
- list: BybitRawCoin[];
73
+ export interface BybitWalletBalanceRaw {
74
+ list: BybitCoinRaw[];
70
75
  }
71
- export declare function normalizeBybitMarkets(rawList: BybitRawInstrumentInfo[]): MarketBySymbol;
72
- export declare function normalizeBybitTickers(rawList: BybitRawTicker[]): TickerBySymbol;
76
+ export declare function normalizeBybitTradeSymbols(rawList: BybitInstrumentInfoRaw[]): TradeSymbolBySymbol;
77
+ export declare function normalizeBybitTickers(rawList: BybitTickerRaw[]): TickerBySymbol;
73
78
  export declare function normalizeBybitKlines(rawList: string[][]): Kline[];
74
- export declare function normalizeBybitKlineWsMessage(raw: BybitRawWsKline): Kline;
75
- export declare function normalizeBybitPosition(raw: BybitRawPosition): Position;
76
- export declare function normalizeBybitOrder(raw: BybitRawOrderResponse): Order;
77
- export declare function normalizeBybitBalance(raw: BybitRawWalletBalance): BalanceByAsset;
79
+ export declare function normalizeBybitKlineWebSocketMessage(raw: BybitWebSocketKlineRaw): Kline;
80
+ export declare function normalizeBybitPosition(raw: BybitPositionRaw): Position;
81
+ export declare function normalizeBybitOrder(raw: BybitOrderResponseRaw): Order;
82
+ export declare function buildBybitOrderFromCreateResponse(args: CreateOrderWebSocketArgs, orderId: string): Order;
83
+ export declare function normalizeBybitBalance(raw: BybitWalletBalanceRaw): BalanceByAsset;
78
84
  export {};
79
85
  //# sourceMappingURL=bybitNormalizer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bybitNormalizer.d.ts","sourceRoot":"","sources":["../../src/normalizers/bybitNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bybitNormalizer.d.ts","sourceRoot":"","sources":["../../src/normalizers/bybitNormalizer.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeBybitMarkets = normalizeBybitMarkets;
3
+ exports.normalizeBybitTradeSymbols = normalizeBybitTradeSymbols;
4
4
  exports.normalizeBybitTickers = normalizeBybitTickers;
5
5
  exports.normalizeBybitKlines = normalizeBybitKlines;
6
- exports.normalizeBybitKlineWsMessage = normalizeBybitKlineWsMessage;
6
+ exports.normalizeBybitKlineWebSocketMessage = normalizeBybitKlineWebSocketMessage;
7
7
  exports.normalizeBybitPosition = normalizeBybitPosition;
8
8
  exports.normalizeBybitOrder = normalizeBybitOrder;
9
+ exports.buildBybitOrderFromCreateResponse = buildBybitOrderFromCreateResponse;
9
10
  exports.normalizeBybitBalance = normalizeBybitBalance;
11
+ const common_1 = require("../types/common");
12
+ const mappings_1 = require("../constants/mappings");
10
13
  const LINEAR_CONTRACT_TYPES = new Set(['LinearPerpetual', 'LinearFutures']);
11
- function normalizeBybitMarkets(rawList) {
14
+ function normalizeBybitTradeSymbols(rawList) {
12
15
  const result = new Map();
13
16
  for (const raw of rawList) {
14
17
  const isLinear = LINEAR_CONTRACT_TYPES.has(raw.contractType ?? '');
15
18
  const isSpot = raw.contractType === undefined || raw.contractType === '';
16
- const market = {
19
+ let tradeSymbolType = common_1.TradeSymbolType.Future;
20
+ if (isLinear) {
21
+ tradeSymbolType = common_1.TradeSymbolType.Swap;
22
+ }
23
+ else if (isSpot) {
24
+ tradeSymbolType = common_1.TradeSymbolType.Spot;
25
+ }
26
+ const tradeSymbol = {
17
27
  symbol: raw.symbol,
18
28
  baseAsset: raw.baseCoin,
19
29
  quoteAsset: raw.quoteCoin,
20
30
  settle: isLinear ? (raw.settleCoin ?? 'USDT') : '',
21
- active: raw.status === 'Trading',
22
- type: isLinear ? 'swap' : isSpot ? 'spot' : 'future',
23
- linear: isLinear,
31
+ isActive: raw.status === 'Trading',
32
+ type: tradeSymbolType,
33
+ isLinear,
24
34
  contractSize: parseFloat(raw.contractSize ?? '1'),
25
35
  filter: {
26
36
  tickSize: raw.priceFilter?.tickSize ?? '0',
27
- stepSize: raw.lotSizeFilter?.qtyStep ?? '0',
37
+ stepSize: raw.lotSizeFilter?.qtyStep ?? raw.lotSizeFilter?.basePrecision ?? '0',
28
38
  minQty: raw.lotSizeFilter?.minOrderQty ?? '0',
29
39
  maxQty: raw.lotSizeFilter?.maxOrderQty ?? '0',
40
+ minNotional: raw.lotSizeFilter?.minNotionalValue
41
+ ?? raw.lotSizeFilter?.minOrderAmt
42
+ ?? '0',
30
43
  },
31
44
  };
32
- result.set(raw.symbol, market);
45
+ result.set(raw.symbol, tradeSymbol);
33
46
  }
34
47
  return result;
35
48
  }
@@ -48,37 +61,37 @@ function normalizeBybitTickers(rawList) {
48
61
  }
49
62
  function normalizeBybitKlines(rawList) {
50
63
  return rawList.map((row) => ({
51
- openTime: parseFloat(row[0]),
52
- open: parseFloat(row[1]),
53
- high: parseFloat(row[2]),
54
- low: parseFloat(row[3]),
55
- close: parseFloat(row[4]),
64
+ openTimestamp: parseFloat(row[0]),
65
+ openPrice: parseFloat(row[1]),
66
+ highPrice: parseFloat(row[2]),
67
+ lowPrice: parseFloat(row[3]),
68
+ closePrice: parseFloat(row[4]),
56
69
  volume: parseFloat(row[5]),
57
- closeTime: 0,
58
- quoteVolume: parseFloat(row[6]),
59
- trades: 0,
70
+ closeTimestamp: 0,
71
+ quoteAssetVolume: parseFloat(row[6]),
72
+ numberOfTrades: 0,
73
+ takerBuyBaseAssetVolume: 0,
74
+ takerBuyQuoteAssetVolume: 0,
60
75
  }));
61
76
  }
62
- function normalizeBybitKlineWsMessage(raw) {
77
+ function normalizeBybitKlineWebSocketMessage(raw) {
63
78
  return {
64
- openTime: raw.start,
65
- open: parseFloat(raw.open),
66
- high: parseFloat(raw.high),
67
- low: parseFloat(raw.low),
68
- close: parseFloat(raw.close),
79
+ openTimestamp: raw.start,
80
+ openPrice: parseFloat(raw.open),
81
+ highPrice: parseFloat(raw.high),
82
+ lowPrice: parseFloat(raw.low),
83
+ closePrice: parseFloat(raw.close),
69
84
  volume: parseFloat(raw.volume),
70
- closeTime: raw.timestamp,
71
- quoteVolume: parseFloat(raw.turnover),
72
- trades: 0,
85
+ closeTimestamp: raw.timestamp,
86
+ quoteAssetVolume: parseFloat(raw.turnover),
87
+ numberOfTrades: 0,
88
+ takerBuyBaseAssetVolume: 0,
89
+ takerBuyQuoteAssetVolume: 0,
73
90
  };
74
91
  }
75
92
  function normalizeBybitPosition(raw) {
76
- const sideMap = {
77
- Buy: 'long',
78
- Sell: 'short',
79
- };
80
- const side = sideMap[raw.side] ?? 'both';
81
- const marginMode = raw.tradeMode === 0 ? 'cross' : 'isolated';
93
+ const side = mappings_1.BYBIT_POSITION_SIDE[raw.side] ?? common_1.PositionSide.Both;
94
+ const marginMode = raw.tradeMode === 0 ? common_1.MarginMode.Cross : common_1.MarginMode.Isolated;
82
95
  const liquidationPriceRaw = parseFloat(raw.liqPrice);
83
96
  return {
84
97
  symbol: raw.symbol,
@@ -93,29 +106,31 @@ function normalizeBybitPosition(raw) {
93
106
  info: raw,
94
107
  };
95
108
  }
96
- const BYBIT_ORDER_STATUS_MAP = {
97
- New: 'open',
98
- PartiallyFilled: 'open',
99
- Untriggered: 'open',
100
- Filled: 'closed',
101
- Cancelled: 'canceled',
102
- PartiallyFilledCanceled: 'canceled',
103
- Rejected: 'rejected',
104
- Deactivated: 'canceled',
105
- };
106
109
  function normalizeBybitOrder(raw) {
107
- const status = BYBIT_ORDER_STATUS_MAP[raw.orderStatus] ?? raw.orderStatus.toLowerCase();
110
+ const status = mappings_1.BYBIT_ORDER_STATUS[raw.orderStatus] ?? raw.orderStatus.toLowerCase();
108
111
  return {
109
112
  id: raw.orderId,
110
113
  symbol: raw.symbol,
111
- side: raw.side.toLowerCase(),
112
- type: raw.orderType.toLowerCase(),
114
+ side: mappings_1.BYBIT_ORDER_SIDE[raw.side],
115
+ type: mappings_1.BYBIT_ORDER_TYPE[raw.orderType],
113
116
  amount: parseFloat(raw.qty),
114
117
  price: parseFloat(raw.price),
115
118
  status,
116
119
  timestamp: parseFloat(raw.createdTime),
117
120
  };
118
121
  }
122
+ function buildBybitOrderFromCreateResponse(args, orderId) {
123
+ return {
124
+ id: orderId,
125
+ symbol: args.symbol,
126
+ side: args.side,
127
+ type: args.type,
128
+ amount: args.amount,
129
+ price: args.price,
130
+ status: 'open',
131
+ timestamp: Date.now(),
132
+ };
133
+ }
119
134
  function normalizeBybitBalance(raw) {
120
135
  const result = new Map();
121
136
  for (const coin of raw.list) {
@@ -1 +1 @@
1
- {"version":3,"file":"bybitNormalizer.js","sourceRoot":"","sources":["../../src/normalizers/bybitNormalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bybitNormalizer.js","sourceRoot":"","sources":["../../src/normalizers/bybitNormalizer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Market } from '../types/common';
1
+ import type { TradeSymbol } from '../types/common';
2
2
  export declare function countDecimalPlaces(step: string): number;
3
3
  export declare function roundToStep(value: number, step: string): string;
4
- export declare function amountToPrecision(market: Market, amount: number): string;
5
- export declare function priceToPrecision(market: Market, price: number): string;
4
+ export declare function amountToPrecision(tradeSymbol: TradeSymbol, amount: number): string;
5
+ export declare function priceToPrecision(tradeSymbol: TradeSymbol, price: number): string;
6
6
  //# sourceMappingURL=precision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"precision.d.ts","sourceRoot":"","sources":["../../src/precision/precision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtE"}
1
+ {"version":3,"file":"precision.d.ts","sourceRoot":"","sources":["../../src/precision/precision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW/D;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF"}
@@ -20,10 +20,10 @@ function roundToStep(value, step) {
20
20
  const rounded = Math.round(value / stepValue) * stepValue;
21
21
  return rounded.toFixed(decimals);
22
22
  }
23
- function amountToPrecision(market, amount) {
24
- return roundToStep(amount, market.filter.stepSize);
23
+ function amountToPrecision(tradeSymbol, amount) {
24
+ return roundToStep(amount, tradeSymbol.filter.stepSize);
25
25
  }
26
- function priceToPrecision(market, price) {
27
- return roundToStep(price, market.filter.tickSize);
26
+ function priceToPrecision(tradeSymbol, price) {
27
+ return roundToStep(price, tradeSymbol.filter.tickSize);
28
28
  }
29
29
  //# sourceMappingURL=precision.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"precision.js","sourceRoot":"","sources":["../../src/precision/precision.ts"],"names":[],"mappings":";;AAEA,gDAQC;AAED,kCAWC;AAED,8CAEC;AAED,4CAEC;AA7BD,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,IAAY;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE1D,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc,EAAE,MAAc;IAC9D,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAc,EAAE,KAAa;IAC5D,OAAO,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"precision.js","sourceRoot":"","sources":["../../src/precision/precision.ts"],"names":[],"mappings":";;AAEA,gDAQC;AAED,kCAWC;AAED,8CAEC;AAED,4CAEC;AA7BD,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,IAAY;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAE1D,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,iBAAiB,CAAC,WAAwB,EAAE,MAAc;IACxE,OAAO,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,gBAAgB,CAAC,WAAwB,EAAE,KAAa;IACtE,OAAO,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC"}
@@ -1,15 +1,41 @@
1
- export type ExchangeName = 'binance' | 'bybit';
2
- export type OrderSide = 'buy' | 'sell';
3
- export type OrderType = 'market' | 'limit';
4
- export type MarginMode = 'isolated' | 'cross';
5
- export type PositionSide = 'long' | 'short' | 'both';
6
- export type MarketType = 'spot' | 'swap' | 'future';
7
- export type TimeInForce = 'GTC' | 'IOC' | 'FOK' | 'PostOnly';
1
+ export declare enum ExchangeName {
2
+ Binance = "binance",
3
+ Bybit = "bybit"
4
+ }
5
+ export declare enum OrderSide {
6
+ Buy = "buy",
7
+ Sell = "sell"
8
+ }
9
+ export declare enum OrderType {
10
+ Market = "market",
11
+ Limit = "limit"
12
+ }
13
+ export declare enum MarginMode {
14
+ Isolated = "isolated",
15
+ Cross = "cross"
16
+ }
17
+ export declare enum PositionSide {
18
+ Long = "long",
19
+ Short = "short",
20
+ Both = "both"
21
+ }
22
+ export declare enum TradeSymbolType {
23
+ Spot = "spot",
24
+ Swap = "swap",
25
+ Future = "future"
26
+ }
27
+ export declare enum TimeInForce {
28
+ Gtc = "GTC",
29
+ Ioc = "IOC",
30
+ Fok = "FOK",
31
+ PostOnly = "PostOnly"
32
+ }
8
33
  export type KlineInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '6h' | '12h' | '1d' | '3d' | '1w' | '1M';
9
34
  export interface ExchangeConfig {
10
35
  apiKey: string;
11
36
  secret: string;
12
37
  recvWindow?: number;
38
+ isDemoMode?: boolean;
13
39
  }
14
40
  export interface ExchangeLogger {
15
41
  debug(message: string, ...args: unknown[]): void;
@@ -26,34 +52,37 @@ export interface Ticker {
26
52
  }
27
53
  export type TickerBySymbol = Map<string, Ticker>;
28
54
  export interface Kline {
29
- openTime: number;
30
- open: number;
31
- high: number;
32
- low: number;
33
- close: number;
55
+ openTimestamp: number;
56
+ openPrice: number;
57
+ highPrice: number;
58
+ lowPrice: number;
59
+ closePrice: number;
34
60
  volume: number;
35
- closeTime: number;
36
- quoteVolume: number;
37
- trades: number;
61
+ closeTimestamp: number;
62
+ quoteAssetVolume: number;
63
+ numberOfTrades: number;
64
+ takerBuyBaseAssetVolume: number;
65
+ takerBuyQuoteAssetVolume: number;
38
66
  }
39
- export interface MarketFilter {
67
+ export interface TradeSymbolFilter {
40
68
  tickSize: string;
41
69
  stepSize: string;
42
70
  minQty: string;
43
71
  maxQty: string;
72
+ minNotional: string;
44
73
  }
45
- export interface Market {
74
+ export interface TradeSymbol {
46
75
  symbol: string;
47
76
  baseAsset: string;
48
77
  quoteAsset: string;
49
78
  settle: string;
50
- active: boolean;
51
- type: MarketType;
52
- linear: boolean;
79
+ isActive: boolean;
80
+ type: TradeSymbolType;
81
+ isLinear: boolean;
53
82
  contractSize: number;
54
- filter: MarketFilter;
83
+ filter: TradeSymbolFilter;
55
84
  }
56
- export type MarketBySymbol = Map<string, Market>;
85
+ export type TradeSymbolBySymbol = Map<string, TradeSymbol>;
57
86
  export interface Position {
58
87
  symbol: string;
59
88
  side: PositionSide;
@@ -83,4 +112,10 @@ export interface Balance {
83
112
  total: number;
84
113
  }
85
114
  export type BalanceByAsset = Map<string, Balance>;
115
+ export interface FundingRateHistory {
116
+ symbol: string;
117
+ fundingRate: number;
118
+ fundingTime: number;
119
+ markPrice: number | null;
120
+ }
86
121
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimeInForce = exports.TradeSymbolType = exports.PositionSide = exports.MarginMode = exports.OrderType = exports.OrderSide = exports.ExchangeName = void 0;
4
+ var ExchangeName;
5
+ (function (ExchangeName) {
6
+ ExchangeName["Binance"] = "binance";
7
+ ExchangeName["Bybit"] = "bybit";
8
+ })(ExchangeName || (exports.ExchangeName = ExchangeName = {}));
9
+ var OrderSide;
10
+ (function (OrderSide) {
11
+ OrderSide["Buy"] = "buy";
12
+ OrderSide["Sell"] = "sell";
13
+ })(OrderSide || (exports.OrderSide = OrderSide = {}));
14
+ var OrderType;
15
+ (function (OrderType) {
16
+ OrderType["Market"] = "market";
17
+ OrderType["Limit"] = "limit";
18
+ })(OrderType || (exports.OrderType = OrderType = {}));
19
+ var MarginMode;
20
+ (function (MarginMode) {
21
+ MarginMode["Isolated"] = "isolated";
22
+ MarginMode["Cross"] = "cross";
23
+ })(MarginMode || (exports.MarginMode = MarginMode = {}));
24
+ var PositionSide;
25
+ (function (PositionSide) {
26
+ PositionSide["Long"] = "long";
27
+ PositionSide["Short"] = "short";
28
+ PositionSide["Both"] = "both";
29
+ })(PositionSide || (exports.PositionSide = PositionSide = {}));
30
+ var TradeSymbolType;
31
+ (function (TradeSymbolType) {
32
+ TradeSymbolType["Spot"] = "spot";
33
+ TradeSymbolType["Swap"] = "swap";
34
+ TradeSymbolType["Future"] = "future";
35
+ })(TradeSymbolType || (exports.TradeSymbolType = TradeSymbolType = {}));
36
+ var TimeInForce;
37
+ (function (TimeInForce) {
38
+ TimeInForce["Gtc"] = "GTC";
39
+ TimeInForce["Ioc"] = "IOC";
40
+ TimeInForce["Fok"] = "FOK";
41
+ TimeInForce["PostOnly"] = "PostOnly";
42
+ })(TimeInForce || (exports.TimeInForce = TimeInForce = {}));
3
43
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;AACjB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;AACjB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAED,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,mCAAqB,CAAA;IACrB,6BAAe,CAAA;AACjB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAED,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,+BAAe,CAAA;IACf,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAED,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,gCAAa,CAAA;IACb,oCAAiB,CAAA;AACnB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0BAAW,CAAA;IACX,0BAAW,CAAA;IACX,0BAAW,CAAA;IACX,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB"}
@@ -1,10 +1,11 @@
1
- import { ExchangeConfig, ExchangeLogger, KlineInterval, Kline, MarginMode, MarketBySymbol, Order, OrderSide, OrderType, TickerBySymbol, BalanceByAsset, Position } from './common';
1
+ import type { ExchangeConfig, ExchangeLogger, KlineInterval, Kline, TradeSymbolBySymbol, Order, TickerBySymbol, BalanceByAsset, Position, FundingRateHistory } from './common';
2
+ import { MarginMode, OrderSide, OrderType } from './common';
2
3
  export interface ExchangeArgs {
3
4
  config: ExchangeConfig;
4
5
  logger: ExchangeLogger;
5
6
  onNotify?: (message: string) => void | Promise<void>;
6
7
  }
7
- export interface CreateOrderWsArgs {
8
+ export interface CreateOrderWebSocketArgs {
8
9
  symbol: string;
9
10
  type: OrderType;
10
11
  side: OrderSide;
@@ -12,29 +13,34 @@ export interface CreateOrderWsArgs {
12
13
  price: number;
13
14
  params?: Record<string, unknown>;
14
15
  }
15
- export interface FetchKlinesArgs {
16
+ export interface FetchPageWithLimitArgs {
16
17
  startTime?: number;
17
18
  endTime?: number;
18
19
  limit?: number;
19
20
  }
21
+ export type KlineHandler = (symbol: string, kline: Kline) => void;
20
22
  export interface SubscribeKlinesArgs {
21
23
  symbol: string;
22
24
  interval: KlineInterval;
23
- handler: (kline: Kline) => void;
25
+ handler: KlineHandler;
24
26
  }
25
27
  export interface ExchangeClient {
26
28
  readonly apiKey: string;
27
- readonly markets: MarketBySymbol;
28
- loadMarkets(reload?: boolean): Promise<MarketBySymbol>;
29
+ readonly tradeSymbols: TradeSymbolBySymbol;
30
+ loadTradeSymbols(shouldReload?: boolean): Promise<TradeSymbolBySymbol>;
29
31
  fetchTickers(): Promise<TickerBySymbol>;
30
- fetchKlines(symbol: string, interval: KlineInterval, options?: FetchKlinesArgs): Promise<Kline[]>;
32
+ fetchKlines(symbol: string, interval: KlineInterval, options?: FetchPageWithLimitArgs): Promise<Kline[]>;
33
+ fetchAllKlines(symbolList: string[], interval: KlineInterval): Promise<Map<string, Kline[]>>;
31
34
  fetchBalance(): Promise<BalanceByAsset>;
35
+ fetchFundingRateHistory(symbol: string, options?: FetchPageWithLimitArgs): Promise<FundingRateHistory[]>;
32
36
  fetchPosition(symbol: string): Promise<Position>;
33
37
  setLeverage(leverage: number, symbol: string): Promise<void>;
34
38
  setMarginMode(marginMode: MarginMode, symbol: string): Promise<void>;
35
39
  amountToPrecision(symbol: string, amount: number): string;
36
40
  priceToPrecision(symbol: string, price: number): string;
37
- createOrderWs(args: CreateOrderWsArgs): Promise<Order>;
41
+ getMinOrderQty(symbol: string): number;
42
+ getMinNotional(symbol: string): number;
43
+ createOrderWebSocket(args: CreateOrderWebSocketArgs): Promise<Order>;
38
44
  close(): Promise<void>;
39
45
  watchTickers(): AsyncGenerator<TickerBySymbol>;
40
46
  subscribeKlines(args: SubscribeKlinesArgs): void;
@@ -1 +1 @@
1
- {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/types/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,aAAa,EACb,KAAK,EACL,UAAU,EACV,cAAc,EACd,KAAK,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,QAAQ,EACT,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAClG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1D,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,YAAY,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;IAC/C,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjD,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACpD"}
1
+ {"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/types/exchange.ts"],"names":[],"mappings":"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"}