@paraswap/dex-lib 2.49.2 → 2.49.3

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 (140) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  5. package/build/dex/pancakeswap-v3/config.js +15 -0
  6. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  7. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +1 -1
  8. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  9. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  10. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  11. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  12. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  13. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  14. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  15. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  16. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  17. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  18. package/package.json +1 -1
  19. package/src/dex/pancakeswap-v3/config.ts +16 -0
  20. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +3 -1
  21. package/build/abi/Redstone.json +0 -739
  22. package/build/abi/angle/stagToken.json +0 -963
  23. package/build/abi/angle-transmuter/MorphoOracle.json +0 -193
  24. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  25. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  26. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  27. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  28. package/build/abi/smardex/smardex-factory.json +0 -185
  29. package/build/abi/smardex/smardex-pool.json +0 -578
  30. package/build/abi/smardex/smardex-router.json +0 -648
  31. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  32. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  33. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  34. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  35. package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +0 -55
  36. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +0 -183
  37. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +0 -1
  38. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +0 -50
  39. package/build/dex/angle-staked-stable/angle-staked-stable.js +0 -280
  40. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +0 -1
  41. package/build/dex/angle-staked-stable/config.d.ts +0 -4
  42. package/build/dex/angle-staked-stable/config.js +0 -46
  43. package/build/dex/angle-staked-stable/config.js.map +0 -1
  44. package/build/dex/angle-staked-stable/types.d.ts +0 -17
  45. package/build/dex/angle-staked-stable/types.js +0 -3
  46. package/build/dex/angle-staked-stable/types.js.map +0 -1
  47. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  48. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  49. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  50. package/build/dex/angle-transmuter/angle-transmuter.d.ts +0 -59
  51. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  52. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  53. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  54. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  55. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  56. package/build/dex/angle-transmuter/config.d.ts +0 -4
  57. package/build/dex/angle-transmuter/config.js +0 -30
  58. package/build/dex/angle-transmuter/config.js.map +0 -1
  59. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  60. package/build/dex/angle-transmuter/constants.js +0 -94
  61. package/build/dex/angle-transmuter/constants.js.map +0 -1
  62. package/build/dex/angle-transmuter/morphoOracle.d.ts +0 -42
  63. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  64. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  65. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  66. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  67. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  68. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  69. package/build/dex/angle-transmuter/pyth.js +0 -70
  70. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  71. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  72. package/build/dex/angle-transmuter/redstone.js +0 -73
  73. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  74. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  75. package/build/dex/angle-transmuter/transmuter.js +0 -374
  76. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  77. package/build/dex/angle-transmuter/types.d.ts +0 -188
  78. package/build/dex/angle-transmuter/types.js +0 -33
  79. package/build/dex/angle-transmuter/types.js.map +0 -1
  80. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  81. package/build/dex/angle-transmuter/utils.js +0 -252
  82. package/build/dex/angle-transmuter/utils.js.map +0 -1
  83. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  84. package/build/dex/smardex/subgraph-queries.js +0 -17
  85. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  86. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  87. package/build/dex/smardex/usd-reserves.js +0 -86
  88. package/build/dex/smardex/usd-reserves.js.map +0 -1
  89. package/build/dex/trader-joe-v2-1-2/config.d.ts +0 -4
  90. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  91. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  92. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  93. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  94. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  95. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  96. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  97. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  98. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  99. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  100. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  101. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  102. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  103. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  104. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  105. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  106. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  107. package/build/dex/trader-joe-v2_1/config.d.ts +0 -4
  108. package/build/dex/trader-joe-v2_1/config.js +0 -47
  109. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  110. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  111. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  112. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  113. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  114. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  115. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  116. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  117. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  118. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  119. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  120. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  121. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  122. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  123. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  124. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  125. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  126. package/build/dex/trader-joe-v2_1/types.js +0 -9
  127. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  128. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  129. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  130. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  131. package/build/dex-helper/Cache.d.ts +0 -31
  132. package/build/dex-helper/Cache.js +0 -106
  133. package/build/dex-helper/Cache.js.map +0 -1
  134. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  135. package/build/dex-helper/RedisBatcher.js +0 -75
  136. package/build/dex-helper/RedisBatcher.js.map +0 -1
  137. package/build/dex-helper/RedisWrapper.d.ts +0 -37
  138. package/build/dex-helper/RedisWrapper.js +0 -165
  139. package/build/dex-helper/RedisWrapper.js.map +0 -1
  140. package/src/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
