@paraswap/dex-lib 2.37.1 → 2.37.2-current-fee-ramses-v2

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 (200) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  9. package/build/abi/curve-v1/StableSwapFRXETH.json +889 -0
  10. package/build/abi/curve-v1/StableSwapWBETH.json +1223 -0
  11. package/build/abi/dexalot/DexalotMainnetRFQ.json +887 -0
  12. package/build/abi/ramses-v2/RamsesV2Pool.abi.json +1580 -0
  13. package/build/abi/sushiswap-v3/QuoterV2.json +267 -0
  14. package/build/abi/sushiswap-v3/RouterProcessor3.json +289 -0
  15. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  16. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  17. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  18. package/build/abi/wBETH.json +1527 -0
  19. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  20. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  21. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  22. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  23. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  24. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  25. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  26. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  27. package/build/dex/algebra/algebra-pool.d.ts +46 -0
  28. package/build/dex/algebra/algebra-pool.js +336 -0
  29. package/build/dex/algebra/algebra-pool.js.map +1 -0
  30. package/build/dex/balancer-v2/LinearMath.d.ts +19 -0
  31. package/build/dex/balancer-v2/LinearMath.js +179 -0
  32. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  33. package/build/dex/balancer-v2/LinearPool.d.ts +47 -0
  34. package/build/dex/balancer-v2/LinearPool.js +324 -0
  35. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  36. package/build/dex/balancer-v2/PhantomStablePool.d.ts +47 -0
  37. package/build/dex/balancer-v2/PhantomStablePool.js +294 -0
  38. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  39. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  40. package/build/dex/balancer-v2/StableMath.js +272 -0
  41. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  42. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +75 -0
  43. package/build/dex/balancer-v2/balancer-v2-pool.js +417 -0
  44. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  45. package/build/dex/curve-v1/pools/frxETHpool.d.ts +7 -0
  46. package/build/dex/curve-v1/pools/frxETHpool.js +27 -0
  47. package/build/dex/curve-v1/pools/frxETHpool.js.map +1 -0
  48. package/build/dex/curve-v1/pools/wbETHpool.d.ts +29 -0
  49. package/build/dex/curve-v1/pools/wbETHpool.js +408 -0
  50. package/build/dex/curve-v1/pools/wbETHpool.js.map +1 -0
  51. package/build/dex/dexalot/config.d.ts +4 -0
  52. package/build/dex/dexalot/config.js +18 -0
  53. package/build/dex/dexalot/config.js.map +1 -0
  54. package/build/dex/dexalot/constants.d.ts +15 -0
  55. package/build/dex/dexalot/constants.js +22 -0
  56. package/build/dex/dexalot/constants.js.map +1 -0
  57. package/build/dex/dexalot/dexalot.d.ts +69 -0
  58. package/build/dex/dexalot/dexalot.js +646 -0
  59. package/build/dex/dexalot/dexalot.js.map +1 -0
  60. package/build/dex/dexalot/rate-fetcher.d.ts +28 -0
  61. package/build/dex/dexalot/rate-fetcher.js +100 -0
  62. package/build/dex/dexalot/rate-fetcher.js.map +1 -0
  63. package/build/dex/dexalot/types.d.ts +114 -0
  64. package/build/dex/dexalot/types.js +12 -0
  65. package/build/dex/dexalot/types.js.map +1 -0
  66. package/build/dex/dexalot/validators.d.ts +5 -0
  67. package/build/dex/dexalot/validators.js +45 -0
  68. package/build/dex/dexalot/validators.js.map +1 -0
  69. package/build/dex/pancakeswap-v3/types.d.ts +14 -0
  70. package/build/dex/pancakeswap-v3/types.js +3 -0
  71. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  72. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  73. package/build/dex/quickswap/camelot-v3.js +19 -0
  74. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  75. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  76. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  77. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  78. package/build/dex/quickswap-v3.d.ts +21 -0
  79. package/build/dex/quickswap-v3.js +40 -0
  80. package/build/dex/quickswap-v3.js.map +1 -0
  81. package/build/dex/ramses-v2/config.d.ts +4 -0
  82. package/build/dex/ramses-v2/config.js +28 -0
  83. package/build/dex/ramses-v2/config.js.map +1 -0
  84. package/build/dex/ramses-v2/constants.d.ts +28 -0
  85. package/build/dex/ramses-v2/constants.js +35 -0
  86. package/build/dex/ramses-v2/constants.js.map +1 -0
  87. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +4 -0
  88. package/build/dex/ramses-v2/contract-math/BitMath.js +93 -0
  89. package/build/dex/ramses-v2/contract-math/BitMath.js.map +1 -0
  90. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +3 -0
  91. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +8 -0
  92. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +1 -0
  93. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +4 -0
  94. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +9 -0
  95. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +1 -0
  96. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +4 -0
  97. package/build/dex/ramses-v2/contract-math/FullMath.js +19 -0
  98. package/build/dex/ramses-v2/contract-math/FullMath.js.map +1 -0
  99. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +3 -0
  100. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +22 -0
  101. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +1 -0
  102. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +10 -0
  103. package/build/dex/ramses-v2/contract-math/Oracle.js +133 -0
  104. package/build/dex/ramses-v2/contract-math/Oracle.js.map +1 -0
  105. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +10 -0
  106. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +91 -0
  107. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +1 -0
  108. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +8 -0
  109. package/build/dex/ramses-v2/contract-math/SwapMath.js +70 -0
  110. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +1 -0
  111. package/build/dex/ramses-v2/contract-math/Tick.d.ts +7 -0
  112. package/build/dex/ramses-v2/contract-math/Tick.js +45 -0
  113. package/build/dex/ramses-v2/contract-math/Tick.js.map +1 -0
  114. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +8 -0
  115. package/build/dex/ramses-v2/contract-math/TickBitMap.js +87 -0
  116. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +1 -0
  117. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +8 -0
  118. package/build/dex/ramses-v2/contract-math/TickMath.js +162 -0
  119. package/build/dex/ramses-v2/contract-math/TickMath.js.map +1 -0
  120. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +3 -0
  121. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +10 -0
  122. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +1 -0
  123. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +18 -0
  124. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +392 -0
  125. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +1 -0
  126. package/build/dex/ramses-v2/contract-math/utils.d.ts +3 -0
  127. package/build/dex/ramses-v2/contract-math/utils.js +16 -0
  128. package/build/dex/ramses-v2/contract-math/utils.js.map +1 -0
  129. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +42 -0
  130. package/build/dex/ramses-v2/ramses-v2-pool.js +307 -0
  131. package/build/dex/ramses-v2/ramses-v2-pool.js.map +1 -0
  132. package/build/dex/ramses-v2/ramses-v2.d.ts +61 -0
  133. package/build/dex/ramses-v2/ramses-v2.js +690 -0
  134. package/build/dex/ramses-v2/ramses-v2.js.map +1 -0
  135. package/build/dex/ramses-v2/types.d.ts +154 -0
  136. package/build/dex/ramses-v2/types.js +9 -0
  137. package/build/dex/ramses-v2/types.js.map +1 -0
  138. package/build/dex/ramses-v2/utils.d.ts +6 -0
  139. package/build/dex/ramses-v2/utils.js +71 -0
  140. package/build/dex/ramses-v2/utils.js.map +1 -0
  141. package/build/dex/sushiswap-v3/config.d.ts +4 -0
  142. package/build/dex/sushiswap-v3/config.js +132 -0
  143. package/build/dex/sushiswap-v3/config.js.map +1 -0
  144. package/build/dex/sushiswap-v3/constants.d.ts +4 -0
  145. package/build/dex/sushiswap-v3/constants.js +32 -0
  146. package/build/dex/sushiswap-v3/constants.js.map +1 -0
  147. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +56 -0
  148. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +598 -0
  149. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +1 -0
  150. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +1 -0
  151. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +6 -0
  152. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +1 -0
  153. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +21 -0
  154. package/build/dex/sushiswap-v3/sushiswap-v3.js +58 -0
  155. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +1 -0
  156. package/build/dex/sushiswap-v3/token.d.ts +6 -0
  157. package/build/dex/sushiswap-v3/token.js +23 -0
  158. package/build/dex/sushiswap-v3/token.js.map +1 -0
  159. package/build/dex/sushiswap-v3/types.d.ts +15 -0
  160. package/build/dex/sushiswap-v3/types.js +18 -0
  161. package/build/dex/sushiswap-v3/types.js.map +1 -0
  162. package/build/dex/uniswap-v3/config.js +2 -0
  163. package/build/dex/uniswap-v3/config.js.map +1 -1
  164. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  165. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  166. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  167. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.d.ts +7 -0
  168. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js +85 -0
  169. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js.map +1 -0
  170. package/build/dex/uniswap-v3/types.d.ts +2 -0
  171. package/build/dex/uniswap-v3/types.js.map +1 -1
  172. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +3 -2
  173. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  174. package/build/dex/uniswap-v3/uniswap-v3.js +5 -1
  175. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  176. package/build/dex/woo-fi/config.d.ts +4 -0
  177. package/build/dex/woo-fi/config.js +141 -0
  178. package/build/dex/woo-fi/config.js.map +1 -0
  179. package/build/dex/woo-fi/constants.d.ts +5 -0
  180. package/build/dex/woo-fi/constants.js +20 -0
  181. package/build/dex/woo-fi/constants.js.map +1 -0
  182. package/build/dex/woo-fi/types.d.ts +48 -0
  183. package/build/dex/woo-fi/types.js +3 -0
  184. package/build/dex/woo-fi/types.js.map +1 -0
  185. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  186. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  187. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  188. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  189. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  190. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  191. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  192. package/build/dex/woo-fi/woo-fi.js +480 -0
  193. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  194. package/package.json +1 -1
  195. package/src/abi/ramses-v2/RamsesV2Pool.abi.json +1580 -0
  196. package/src/dex/uniswap-v3/config.ts +2 -0
  197. package/src/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.ts +102 -0
  198. package/src/dex/uniswap-v3/types.ts +2 -0
  199. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +1 -1
  200. package/src/dex/uniswap-v3/uniswap-v3.ts +23 -18
