@paraswap/dex-lib 2.16.7 → 2.16.8-pancakeswapv3.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 (150) hide show
  1. package/build/abi/pancakeswap-v3/PancakeV3StateMulticall.abi.json +781 -0
  2. package/build/abi/pancakeswap-v3/PancakeswapV3Pool.abi.json +1039 -0
  3. package/build/abi/pancakeswap-v3/PancakeswapV3Quoter.abi.json +285 -0
  4. package/build/abi/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  5. package/build/dex/index.js +1 -1
  6. package/build/dex/index.js.map +1 -1
  7. package/build/dex/{test-dex → pancakeswap-v3}/config.d.ts +2 -2
  8. package/build/dex/pancakeswap-v3/config.js +62 -0
  9. package/build/dex/pancakeswap-v3/config.js.map +1 -0
  10. package/build/dex/pancakeswap-v3/constants.d.ts +23 -0
  11. package/build/dex/pancakeswap-v3/constants.js +29 -0
  12. package/build/dex/pancakeswap-v3/constants.js.map +1 -0
  13. package/build/dex/pancakeswap-v3/contract-math/BitMath.d.ts +4 -0
  14. package/build/dex/pancakeswap-v3/contract-math/BitMath.js +93 -0
  15. package/build/dex/pancakeswap-v3/contract-math/BitMath.js.map +1 -0
  16. package/build/dex/pancakeswap-v3/contract-math/FixedPoint128.d.ts +3 -0
  17. package/build/dex/pancakeswap-v3/contract-math/FixedPoint128.js +8 -0
  18. package/build/dex/pancakeswap-v3/contract-math/FixedPoint128.js.map +1 -0
  19. package/build/dex/pancakeswap-v3/contract-math/FixedPoint96.d.ts +4 -0
  20. package/build/dex/pancakeswap-v3/contract-math/FixedPoint96.js +9 -0
  21. package/build/dex/pancakeswap-v3/contract-math/FixedPoint96.js.map +1 -0
  22. package/build/dex/pancakeswap-v3/contract-math/FullMath.d.ts +4 -0
  23. package/build/dex/pancakeswap-v3/contract-math/FullMath.js +19 -0
  24. package/build/dex/pancakeswap-v3/contract-math/FullMath.js.map +1 -0
  25. package/build/dex/pancakeswap-v3/contract-math/LiquidityMath.d.ts +3 -0
  26. package/build/dex/pancakeswap-v3/contract-math/LiquidityMath.js +22 -0
  27. package/build/dex/pancakeswap-v3/contract-math/LiquidityMath.js.map +1 -0
  28. package/build/dex/pancakeswap-v3/contract-math/Oracle.d.ts +10 -0
  29. package/build/dex/pancakeswap-v3/contract-math/Oracle.js +133 -0
  30. package/build/dex/pancakeswap-v3/contract-math/Oracle.js.map +1 -0
  31. package/build/dex/pancakeswap-v3/contract-math/SqrtPriceMath.d.ts +10 -0
  32. package/build/dex/pancakeswap-v3/contract-math/SqrtPriceMath.js +91 -0
  33. package/build/dex/pancakeswap-v3/contract-math/SqrtPriceMath.js.map +1 -0
  34. package/build/dex/pancakeswap-v3/contract-math/SwapMath.d.ts +8 -0
  35. package/build/dex/pancakeswap-v3/contract-math/SwapMath.js +70 -0
  36. package/build/dex/pancakeswap-v3/contract-math/SwapMath.js.map +1 -0
  37. package/build/dex/pancakeswap-v3/contract-math/Tick.d.ts +7 -0
  38. package/build/dex/pancakeswap-v3/contract-math/Tick.js +45 -0
  39. package/build/dex/pancakeswap-v3/contract-math/Tick.js.map +1 -0
  40. package/build/dex/pancakeswap-v3/contract-math/TickBitMap.d.ts +8 -0
  41. package/build/dex/pancakeswap-v3/contract-math/TickBitMap.js +87 -0
  42. package/build/dex/pancakeswap-v3/contract-math/TickBitMap.js.map +1 -0
  43. package/build/dex/pancakeswap-v3/contract-math/TickMath.d.ts +8 -0
  44. package/build/dex/pancakeswap-v3/contract-math/TickMath.js +162 -0
  45. package/build/dex/pancakeswap-v3/contract-math/TickMath.js.map +1 -0
  46. package/build/dex/pancakeswap-v3/contract-math/UnsafeMath.d.ts +3 -0
  47. package/build/dex/pancakeswap-v3/contract-math/UnsafeMath.js +10 -0
  48. package/build/dex/pancakeswap-v3/contract-math/UnsafeMath.js.map +1 -0
  49. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.d.ts +18 -0
  50. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.js +407 -0
  51. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.js.map +1 -0
  52. package/build/dex/pancakeswap-v3/contract-math/utils.d.ts +3 -0
  53. package/build/dex/pancakeswap-v3/contract-math/utils.js +16 -0
  54. package/build/dex/pancakeswap-v3/contract-math/utils.js.map +1 -0
  55. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +45 -0
  56. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +340 -0
  57. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -0
  58. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +55 -0
  59. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +605 -0
  60. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  61. package/build/dex/pancakeswap-v3/types.d.ts +137 -0
  62. package/build/dex/pancakeswap-v3/types.js +9 -0
  63. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  64. package/build/dex/pancakeswap-v3/utils.d.ts +6 -0
  65. package/build/dex/pancakeswap-v3/utils.js +65 -0
  66. package/build/dex/pancakeswap-v3/utils.js.map +1 -0
  67. package/build/dex/uniswap-v3/config.js +0 -28
  68. package/build/dex/uniswap-v3/config.js.map +1 -1
  69. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +1 -2
  70. package/build/dex/uniswap-v3/uniswap-v3-pool.js +2 -3
  71. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  72. package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
  73. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/abi/pancakeswap-v3/PancakeV3StateMulticall.abi.json +781 -0
  76. package/src/abi/pancakeswap-v3/PancakeswapV3Pool.abi.json +1039 -0
  77. package/src/dex/index.ts +1 -1
  78. package/src/dex/pancakeswap-v3/config.ts +68 -0
  79. package/src/dex/pancakeswap-v3/constants.ts +35 -0
  80. package/src/dex/pancakeswap-v3/contract-math/BitMath.ts +90 -0
  81. package/src/dex/pancakeswap-v3/contract-math/FixedPoint128.ts +3 -0
  82. package/src/dex/pancakeswap-v3/contract-math/FixedPoint96.ts +4 -0
  83. package/src/dex/pancakeswap-v3/contract-math/FullMath.ts +30 -0
  84. package/src/dex/pancakeswap-v3/contract-math/LiquidityMath.ts +17 -0
  85. package/src/dex/pancakeswap-v3/contract-math/Oracle.ts +226 -0
  86. package/src/dex/pancakeswap-v3/contract-math/SqrtPriceMath.ts +226 -0
  87. package/src/dex/pancakeswap-v3/contract-math/SwapMath.ts +139 -0
  88. package/src/dex/pancakeswap-v3/contract-math/Tick.ts +82 -0
  89. package/src/dex/pancakeswap-v3/contract-math/TickBitMap.ts +128 -0
  90. package/src/dex/pancakeswap-v3/contract-math/TickMath.ts +211 -0
  91. package/src/dex/pancakeswap-v3/contract-math/UnsafeMath.ts +5 -0
  92. package/src/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.ts +691 -0
  93. package/src/dex/pancakeswap-v3/contract-math/utils.ts +11 -0
  94. package/src/dex/pancakeswap-v3/pancakeswap-v3-e2e.test.ts +168 -0
  95. package/src/dex/pancakeswap-v3/pancakeswap-v3-events.test.ts +124 -0
  96. package/src/dex/pancakeswap-v3/pancakeswap-v3-integration.test.ts +338 -0
  97. package/src/dex/pancakeswap-v3/pancakeswap-v3-pool.ts +554 -0
  98. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +1000 -0
  99. package/src/dex/uniswap-v3/config.ts +0 -32
  100. package/src/dex/uniswap-v3/uniswap-v3-e2e.test.ts +0 -156
  101. package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +4 -0
  102. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +1 -2
  103. package/src/dex/uniswap-v3/uniswap-v3.ts +0 -1
  104. package/build/abi/DirectSwap.json +0 -970
  105. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  106. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  107. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  108. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  109. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  110. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  111. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  112. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  113. package/build/dex/quickswap-v3.d.ts +0 -21
  114. package/build/dex/quickswap-v3.js +0 -40
  115. package/build/dex/quickswap-v3.js.map +0 -1
  116. package/build/dex/test-dex/config.js +0 -15
  117. package/build/dex/test-dex/config.js.map +0 -1
  118. package/build/dex/test-dex/test-dex-pool.d.ts +0 -39
  119. package/build/dex/test-dex/test-dex-pool.js +0 -63
  120. package/build/dex/test-dex/test-dex-pool.js.map +0 -1
  121. package/build/dex/test-dex/test-dex.d.ts +0 -37
  122. package/build/dex/test-dex/test-dex.js +0 -126
  123. package/build/dex/test-dex/test-dex.js.map +0 -1
  124. package/build/dex/test-dex/types.d.ts +0 -6
  125. package/build/dex/test-dex/types.js +0 -3
  126. package/build/dex/test-dex/types.js.map +0 -1
  127. package/build/dex/woo-fi/config.d.ts +0 -4
  128. package/build/dex/woo-fi/config.js +0 -141
  129. package/build/dex/woo-fi/config.js.map +0 -1
  130. package/build/dex/woo-fi/constants.d.ts +0 -5
  131. package/build/dex/woo-fi/constants.js +0 -20
  132. package/build/dex/woo-fi/constants.js.map +0 -1
  133. package/build/dex/woo-fi/types.d.ts +0 -48
  134. package/build/dex/woo-fi/types.js +0 -3
  135. package/build/dex/woo-fi/types.js.map +0 -1
  136. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  137. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  138. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  139. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  140. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  141. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  142. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  143. package/build/dex/woo-fi/woo-fi.js +0 -480
  144. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  145. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +0 -16
  146. package/build/dex/woo-fi-v2/woo-fi-math.js +0 -137
  147. package/build/dex/woo-fi-v2/woo-fi-math.js.map +0 -1
  148. package/src/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.ts +0 -28
  149. /package/src/abi/{uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json → pancakeswap-v3/PancakeswapV3Quoter.abi.json} +0 -0
  150. /package/src/abi/{uniswap-v3/pancakeswap-v3 → pancakeswap-v3}/PancakeswapV3Router.abi.json +0 -0