@@ -1,384 +0,0 @@
1
- "use strict";
2
- // import { Network, SwapSide } from '../../constants';
3
- // import {
4
- // AdapterExchangeParam,
5
- // Address,
6
- // ExchangePrices,
7
- // Logger,
8
- // PoolPrices,
9
- // SimpleExchangeParam,
10
- // Token,
11
- // } from '../../types';
12
- // import { IDex, IDexTxBuilder } from '../idex';
13
- // import { IDexHelper } from '../../dex-helper';
14
- // import {
15
- // getLocalDeadlineAsFriendlyPlaceholder,
16
- // SimpleExchange,
17
- // } from '../simple-exchange';
18
- // import { NumberAsString } from '@paraswap/core';
19
- // import { AsyncOrSync } from 'ts-essentials';
20
- // import { Interface, JsonFragment } from '@ethersproject/abi';
21
- // import TraderJoeV21RouterABI from '../../abi/TraderJoeV21Router.json';
22
- // import { getBigIntPow, getDexKeysWithNetwork, interpolate } from '../../utils';
23
- // import { Adapters, TraderJoeV2_1Config } from './config';
24
- // // import * as CALLDATA_GAS_COST from '../calldata-gas-cost';
25
- // import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
26
- // import {
27
- // TRADER_JOE_V2_CHUNKS,
28
- // TRADER_JOE_V2_QUOTE_GASLIMIT,
29
- // } from './constants';
30
- // import { LBPairsAvailable } from './types';
31
- // type RouterPath = [
32
- // pairBinSteps: NumberAsString[],
33
- // versions: NumberAsString[],
34
- // tokenPath: Address[],
35
- // ];
36
- // type TraderJoeV2RouterSellParams = [
37
- // _amountIn: NumberAsString,
38
- // _amountOutMin: NumberAsString,
39
- // _routerPath: RouterPath,
40
- // to: Address,
41
- // _deadline: string,
42
- // ];
43
- // type TraderJoeV2RouterBuyParams = [
44
- // _amountOut: NumberAsString,
45
- // _amountInMax: NumberAsString,
46
- // _routerPath: RouterPath,
47
- // to: Address,
48
- // _deadline: string,
49
- // ];
50
- // type TraderJoeV2RouterParam =
51
- // | TraderJoeV2RouterSellParams
52
- // | TraderJoeV2RouterBuyParams;
53
- // export type TraderJoeV2Data = {
54
- // tokenIn: string; // redundant
55
- // tokenOut: string; // redundant
56
- // binStep: string;
57
- // };
58
- // enum TraderJoeV2RouterFunctions {
59
- // swapExactTokensForTokens = 'swapExactTokensForTokens',
60
- // swapTokensForExactTokens = 'swapTokensForExactTokens',
61
- // }
62
- // export class TraderJoeV21
63
- // extends SimpleExchange
64
- // implements IDex<TraderJoeV2Data, TraderJoeV2RouterParam>
65
- // {
66
- // availablePools: { [key: string]: string } = {};
67
- // // pairs: { [key: string]: SmardexPair } = {};
68
- // // factory: Contract;
69
- // // routerInterface: Interface;
70
- // exchangeRouterInterface: Interface;
71
- // factoryAddress: string;
72
- // routerAddress: string;
73
- // protected subgraphURL: string | undefined;
74
- // logger: Logger;
75
- // needWrapNative = true;
76
- // public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
77
- // getDexKeysWithNetwork(TraderJoeV2_1Config);
78
- // constructor(
79
- // protected network: Network,
80
- // dexKey: string,
81
- // public dexHelper: IDexHelper,
82
- // protected adapters = Adapters[network] || {},
83
- // ) {
84
- // super(dexHelper, dexKey);
85
- // this.logger = dexHelper.getLogger(dexKey);
86
- // const config = TraderJoeV2_1Config[dexKey];
87
- // this.routerAddress = config[network].routerAddress!;
88
- // this.factoryAddress = config[network].factoryAddress;
89
- // // const factoryAbi = this.isLayer1()
90
- // // ? SmardexFactoryLayerOneABI
91
- // // : SmardexFactoryLayerTwoABI;
92
- // // this.factory = new dexHelper.web3Provider.eth.Contract(
93
- // // factoryAbi as any,
94
- // // this.factoryAddress,
95
- // // );
96
- // // this.routerInterface = new Interface(ParaSwapABI);
97
- // this.exchangeRouterInterface = new Interface(
98
- // TraderJoeV21RouterABI as JsonFragment[],
99
- // );
100
- // // super(dexHelper, 'traderjoev2.1');
101
- // // this.routerAddress =
102
- // // TraderJoeV2_1Config[dexHelper.config.data.network].routerAddress;
103
- // // // this.routerAddress =
104
- // // // TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network];
105
- // // this.exchangeRouterInterface = new Interface(
106
- // // TraderJoeV21RouterABI as JsonFragment[],
107
- // // );
108
- // }
109
- // getAdapterParam(
110
- // srcToken: Address,
111
- // destToken: Address,
112
- // srcAmount: NumberAsString,
113
- // destAmount: NumberAsString,
114
- // data: TraderJoeV2Data,
115
- // side: SwapSide,
116
- // ): AdapterExchangeParam {
117
- // let payload = this.abiCoder.encodeParameters(
118
- // ['tuple(tuple(uint256[],uint8[],address[]),uint256)'],
119
- // [
120
- // [
121
- // [
122
- // [
123
- // data.binStep, // _pairBinSteps: uint256[]
124
- // ],
125
- // [
126
- // 2, // _versions: uint8[]
127
- // ],
128
- // [
129
- // data.tokenIn,
130
- // data.tokenOut, // _tokenPath: address[]
131
- // ],
132
- // ],
133
- // getLocalDeadlineAsFriendlyPlaceholder(), // _deadline: uint256
134
- // ],
135
- // ],
136
- // );
137
- // return {
138
- // targetExchange: this.routerAddress,
139
- // payload,
140
- // networkFee: '0',
141
- // };
142
- // }
143
- // getSimpleParam(
144
- // srcToken: Address,
145
- // destToken: Address,
146
- // srcAmount: NumberAsString,
147
- // destAmount: NumberAsString,
148
- // data: TraderJoeV2Data,
149
- // side: SwapSide,
150
- // ): AsyncOrSync<SimpleExchangeParam> {
151
- // const swapFunction =
152
- // side === SwapSide.SELL
153
- // ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
154
- // : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
155
- // const swapFunctionParams: TraderJoeV2RouterParam =
156
- // side === SwapSide.SELL
157
- // ? [
158
- // srcAmount,
159
- // destAmount,
160
- // [[data.binStep], ['2'], [srcToken, destToken]],
161
- // this.augustusAddress,
162
- // getLocalDeadlineAsFriendlyPlaceholder(),
163
- // ]
164
- // : [
165
- // destAmount,
166
- // srcAmount,
167
- // [[data.binStep], ['2'], [srcToken, destToken]],
168
- // this.augustusAddress,
169
- // getLocalDeadlineAsFriendlyPlaceholder(),
170
- // ];
171
- // const swapData = this.exchangeRouterInterface.encodeFunctionData(
172
- // swapFunction,
173
- // swapFunctionParams,
174
- // );
175
- // return this.buildSimpleParamWithoutWETHConversion(
176
- // srcToken,
177
- // srcAmount,
178
- // destToken,
179
- // destAmount,
180
- // swapData,
181
- // this.routerAddress,
182
- // );
183
- // }
184
- // async getPricesVolume(
185
- // from: Token,
186
- // to: Token,
187
- // amounts: bigint[],
188
- // side: SwapSide,
189
- // routeID: number,
190
- // usedPools: { [poolIdentifier: string]: number } | null,
191
- // ): Promise<null | ExchangePrices<TraderJoeV2Data>> {
192
- // try {
193
- // const _from = this.dexHelper.config.wrapETH(from);
194
- // const _to = this.dexHelper.config.wrapETH(to);
195
- // const pools = await this.getPools(_from, _to);
196
- // if (!pools || !pools.length) return null;
197
- // const filteredPools = !usedPools
198
- // ? pools
199
- // : pools.filter(p => usedPools[this.getPoolIdentifier(p)] === routeID);
200
- // if (!filteredPools.length) return null;
201
- // const unitVolume = getBigIntPow(
202
- // (side === SwapSide.SELL ? _from : _to).decimals,
203
- // );
204
- // const chunks = amounts.length - 1;
205
- // const _width = Math.floor(chunks / TRADER_JOE_V2_CHUNKS);
206
- // const _amounts = [unitVolume].concat(
207
- // Array.from(Array(TRADER_JOE_V2_CHUNKS).keys()).map(
208
- // i => amounts[(i + 1) * _width],
209
- // ),
210
- // );
211
- // const calldata = filteredPools.flatMap(pool =>
212
- // _amounts.map(_amount => ({
213
- // target: this.routerAddress,
214
- // gasLimit: TRADER_JOE_V2_QUOTE_GASLIMIT,
215
- // callData: (side === SwapSide.SELL
216
- // ? this.router.methods.getSwapOut(
217
- // pool.LBPair,
218
- // _amount.toString(),
219
- // _from.address === pool.tokenX,
220
- // )
221
- // : this.router.methods.getSwapIn(
222
- // pool.LBPair,
223
- // _amount.toString(),
224
- // _from.address === pool.tokenX,
225
- // )
226
- // ).encodeABI(),
227
- // })),
228
- // );
229
- // const data = await this.uniswapMulti.methods.multicall(calldata).call();
230
- // const quoteIndex = side === SwapSide.SELL ? 1 : 0;
231
- // const quoteLeftIndex = side === SwapSide.SELL ? 0 : 1;
232
- // const prices = filteredPools.map((pool, i) => {
233
- // const rates = _amounts.map((_, j) => {
234
- // if (!data.returnData[i * _amounts.length + j].success) {
235
- // return 0n;
236
- // }
237
- // const decoded = defaultAbiCoder.decode(
238
- // // amountInLeft amountOut fee
239
- // ['uint128', 'uint128', 'uint128'],
240
- // data.returnData[i * _amounts.length + j].returnData,
241
- // );
242
- // if (BigInt(decoded[quoteLeftIndex]).valueOf() !== 0n) {
243
- // return BigInt(0);
244
- // }
245
- // return BigInt(decoded[quoteIndex].toString());
246
- // });
247
- // // index of pools, isolate pool
248
- // const unit: bigint = rates[0];
249
- // const prices = interpolate(
250
- // _amounts.slice(1),
251
- // rates.slice(1),
252
- // amounts,
253
- // side,
254
- // );
255
- // return {
256
- // prices,
257
- // unit,
258
- // data: {
259
- // tokenIn: _from.address, // redundant, fix by contract change
260
- // tokenOut: _to.address, // same
261
- // binStep: pool.binStep.toString(),
262
- // },
263
- // poolIdentifier: this.getPoolIdentifier(pool),
264
- // exchange: this.routerAddress,
265
- // gasCost: TRADER_JOE_V2_QUOTE_GASLIMIT,
266
- // poolAddresses: [pool.LBPair],
267
- // };
268
- // });
269
- // return prices;
270
- // } catch (e) {
271
- // this.logger.error(
272
- // `Error_getPrices: ${this.dexKey} for pair (${
273
- // from.symbol || from.address
274
- // }, ${to.symbol || to.address}) and side=${side}:`,
275
- // e,
276
- // );
277
- // return null;
278
- // }
279
- // }
280
- // private async getPools(
281
- // tokenA: Token,
282
- // tokenB: Token,
283
- // ): Promise<LBPairsAvailable[] | undefined> {
284
- // try {
285
- // const cacheKey = this.computeCacheKey(tokenA.address, tokenB.address);
286
- // // TODO: Improve
287
- // const poolsInCache = await this.dexHelper.cache.rawget(cacheKey);
288
- // if (!!poolsInCache) {
289
- // return JSON.parse(poolsInCache);
290
- // }
291
- // // warning: order between tokenX and tokenY is not guranteed on LBPairs
292
- // const [tokenX, tokenY] = this._sortTokens(tokenA.address, tokenB.address);
293
- // const pools: LBPairsAvailable[] =
294
- // (await this.factory.methods.getAllLBPairs(tokenX, tokenY).call()) || [];
295
- // if (!pools.length) {
296
- // await this.dexHelper.cache.setex(cacheKey, EMPTY_POOL_CACHE_TTL, '[]');
297
- // return [];
298
- // }
299
- // const getTokenXCallData = pools.map(pool => ({
300
- // target: pool.LBPair,
301
- // gasLimit: TRADER_JOE_V2_QUOTE_GASLIMIT,
302
- // callData: this.pair.methods.getTokenX().encodeABI(),
303
- // }));
304
- // const data = await this.uniswapMulti.methods
305
- // .multicall(getTokenXCallData)
306
- // .call();
307
- // const _pools = pools.map((pool, i) => {
308
- // const decodedTokenX = defaultAbiCoder
309
- // .decode(['address'], data.returnData[i].returnData)[0]
310
- // .toString()
311
- // .toLowerCase();
312
- // return {
313
- // ...pool,
314
- // tokenX: decodedTokenX,
315
- // };
316
- // });
317
- // await RedisWrapper.setex(
318
- // cacheKey,
319
- // POPULATED_POOL_CACHE_TTL,
320
- // JSON.stringify(_pools),
321
- // );
322
- // return _pools;
323
- // } catch (e) {
324
- // logger.error(
325
- // `${EXCHANGES.TRADERJOE_V2_1} Error 'poolByPair' reading from factory for pair: ${tokenA.address} and ${tokenA.address}:`,
326
- // e,
327
- // );
328
- // return;
329
- // }
330
- // }
331
- // protected getPoolIdentifier(pool: LBPairsAvailable) {
332
- // return `${EXCHANGES.TRADERJOE_V2_1}_${pool.LBPair}`;
333
- // }
334
- // // FIXME
335
- // getCalldataGasCost(
336
- // poolPrices: PoolPrices<TraderJoeV2Data>,
337
- // ): number | number[] {
338
- // return (
339
- // CALLDATA_GAS_COST.DEX_OVERHEAD +
340
- // CALLDATA_GAS_COST.LENGTH_SMALL +
341
- // // ParentStruct header
342
- // CALLDATA_GAS_COST.OFFSET_SMALL +
343
- // // ParentStruct -> path header
344
- // CALLDATA_GAS_COST.OFFSET_SMALL +
345
- // // ParentStruct -> deadline
346
- // CALLDATA_GAS_COST.TIMESTAMP +
347
- // // ParentStruct -> path (20+3+20 = 43 = 32+11 bytes)
348
- // CALLDATA_GAS_COST.LENGTH_SMALL +
349
- // CALLDATA_GAS_COST.FULL_WORD +
350
- // CALLDATA_GAS_COST.wordNonZeroBytes(11)
351
- // );
352
- // }
353
- // async getPoolIdentifiers(
354
- // _from: Token,
355
- // _to: Token,
356
- // side: SwapSide,
357
- // blockNumber: number,
358
- // ): Promise<string[]> {
359
- // const from = this.dexHelper.config.wrapETH(_from);
360
- // const to = this.dexHelper.config.wrapETH(_to);
361
- // if (from.address.toLowerCase() === to.address.toLowerCase()) {
362
- // return [];
363
- // }
364
- // const tokenAddress = [from.address.toLowerCase(), to.address.toLowerCase()]
365
- // .sort((a, b) => (a > b ? 1 : -1))
366
- // .join('_');
367
- // const poolIdentifier = `${this.dexKey}_${tokenAddress}`;
368
- // return [poolIdentifier];
369
- // }
370
- // protected computeCacheKey(from: Address, to: Address): string {
371
- // return `${this.dexKey}_${this.network}_${this._sortTokens(from, to).join(
372
- // '_',
373
- // )}_2`;
374
- // }
375
- // private _sortTokens(srcAddress: Address, destAddress: Address) {
376
- // return [srcAddress.toLowerCase(), destAddress.toLowerCase()].sort((a, b) =>
377
- // a < b ? -1 : 1,
378
- // );
379
- // }
380
- // // protected getPoolIdentifier(pool: LBPairsAvailable) {
381
- // // return `${EXCHANGES.TRADERJOE_V2_1}_${pool.LBPair}`;
382
- // // }
383
- // }
384
- //# sourceMappingURL=trader-joe-v2.1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.1.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2_1/trader-joe-v2.1.ts"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { DeepReadonly } from 'ts-essentials';
3
- import { Address, Log, Logger } from '../../types';
4
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { PoolState } from './types';
7
- export declare class TraderJoeV2_1EventPool extends StatefulEventSubscriber<PoolState> {
8
- readonly parentName: string;
9
- protected network: number;
10
- protected dexHelper: IDexHelper;
11
- private readonly factoryAddress;
12
- private readonly stateMultiAddress;
13
- handlers: {
14
- [event: string]: (event: any, state: PoolState, log: Readonly<Log>) => DeepReadonly<PoolState> | null;
15
- };
16
- logDecoder: (log: Log) => any;
17
- readonly binStep: bigint;
18
- initFailed: boolean;
19
- initRetryAttemptCount: number;
20
- private stateMulti;
21
- private math;
22
- addressesSubscribed: string[];
23
- poolAddress?: Address;
24
- token0: Address;
25
- token1: Address;
26
- readonly poolIface: Interface;
27
- constructor(parentName: string, network: number, dexHelper: IDexHelper, token0: Address, token1: Address, binStep: bigint, factoryAddress: Address, stateMultiAddress: Address, logger: Logger);
28
- getSwapOut(amount: bigint, fromAddress: Address, blockNumber: number): bigint;
29
- getSwapIn(amount: bigint, fromAddress: Address, blockNumber: number): bigint;
30
- /**
31
- * The function is called every time any of the subscribed
32
- * addresses release log. The function accepts the current
33
- * state, updates the state according to the log, and returns
34
- * the updated state.
35
- * @param state - Current state of event subscriber
36
- * @param log - Log released by one of the subscribed addresses
37
- * @returns Updates state of the event subscriber after the log
38
- */
39
- protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
40
- /**
41
- * The function generates state using on-chain calls. This
42
- * function is called to regenerate state if the event based
43
- * system fails to fetch events and the local state is no
44
- * more correct.
45
- * @param blockNumber - Blocknumber for which the state should
46
- * should be generated
47
- * @returns state of the event subscriber at blocknumber
48
- */
49
- generateState(blockNumber: number): Promise<DeepReadonly<PoolState>>;
50
- isValid(): boolean;
51
- handleTransferBatch(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
52
- handleDepositedToBins(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
53
- handleWithdrawnFromBins(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
54
- handleCompositionFees(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
55
- handleSwap(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
56
- handleStaticFeeParametersSet(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
57
- handleFlashLoan(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
58
- handleForcedDecay(event: any, state: PoolState, log: Readonly<Log>): DeepReadonly<PoolState> | null;
59
- private decodeAmounts;
60
- }