@paraswap/dex-lib 4.5.9 → 4.5.10

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 (162) hide show
  1. package/build/abi/miro-migrator/MiroMigrator.abi.json +36 -19
  2. package/build/dex/ekubo/ekubo.js.map +1 -1
  3. package/build/dex/miro-migrator/config.js +3 -10
  4. package/build/dex/miro-migrator/config.js.map +1 -1
  5. package/build/dex/miro-migrator/constants.d.ts +2 -1
  6. package/build/dex/miro-migrator/constants.js +3 -2
  7. package/build/dex/miro-migrator/constants.js.map +1 -1
  8. package/build/dex/miro-migrator/miro-migrator-pool.d.ts +9 -5
  9. package/build/dex/miro-migrator/miro-migrator-pool.js +49 -30
  10. package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -1
  11. package/build/dex/miro-migrator/miro-migrator.d.ts +5 -4
  12. package/build/dex/miro-migrator/miro-migrator.js +41 -83
  13. package/build/dex/miro-migrator/miro-migrator.js.map +1 -1
  14. package/build/dex/miro-migrator/types.d.ts +2 -4
  15. package/build/dex/miro-migrator/types.js +1 -2
  16. package/build/dex/miro-migrator/types.js.map +1 -1
  17. package/build/executor/Executor03BytecodeBuilder.js +22 -14
  18. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  19. package/build/generic-swap-transaction-builder.js +3 -1
  20. package/build/generic-swap-transaction-builder.js.map +1 -1
  21. package/package.json +1 -1
  22. package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
  23. package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
  24. package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
  25. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
  26. package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
  27. package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
  28. package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
  29. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  30. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  31. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  32. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  33. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  34. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -61
  35. package/build/dex/bunni-v2/bunni-v2-pool.js +0 -484
  36. package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
  37. package/build/dex/bunni-v2/bunni-v2.d.ts +0 -47
  38. package/build/dex/bunni-v2/bunni-v2.js +0 -464
  39. package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
  40. package/build/dex/bunni-v2/config.d.ts +0 -3
  41. package/build/dex/bunni-v2/config.js +0 -89
  42. package/build/dex/bunni-v2/config.js.map +0 -1
  43. package/build/dex/bunni-v2/encoder.d.ts +0 -19
  44. package/build/dex/bunni-v2/encoder.js +0 -400
  45. package/build/dex/bunni-v2/encoder.js.map +0 -1
  46. package/build/dex/bunni-v2/getOnChainState.d.ts +0 -25
  47. package/build/dex/bunni-v2/getOnChainState.js +0 -455
  48. package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
  49. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
  50. package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
  51. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
  52. package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
  53. package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
  54. package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
  55. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
  56. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
  57. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
  58. package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
  59. package/build/dex/bunni-v2/hooklet/index.js +0 -65
  60. package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
  61. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
  62. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
  63. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
  64. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
  65. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
  66. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
  67. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
  68. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
  69. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
  70. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
  71. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
  72. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
  73. package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
  74. package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
  75. package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
  76. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
  77. package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
  78. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
  79. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
  80. package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
  81. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
  82. package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
  83. package/build/dex/bunni-v2/ldf/index.js +0 -38
  84. package/build/dex/bunni-v2/ldf/index.js.map +0 -1
  85. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
  86. package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
  87. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
  88. package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
  89. package/build/dex/bunni-v2/lib/BitMath.js +0 -24
  90. package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
  91. package/build/dex/bunni-v2/lib/Constants.d.ts +0 -14
  92. package/build/dex/bunni-v2/lib/Constants.js +0 -18
  93. package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
  94. package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
  95. package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
  96. package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
  97. package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
  98. package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
  99. package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
  100. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
  101. package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
  102. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
  103. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
  104. package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
  105. package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
  106. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
  107. package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
  108. package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
  109. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
  110. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
  111. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
  112. package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
  113. package/build/dex/bunni-v2/lib/Math.js +0 -169
  114. package/build/dex/bunni-v2/lib/Math.js.map +0 -1
  115. package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
  116. package/build/dex/bunni-v2/lib/Oracle.js +0 -180
  117. package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
  118. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
  119. package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
  120. package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
  121. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
  122. package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
  123. package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
  124. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
  125. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
  126. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
  127. package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
  128. package/build/dex/bunni-v2/lib/TickMath.js +0 -100
  129. package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
  130. package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
  131. package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
  132. package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
  133. package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
  134. package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
  135. package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
  136. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
  137. package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
  138. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
  139. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
  140. package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
  141. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
  142. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
  143. package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
  144. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
  145. package/build/dex/bunni-v2/subgraph.d.ts +0 -6
  146. package/build/dex/bunni-v2/subgraph.js +0 -139
  147. package/build/dex/bunni-v2/subgraph.js.map +0 -1
  148. package/build/dex/bunni-v2/types.d.ts +0 -238
  149. package/build/dex/bunni-v2/types.js +0 -3
  150. package/build/dex/bunni-v2/types.js.map +0 -1
  151. package/build/dex/bunni-v2/utils.d.ts +0 -17
  152. package/build/dex/bunni-v2/utils.js +0 -194
  153. package/build/dex/bunni-v2/utils.js.map +0 -1
  154. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  155. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  156. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  157. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  158. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  159. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  160. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  161. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  162. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
