@paraswap/dex-lib 2.42.27-solidly-v3.2 → 2.42.28

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 (106) hide show
  1. package/build/abi/{solidly-v3/SolidlyV3Pool.abi.json → algebra/AlgebraPool.abi.json} +282 -293
  2. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  3. package/build/config.js +2 -2
  4. package/build/dex/{solidly-v3/solidly-v3-pool.d.ts → algebra/algebra-pool.d.ts} +16 -14
  5. package/build/dex/{solidly-v3/solidly-v3-pool.js → algebra/algebra-pool.js} +165 -127
  6. package/build/dex/algebra/algebra-pool.js.map +1 -0
  7. package/build/dex/index.js +2 -4
  8. package/build/dex/index.js.map +1 -1
  9. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  10. package/build/dex/quickswap/camelot-v3.js +19 -0
  11. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  12. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  13. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  14. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  15. package/build/dex/uniswap-v2/rebase-tokens.json +7 -0
  16. package/package.json +1 -1
  17. package/src/config.ts +2 -2
  18. package/src/dex/index.ts +2 -4
  19. package/src/dex/uniswap-v3/uniswap-v3-events.test.ts +0 -3
  20. package/build/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
  21. package/build/dex/solidly-v3/config.d.ts +0 -9
  22. package/build/dex/solidly-v3/config.js +0 -58
  23. package/build/dex/solidly-v3/config.js.map +0 -1
  24. package/build/dex/solidly-v3/constants.d.ts +0 -27
  25. package/build/dex/solidly-v3/constants.js +0 -34
  26. package/build/dex/solidly-v3/constants.js.map +0 -1
  27. package/build/dex/solidly-v3/contract-math/BitMath.d.ts +0 -4
  28. package/build/dex/solidly-v3/contract-math/BitMath.js +0 -93
  29. package/build/dex/solidly-v3/contract-math/BitMath.js.map +0 -1
  30. package/build/dex/solidly-v3/contract-math/FixedPoint128.d.ts +0 -3
  31. package/build/dex/solidly-v3/contract-math/FixedPoint128.js +0 -8
  32. package/build/dex/solidly-v3/contract-math/FixedPoint128.js.map +0 -1
  33. package/build/dex/solidly-v3/contract-math/FixedPoint96.d.ts +0 -4
  34. package/build/dex/solidly-v3/contract-math/FixedPoint96.js +0 -9
  35. package/build/dex/solidly-v3/contract-math/FixedPoint96.js.map +0 -1
  36. package/build/dex/solidly-v3/contract-math/FullMath.d.ts +0 -4
  37. package/build/dex/solidly-v3/contract-math/FullMath.js +0 -19
  38. package/build/dex/solidly-v3/contract-math/FullMath.js.map +0 -1
  39. package/build/dex/solidly-v3/contract-math/LiquidityMath.d.ts +0 -3
  40. package/build/dex/solidly-v3/contract-math/LiquidityMath.js +0 -22
  41. package/build/dex/solidly-v3/contract-math/LiquidityMath.js.map +0 -1
  42. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.d.ts +0 -10
  43. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js +0 -91
  44. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js.map +0 -1
  45. package/build/dex/solidly-v3/contract-math/SwapMath.d.ts +0 -8
  46. package/build/dex/solidly-v3/contract-math/SwapMath.js +0 -70
  47. package/build/dex/solidly-v3/contract-math/SwapMath.js.map +0 -1
  48. package/build/dex/solidly-v3/contract-math/Tick.d.ts +0 -7
  49. package/build/dex/solidly-v3/contract-math/Tick.js +0 -36
  50. package/build/dex/solidly-v3/contract-math/Tick.js.map +0 -1
  51. package/build/dex/solidly-v3/contract-math/TickBitMap.d.ts +0 -7
  52. package/build/dex/solidly-v3/contract-math/TickBitMap.js +0 -84
  53. package/build/dex/solidly-v3/contract-math/TickBitMap.js.map +0 -1
  54. package/build/dex/solidly-v3/contract-math/TickMath.d.ts +0 -8
  55. package/build/dex/solidly-v3/contract-math/TickMath.js +0 -162
  56. package/build/dex/solidly-v3/contract-math/TickMath.js.map +0 -1
  57. package/build/dex/solidly-v3/contract-math/UnsafeMath.d.ts +0 -3
  58. package/build/dex/solidly-v3/contract-math/UnsafeMath.js +0 -10
  59. package/build/dex/solidly-v3/contract-math/UnsafeMath.js.map +0 -1
  60. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.d.ts +0 -31
  61. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js +0 -363
  62. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js.map +0 -1
  63. package/build/dex/solidly-v3/contract-math/utils.d.ts +0 -7
  64. package/build/dex/solidly-v3/contract-math/utils.js +0 -39
  65. package/build/dex/solidly-v3/contract-math/utils.js.map +0 -1
  66. package/build/dex/solidly-v3/solidly-v3-factory.d.ts +0 -26
  67. package/build/dex/solidly-v3/solidly-v3-factory.js +0 -44
  68. package/build/dex/solidly-v3/solidly-v3-factory.js.map +0 -1
  69. package/build/dex/solidly-v3/solidly-v3-pool.js.map +0 -1
  70. package/build/dex/solidly-v3/solidly-v3.d.ts +0 -67
  71. package/build/dex/solidly-v3/solidly-v3.js +0 -590
  72. package/build/dex/solidly-v3/solidly-v3.js.map +0 -1
  73. package/build/dex/solidly-v3/types.d.ts +0 -132
  74. package/build/dex/solidly-v3/types.js +0 -9
  75. package/build/dex/solidly-v3/types.js.map +0 -1
  76. package/build/dex/solidly-v3/utils.d.ts +0 -6
  77. package/build/dex/solidly-v3/utils.js +0 -53
  78. package/build/dex/solidly-v3/utils.js.map +0 -1
  79. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  80. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  81. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  82. package/src/abi/solidly-v3/SolidlyV3Pool.abi.json +0 -738
  83. package/src/abi/solidly-v3/SolidlyV3StateMulticall.abi.json +0 -375
  84. package/src/dex/solidly-v3/config.ts +0 -64
  85. package/src/dex/solidly-v3/constants.ts +0 -42
  86. package/src/dex/solidly-v3/contract-math/BitMath.ts +0 -90
  87. package/src/dex/solidly-v3/contract-math/FixedPoint128.ts +0 -3
  88. package/src/dex/solidly-v3/contract-math/FixedPoint96.ts +0 -4
  89. package/src/dex/solidly-v3/contract-math/FullMath.ts +0 -30
  90. package/src/dex/solidly-v3/contract-math/LiquidityMath.ts +0 -17
  91. package/src/dex/solidly-v3/contract-math/SqrtPriceMath.ts +0 -226
  92. package/src/dex/solidly-v3/contract-math/SwapMath.ts +0 -139
  93. package/src/dex/solidly-v3/contract-math/Tick.ts +0 -66
  94. package/src/dex/solidly-v3/contract-math/TickBitMap.ts +0 -123
  95. package/src/dex/solidly-v3/contract-math/TickMath.ts +0 -211
  96. package/src/dex/solidly-v3/contract-math/UnsafeMath.ts +0 -5
  97. package/src/dex/solidly-v3/contract-math/uniswap-v3-math.ts +0 -570
  98. package/src/dex/solidly-v3/contract-math/utils.ts +0 -50
  99. package/src/dex/solidly-v3/solidly-v3-e2e.test.ts +0 -124
  100. package/src/dex/solidly-v3/solidly-v3-events.test.ts +0 -144
  101. package/src/dex/solidly-v3/solidly-v3-factory.ts +0 -73
  102. package/src/dex/solidly-v3/solidly-v3-integration.test.ts +0 -358
  103. package/src/dex/solidly-v3/solidly-v3-pool.ts +0 -494
  104. package/src/dex/solidly-v3/solidly-v3.ts +0 -988
  105. package/src/dex/solidly-v3/types.ts +0 -158
  106. package/src/dex/solidly-v3/utils.ts +0 -71
