@paraswap/dex-lib 4.5.10 → 4.5.12-fluid-dex-lite.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 (199) hide show
  1. package/build/abi/bunni-v2/BunniHook.abi.json +1921 -0
  2. package/build/abi/bunni-v2/BunniHub.abi.json +1598 -0
  3. package/build/abi/bunni-v2/BunniToken.abi.json +833 -0
  4. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +1947 -0
  5. package/build/abi/bunni-v2/FloodPlain.abi.json +1195 -0
  6. package/build/abi/bunni-v2/PoolManager.abi.json +1366 -0
  7. package/build/abi/bunni-v2/V4Quoter.abi.json +637 -0
  8. package/build/abi/fluid-dex-lite/FluidDexLite.abi.json +262 -0
  9. package/build/abi/miro-migrator/MiroMigrator.abi.json +19 -36
  10. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +796 -0
  11. package/build/abi/ring-v2/few-wrapped-token.json +587 -0
  12. package/build/abi/ring-v2/ring-v2-factory.json +125 -0
  13. package/build/abi/ring-v2/ring-v2-pool.json +461 -0
  14. package/build/abi/ring-v2/ring-v2-router.json +332 -0
  15. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +682 -0
  16. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +1335 -0
  17. package/build/config.js +13 -13
  18. package/build/dex/balancer-v3/config.d.ts +1 -1
  19. package/build/dex/balancer-v3/config.js +23 -1
  20. package/build/dex/balancer-v3/config.js.map +1 -1
  21. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +61 -0
  22. package/build/dex/bunni-v2/bunni-v2-pool.js +495 -0
  23. package/build/dex/bunni-v2/bunni-v2-pool.js.map +1 -0
  24. package/build/dex/bunni-v2/bunni-v2.d.ts +49 -0
  25. package/build/dex/bunni-v2/bunni-v2.js +435 -0
  26. package/build/dex/bunni-v2/bunni-v2.js.map +1 -0
  27. package/build/dex/bunni-v2/config.d.ts +3 -0
  28. package/build/dex/bunni-v2/config.js +130 -0
  29. package/build/dex/bunni-v2/config.js.map +1 -0
  30. package/build/dex/bunni-v2/encoder.d.ts +19 -0
  31. package/build/dex/bunni-v2/encoder.js +400 -0
  32. package/build/dex/bunni-v2/encoder.js.map +1 -0
  33. package/build/dex/bunni-v2/getOnChainState.d.ts +25 -0
  34. package/build/dex/bunni-v2/getOnChainState.js +455 -0
  35. package/build/dex/bunni-v2/getOnChainState.js.map +1 -0
  36. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +7 -0
  37. package/build/dex/bunni-v2/hook/BunniSwapMath.js +198 -0
  38. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +1 -0
  39. package/build/dex/bunni-v2/hook/SwapMath.d.ts +8 -0
  40. package/build/dex/bunni-v2/hook/SwapMath.js +65 -0
  41. package/build/dex/bunni-v2/hook/SwapMath.js.map +1 -0
  42. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +33 -0
  43. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +33 -0
  44. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +1 -0
  45. package/build/dex/bunni-v2/hooklet/index.d.ts +21 -0
  46. package/build/dex/bunni-v2/hooklet/index.js +64 -0
  47. package/build/dex/bunni-v2/hooklet/index.js.map +1 -0
  48. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +70 -0
  49. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +277 -0
  50. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +1 -0
  51. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +64 -0
  52. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +262 -0
  53. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +1 -0
  54. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +60 -0
  55. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +224 -0
  56. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +1 -0
  57. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +56 -0
  58. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +489 -0
  59. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +1 -0
  60. package/build/dex/bunni-v2/ldf/LDFType.d.ts +5 -0
  61. package/build/dex/bunni-v2/ldf/LDFType.js +10 -0
  62. package/build/dex/bunni-v2/ldf/LDFType.js.map +1 -0
  63. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +7 -0
  64. package/build/dex/bunni-v2/ldf/ShiftMode.js +19 -0
  65. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +1 -0
  66. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +55 -0
  67. package/build/dex/bunni-v2/ldf/UniformDistribution.js +291 -0
  68. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +1 -0
  69. package/build/dex/bunni-v2/ldf/index.d.ts +15 -0
  70. package/build/dex/bunni-v2/ldf/index.js +21 -0
  71. package/build/dex/bunni-v2/ldf/index.js.map +1 -0
  72. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +4 -0
  73. package/build/dex/bunni-v2/lib/AmAmmPayload.js +10 -0
  74. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +1 -0
  75. package/build/dex/bunni-v2/lib/BitMath.d.ts +4 -0
  76. package/build/dex/bunni-v2/lib/BitMath.js +24 -0
  77. package/build/dex/bunni-v2/lib/BitMath.js.map +1 -0
  78. package/build/dex/bunni-v2/lib/Constants.d.ts +14 -0
  79. package/build/dex/bunni-v2/lib/Constants.js +18 -0
  80. package/build/dex/bunni-v2/lib/Constants.js.map +1 -0
  81. package/build/dex/bunni-v2/lib/ExpMath.d.ts +5 -0
  82. package/build/dex/bunni-v2/lib/ExpMath.js +121 -0
  83. package/build/dex/bunni-v2/lib/ExpMath.js.map +1 -0
  84. package/build/dex/bunni-v2/lib/FeeMath.d.ts +2 -0
  85. package/build/dex/bunni-v2/lib/FeeMath.js +27 -0
  86. package/build/dex/bunni-v2/lib/FeeMath.js.map +1 -0
  87. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +3 -0
  88. package/build/dex/bunni-v2/lib/FixedPointMath.js +15 -0
  89. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +1 -0
  90. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +4 -0
  91. package/build/dex/bunni-v2/lib/FullMathX96.js +21 -0
  92. package/build/dex/bunni-v2/lib/FullMathX96.js.map +1 -0
  93. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +11 -0
  94. package/build/dex/bunni-v2/lib/IdleBalance.js +33 -0
  95. package/build/dex/bunni-v2/lib/IdleBalance.js.map +1 -0
  96. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +6 -0
  97. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +25 -0
  98. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +1 -0
  99. package/build/dex/bunni-v2/lib/Math.d.ts +28 -0
  100. package/build/dex/bunni-v2/lib/Math.js +169 -0
  101. package/build/dex/bunni-v2/lib/Math.js.map +1 -0
  102. package/build/dex/bunni-v2/lib/Oracle.d.ts +27 -0
  103. package/build/dex/bunni-v2/lib/Oracle.js +180 -0
  104. package/build/dex/bunni-v2/lib/Oracle.js.map +1 -0
  105. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +12 -0
  106. package/build/dex/bunni-v2/lib/QueryLDF.js +90 -0
  107. package/build/dex/bunni-v2/lib/QueryLDF.js.map +1 -0
  108. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +2 -0
  109. package/build/dex/bunni-v2/lib/QueryTwap.js +13 -0
  110. package/build/dex/bunni-v2/lib/QueryTwap.js.map +1 -0
  111. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +8 -0
  112. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +84 -0
  113. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +1 -0
  114. package/build/dex/bunni-v2/lib/TickMath.d.ts +11 -0
  115. package/build/dex/bunni-v2/lib/TickMath.js +100 -0
  116. package/build/dex/bunni-v2/lib/TickMath.js.map +1 -0
  117. package/build/dex/bunni-v2/lib/VaultMath.d.ts +2 -0
  118. package/build/dex/bunni-v2/lib/VaultMath.js +11 -0
  119. package/build/dex/bunni-v2/lib/VaultMath.js.map +1 -0
  120. package/build/dex/bunni-v2/logic/AmAmm.d.ts +11 -0
  121. package/build/dex/bunni-v2/logic/AmAmm.js +156 -0
  122. package/build/dex/bunni-v2/logic/AmAmm.js.map +1 -0
  123. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +10 -0
  124. package/build/dex/bunni-v2/logic/BunniHookLogic.js +298 -0
  125. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +1 -0
  126. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +5 -0
  127. package/build/dex/bunni-v2/logic/BunniHubLogic.js +245 -0
  128. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +1 -0
  129. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +12 -0
  130. package/build/dex/bunni-v2/logic/BunniQuoter.js +201 -0
  131. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +1 -0
  132. package/build/dex/bunni-v2/subgraph.d.ts +7 -0
  133. package/build/dex/bunni-v2/subgraph.js +184 -0
  134. package/build/dex/bunni-v2/subgraph.js.map +1 -0
  135. package/build/dex/bunni-v2/types.d.ts +256 -0
  136. package/build/dex/bunni-v2/types.js +3 -0
  137. package/build/dex/bunni-v2/types.js.map +1 -0
  138. package/build/dex/bunni-v2/utils.d.ts +12 -0
  139. package/build/dex/bunni-v2/utils.js +181 -0
  140. package/build/dex/bunni-v2/utils.js.map +1 -0
  141. package/build/dex/fluid-dex-lite/config.d.ts +3 -0
  142. package/build/dex/fluid-dex-lite/config.js +12 -0
  143. package/build/dex/fluid-dex-lite/config.js.map +1 -0
  144. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.d.ts +63 -0
  145. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.js +543 -0
  146. package/build/dex/fluid-dex-lite/fluid-dex-lite-math.js.map +1 -0
  147. package/build/dex/fluid-dex-lite/fluid-dex-lite-pool.d.ts +31 -0
  148. package/build/dex/fluid-dex-lite/fluid-dex-lite-pool.js +105 -0
  149. package/build/dex/fluid-dex-lite/fluid-dex-lite-pool.js.map +1 -0
  150. package/build/dex/fluid-dex-lite/fluid-dex-lite.d.ts +45 -0
  151. package/build/dex/fluid-dex-lite/fluid-dex-lite.js +461 -0
  152. package/build/dex/fluid-dex-lite/fluid-dex-lite.js.map +1 -0
  153. package/build/dex/fluid-dex-lite/types.d.ts +54 -0
  154. package/build/dex/fluid-dex-lite/types.js +3 -0
  155. package/build/dex/fluid-dex-lite/types.js.map +1 -0
  156. package/build/dex/fluid-dex-lite/utils.d.ts +12 -0
  157. package/build/dex/fluid-dex-lite/utils.js +51 -0
  158. package/build/dex/fluid-dex-lite/utils.js.map +1 -0
  159. package/build/dex/index.js +2 -0
  160. package/build/dex/index.js.map +1 -1
  161. package/build/dex/miro-migrator/config.js +10 -3
  162. package/build/dex/miro-migrator/config.js.map +1 -1
  163. package/build/dex/miro-migrator/constants.d.ts +1 -2
  164. package/build/dex/miro-migrator/constants.js +2 -3
  165. package/build/dex/miro-migrator/constants.js.map +1 -1
  166. package/build/dex/miro-migrator/miro-migrator-pool.d.ts +5 -9
  167. package/build/dex/miro-migrator/miro-migrator-pool.js +30 -49
  168. package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -1
  169. package/build/dex/miro-migrator/miro-migrator-state.d.ts +27 -0
  170. package/build/dex/miro-migrator/miro-migrator-state.js +89 -0
  171. package/build/dex/miro-migrator/miro-migrator-state.js.map +1 -0
  172. package/build/dex/miro-migrator/miro-migrator.d.ts +4 -5
  173. package/build/dex/miro-migrator/miro-migrator.js +83 -41
  174. package/build/dex/miro-migrator/miro-migrator.js.map +1 -1
  175. package/build/dex/miro-migrator/types.d.ts +4 -2
  176. package/build/dex/miro-migrator/types.js +2 -1
  177. package/build/dex/miro-migrator/types.js.map +1 -1
  178. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +4 -0
  179. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +56 -0
  180. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +1 -0
  181. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +7 -0
  182. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +28 -0
  183. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +1 -0
  184. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  185. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +2 -0
  186. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +1 -0
  187. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +7 -0
  188. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +28 -0
  189. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +1 -0
  190. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  191. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +2 -0
  192. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +1 -0
  193. package/build/dex/uniswap-v4/hooks/index.d.ts +2 -0
  194. package/build/dex/uniswap-v4/hooks/index.js +8 -0
  195. package/build/dex/uniswap-v4/hooks/index.js.map +1 -0
  196. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +26 -0
  197. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +75 -0
  198. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +1 -0
  199. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ import { IDexHelper } from '../../dex-helper';