@@ -4,7 +4,6 @@ import { Network, SwapSide } from '../../constants';
4
4
  import { Address } from '../../types';
5
5
 
6
6
  const SUPPORTED_FEES = [10000n, 3000n, 500n, 100n];
7
- const PANCAKE_SUPPORTED_FEES = [10000n, 2500n, 500n, 100n];
8
7
 
9
8
  // Pools that will be initialized on app startup
10
9
  // They are added for testing
@@ -23,7 +22,6 @@ export const PoolsToPreload: DexConfigMap<
23
22
  },
24
23
  ],
25
24
  },
26
- PancakeswapV3: {},
27
25
  };
28
26
 
29
27
  export const UniswapV3Config: DexConfigMap<DexParams> = {
@@ -88,36 +86,6 @@ export const UniswapV3Config: DexConfigMap<DexParams> = {
88
86
  'https://api.thegraph.com/subgraphs/name/ianlapham/optimism-post-regenesis',
89
87
  },
90
88
  },
91
- PancakeswapV3: {
92
- [Network.MAINNET]: {
93
- factory: '0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865',
94
- deployer: '0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9',
95
- quoter: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997',
96
- router: '0x1b81D678ffb9C0263b24A97847620C99d213eB14',
97
- supportedFees: PANCAKE_SUPPORTED_FEES,
98
- stateMulticall: '0x80898f80cFA3Fa3AbF410d90e69aDc432AE5D4c2',
99
- uniswapMulticall: '0xac1cE734566f390A94b00eb9bf561c2625BF44ea',
100
- chunksCount: 10,
101
- initHash:
102
- '0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2',
103
- subgraphURL:
104
- 'https://api.thegraph.com/subgraphs/name/pancakeswap/exchange-v3-eth',
105
- },
106
- [Network.BSC]: {
107
- factory: '0x0BFbCF9fa4f9C56B0F40a671Ad40E0805A091865',
108
- deployer: '0x41ff9AA7e16B8B1a8a8dc4f0eFacd93D02d071c9',
109
- quoter: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997',
110
- router: '0x1b81D678ffb9C0263b24A97847620C99d213eB14',
111
- supportedFees: PANCAKE_SUPPORTED_FEES,
112
- stateMulticall: '0x9DAd2ED7ADc6eaacf81589Cd043579c9684E5C81',
113
- uniswapMulticall: '0xac1cE734566f390A94b00eb9bf561c2625BF44ea',
114
- chunksCount: 10,
115
- initHash:
116
- '0x6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2',
117
- subgraphURL:
118
- 'https://api.thegraph.com/subgraphs/name/pancakeswap/exchange-v3-bsc',
119
- },
120
- },
121
89
  };