@@ -1,158 +0,0 @@
1
- import { BigNumber, BytesLike } from 'ethers';
2
- import { NumberAsString } from '../../types';
3
- import { Address } from '../../types';
4
- import { AbiItem } from 'web3-utils';
5
- import { MultiResult } from '../../lib/multi-wrapper';
6
-
7
- export type FactoryState = Record<string, never>;
8
-
9
- export type TickInfo = {
10
- liquidityGross: bigint;
11
- liquidityNet: bigint;
12
- initialized: boolean;
13
- };
14
-
15
- export type Slot0 = {
16
- sqrtPriceX96: bigint;
17
- tick: bigint;
18
- fee: bigint;
19
- };
20
-
21
- export type PoolState = {
22
- pool: string;
23
- blockTimestamp: bigint;
24
- tickSpacing: bigint;
25
- slot0: Slot0;
26
- liquidity: bigint;
27
- maxLiquidityPerTick: bigint;
28
- tickBitmap: Record<NumberAsString, bigint>;
29
- ticks: Record<NumberAsString, TickInfo>;
30
- isValid: boolean;
31
- startTickBitmap: bigint;
32
- lowestKnownTick: bigint;
33
- highestKnownTick: bigint;
34
- balance0: bigint;
35
- balance1: bigint;
36
- };
37
-
38
- export type SolidlyV3Data = {
39
- zeroForOne: boolean;
40
- poolAddress: string;
41
- isApproved?: boolean;
42
- };
43
-
44
- export type DecodeStateMultiCallFunc = (
45
- result: MultiResult<BytesLike> | BytesLike,
46
- ) => DecodedStateMultiCallResultWithRelativeBitmaps;
47
-
48
- export type DexParams = {
49
- quoter: Address;
50
- factory: Address;
51
- stateMulticall: Address;
52
- supportedTickSpacings: bigint[];
53
- chunksCount: number;
54
- initRetryFrequency: number;
55
- deployer?: Address;
56
- subgraphURL: string;
57
- initHash: string;
58
- stateMultiCallAbi?: AbiItem[];
59
- decodeStateMultiCallResultWithRelativeBitmaps?: DecodeStateMultiCallFunc;
60
- };
61
-
62
- export type UniswapV3SimpleSwapSellParam = {
63
- path: string;
64
- recipient: Address;
65
- deadline: string;
66
- amountIn: NumberAsString;
67
- amountOutMinimum: NumberAsString;
68
- };
69
-
70
- export type UniswapV3SimpleSwapBuyParam = {
71
- path: string;
72
- recipient: Address;
73
- deadline: string;
74
- amountOut: NumberAsString;
75
- amountInMaximum: NumberAsString;
76
- };
77
-
78
- export type UniswapV3SimpleSwapParams =
79
- | UniswapV3SimpleSwapSellParam
80
- | UniswapV3SimpleSwapBuyParam;
81
-
82
- export type SolidlyV3SimpleSwapParams = {
83
- recipient: string;
84
- zeroForOne: boolean;
85
- amountSpecified: NumberAsString;
86
- sqrtPriceLimitX96: NumberAsString;
87
- };
88
-
89
- export type UniswapV3Param = [
90
- fromToken: Address,
91
- toToken: Address,
92
- exchange: Address,
93
- fromAmount: NumberAsString,
94
- toAmount: NumberAsString,
95
- expectedAmount: NumberAsString,
96
- feePercent: NumberAsString,
97
- deadline: NumberAsString,
98
- partner: Address,
99
- isApproved: boolean,
100
- beneficiary: Address,
101
- path: string,
102
- permit: string,
103
- uuid: string,
104
- ];
105
-
106
- export enum UniswapV3Functions {
107
- exactInput = 'exactInput',
108
- exactOutput = 'exactOutput',
109
- }
110
-
111
- export type TickInfoMappings = {
112
- index: number;
113
- value: TickInfo;
114
- };
115
-
116
- export type TickBitMapMappings = {
117
- index: number;
118
- value: bigint;
119
- };
120
-
121
- export type OutputResult = {
122
- outputs: bigint[];
123
- tickCounts: number[];
124
- };
125
-
126
- // Just rewrote every type with BigNumber basically
127
-
128
- export type TickBitMapMappingsWithBigNumber = {
129
- index: number;
130
- value: BigNumber;
131
- };
132
-
133
- export type TickInfoWithBigNumber = {
134
- initialized: boolean;
135
- liquidityGross: BigNumber;
136
- liquidityNet: BigNumber;
137
- };
138
-
139
- export type TickInfoMappingsWithBigNumber = {
140
- index: number;
141
- value: TickInfoWithBigNumber;
142
- };
143
-
144
- export type DecodedStateMultiCallResultWithRelativeBitmaps = {
145
- pool: Address;
146
- blockTimestamp: BigNumber;
147
- slot0: {
148
- sqrtPriceX96: BigNumber;
149
- tick: number;
150
- fee: number;
151
- unlocked: boolean;
152
- };
153
- liquidity: BigNumber;
154
- tickSpacing: number;
155
- maxLiquidityPerTick: BigNumber;
156
- tickBitmap: TickBitMapMappingsWithBigNumber[];
157
- ticks: TickInfoMappingsWithBigNumber[];
158
- };
@@ -1,71 +0,0 @@
1
- import { BytesLike, ethers } from 'ethers';
2
- import { assert } from 'ts-essentials';
3
- import { extractSuccessAndValue } from '../../lib/decoders';
4
- import { MultiResult } from '../../lib/multi-wrapper';
5
- import { DexConfigMap } from '../../types';
6
- import {
7
- DexParams,
8
- DecodedStateMultiCallResultWithRelativeBitmaps,
9
- } from './types';
10
-
11
- export function getUniswapV3DexKey(UniswapV3Config: DexConfigMap<DexParams>) {
12
- const UniswapV3Keys = Object.keys(UniswapV3Config);
13
- if (UniswapV3Keys.length !== 1) {
14
- throw new Error(
15
- `UniswapV3 key in UniswapV3Config is not unique. Update relevant places (optimizer) or fix config issue. Received: ${JSON.stringify(
16
- UniswapV3Config,
17
- (_0, value) => (typeof value === 'bigint' ? value.toString() : value),
18
- )}`,
19
- );
20
- }
21
-
22
- return UniswapV3Keys[0].toLowerCase();
23
- }
24
-
25
- export function decodeStateMultiCallResultWithRelativeBitmaps(
26
- result: MultiResult<BytesLike> | BytesLike,
27
- ): DecodedStateMultiCallResultWithRelativeBitmaps {
28
- const [isSuccess, toDecode] = extractSuccessAndValue(result);
29
-
30
- assert(
31
- isSuccess && toDecode !== '0x',
32
- `decodeStateMultiCallResultWithRelativeBitmaps failed to get decodable result: ${result}`,
33
- );
34
-
35
- const decoded = ethers.utils.defaultAbiCoder.decode(
36
- [
37
- // I don't want to pass here any interface, so I just use it in ethers format
38
- `
39
- tuple(
40
- address pool,
41
- uint256 blockTimestamp,
42
- tuple(
43
- uint160 sqrtPriceX96,
44
- int24 tick,
45
- uint24 fee,
46
- bool unlocked,
47
- ) slot0,
48
- uint128 liquidity,
49
- int24 tickSpacing,
50
- uint128 maxLiquidityPerTick,
51
- tuple(
52
- int16 index,
53
- uint256 value,
54
- )[] tickBitmap,
55
- tuple(
56
- int24 index,
57
- tuple(
58
- uint128 liquidityGross,
59
- int128 liquidityNet,
60
- bool initialized,
61
- ) value,
62
- )[] ticks
63
- )
64
- `,
65
- ],
66
- toDecode,
67
- )[0];
68
- // This conversion is not precise, because when we decode, we have more values
69
- // But I typed only the ones that are used later
70
- return decoded as DecodedStateMultiCallResultWithRelativeBitmaps;
71
- }