@@ -1,455 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateOnChainState = generateOnChainState;
7
- exports.updateStateAfterNewBunni = updateStateAfterNewBunni;
8
- exports.updateStateAfterDeposit = updateStateAfterDeposit;
9
- exports.updateStateAfterWithdraw = updateStateAfterWithdraw;
10
- exports.updateStateAfterSwap = updateStateAfterSwap;
11
- exports.updateStateAfterOrderFulfilled = updateStateAfterOrderFulfilled;
12
- exports.updateHubState = updateHubState;
13
- exports.updateHookState = updateHookState;
14
- exports.updateSlot0 = updateSlot0;
15
- exports.updateLdfState = updateLdfState;
16
- exports.updateVaultSharePricesAtLastSwap = updateVaultSharePricesAtLastSwap;
17
- exports.updateCuratorFees = updateCuratorFees;
18
- exports.updateTopBid = updateTopBid;
19
- exports.updateNextBid = updateNextBid;
20
- exports.updateTotalSupply = updateTotalSupply;
21
- exports.updateObservations = updateObservations;
22
- exports.updateFeeOverrides = updateFeeOverrides;
23
- exports.updateVaultSharePrices = updateVaultSharePrices;
24
- exports.ERC4626_previewDeposit = ERC4626_previewDeposit;
25
- exports.ERC4626_previewWithdraw = ERC4626_previewWithdraw;
26
- exports.ERC4626_previewRedeem = ERC4626_previewRedeem;
27
- exports.ERC4626_maxDeposit = ERC4626_maxDeposit;
28
- const abi_1 = require("@ethersproject/abi");
29
- const ERC4626_json_1 = __importDefault(require("../../abi/ERC4626.json"));
30
- const utils_1 = require("../../utils");
31
- const utils_2 = require("./utils");
32
- const ethers_1 = require("ethers");
33
- const ERC4626Interface = new abi_1.Interface(ERC4626_json_1.default);
34
- const mask8 = ethers_1.BigNumber.from('0xff');
35
- const mask16 = ethers_1.BigNumber.from('0xffff');
36
- const mask24 = ethers_1.BigNumber.from('0xffffff');
37
- const mask32 = ethers_1.BigNumber.from('0xffffffff');
38
- const mask56 = ethers_1.BigNumber.from('0x00ffffffffffffff');
39
- const mask120 = ethers_1.BigNumber.from('0xffffffffffffffffffffffffffffff');
40
- async function generateOnChainState(poolStates, blockNumber, bunniHubInterface, bunniHookInterface, bunniTokenInterface, feeOverrideHookletInterface, dexHelper, config) {
41
- await Promise.all([
42
- updateHubState(poolStates, blockNumber, bunniHubInterface, dexHelper).then(() => updateFeeOverrides(poolStates, blockNumber, feeOverrideHookletInterface, dexHelper, config)),
43
- updateHookState(poolStates, blockNumber, bunniHookInterface, dexHelper).then(() => updateObservations(poolStates, blockNumber, bunniHookInterface, dexHelper)),
44
- updateSlot0(poolStates, blockNumber, bunniHookInterface, dexHelper),
45
- updateLdfState(poolStates, blockNumber, bunniHookInterface, dexHelper),
46
- updateVaultSharePricesAtLastSwap(poolStates, blockNumber, bunniHookInterface, dexHelper),
47
- updateCuratorFees(poolStates, blockNumber, bunniHookInterface, dexHelper),
48
- updateTotalSupply(poolStates, blockNumber, bunniTokenInterface, dexHelper),
49
- updateTopBid(poolStates, blockNumber, bunniHookInterface, dexHelper),
50
- updateNextBid(poolStates, blockNumber, bunniHookInterface, dexHelper),
51
- ]);
52
- }
53
- /* -------------------------------------------------------------------------- */
54
- /* After Event Updaters */
55
- /* -------------------------------------------------------------------------- */
56
- async function updateStateAfterNewBunni(state, blockNumber, bunniHubInterface, bunniHookInterface, bunniTokenInterface, dexHelper) {
57
- await Promise.all([
58
- updateHubState([state], blockNumber, bunniHubInterface, dexHelper),
59
- updateLdfState([state], blockNumber, bunniHookInterface, dexHelper),
60
- updateTotalSupply([state], blockNumber, bunniTokenInterface, dexHelper),
61
- ]);
62
- }
63
- async function updateStateAfterDeposit(state, blockNumber, bunniHubInterface, bunniHookInterface, dexHelper) {
64
- await Promise.all([
65
- updateHubState([state], blockNumber, bunniHubInterface, dexHelper),
66
- updateLdfState([state], blockNumber, bunniHookInterface, dexHelper),
67
- ]);
68
- }
69
- async function updateStateAfterWithdraw(state, blockNumber, bunniHubInterface, dexHelper) {
70
- await Promise.all([
71
- updateHubState([state], blockNumber, bunniHubInterface, dexHelper),
72
- ]);
73
- }
74
- async function updateStateAfterSwap(state, blockNumber, bunniHubInterface, bunniHookInterface, dexHelper) {
75
- await Promise.all([
76
- updateHubState([state], blockNumber, bunniHubInterface, dexHelper),
77
- updateHookState([state], blockNumber, bunniHookInterface, dexHelper).then(() => updateObservations([state], blockNumber, bunniHookInterface, dexHelper)),
78
- updateSlot0([state], blockNumber, bunniHookInterface, dexHelper),
79
- updateLdfState([state], blockNumber, bunniHookInterface, dexHelper),
80
- updateVaultSharePricesAtLastSwap([state], blockNumber, bunniHookInterface, dexHelper),
81
- ]);
82
- }
83
- async function updateStateAfterOrderFulfilled(states, blockNumber, bunniHubInterface, bunniHookInterface, dexHelper) {
84
- await Promise.all([
85
- updateHubState(states, blockNumber, bunniHubInterface, dexHelper),
86
- updateSlot0(states, blockNumber, bunniHookInterface, dexHelper),
87
- ]);
88
- }
89
- /* -------------------------------------------------------------------------- */
90
- /* State Updaters */
91
- /* -------------------------------------------------------------------------- */
92
- async function updateHubState(poolStates, blockNumber, bunniHubInterface, dexHelper) {
93
- const multiCallData = poolStates.map(poolState => {
94
- return {
95
- target: poolState.bunniHub,
96
- callData: bunniHubInterface.encodeFunctionData('poolState', [
97
- poolState.id,
98
- ]),
99
- };
100
- });
101
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
102
- poolStates.forEach((poolState, i) => {
103
- const data = bunniHubInterface.decodeFunctionResult('poolState', result[i].returnData)[0];
104
- poolState.liquidityDensityFunction =
105
- data.liquidityDensityFunction.toLowerCase();
106
- poolState.bunniToken = data.bunniToken.toLowerCase();
107
- poolState.hooklet = data.hooklet.toLowerCase();
108
- poolState.twapSecondsAgo = (0, utils_1.bigIntify)(data.twapSecondsAgo);
109
- poolState.ldfParams = data.ldfParams;
110
- poolState.hookParams = data.hookParams;
111
- poolState.vault0 = data.vault0.toLowerCase();
112
- poolState.vault1 = data.vault1.toLowerCase();
113
- poolState.ldfType = parseInt(data.ldfType);
114
- poolState.minRawTokenRatio0 = (0, utils_1.bigIntify)(data.minRawTokenRatio0);
115
- poolState.targetRawTokenRatio0 = (0, utils_1.bigIntify)(data.targetRawTokenRatio0);
116
- poolState.maxRawTokenRatio0 = (0, utils_1.bigIntify)(data.maxRawTokenRatio0);
117
- poolState.minRawTokenRatio1 = (0, utils_1.bigIntify)(data.minRawTokenRatio1);
118
- poolState.targetRawTokenRatio1 = (0, utils_1.bigIntify)(data.targetRawTokenRatio1);
119
- poolState.maxRawTokenRatio1 = (0, utils_1.bigIntify)(data.maxRawTokenRatio1);
120
- poolState.currency0Decimals = (0, utils_1.bigIntify)(data.currency0Decimals);
121
- poolState.currency1Decimals = (0, utils_1.bigIntify)(data.currency1Decimals);
122
- poolState.vault0Decimals = (0, utils_1.bigIntify)(data.vault0Decimals);
123
- poolState.vault1Decimals = (0, utils_1.bigIntify)(data.vault1Decimals);
124
- poolState.rawBalance0 = (0, utils_1.bigIntify)(data.rawBalance0);
125
- poolState.rawBalance1 = (0, utils_1.bigIntify)(data.rawBalance1);
126
- poolState.reserve0 = (0, utils_1.bigIntify)(data.reserve0);
127
- poolState.reserve1 = (0, utils_1.bigIntify)(data.reserve1);
128
- poolState.idleBalance = data.idleBalance;
129
- });
130
- }
131
- async function updateHookState(poolStates, blockNumber, bunniHookInterface, dexHelper) {
132
- const encodeExtsLoad = (s) => {
133
- const statesSlot = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes32', 'uint256'], [s.id, 7n]));
134
- const intermediateObservationSlot = ethers_1.BigNumber.from(statesSlot)
135
- .add(1)
136
- .toHexString();
137
- const rebalanceOrderHashSlot = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes32', 'uint256'], [s.id, 8n]));
138
- return bunniHookInterface.encodeFunctionData('0xdbd035ff', [
139
- [statesSlot, intermediateObservationSlot, rebalanceOrderHashSlot],
140
- ]);
141
- };
142
- const decodeExtsLoad = (d) => {
143
- const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode(['bytes32[]'], d);
144
- // decode the observation state
145
- const decodedState = ethers_1.BigNumber.from(decoded[0][0]);
146
- const index = (0, utils_1.bigIntify)(decodedState.and(mask32));
147
- const cardinality = (0, utils_1.bigIntify)(decodedState.shr(32).and(mask32));
148
- const cardinalityNext = (0, utils_1.bigIntify)(decodedState.shr(64).and(mask32));
149
- // decode the intermediate observation
150
- const decodedIntermediateObservation = ethers_1.BigNumber.from(decoded[0][1]);
151
- const blockTimestamp = (0, utils_1.bigIntify)(decodedIntermediateObservation.and(mask32));
152
- const prevTick = decodedIntermediateObservation.shr(32).and(mask24);
153
- const tickCumulative = decodedIntermediateObservation.shr(56).and(mask56);
154
- const initialized = decodedIntermediateObservation
155
- .shr(112)
156
- .and(mask8)
157
- .eq(1);
158
- const prevTickSigned = prevTick.gt(ethers_1.BigNumber.from('0x7fffff'))
159
- ? prevTick.sub(ethers_1.BigNumber.from('0x1000000'))
160
- : prevTick;
161
- const tickCumulativeSigned = tickCumulative.gt(ethers_1.BigNumber.from('0x7fffffffffffff'))
162
- ? tickCumulative.sub(ethers_1.BigNumber.from('0x100000000000000'))
163
- : tickCumulative;
164
- const rebalanceOrderHash = decoded[0][2];
165
- return {
166
- index,
167
- cardinality,
168
- cardinalityNext,
169
- intermediateObservation: {
170
- blockTimestamp,
171
- prevTick: (0, utils_1.bigIntify)(prevTickSigned),
172
- tickCumulative: (0, utils_1.bigIntify)(tickCumulativeSigned),
173
- initialized,
174
- },
175
- rebalanceOrderHash,
176
- };
177
- };
178
- const multiCallData = poolStates.map(poolState => {
179
- return {
180
- target: poolState.key.hooks,
181
- callData: encodeExtsLoad(poolState),
182
- };
183
- });
184
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
185
- poolStates.forEach((poolState, i) => {
186
- const data = decodeExtsLoad(result[i].returnData);
187
- poolState.index = data.index;
188
- poolState.cardinality = data.cardinality;
189
- poolState.cardinalityNext = data.cardinalityNext;
190
- poolState.intermediateObservation = data.intermediateObservation;
191
- poolState.rebalanceOrderHash = data.rebalanceOrderHash;
192
- });
193
- }
194
- async function updateSlot0(poolStates, blockNumber, bunniHookInterface, dexHelper) {
195
- const multiCallData = poolStates.map(poolState => {
196
- return {
197
- target: poolState.key.hooks,
198
- callData: bunniHookInterface.encodeFunctionData('slot0s', [poolState.id]),
199
- };
200
- });
201
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
202
- poolStates.forEach((poolState, i) => {
203
- const data = bunniHookInterface.decodeFunctionResult('slot0s', result[i].returnData);
204
- poolState.slot0.sqrtPriceX96 = (0, utils_1.bigIntify)(data.sqrtPriceX96);
205
- poolState.slot0.tick = (0, utils_1.bigIntify)(data.tick);
206
- poolState.slot0.lastSwapTimestamp = (0, utils_1.bigIntify)(data.lastSwapTimestamp);
207
- poolState.slot0.lastSurgeTimestamp = (0, utils_1.bigIntify)(data.lastSurgeTimestamp);
208
- });
209
- }
210
- async function updateLdfState(poolStates, blockNumber, bunniHookInterface, dexHelper) {
211
- const multiCallData = poolStates.map(poolState => {
212
- return {
213
- target: poolState.key.hooks,
214
- callData: bunniHookInterface.encodeFunctionData('ldfStates', [
215
- poolState.id,
216
- ]),
217
- };
218
- });
219
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
220
- poolStates.forEach((poolState, i) => {
221
- const data = bunniHookInterface.decodeFunctionResult('ldfStates', result[i].returnData)[0];
222
- poolState.ldfState = data;
223
- });
224
- }
225
- async function updateVaultSharePricesAtLastSwap(poolStates, blockNumber, bunniHookInterface, dexHelper) {
226
- const encodeExtsLoad = (s) => {
227
- const slot = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes32', 'uint256'], [s.id, 11n]));
228
- return bunniHookInterface.encodeFunctionData('0x1e2eaeaf', [slot]);
229
- };
230
- const decodeExtsLoad = (d) => {
231
- const decodedVaultSharePricesAtLastSwap = ethers_1.BigNumber.from(d);
232
- const initialized = decodedVaultSharePricesAtLastSwap.and(mask8).eq(1);
233
- const sharePrice0 = (0, utils_1.bigIntify)(decodedVaultSharePricesAtLastSwap.shr(8).and(mask120));
234
- const sharePrice1 = (0, utils_1.bigIntify)(decodedVaultSharePricesAtLastSwap.shr(128).and(mask120));
235
- return { initialized, sharePrice0, sharePrice1 };
236
- };
237
- const multiCallData = poolStates.map(poolState => {
238
- return {
239
- target: poolState.key.hooks,
240
- callData: encodeExtsLoad(poolState),
241
- };
242
- });
243
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
244
- poolStates.forEach((poolState, i) => {
245
- const data = decodeExtsLoad(result[i].returnData);
246
- poolState.initialized = data.initialized;
247
- poolState.sharePrice0 = data.sharePrice0;
248
- poolState.sharePrice1 = data.sharePrice1;
249
- });
250
- }
251
- async function updateCuratorFees(poolStates, blockNumber, bunniHookInterface, dexHelper) {
252
- const encodeExtsLoad = (s) => {
253
- const slot = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes32', 'uint256'], [s.id, 15n]));
254
- return bunniHookInterface.encodeFunctionData('0x1e2eaeaf', [slot]);
255
- };
256
- const decodeExtsLoad = (d) => {
257
- const decodedCuratorFees = ethers_1.BigNumber.from(d);
258
- const feeRate = (0, utils_1.bigIntify)(decodedCuratorFees.and(mask16));
259
- const accruedFee0 = (0, utils_1.bigIntify)(decodedCuratorFees.shr(8).and(mask120));
260
- const accruedFee1 = (0, utils_1.bigIntify)(decodedCuratorFees.shr(128).and(mask120));
261
- return { feeRate, accruedFee0, accruedFee1 };
262
- };
263
- const multiCallData = poolStates.map(poolState => {
264
- return {
265
- target: poolState.key.hooks,
266
- callData: encodeExtsLoad(poolState),
267
- };
268
- });
269
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
270
- poolStates.forEach((poolState, i) => {
271
- const data = decodeExtsLoad(result[i].returnData);
272
- poolState.curatorFeeRate = data.feeRate;
273
- });
274
- }
275
- async function updateTopBid(poolStates, blockNumber, bunniHookInterface, dexHelper) {
276
- const multiCallData = poolStates.map(poolState => {
277
- return {
278
- target: poolState.key.hooks,
279
- callData: bunniHookInterface.encodeFunctionData('getBid', [
280
- poolState.id,
281
- true,
282
- ]),
283
- };
284
- });
285
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
286
- poolStates.forEach((poolState, i) => {
287
- const data = bunniHookInterface.decodeFunctionResult('getBid', result[i].returnData)[0];
288
- poolState.topBid = {
289
- manager: data.manager,
290
- blockIdx: (0, utils_1.bigIntify)(data.blockIdx),
291
- payload: data.payload,
292
- rent: (0, utils_1.bigIntify)(data.rent),
293
- deposit: (0, utils_1.bigIntify)(data.deposit),
294
- };
295
- });
296
- }
297
- async function updateNextBid(poolStates, blockNumber, bunniHookInterface, dexHelper) {
298
- const multiCallData = poolStates.map(poolState => {
299
- return {
300
- target: poolState.key.hooks,
301
- callData: bunniHookInterface.encodeFunctionData('getBid', [
302
- poolState.id,
303
- false,
304
- ]),
305
- };
306
- });
307
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
308
- poolStates.forEach((poolState, i) => {
309
- const data = bunniHookInterface.decodeFunctionResult('getBid', result[i].returnData)[0];
310
- poolState.nextBid = {
311
- manager: data.manager,
312
- blockIdx: (0, utils_1.bigIntify)(data.blockIdx),
313
- payload: data.payload,
314
- rent: (0, utils_1.bigIntify)(data.rent),
315
- deposit: (0, utils_1.bigIntify)(data.deposit),
316
- };
317
- });
318
- }
319
- async function updateTotalSupply(poolStates, blockNumber, bunniTokenInterface, dexHelper) {
320
- const multiCallData = poolStates.map(poolState => {
321
- return {
322
- target: poolState.bunniToken,
323
- callData: bunniTokenInterface.encodeFunctionData('totalSupply'),
324
- };
325
- });
326
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
327
- poolStates.forEach((poolState, i) => {
328
- const data = bunniTokenInterface.decodeFunctionResult('totalSupply', result[i].returnData);
329
- poolState.totalSupply = (0, utils_1.bigIntify)(data);
330
- });
331
- }
332
- async function updateObservations(poolStates, blockNumber, bunniHookInterface, dexHelper) {
333
- const encodeExtsLoad = (s) => {
334
- const observationsBaseSlot = ethers_1.ethers.utils.keccak256(ethers_1.ethers.utils.defaultAbiCoder.encode(['bytes32', 'uint256'], [s.id, 6n]));
335
- const observationSlots = [];
336
- for (let i = 0; i < s.cardinalityNext; i++) {
337
- observationSlots.push(ethers_1.BigNumber.from(observationsBaseSlot).add(i).toHexString());
338
- }
339
- return bunniHookInterface.encodeFunctionData('0xdbd035ff', [
340
- [...observationSlots],
341
- ]);
342
- };
343
- const decodeExtsLoad = (d) => {
344
- const decoded = ethers_1.ethers.utils.defaultAbiCoder.decode(['bytes32[]'], d);
345
- const observations = [];
346
- for (let i = 0; i < decoded[0].length; i++) {
347
- const rawObservation = ethers_1.BigNumber.from(decoded[0][i]);
348
- const blockTimestamp = (0, utils_1.bigIntify)(rawObservation.and(mask32));
349
- const prevTick = rawObservation.shr(32).and(mask24);
350
- const tickCumulative = rawObservation.shr(56).and(mask56);
351
- const initialized = rawObservation.shr(112).and(mask8).eq(1);
352
- const prevTickSigned = prevTick.gt(ethers_1.BigNumber.from('0x7fffff'))
353
- ? prevTick.sub(ethers_1.BigNumber.from('0x1000000'))
354
- : prevTick;
355
- const tickCumulativeSigned = tickCumulative.gt(ethers_1.BigNumber.from('0x7fffffffffffff'))
356
- ? tickCumulative.sub(ethers_1.BigNumber.from('0x100000000000000'))
357
- : tickCumulative;
358
- observations.push({
359
- blockTimestamp,
360
- prevTick: (0, utils_1.bigIntify)(prevTickSigned),
361
- tickCumulative: (0, utils_1.bigIntify)(tickCumulativeSigned),
362
- initialized,
363
- });
364
- }
365
- return observations;
366
- };
367
- const multiCallData = poolStates.map(poolState => {
368
- return {
369
- target: poolState.key.hooks,
370
- callData: encodeExtsLoad(poolState),
371
- };
372
- });
373
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
374
- poolStates.forEach((poolState, i) => {
375
- const data = decodeExtsLoad(result[i].returnData);
376
- poolState.observations = data;
377
- });
378
- }
379
- async function updateFeeOverrides(poolStates, blockNumber, feeOverrideHookletInterface, dexHelper, config) {
380
- const poolsToQuery = poolStates.filter(poolState => config.feeOverrideHooklets.some(hooklet => hooklet.toLowerCase() === poolState.hooklet.toLowerCase()));
381
- const multiCallData = poolsToQuery.map(poolState => {
382
- return {
383
- target: poolState.hooklet,
384
- callData: feeOverrideHookletInterface.encodeFunctionData('feeOverrides', [
385
- poolState.id,
386
- ]),
387
- };
388
- });
389
- const result = await (0, utils_2.multicall)(multiCallData, blockNumber, dexHelper);
390
- poolsToQuery.forEach((poolState, i) => {
391
- const data = feeOverrideHookletInterface.decodeFunctionResult('feeOverrides', result[i].returnData);
392
- poolState.overrideZeroToOne = data.overrideZeroToOne;
393
- poolState.feeZeroToOne = (0, utils_1.bigIntify)(data.feeZeroToOne);
394
- poolState.overrideOneToZero = data.overrideOneToZero;
395
- poolState.feeOneToZero = (0, utils_1.bigIntify)(data.feeOneToZero);
396
- });
397
- }
398
- /* -------------------------------------------------------------------------- */
399
- /* OTHER */
400
- /* -------------------------------------------------------------------------- */
401
- async function updateVaultSharePrices(vaults, dexHelper) {
402
- const multiCallData = vaults.map(vault => {
403
- return {
404
- target: vault.address,
405
- callData: ERC4626Interface.encodeFunctionData('convertToAssets', [
406
- 10n ** vault.vaultDecimals,
407
- ]),
408
- };
409
- });
410
- const result = await (0, utils_2.multicall)(multiCallData, 'latest', dexHelper);
411
- vaults.forEach((vault, i) => {
412
- const data = ERC4626Interface.decodeFunctionResult('convertToAssets', result[i].returnData);
413
- vault.sharePrice = (0, utils_1.bigIntify)(data);
414
- });
415
- }
416
- /* -------------------------------------------------------------------------- */
417
- /* ERC4626 */
418
- /* -------------------------------------------------------------------------- */
419
- async function ERC4626_previewDeposit(amount, vault, blockNumber, dexHelper) {
420
- const callData = {
421
- target: vault,
422
- callData: ERC4626Interface.encodeFunctionData('previewDeposit', [amount]),
423
- };
424
- const result = await (0, utils_2.multicall)([callData], Number(blockNumber), dexHelper);
425
- const data = ERC4626Interface.decodeFunctionResult('previewDeposit', result[0].returnData)[0];
426
- return (0, utils_1.bigIntify)(data);
427
- }
428
- async function ERC4626_previewWithdraw(amount, vault, blockNumber, dexHelper) {
429
- const callData = {
430
- target: vault,
431
- callData: ERC4626Interface.encodeFunctionData('previewWithdraw', [amount]),
432
- };
433
- const result = await (0, utils_2.multicall)([callData], Number(blockNumber), dexHelper);
434
- const data = ERC4626Interface.decodeFunctionResult('previewWithdraw', result[0].returnData)[0];
435
- return (0, utils_1.bigIntify)(data);
436
- }
437
- async function ERC4626_previewRedeem(amount, vault, blockNumber, dexHelper) {
438
- const callData = {
439
- target: vault,
440
- callData: ERC4626Interface.encodeFunctionData('previewRedeem', [amount]),
441
- };
442
- const result = await (0, utils_2.multicall)([callData], Number(blockNumber), dexHelper);
443
- const data = ERC4626Interface.decodeFunctionResult('previewRedeem', result[0].returnData)[0];
444
- return (0, utils_1.bigIntify)(data);
445
- }
446
- async function ERC4626_maxDeposit(account, vault, blockNumber, dexHelper) {
447
- const callData = {
448
- target: vault,
449
- callData: ERC4626Interface.encodeFunctionData('maxDeposit', [account]),
450
- };
451
- const result = await (0, utils_2.multicall)([callData], Number(blockNumber), dexHelper);
452
- const data = ERC4626Interface.decodeFunctionResult('maxDeposit', result[0].returnData)[0];
453
- return (0, utils_1.bigIntify)(data);
454
- }
455
- //# sourceMappingURL=getOnChainState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getOnChainState.js","sourceRoot":"","sources":["../../../src/dex/bunni-v2/getOnChainState.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { BunniComputeSwapInput } from '../types';
2
- export declare function computeSwap(input: BunniComputeSwapInput): {
3
- updatedSqrtPriceX96: bigint;
4
- updatedTick: bigint;
5
- inputAmount: bigint;
6
- outputAmount: bigint;
7
- };