122
90
 
123
91
  export const Adapters: Record<number, AdapterMappings> = {
@@ -203,159 +203,3 @@ describe('UniswapV3 E2E', () => {
203
203
  );
204
204
  });
205
205
  });
206
-
207
- describe('PancakeswapV3 E2E', () => {
208
- const dexKey = 'PancakeswapV3';
209
-
210
- describe('PancakeswapV3 MAINNET', () => {
211
- const network = Network.MAINNET;
212
- const tokens = Tokens[network];
213
- const holders = Holders[network];
214
- const provider = new StaticJsonRpcProvider(
215
- generateConfig(network).privateHttpProvider,
216
- network,
217
- );
218
-
219
- const tokenASymbol: string = 'USDT';
220
- const tokenBSymbol: string = 'USDC';
221
- const nativeTokenSymbol = NativeTokenSymbols[network];
222
-
223
- const tokenAAmount: string = '100000000';
224
- const tokenBAmount: string = '100000000';
225
- const nativeTokenAmount = '1000000000000000000';
226
-
227
- const sideToContractMethods = new Map([
228
- [
229
- SwapSide.SELL,
230
- [
231
- ContractMethod.simpleSwap,
232
- ContractMethod.multiSwap,
233
- ContractMethod.megaSwap,
234
- ],
235
- ],
236
- [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
237
- ]);
238
-
239
- sideToContractMethods.forEach((contractMethods, side) =>
240
- contractMethods.forEach((contractMethod: ContractMethod) => {
241
- describe(`${contractMethod}`, () => {
242
- it(`${network} ${side} ${contractMethod} ${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
243
- await testE2E(
244
- tokens[nativeTokenSymbol],
245
- tokens[tokenASymbol],
246
- holders[nativeTokenSymbol],
247
- side === SwapSide.SELL ? nativeTokenAmount : tokenAAmount,
248
- side,
249
- dexKey,
250
- contractMethod,
251
- network,
252
- provider,
253
- );
254
- });
255
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
256
- await testE2E(
257
- tokens[tokenASymbol],
258
- tokens[nativeTokenSymbol],
259
- holders[tokenASymbol],
260
- side === SwapSide.SELL ? tokenAAmount : nativeTokenAmount,
261
- side,
262
- dexKey,
263
- contractMethod,
264
- network,
265
- provider,
266
- );
267
- });
268
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${tokenBSymbol}`, async () => {
269
- await testE2E(
270
- tokens[tokenASymbol],
271
- tokens[tokenBSymbol],
272
- holders[tokenASymbol],
273
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
274
- side,
275
- dexKey,
276
- contractMethod,
277
- network,
278
- provider,
279
- );
280
- });
281
- });
282
- }),
283
- );
284
- });
285
-
286
- describe('PancakeswapV3 BSC', () => {
287
- const network = Network.BSC;
288
- const tokens = Tokens[network];
289
- const holders = Holders[network];
290
- const provider = new StaticJsonRpcProvider(
291
- generateConfig(network).privateHttpProvider,
292
- network,
293
- );
294
-
295
- const tokenASymbol: string = 'BUSD';
296
- const tokenBSymbol: string = 'WBNB';
297
- const nativeTokenSymbol = NativeTokenSymbols[network];
298
-
299
- const tokenAAmount: string = '100000000000000000000';
300
- const tokenBAmount: string = '1000000000000000000';
301
- const nativeTokenAmount = '1000000000000000000';
302
-
303
- const sideToContractMethods = new Map([
304
- [
305
- SwapSide.SELL,
306
- [
307
- ContractMethod.simpleSwap,
308
- ContractMethod.multiSwap,
309
- ContractMethod.megaSwap,
310
- ],
311
- ],
312
- [SwapSide.BUY, [ContractMethod.simpleBuy, ContractMethod.buy]],
313
- ]);
314
-
315
- sideToContractMethods.forEach((contractMethods, side) =>
316
- contractMethods.forEach((contractMethod: ContractMethod) => {
317
- describe(`${contractMethod}`, () => {
318
- it(`${network} ${side} ${contractMethod} ${nativeTokenSymbol} -> ${tokenASymbol}`, async () => {
319
- await testE2E(
320
- tokens[nativeTokenSymbol],
321
- tokens[tokenASymbol],
322
- holders[nativeTokenSymbol],
323
- side === SwapSide.SELL ? nativeTokenAmount : tokenAAmount,
324
- side,
325
- dexKey,
326
- contractMethod,
327
- network,
328
- provider,
329
- );
330
- });
331
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${nativeTokenSymbol}`, async () => {
332
- await testE2E(
333
- tokens[tokenASymbol],
334
- tokens[nativeTokenSymbol],
335
- holders[tokenASymbol],
336
- side === SwapSide.SELL ? tokenAAmount : nativeTokenAmount,
337
- side,
338
- dexKey,
339
- contractMethod,
340
- network,
341
- provider,
342
- );
343
- });
344
- it(`${network} ${side} ${contractMethod} ${tokenASymbol} -> ${tokenBSymbol}`, async () => {
345
- await testE2E(
346
- tokens[tokenASymbol],
347
- tokens[tokenBSymbol],
348
- holders[tokenASymbol],
349
- side === SwapSide.SELL ? tokenAAmount : tokenBAmount,
350
- side,
351
- dexKey,
352
- contractMethod,
353
- network,
354
- provider,
355
- );
356
- });
357
- });
358
- }),
359
- );
360
- });
361
- });
@@ -106,6 +106,8 @@ describe('UniswapV3 Event', function () {
106
106
  token0,
107
107
  token1,
108
108
  logger,
109
+ undefined,
110
+ config.initHash,
109
111
  );
110
112
 
111
113
  // It is done in generateState. But here have to make it manually
@@ -159,6 +161,8 @@ describe('UniswapV3 Event', function () {
159
161
  _token0,
160
162
  _token1,
161
163
  logger,
164
+ undefined,
165
+ config.initHash,
162
166
  );
163
167
 
164
168
  // It is done in generateState. But here have to make it manually
@@ -69,7 +69,6 @@ export class UniswapV3EventPool extends StatefulEventSubscriber<PoolState> {
69
69
  logger: Logger,
70
70
  mapKey: string = '',
71
71
  readonly poolInitCodeHash: string,
72
- readonly poolDeployer?: string,
73
72
  ) {
74
73
  super(
75
74
  parentName,
@@ -539,7 +538,7 @@ export class UniswapV3EventPool extends StatefulEventSubscriber<PoolState> {
539
538
  );
540
539
 
541
540
  return ethers.utils.getCreate2Address(
542
- this.poolDeployer ? this.poolDeployer : this.factoryAddress,
541
+ this.factoryAddress,
543
542
  encodedKey,
544
543
  this.poolInitCodeHash,
545
544
  );
@@ -214,7 +214,6 @@ export class UniswapV3
214
214
  this.logger,
215
215
  this.cacheStateKey,
216
216
  this.config.initHash,
217
- this.config.deployer,
218
217
  );
219
218
 
220
219
  try {