@paraswap/dex-lib 2.49.2 → 2.50.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 (151) hide show
  1. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  2. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  3. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  4. package/build/dex/algebra/algebra-pool-v1_1.d.ts +3 -2
  5. package/build/dex/algebra/algebra-pool-v1_1.js +3 -2
  6. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  7. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +16 -0
  8. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +26 -0
  9. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -0
  10. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.d.ts +54 -0
  11. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js +356 -0
  12. package/build/dex/algebra/algebra-pool-v1_9_directional_fee.js.map +1 -0
  13. package/build/dex/algebra/algebra-pool.d.ts +46 -0
  14. package/build/dex/algebra/algebra-pool.js +336 -0
  15. package/build/dex/algebra/algebra-pool.js.map +1 -0
  16. package/build/dex/algebra/algebra.d.ts +2 -1
  17. package/build/dex/algebra/algebra.js +6 -1
  18. package/build/dex/algebra/algebra.js.map +1 -1
  19. package/build/dex/algebra/config.js +16 -0
  20. package/build/dex/algebra/config.js.map +1 -1
  21. package/build/dex/algebra/types.d.ts +1 -1
  22. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  23. package/build/dex/quickswap/camelot-v3.js +19 -0
  24. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  25. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  26. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  27. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  28. package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
  29. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  30. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +64 -0
  31. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  32. package/package.json +1 -1
  33. package/src/dex/algebra/algebra-e2e.test.ts +22 -0
  34. package/src/dex/algebra/algebra-pool-v1_1.ts +3 -2
  35. package/src/dex/algebra/algebra-pool-v1_9_bidirectional_fee.ts +55 -0
  36. package/src/dex/algebra/algebra.ts +12 -3
  37. package/src/dex/algebra/config.ts +18 -0
  38. package/src/dex/algebra/types.ts +1 -1
  39. package/build/abi/Redstone.json +0 -739
  40. package/build/abi/angle/stagToken.json +0 -963
  41. package/build/abi/angle-transmuter/MorphoOracle.json +0 -193
  42. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  43. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  44. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  45. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  46. package/build/abi/smardex/smardex-factory.json +0 -185
  47. package/build/abi/smardex/smardex-pool.json +0 -578
  48. package/build/abi/smardex/smardex-router.json +0 -648
  49. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  50. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  51. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  52. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  53. package/build/dex/angle-staked-stable/angle-staked-stable-pool.d.ts +0 -55
  54. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +0 -183
  55. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +0 -1
  56. package/build/dex/angle-staked-stable/angle-staked-stable.d.ts +0 -50
  57. package/build/dex/angle-staked-stable/angle-staked-stable.js +0 -280
  58. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +0 -1
  59. package/build/dex/angle-staked-stable/config.d.ts +0 -4
  60. package/build/dex/angle-staked-stable/config.js +0 -46
  61. package/build/dex/angle-staked-stable/config.js.map +0 -1
  62. package/build/dex/angle-staked-stable/types.d.ts +0 -17
  63. package/build/dex/angle-staked-stable/types.js +0 -3
  64. package/build/dex/angle-staked-stable/types.js.map +0 -1
  65. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  66. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  67. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  68. package/build/dex/angle-transmuter/angle-transmuter.d.ts +0 -59
  69. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  70. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  71. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  72. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  73. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  74. package/build/dex/angle-transmuter/config.d.ts +0 -4
  75. package/build/dex/angle-transmuter/config.js +0 -30
  76. package/build/dex/angle-transmuter/config.js.map +0 -1
  77. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  78. package/build/dex/angle-transmuter/constants.js +0 -94
  79. package/build/dex/angle-transmuter/constants.js.map +0 -1
  80. package/build/dex/angle-transmuter/morphoOracle.d.ts +0 -42
  81. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  82. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  83. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  84. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  85. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  86. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  87. package/build/dex/angle-transmuter/pyth.js +0 -70
  88. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  89. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  90. package/build/dex/angle-transmuter/redstone.js +0 -73
  91. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  92. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  93. package/build/dex/angle-transmuter/transmuter.js +0 -374
  94. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  95. package/build/dex/angle-transmuter/types.d.ts +0 -188
  96. package/build/dex/angle-transmuter/types.js +0 -33
  97. package/build/dex/angle-transmuter/types.js.map +0 -1
  98. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  99. package/build/dex/angle-transmuter/utils.js +0 -252
  100. package/build/dex/angle-transmuter/utils.js.map +0 -1
  101. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  102. package/build/dex/smardex/subgraph-queries.js +0 -17
  103. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  104. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  105. package/build/dex/smardex/usd-reserves.js +0 -86
  106. package/build/dex/smardex/usd-reserves.js.map +0 -1
  107. package/build/dex/trader-joe-v2-1-2/config.d.ts +0 -4
  108. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  109. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  110. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  111. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  112. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  113. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  114. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  115. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  116. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  117. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  118. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  119. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  120. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  121. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  122. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  123. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  124. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  125. package/build/dex/trader-joe-v2_1/config.d.ts +0 -4
  126. package/build/dex/trader-joe-v2_1/config.js +0 -47
  127. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  128. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  129. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  130. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  131. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  132. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  133. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  134. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  135. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  136. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  137. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  138. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  139. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  140. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  141. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  142. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  143. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  144. package/build/dex/trader-joe-v2_1/types.js +0 -9
  145. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  146. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  147. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  148. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  149. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  150. package/build/dex-helper/RedisBatcher.js +0 -75
  151. package/build/dex-helper/RedisBatcher.js.map +0 -1
@@ -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
- }