2
+ import { Address, Logger } from '../../types';
3
+ import { DexParams, PoolState, SubgraphPool, SubgraphProtocolState, SubgraphTopPool, SubgraphTopPoolForPair } from './types';
4
+ export declare function getProtocolState(dexHelper: IDexHelper, logger: Logger, config: DexParams, blockNumber: number): Promise<SubgraphProtocolState | null>;
5
+ export declare function getPools(dexHelper: IDexHelper, logger: Logger, config: DexParams, blockNumber: number): Promise<SubgraphPool[]>;
6
+ export declare function getAvailablePoolsForToken(dexHelper: IDexHelper, logger: Logger, config: DexParams, tokenAddress: string): Promise<SubgraphTopPool[]>;
7
+ export declare function getAvailablePoolsForPairFromSubgraph(dexHelper: IDexHelper, logger: Logger, config: DexParams, srcToken: string, destToken: string): Promise<SubgraphTopPoolForPair[]>;
8
+ export declare function initializePoolState(id: string, currency0: Address, currency1: Address, fee: bigint, tickSpacing: bigint, hooks: Address): PoolState;
9
+ export declare function multicall(multiCallData: {
10
+ target: string;
11
+ callData: string;
12
+ }[], blockNumber: number | 'latest', dexHelper: IDexHelper): Promise<any>;
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProtocolState = getProtocolState;
4
+ exports.getPools = getPools;
5
+ exports.getAvailablePoolsForToken = getAvailablePoolsForToken;
6
+ exports.getAvailablePoolsForPairFromSubgraph = getAvailablePoolsForPairFromSubgraph;
7
+ exports.initializePoolState = initializePoolState;
8
+ exports.multicall = multicall;
9
+ const subgraph_1 = require("./subgraph");
10
+ const constants_1 = require("../../constants");
11
+ const Constants_1 = require("./lib/Constants");
12
+ async function getProtocolState(dexHelper, logger, config, blockNumber) {
13
+ let protocolState = await (0, subgraph_1.queryProtocolState)(dexHelper, logger, config, blockNumber);
14
+ return protocolState;
15
+ }
16
+ async function getPools(dexHelper, logger, config, blockNumber) {
17
+ let skip = 0;
18
+ let first = 1000;
19
+ let pools = [];
20
+ let currentPools = await (0, subgraph_1.queryPools)(dexHelper, logger, config, blockNumber, skip * first, first);
21
+ pools = pools.concat(currentPools);
22
+ while (currentPools.length === first) {
23
+ skip++;
24
+ currentPools = await (0, subgraph_1.queryPools)(dexHelper, logger, config, blockNumber, skip * first, first);
25
+ pools = pools.concat(currentPools);
26
+ }
27
+ return pools;
28
+ }
29
+ async function getAvailablePoolsForToken(dexHelper, logger, config, tokenAddress) {
30
+ let skip = 0;
31
+ let first = 1000;
32
+ let pools = [];
33
+ let currentPools = await (0, subgraph_1.queryAvailablePoolsForToken)(dexHelper, logger, config, tokenAddress, skip * first, first);
34
+ pools = pools.concat(currentPools);
35
+ while (currentPools.length === first) {
36
+ skip++;
37
+ currentPools = await (0, subgraph_1.queryAvailablePoolsForToken)(dexHelper, logger, config, tokenAddress, skip * first, first);
38
+ pools = pools.concat(currentPools);
39
+ }
40
+ return pools;
41
+ }
42
+ async function getAvailablePoolsForPairFromSubgraph(dexHelper, logger, config, srcToken, destToken) {
43
+ let skip = 0;
44
+ let first = 1000;
45
+ let pools = [];
46
+ let currentPools = await (0, subgraph_1.queryAvailablePoolsForPair)(dexHelper, logger, config, srcToken, destToken, skip * first, first);
47
+ pools = pools.concat(currentPools);
48
+ while (currentPools.length === first) {
49
+ skip++;
50
+ currentPools = await (0, subgraph_1.queryAvailablePoolsForPair)(dexHelper, logger, config, srcToken, destToken, skip * first, first);
51
+ pools = pools.concat(currentPools);
52
+ }
53
+ return pools;
54
+ }
55
+ function initializePoolState(id, currency0, currency1, fee, tickSpacing, hooks) {
56
+ return {
57
+ id: id.toLowerCase(),
58
+ key: {
59
+ currency0: currency0.toLowerCase(),
60
+ currency1: currency1.toLowerCase(),
61
+ fee,
62
+ tickSpacing,
63
+ hooks: hooks.toLowerCase(),
64
+ },
65
+ slot0: {
66
+ sqrtPriceX96: 0n,
67
+ tick: 0n,
68
+ lastSwapTimestamp: 0n,
69
+ lastSurgeTimestamp: 0n,
70
+ },
71
+ rawBalance0: 0n,
72
+ rawBalance1: 0n,
73
+ reserve0: 0n,
74
+ reserve1: 0n,
75
+ idleBalance: '',
76
+ totalSupply: 0n,
77
+ ldfState: '',
78
+ curatorFeeRate: 0n,
79
+ rebalanceOrderHash: Constants_1.ZERO_BYTES_32,
80
+ liquidityDensityFunction: '',
81
+ bunniHub: '',
82
+ bunniToken: '',
83
+ hooklet: '',
84
+ twapSecondsAgo: 0n,
85
+ ldfParams: '',
86
+ hookParams: '',
87
+ vault0: '',
88
+ vault1: '',
89
+ ldfType: 0,
90
+ minRawTokenRatio0: 0n,
91
+ targetRawTokenRatio0: 0n,
92
+ maxRawTokenRatio0: 0n,
93
+ minRawTokenRatio1: 0n,
94
+ targetRawTokenRatio1: 0n,
95
+ maxRawTokenRatio1: 0n,
96
+ currency0Decimals: 0n,
97
+ currency1Decimals: 0n,
98
+ vault0Decimals: 0n,
99
+ vault1Decimals: 0n,
100
+ index: 0n,
101
+ cardinality: 0n,
102
+ cardinalityNext: 0n,
103
+ intermediateObservation: {
104
+ blockTimestamp: 0n,
105
+ prevTick: 0n,
106
+ tickCumulative: 0n,
107
+ initialized: false,
108
+ },
109
+ observations: [],
110
+ topBid: {
111
+ manager: constants_1.NULL_ADDRESS,
112
+ blockIdx: 0n,
113
+ payload: Constants_1.ZERO_BYTES_6,
114
+ rent: 0n,
115
+ deposit: 0n,
116
+ },
117
+ nextBid: {
118
+ manager: constants_1.NULL_ADDRESS,
119
+ blockIdx: 0n,
120
+ payload: Constants_1.ZERO_BYTES_6,
121
+ rent: 0n,
122
+ deposit: 0n,
123
+ },
124
+ initialized: false,
125
+ sharePrice0: 0n,
126
+ sharePrice1: 0n,
127
+ overrideZeroToOne: false,
128
+ feeZeroToOne: 0n,
129
+ overrideOneToZero: false,
130
+ feeOneToZero: 0n,
131
+ };
132
+ }
133
+ async function multicall(multiCallData, blockNumber, dexHelper) {
134
+ const maxSize = 2500000; // 2.5mb
135
+ function estimateSize(callData) {
136
+ const jsonString = JSON.stringify(callData);
137
+ return jsonString.length;
138
+ }
139
+ const totalSize = estimateSize(multiCallData);
140
+ if (totalSize <= maxSize) {
141
+ return await dexHelper.multiContract.methods
142
+ .tryAggregate(true, multiCallData)
143
+ .call({}, blockNumber);
144
+ }
145
+ const itemSize = multiCallData.length > 0 ? estimateSize(multiCallData[0]) : 0;
146
+ const itemsPerChunk = Math.max(1, Math.floor(2000000 / (itemSize * 1.5)));
147
+ const chunks = [];
148
+ for (let i = 0; i < multiCallData.length; i += itemsPerChunk) {
149
+ chunks.push(multiCallData.slice(i, i + itemsPerChunk));
150
+ }
151
+ const allResults = [];
152
+ for (let i = 0; i < chunks.length; i++) {
153
+ const chunk = chunks[i];
154
+ try {
155
+ const chunkResults = await dexHelper.multiContract.methods
156
+ .tryAggregate(true, chunk)
157
+ .call({}, blockNumber);
158
+ allResults.push(...chunkResults);
159
+ }
160
+ catch (error) {
161
+ if (chunk.length === 1) {
162
+ throw error;
163
+ }
164
+ else if (chunk.length > 1) {
165
+ const subChunkSize = Math.ceil(chunk.length / 2);
166
+ const subChunks = [
167
+ chunk.slice(0, subChunkSize),
168
+ chunk.slice(subChunkSize),
169
+ ];
170
+ for (const subChunk of subChunks) {
171
+ const subResults = await dexHelper.multiContract.methods
172
+ .tryAggregate(true, subChunk)
173
+ .call({}, blockNumber);
174
+ allResults.push(...subResults);
175
+ }
176
+ }
177
+ }
178
+ }
179
+ return allResults;
180
+ }
181
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/bunni-v2/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const FluidDexLiteConfig: DexConfigMap<DexParams>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FluidDexLiteConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.FluidDexLiteConfig = {
6
+ FluidDexLite: {
7
+ [constants_1.Network.MAINNET]: {
8
+ dexLiteAddress: '0xBbcb91440523216e2b87052A99F69c604A7b6e00',
9
+ },
10
+ },
11
+ };
12
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex-lite/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAE7B,QAAA,kBAAkB,GAA4B;IACzD,YAAY,EAAE;QACZ,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;SAC7D;KACF;CACF,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { SwapSide } from '../../constants';
2
+ import { PoolState, UnpackedDexVariables, SwapResult, PricingResult } from './types';
3
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_FEE = 0;
4
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_REVENUE_CUT = 13;
5
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_REBALANCING_STATUS = 20;
6
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_CENTER_PRICE_SHIFT_ACTIVE = 22;
7
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_CENTER_PRICE = 23;
8
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_CENTER_PRICE_CONTRACT_ADDRESS = 63;
9
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_RANGE_PERCENT_SHIFT_ACTIVE = 82;
10
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_UPPER_PERCENT = 83;
11
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_LOWER_PERCENT = 97;
12
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_THRESHOLD_PERCENT_SHIFT_ACTIVE = 111;
13
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_UPPER_SHIFT_THRESHOLD_PERCENT = 112;
14
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_LOWER_SHIFT_THRESHOLD_PERCENT = 119;
15
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_TOKEN_0_DECIMALS = 126;
16
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_TOKEN_1_DECIMALS = 131;
17
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_TOKEN_0_TOTAL_SUPPLY_ADJUSTED = 136;
18
+ export declare const BITS_DEX_LITE_DEX_VARIABLES_TOKEN_1_TOTAL_SUPPLY_ADJUSTED = 196;
19
+ export declare const X1 = 1n;
20
+ export declare const X2 = 3n;
21
+ export declare const X5 = 31n;
22
+ export declare const X7 = 127n;
23
+ export declare const X13 = 8191n;
24
+ export declare const X14 = 16383n;
25
+ export declare const X19 = 524287n;
26
+ export declare const X20 = 1048575n;
27
+ export declare const X24 = 16777215n;
28
+ export declare const X28 = 268435455n;
29
+ export declare const X33 = 8589934591n;
30
+ export declare const X40 = 1099511627775n;
31
+ export declare const X60 = 1152921504606846975n;
32
+ export declare const X64 = 18446744073709551615n;
33
+ export declare const X73 = 9444732965739290427391n;
34
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_LAST_INTERACTION_TIMESTAMP = 0;
35
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_SHIFTING_TIME = 33;
36
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_MAX_CENTER_PRICE = 57;
37
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_MIN_CENTER_PRICE = 85;
38
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_PERCENT = 113;
39
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_TIME_TO_SHIFT = 133;
40
+ export declare const BITS_DEX_LITE_CENTER_PRICE_SHIFT_TIMESTAMP = 153;
41
+ export declare const BITS_DEX_LITE_RANGE_SHIFT_OLD_UPPER_RANGE_PERCENT = 0;
42
+ export declare const BITS_DEX_LITE_RANGE_SHIFT_OLD_LOWER_RANGE_PERCENT = 14;
43
+ export declare const BITS_DEX_LITE_RANGE_SHIFT_TIME_TO_SHIFT = 28;
44
+ export declare const BITS_DEX_LITE_RANGE_SHIFT_TIMESTAMP = 48;
45
+ export declare const BITS_DEX_LITE_THRESHOLD_SHIFT_OLD_UPPER_THRESHOLD_PERCENT = 0;
46
+ export declare const BITS_DEX_LITE_THRESHOLD_SHIFT_OLD_LOWER_THRESHOLD_PERCENT = 7;
47
+ export declare const BITS_DEX_LITE_THRESHOLD_SHIFT_TIME_TO_SHIFT = 14;
48
+ export declare const BITS_DEX_LITE_THRESHOLD_SHIFT_TIMESTAMP = 34;
49
+ export declare const TWO_DECIMALS = 100n;
50
+ export declare const FOUR_DECIMALS = 10000n;
51
+ export declare const SIX_DECIMALS = 1000000n;
52
+ export declare const PRICE_PRECISION: bigint;
53
+ export declare const TOKENS_DECIMALS_PRECISION = 9n;
54
+ export declare const MINIMUM_LIQUIDITY_SWAP = 10000n;
55
+ export declare const DEFAULT_EXPONENT_SIZE = 8n;
56
+ export declare const DEFAULT_EXPONENT_MASK = 255n;
57
+ export declare class FluidDexLiteMathError extends Error {
58
+ constructor(message: string);
59
+ }
60
+ export declare function unpackDexVariables(dexVariables: bigint): UnpackedDexVariables;
61
+ export declare function sqrt(value: bigint): bigint;
62
+ export declare function getPricesAndReserves(state: PoolState, currentTimestamp?: bigint): PricingResult;
63
+ export declare function calculateSwap(state: PoolState, swap0To1: boolean, amountSpecified: bigint, side: SwapSide): SwapResult;