@paraswap/dex-lib 2.28.9-ramses-v2 → 2.28.9

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 (142) hide show
  1. package/build/dex/algebra/algebra.js +5 -0
  2. package/build/dex/algebra/algebra.js.map +1 -1
  3. package/build/dex/algebra/config.js +1 -0
  4. package/build/dex/algebra/config.js.map +1 -1
  5. package/build/dex/algebra/types.d.ts +1 -0
  6. package/build/dex/index.js +0 -2
  7. package/build/dex/index.js.map +1 -1
  8. package/build/dex/{ramses-v2 → test-dex}/config.d.ts +1 -1
  9. package/build/dex/test-dex/config.js +15 -0
  10. package/build/dex/test-dex/config.js.map +1 -0
  11. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  12. package/build/dex/test-dex/test-dex-pool.js +63 -0
  13. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  14. package/build/dex/test-dex/test-dex.d.ts +37 -0
  15. package/build/dex/test-dex/test-dex.js +126 -0
  16. package/build/dex/test-dex/test-dex.js.map +1 -0
  17. package/build/dex/test-dex/types.d.ts +6 -0
  18. package/build/dex/{pancakeswap-v3 → test-dex}/types.js.map +1 -1
  19. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  20. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  21. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  22. package/build/lib/multi-wrapper.js +3 -5
  23. package/build/lib/multi-wrapper.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/dex/algebra/algebra.ts +13 -0
  26. package/src/dex/algebra/config.ts +1 -0
  27. package/src/dex/algebra/types.ts +1 -0
  28. package/src/dex/index.ts +0 -2
  29. package/src/dex/uniswap-v3/uniswap-v3-integration.test.ts +3 -26
  30. package/src/lib/multi-wrapper.ts +4 -4
  31. package/tests/constants-e2e.ts +5 -1
  32. package/tests/utils-e2e.ts +0 -1
  33. package/.idea/aws.xml +0 -17
  34. package/.idea/codeStyles/Project.xml +0 -19
  35. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  36. package/.idea/misc.xml +0 -6
  37. package/.idea/modules.xml +0 -8
  38. package/.idea/paraswap-dex-lib.iml +0 -9
  39. package/.idea/vcs.xml +0 -6
  40. package/build/abi/RamsesV2StateMulticall.abi.json +0 -891
  41. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  42. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  43. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  44. package/build/abi/wBETH.json +0 -1527
  45. package/build/dex/algebra/algebra-pool.d.ts +0 -46
  46. package/build/dex/algebra/algebra-pool.js +0 -336
  47. package/build/dex/algebra/algebra-pool.js.map +0 -1
  48. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  49. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  50. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  51. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  52. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  53. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  54. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  55. package/build/dex/ramses-v2/config.js +0 -28
  56. package/build/dex/ramses-v2/config.js.map +0 -1
  57. package/build/dex/ramses-v2/constants.d.ts +0 -28
  58. package/build/dex/ramses-v2/constants.js +0 -35
  59. package/build/dex/ramses-v2/constants.js.map +0 -1
  60. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  61. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  62. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  63. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  64. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  65. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  66. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  67. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  68. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  69. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  70. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  71. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  72. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  73. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  74. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  75. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  76. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  77. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  78. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  79. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  80. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  81. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  82. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  83. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  84. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  85. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  86. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  87. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  88. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  89. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  90. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  91. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  92. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  93. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  94. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  95. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  96. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  97. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  98. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  99. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  100. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  101. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  102. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -44
  103. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -327
  104. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  105. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  106. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  107. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  108. package/build/dex/ramses-v2/types.d.ts +0 -154
  109. package/build/dex/ramses-v2/types.js +0 -9
  110. package/build/dex/ramses-v2/types.js.map +0 -1
  111. package/build/dex/ramses-v2/utils.d.ts +0 -6
  112. package/build/dex/ramses-v2/utils.js +0 -71
  113. package/build/dex/ramses-v2/utils.js.map +0 -1
  114. package/build/dex/solidly/forks-override/ramses.d.ts +0 -8
  115. package/build/dex/solidly/forks-override/ramses.js +0 -15
  116. package/build/dex/solidly/forks-override/ramses.js.map +0 -1
  117. package/src/abi/RamsesV2Pool.abi.json +0 -1554
  118. package/src/abi/RamsesV2StateMulticall.abi.json +0 -891
  119. package/src/dex/ramses-v2/config.ts +0 -31
  120. package/src/dex/ramses-v2/constants.ts +0 -41
  121. package/src/dex/ramses-v2/contract-math/BitMath.ts +0 -90
  122. package/src/dex/ramses-v2/contract-math/FixedPoint128.ts +0 -3
  123. package/src/dex/ramses-v2/contract-math/FixedPoint96.ts +0 -4
  124. package/src/dex/ramses-v2/contract-math/FullMath.ts +0 -30
  125. package/src/dex/ramses-v2/contract-math/LiquidityMath.ts +0 -17
  126. package/src/dex/ramses-v2/contract-math/Oracle.ts +0 -226
  127. package/src/dex/ramses-v2/contract-math/SqrtPriceMath.ts +0 -226
  128. package/src/dex/ramses-v2/contract-math/SwapMath.ts +0 -139
  129. package/src/dex/ramses-v2/contract-math/Tick.ts +0 -82
  130. package/src/dex/ramses-v2/contract-math/TickBitMap.ts +0 -128
  131. package/src/dex/ramses-v2/contract-math/TickMath.ts +0 -211
  132. package/src/dex/ramses-v2/contract-math/UnsafeMath.ts +0 -5
  133. package/src/dex/ramses-v2/contract-math/uniswap-v3-math.ts +0 -666
  134. package/src/dex/ramses-v2/contract-math/utils.ts +0 -11
  135. package/src/dex/ramses-v2/ramses-v2-e2e.test.ts +0 -100
  136. package/src/dex/ramses-v2/ramses-v2-events.test.ts +0 -182
  137. package/src/dex/ramses-v2/ramses-v2-integration.test.ts +0 -462
  138. package/src/dex/ramses-v2/ramses-v2-pool.ts +0 -546
  139. package/src/dex/ramses-v2/ramses-v2.ts +0 -1136
  140. package/src/dex/ramses-v2/types.ts +0 -177
  141. package/src/dex/ramses-v2/utils.ts +0 -90
  142. /package/build/dex/{pancakeswap-v3 → test-dex}/types.js +0 -0