@@ -5,6 +5,7 @@ import { Address } from '../../types';
5
5
  import RamsesV2StateMulticallABI from '../../abi/RamsesV2StateMulticall.abi.json';
6
6
  import { AbiItem } from 'web3-utils';
7
7
  import { decodeStateMultiCallResultWithRelativeBitmaps } from './forks/ramses-v2/utils';
8
+ import { RamsesV2EventPool } from './forks/ramses-v2/ramses-v2-pool';
8
9
 
9
10
  const SUPPORTED_FEES = [10000n, 3000n, 500n, 100n];
10
11
 
@@ -251,6 +252,7 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
251
252
  uniswapMulticall: '0x1F98415757620B543A52E61c46B32eB19261F984',
252
253
  chunksCount: 10,
253
254
  initRetryFrequency: 10,
255
+ eventPoolImplementation: RamsesV2EventPool,
254
256
  decodeStateMultiCallResultWithRelativeBitmaps,
255
257
  initHash:
256
258
  '0x1565b129f2d1790f12d45301b9b084335626f0c92410bc43130763b69971135d',
@@ -0,0 +1,102 @@
1
+ import { UniswapV3EventPool } from '../../uniswap-v3-pool';
2
+ import { DecodedStateMultiCallResultWithRelativeBitmaps, PoolState } from '../../types';
3
+ import { assert } from 'ts-essentials';
4
+ import { _reduceTickBitmap, _reduceTicks } from '../../contract-math/utils';
5
+ import { bigIntify } from '../../../../utils';
6
+ import { TickBitMap } from '../../contract-math/TickBitMap';
7
+ import { uint24ToBigInt } from '../../../../lib/decoders';
8
+ import { Interface } from 'ethers/lib/utils';
9
+ import RamsesV2PoolABI from '../../../../abi/ramses-v2/RamsesV2Pool.abi.json';
10
+
11
+ export class RamsesV2EventPool extends UniswapV3EventPool {
12
+
13
+ public readonly poolIface = new Interface(RamsesV2PoolABI);
14
+
15
+ async generateState(blockNumber: number): Promise<Readonly<PoolState>> {
16
+ const callData = this._getStateRequestCallData();
17
+
18
+ const calldataWithFee = [
19
+ ...callData,
20
+ {
21
+ target: this.poolAddress,
22
+ callData: this.poolIface.encodeFunctionData('currentFee'),
23
+ decodeFunction: uint24ToBigInt,
24
+ },
25
+ ];
26
+
27
+ const [resBalance0, resBalance1, resState, resCurrentFee] =
28
+ await this.dexHelper.multiWrapper.tryAggregate<
29
+ bigint | DecodedStateMultiCallResultWithRelativeBitmaps
30
+ >(
31
+ false,
32
+ calldataWithFee,
33
+ blockNumber,
34
+ this.dexHelper.multiWrapper.defaultBatchSize,
35
+ false,
36
+ );
37
+
38
+ assert(resState.success, 'Pool does not exist');
39
+
40
+ const [balance0, balance1, _state, fee] = [
41
+ resBalance0.returnData,
42
+ resBalance1.returnData,
43
+ resState.returnData,
44
+ resCurrentFee.returnData,
45
+ ] as [bigint, bigint, DecodedStateMultiCallResultWithRelativeBitmaps, bigint];
46
+
47
+ const tickBitmap = {};
48
+ const ticks = {};
49
+
50
+ _reduceTickBitmap(tickBitmap, _state.tickBitmap);
51
+ _reduceTicks(ticks, _state.ticks);
52
+
53
+ const observations = {
54
+ [_state.slot0.observationIndex]: {
55
+ blockTimestamp: bigIntify(_state.observation.blockTimestamp),
56
+ tickCumulative: bigIntify(_state.observation.tickCumulative),
57
+ secondsPerLiquidityCumulativeX128: bigIntify(
58
+ _state.observation.secondsPerLiquidityCumulativeX128,
59
+ ),
60
+ initialized: _state.observation.initialized,
61
+ },
62
+ };
63
+
64
+ const currentTick = bigIntify(_state.slot0.tick);
65
+ const tickSpacing = bigIntify(_state.tickSpacing);
66
+
67
+ const startTickBitmap = TickBitMap.position(currentTick / tickSpacing)[0];
68
+ const requestedRange = this.getBitmapRangeToRequest();
69
+
70
+ return {
71
+ pool: _state.pool,
72
+ blockTimestamp: bigIntify(_state.blockTimestamp),
73
+ slot0: {
74
+ sqrtPriceX96: bigIntify(_state.slot0.sqrtPriceX96),
75
+ tick: currentTick,
76
+ observationIndex: +_state.slot0.observationIndex,
77
+ observationCardinality: +_state.slot0.observationCardinality,
78
+ observationCardinalityNext: +_state.slot0.observationCardinalityNext,
79
+ feeProtocol: bigIntify(_state.slot0.feeProtocol),
80
+ },
81
+ liquidity: bigIntify(_state.liquidity),
82
+ fee,
83
+ tickSpacing,
84
+ maxLiquidityPerTick: bigIntify(_state.maxLiquidityPerTick),
85
+ tickBitmap,
86
+ ticks,
87
+ observations,
88
+ isValid: true,
89
+ startTickBitmap,
90
+ lowestKnownTick:
91
+ (BigInt.asIntN(24, startTickBitmap - requestedRange) << 8n) *
92
+ tickSpacing,
93
+ highestKnownTick:
94
+ ((BigInt.asIntN(24, startTickBitmap + requestedRange) << 8n) +
95
+ BigInt.asIntN(24, 255n)) *
96
+ tickSpacing,
97
+ balance0,
98
+ balance1,
99
+ };
100
+ }
101
+
102
+ }
@@ -3,6 +3,7 @@ import { NumberAsString } from '../../types';
3
3
  import { Address } from '../../types';
4
4
  import { AbiItem } from 'web3-utils';
5
5
  import { MultiResult } from '../../lib/multi-wrapper';
6
+ import { UniswapV3EventPool } from './uniswap-v3-pool';
6
7
 
7
8
  export type OracleObservation = {
8
9
  blockTimestamp: bigint;
@@ -79,6 +80,7 @@ export type DexParams = {
79
80
  subgraphURL: string;
80
81
  initHash: string;
81
82
  stateMultiCallAbi?: AbiItem[];
83
+ eventPoolImplementation?: typeof UniswapV3EventPool;
82
84
  decodeStateMultiCallResultWithRelativeBitmaps?: DecodeStateMultiCallFunc;
83
85
  };
84
86
 
@@ -199,7 +199,7 @@ export class UniswapV3EventPool extends StatefulEventSubscriber<PoolState> {
199
199
  return null; // ignore unrecognized event
200
200
  }
201
201
 
202
- private _getStateRequestCallData() {
202
+ protected _getStateRequestCallData() {
203
203
  if (!this._stateRequestCallData) {
204
204
  const callData: MultiCallParams<
205
205
  bigint | DecodedStateMultiCallResultWithRelativeBitmaps
@@ -242,25 +242,29 @@ export class UniswapV3
242
242
  }
243
243
 
244
244
  this.logger.trace(`starting to listen to new pool: ${key}`);
245
+ const poolImplementation =
246
+ this.config.eventPoolImplementation !== undefined
247
+ ? this.config.eventPoolImplementation
248
+ : UniswapV3EventPool;
245
249
  pool =
246
250
  pool ||
247
- new UniswapV3EventPool(
248
- this.dexHelper,
249
- this.dexKey,
250
- this.stateMultiContract,
251
- this.config.decodeStateMultiCallResultWithRelativeBitmaps,
252
- this.erc20Interface,
253
- this.config.factory,
254
- fee,
255
- token0,
256
- token1,
257
- this.logger,
258
- this.cacheStateKey,
259
- this.config.initHash,
251
+ new poolImplementation(
252
+ this.dexHelper,
253
+ this.dexKey,
254
+ this.stateMultiContract,
255
+ this.config.decodeStateMultiCallResultWithRelativeBitmaps,
256
+ this.erc20Interface,
257
+ this.config.factory,
258
+ fee,
259
+ token0,
260
+ token1,
261
+ this.logger,
262
+ this.cacheStateKey,
263
+ this.config.initHash,
260
264
  );
261
265
 
262
266
  try {
263
- await pool.initialize(blockNumber, {
267
+ await pool!.initialize(blockNumber, {
264
268
  initCallback: (state: DeepReadonly<PoolState>) => {
265
269
  //really hacky, we need to push poolAddress so that we subscribeToLogs in StatefulEventSubscriber
266
270
  pool!.addressesSubscribed[0] = state.pool;
@@ -289,10 +293,10 @@ export class UniswapV3
289
293
  // on unknown error mark as failed and increase retryCount for retry init strategy
290
294
  // note: state would be null by default which allows to fallback
291
295
  this.logger.warn(
292
- `${this.dexKey}: Can not generate pool state for srcAddress=${srcAddress}, destAddress=${destAddress}, fee=${fee} pool fallback to rpc and retry every ${this.config.initRetryFrequency} times, initRetryAttemptCount=${pool.initRetryAttemptCount}`,
296
+ `${this.dexKey}: Can not generate pool state for srcAddress=${srcAddress}, destAddress=${destAddress}, fee=${fee} pool fallback to rpc and retry every ${this.config.initRetryFrequency} times, initRetryAttemptCount=${pool!.initRetryAttemptCount}`,
293
297
  e,
294
298
  );
295
- pool.initFailed = true;
299
+ pool!.initFailed = true;
296
300
  }
297
301
  }
298
302
 
@@ -309,8 +313,8 @@ export class UniswapV3
309
313
  }
310
314
 
311
315
  this.eventPools[this.getPoolIdentifier(srcAddress, destAddress, fee)] =
312
- pool;
313
- return pool;
316
+ pool!;
317
+ return pool!;
314
318
  }
315
319
 
316
320
  async addMasterPool(poolKey: string, blockNumber: number): Promise<boolean> {
@@ -1066,6 +1070,7 @@ export class UniswapV3
1066
1070
  initHash: this.config.initHash,
1067
1071
  subgraphURL: this.config.subgraphURL,
1068
1072
  stateMultiCallAbi: this.config.stateMultiCallAbi,
1073
+ eventPoolImplementation: this.config.eventPoolImplementation,
1069
1074
  decodeStateMultiCallResultWithRelativeBitmaps:
1070
1075
  this.config.decodeStateMultiCallResultWithRelativeBitmaps,
1071
1076
  };