@@ -1,177 +0,0 @@
1
- import { BigNumber } from 'ethers';
2
- import { NumberAsString } from '../../types';
3
- import { Address } from '../../types';
4
-
5
- export type OracleObservation = {
6
- blockTimestamp: bigint;
7
- tickCumulative: bigint;
8
- secondsPerLiquidityCumulativeX128: bigint;
9
- initialized: boolean;
10
- };
11
-
12
- export type OracleObservationCandidates = {
13
- beforeOrAt: OracleObservation;
14
- atOrAfter: OracleObservation;
15
- };
16
-
17
- export type TickInfo = {
18
- liquidityGross: bigint;
19
- liquidityNet: bigint;
20
- tickCumulativeOutside: bigint;
21
- secondsPerLiquidityOutsideX128: bigint;
22
- secondsOutside: bigint;
23
- initialized: boolean;
24
- };
25
-
26
- export type Slot0 = {
27
- sqrtPriceX96: bigint;
28
- tick: bigint;
29
- observationIndex: number;
30
- observationCardinality: number;
31
- observationCardinalityNext: number;
32
- feeProtocol: bigint;
33
- };
34
-
35
- export type PoolState = {
36
- pool: string;
37
- blockTimestamp: bigint;
38
- tickSpacing: bigint;
39
- fee: bigint;
40
- slot0: Slot0;
41
- liquidity: bigint;
42
- maxLiquidityPerTick: bigint;
43
- tickBitmap: Record<NumberAsString, bigint>;
44
- ticks: Record<NumberAsString, TickInfo>;
45
- observations: Record<number, OracleObservation>;
46
- isValid: boolean;
47
- startTickBitmap: bigint;
48
- lowestKnownTick: bigint;
49
- highestKnownTick: bigint;
50
- balance0: bigint;
51
- balance1: bigint;
52
- };
53
-
54
- export type RamsesV2Data = {
55
- path: {
56
- tokenIn: Address;
57
- tokenOut: Address;
58
- fee: NumberAsString;
59
- }[];
60
- isApproved?: boolean;
61
- };
62
-
63
- export type DexParams = {
64
- router: Address;
65
- quoter: Address;
66
- factory: Address;
67
- stateMulticall: Address;
68
- uniswapMulticall: Address;
69
- supportedFees: bigint[];
70
- chunksCount: number;
71
- deployer?: Address;
72
- subgraphURL: string;
73
- initHash: string;
74
- };
75
-
76
- export type RamsesV2SimpleSwapSellParam = {
77
- path: string;
78
- recipient: Address;
79
- deadline: string;
80
- amountIn: NumberAsString;
81
- amountOutMinimum: NumberAsString;
82
- };
83
-
84
- export type RamsesV2SimpleSwapBuyParam = {
85
- path: string;
86
- recipient: Address;
87
- deadline: string;
88
- amountOut: NumberAsString;
89
- amountInMaximum: NumberAsString;
90
- };
91
-
92
- export type RamsesV2SimpleSwapParams =
93
- | RamsesV2SimpleSwapSellParam
94
- | RamsesV2SimpleSwapBuyParam;
95
-
96
- export type RamsesV2Param = [
97
- fromToken: Address,
98
- toToken: Address,
99
- exchange: Address,
100
- fromAmount: NumberAsString,
101
- toAmount: NumberAsString,
102
- expectedAmount: NumberAsString,
103
- feePercent: NumberAsString,
104
- deadline: NumberAsString,
105
- partner: Address,
106
- isApproved: boolean,
107
- beneficiary: Address,
108
- path: string,
109
- permit: string,
110
- uuid: string,
111
- ];
112
-
113
- export enum RamsesV2Functions {
114
- exactInput = 'exactInput',
115
- exactOutput = 'exactOutput',
116
- }
117
-
118
- export type TickInfoMappings = {
119
- index: number;
120
- value: TickInfo;
121
- };
122
-
123
- export type TickBitMapMappings = {
124
- index: number;
125
- value: bigint;
126
- };
127
-
128
- export type OutputResult = {
129
- outputs: bigint[];
130
- tickCounts: number[];
131
- };
132
-
133
- // Just rewrote every type with BigNumber basically
134
-
135
- export type TickBitMapMappingsWithBigNumber = {
136
- index: number;
137
- value: BigNumber;
138
- };
139
-
140
- export type TickInfoWithBigNumber = {
141
- initialized: boolean;
142
- liquidityGross: BigNumber;
143
- liquidityNet: BigNumber;
144
- secondsOutside: number;
145
- secondsPerLiquidityOutsideX128: BigNumber;
146
- tickCumulativeOutside: BigNumber;
147
- };
148
-
149
- export type TickInfoMappingsWithBigNumber = {
150
- index: number;
151
- value: TickInfoWithBigNumber;
152
- };
153
-
154
- export type DecodedStateMultiCallResultWithRelativeBitmaps = {
155
- pool: Address;
156
- blockTimestamp: BigNumber;
157
- slot0: {
158
- feeProtocol: number;
159
- observationCardinality: number;
160
- observationCardinalityNext: number;
161
- observationIndex: number;
162
- sqrtPriceX96: BigNumber;
163
- tick: number;
164
- unlocked: boolean;
165
- };
166
- liquidity: BigNumber;
167
- tickSpacing: number;
168
- maxLiquidityPerTick: BigNumber;
169
- observation: {
170
- blockTimestamp: number;
171
- initialized: boolean;
172
- secondsPerLiquidityCumulativeX128: BigNumber;
173
- tickCumulative: BigNumber;
174
- };
175
- tickBitmap: TickBitMapMappingsWithBigNumber[];
176
- ticks: TickInfoMappingsWithBigNumber[];
177
- };
@@ -1,90 +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
- uint16 observationIndex,
46
- uint16 observationCardinality,
47
- uint16 observationCardinalityNext,
48
- uint8 feeProtocol,
49
- bool unlocked,
50
- ) slot0,
51
- uint128 liquidity,
52
- int24 tickSpacing,
53
- uint128 maxLiquidityPerTick,
54
- tuple(
55
- uint32 blockTimestamp,
56
- int56 tickCumulative,
57
- uint160 secondsPerLiquidityCumulativeX128,
58
- bool initialized,
59
- uint160 secondsPerBoostedLiquidityPeriodX128,
60
- uint32 boostedInRange,
61
- ) observation,
62
- tuple(
63
- int16 index,
64
- uint256 value
65
- )[] tickBitmap,
66
- tuple(
67
- int24 index,
68
- tuple(
69
- uint128 liquidityGross,
70
- int128 liquidityNet,
71
- uint128 cleanUnusedSlot,
72
- uint128 cleanUnusedSlot2,
73
- uint256 feeGrowthOutside0X128,
74
- uint256 feeGrowthOutside1X128,
75
- int56 tickCumulativeOutside,
76
- uint160 secondsPerLiquidityOutsideX128,
77
- uint32 secondsOutside,
78
- bool initialized,
79
- ) value,
80
- )[] ticks
81
- )
82
- `,
83
- ],
84
- toDecode,
85
- )[0];
86
-
87
- // This conversion is not precise, because when we decode, we have more values
88
- // But I typed only the ones that are used later
89
- return decoded as DecodedStateMultiCallResultWithRelativeBitmaps;
90
- }
File without changes