@pendle/core-v2 5.8.2 → 5.8.3-factory

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 (173) hide show
  1. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  2. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  3. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  4. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  5. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  6. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  7. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  8. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  9. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  10. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  11. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  12. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  13. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  14. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  15. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  16. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  17. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.json +34 -0
  18. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.dbg.json +4 -0
  19. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.json +10 -0
  20. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  21. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.dbg.json +4 -0
  22. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.json +232 -0
  23. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  24. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +320 -2
  25. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  26. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +56 -3
  27. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  29. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  31. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  47. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  49. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  50. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  52. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  54. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  56. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  58. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  60. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  61. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  62. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  63. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  64. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  65. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  66. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  67. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  69. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  71. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  73. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  75. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  77. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  78. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  79. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  80. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  81. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  82. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.dbg.json +4 -0
  83. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.json +214 -0
  84. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.dbg.json +4 -0
  85. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.json +10 -0
  86. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.dbg.json +4 -0
  87. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.json +10 -0
  88. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  90. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  91. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  92. package/contracts/interfaces/IPCommonSYFactory.sol +7 -0
  93. package/contracts/interfaces/IPMarketSwapNSeed.sol +10 -0
  94. package/contracts/offchain-helpers/SwapNSeed.sol +221 -0
  95. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +55 -0
  96. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +34 -1
  97. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +5 -1
  98. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -1
  99. package/contracts/router/swap-aggregator/OneInchScaleHelper.sol +120 -0
  100. package/contracts/router/swap-aggregator/PendleSwap.sol +4 -4
  101. package/deployments/1-core.json +2 -2
  102. package/deployments/10-core.json +2 -2
  103. package/deployments/146-core.json +9 -8
  104. package/deployments/42161-core.json +2 -2
  105. package/deployments/5000-core.json +2 -2
  106. package/deployments/56-core.json +2 -2
  107. package/deployments/80094-core.json +2 -2
  108. package/deployments/8453-core.json +2 -2
  109. package/deployments/merkle-distribution/2023-04-27.json +3342 -0
  110. package/deployments/merkle-distribution/2023-05-25.json +3749 -0
  111. package/deployments/merkle-distribution/2023-06-29.json +4729 -0
  112. package/deployments/merkle-distribution/2023-07-27.json +5525 -0
  113. package/deployments/merkle-distribution/2023-08-31.json +6135 -0
  114. package/deployments/merkle-distribution/2023-09-28.json +6770 -0
  115. package/deployments/merkle-distribution/2023-10-26.json +7300 -0
  116. package/deployments/merkle-distribution/2023-11-30.json +7730 -0
  117. package/deployments/merkle-distribution/2023-12-28.json +8225 -0
  118. package/deployments/merkle-distribution/2024-01-25.json +9615 -0
  119. package/deployments/merkle-distribution/2024-02-29.json +12125 -0
  120. package/deployments/merkle-distribution/2024-03-28.json +12725 -0
  121. package/deployments/merkle-distribution/2024-04-25.json +14930 -0
  122. package/deployments/merkle-distribution/2024-05-30.json +17255 -0
  123. package/deployments/merkle-distribution/2024-06-27.json +18995 -0
  124. package/deployments/merkle-distribution/2024-07-25.json +20365 -0
  125. package/deployments/merkle-distribution/2024-08-29.json +21525 -0
  126. package/deployments/merkle-distribution/2024-09-26-retroactive.json +21525 -0
  127. package/deployments/merkle-distribution/2024-09-26.json +22340 -0
  128. package/deployments/merkle-distribution/2024-10-31.json +23370 -0
  129. package/deployments/merkle-distribution/2024-11-28.json +24040 -0
  130. package/deployments/merkle-distribution/2024-12-26.json +25555 -0
  131. package/deployments/merkle-distribution/2024-12-31-snapshot.json +65767 -0
  132. package/deployments/merkle-distribution/2025-01-30.json +28060 -0
  133. package/deployments/merkle-distribution/2025-02-27.json +29930 -0
  134. package/package.json +1 -1
  135. package/typechain-types/ERC1967Proxy.ts +97 -0
  136. package/typechain-types/IPCommonSYFactory.ts +49 -0
  137. package/typechain-types/ITransparentUpgradeableProxy.ts +235 -0
  138. package/typechain-types/MarketSwapNSeed.ts +222 -0
  139. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +267 -0
  140. package/typechain-types/PendleCommonSYFactory.ts +65 -0
  141. package/typechain-types/TransparentUpgradeableProxy.ts +97 -0
  142. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  143. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  144. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  145. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  146. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  147. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  148. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  149. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  150. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  151. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  152. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  153. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  154. package/typechain-types/factories/ERC1967Proxy__factory.ts +145 -0
  155. package/typechain-types/factories/IPCommonSYFactory__factory.ts +34 -0
  156. package/typechain-types/factories/ITransparentUpgradeableProxy__factory.ts +145 -0
  157. package/typechain-types/factories/MarketSwapNSeed__factory.ts +287 -0
  158. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +319 -1
  159. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +62 -4
  160. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  161. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  162. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  163. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  164. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  165. package/typechain-types/factories/Reflector__factory.ts +1 -1
  166. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +160 -0
  167. package/typechain-types/hardhat.d.ts +45 -0
  168. package/typechain-types/index.ts +10 -0
  169. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +0 -4
  170. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.json +0 -577
  171. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +0 -4
  172. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +0 -10
  173. package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +0 -252
@@ -1,252 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
-
3
- pragma solidity ^0.8.17;
4
-
5
- import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
6
-
7
- interface IAugustusV6 {
8
- // ============ Generic Swap ============
9
- struct GenericData {
10
- IERC20 srcToken;
11
- IERC20 destToken;
12
- uint256 fromAmount;
13
- uint256 toAmount;
14
- uint256 quotedAmount;
15
- bytes32 metadata;
16
- address payable beneficiary;
17
- }
18
-
19
- function swapExactAmountIn(
20
- address executor,
21
- GenericData calldata swapData,
22
- uint256 partnerAndFee,
23
- bytes calldata permit,
24
- bytes calldata executorData
25
- ) external payable;
26
-
27
- // ============ UniswapV2 Swap ============
28
- struct UniswapV2Data {
29
- IERC20 srcToken;
30
- IERC20 destToken;
31
- uint256 fromAmount;
32
- uint256 toAmount;
33
- uint256 quotedAmount;
34
- bytes32 metadata;
35
- address payable beneficiary;
36
- bytes pools;
37
- }
38
-
39
- function swapExactAmountInOnUniswapV2(
40
- UniswapV2Data calldata uniData,
41
- uint256 partnerAndFee,
42
- bytes calldata permit
43
- ) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
44
-
45
- // ============ UniswapV3 Swap ============
46
- struct UniswapV3Data {
47
- IERC20 srcToken;
48
- IERC20 destToken;
49
- uint256 fromAmount;
50
- uint256 toAmount;
51
- uint256 quotedAmount;
52
- bytes32 metadata;
53
- address payable beneficiary;
54
- bytes pools;
55
- }
56
-
57
- function swapExactAmountInOnUniswapV3(
58
- UniswapV3Data calldata uniData,
59
- uint256 partnerAndFee,
60
- bytes calldata permit
61
- ) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
62
-
63
- // ============ BalancerV2 Swap ============
64
- struct BalancerV2Data {
65
- uint256 fromAmount;
66
- uint256 toAmount;
67
- uint256 quotedAmount;
68
- bytes32 metadata;
69
- uint256 beneficiaryAndApproveFlag;
70
- }
71
-
72
- function swapExactAmountInOnBalancerV2(
73
- BalancerV2Data calldata balancerData,
74
- uint256 partnerAndFee,
75
- bytes calldata permit,
76
- bytes calldata data
77
- ) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
78
-
79
- // ============ CurveV1 Swap ============
80
- struct CurveV1Data {
81
- uint256 curveData;
82
- uint256 curveAssets;
83
- IERC20 srcToken;
84
- IERC20 destToken;
85
- uint256 fromAmount;
86
- uint256 toAmount;
87
- uint256 quotedAmount;
88
- bytes32 metadata;
89
- address payable beneficiary;
90
- }
91
-
92
- function swapExactAmountInOnCurveV1(
93
- CurveV1Data calldata curveV1Data,
94
- uint256 partnerAndFee,
95
- bytes calldata permit
96
- ) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
97
-
98
- // ============ CurveV2 Swap ============
99
- struct CurveV2Data {
100
- uint256 curveData;
101
- uint256 i;
102
- uint256 j;
103
- address poolAddress;
104
- IERC20 srcToken;
105
- IERC20 destToken;
106
- uint256 fromAmount;
107
- uint256 toAmount;
108
- uint256 quotedAmount;
109
- bytes32 metadata;
110
- address payable beneficiary;
111
- }
112
-
113
- function swapExactAmountInOnCurveV2(
114
- CurveV2Data calldata curveV2Data,
115
- uint256 partnerAndFee,
116
- bytes calldata permit
117
- ) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
118
-
119
- // ============ MakerPSM Swap ============
120
- struct MakerPSMData {
121
- IERC20 srcToken;
122
- IERC20 destToken;
123
- uint256 fromAmount;
124
- uint256 toAmount;
125
- uint256 toll;
126
- uint256 to18ConversionFactor;
127
- address exchange;
128
- address gemJoinAddress;
129
- bytes32 metadata;
130
- uint256 beneficiaryDirectionApproveFlag;
131
- }
132
-
133
- function swapExactAmountInOutOnMakerPSM(
134
- MakerPSMData calldata makerPSMData,
135
- bytes calldata permit
136
- ) external returns (uint256 spentAmount, uint256 receivedAmount);
137
- }
138
-
139
- contract ParaswapScaleHelper {
140
- function _paraswapScaling(
141
- bytes calldata rawCallData,
142
- uint256 amountIn
143
- ) internal pure returns (bytes memory scaledCallData) {
144
- bytes4 selector = bytes4(rawCallData[:4]);
145
- bytes calldata dataToDecode = rawCallData[4:];
146
-
147
- // Handle Generic Swap
148
- if (selector == IAugustusV6.swapExactAmountIn.selector) {
149
- (
150
- address executor,
151
- IAugustusV6.GenericData memory swapData,
152
- uint256 partnerAndFee,
153
- bytes memory permit,
154
- bytes memory executorData
155
- ) = abi.decode(dataToDecode, (address, IAugustusV6.GenericData, uint256, bytes, bytes));
156
-
157
- // Direct scaling calculation
158
- swapData.toAmount = (swapData.toAmount * amountIn) / swapData.fromAmount;
159
- swapData.quotedAmount = (swapData.quotedAmount * amountIn) / swapData.fromAmount;
160
- swapData.fromAmount = amountIn;
161
-
162
- return abi.encodeWithSelector(selector, executor, swapData, partnerAndFee, permit, executorData);
163
- }
164
- // Handle UniswapV2
165
- else if (selector == IAugustusV6.swapExactAmountInOnUniswapV2.selector) {
166
- (IAugustusV6.UniswapV2Data memory uniData, uint256 partnerAndFee, bytes memory permit) = abi.decode(
167
- dataToDecode,
168
- (IAugustusV6.UniswapV2Data, uint256, bytes)
169
- );
170
-
171
- // Direct scaling calculation
172
- uniData.toAmount = (uniData.toAmount * amountIn) / uniData.fromAmount;
173
- uniData.quotedAmount = (uniData.quotedAmount * amountIn) / uniData.fromAmount;
174
- uniData.fromAmount = amountIn;
175
-
176
- return abi.encodeWithSelector(selector, uniData, partnerAndFee, permit);
177
- }
178
- // Handle UniswapV3
179
- else if (selector == IAugustusV6.swapExactAmountInOnUniswapV3.selector) {
180
- (IAugustusV6.UniswapV3Data memory uniV3Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
181
- dataToDecode,
182
- (IAugustusV6.UniswapV3Data, uint256, bytes)
183
- );
184
-
185
- // Direct scaling calculation
186
- uniV3Data.toAmount = (uniV3Data.toAmount * amountIn) / uniV3Data.fromAmount;
187
- uniV3Data.quotedAmount = (uniV3Data.quotedAmount * amountIn) / uniV3Data.fromAmount;
188
- uniV3Data.fromAmount = amountIn;
189
-
190
- return abi.encodeWithSelector(selector, uniV3Data, partnerAndFee, permit);
191
- }
192
- // Handle BalancerV2
193
- else if (selector == IAugustusV6.swapExactAmountInOnBalancerV2.selector) {
194
- (
195
- IAugustusV6.BalancerV2Data memory balancerData,
196
- uint256 partnerAndFee,
197
- bytes memory permit,
198
- bytes memory data
199
- ) = abi.decode(dataToDecode, (IAugustusV6.BalancerV2Data, uint256, bytes, bytes));
200
-
201
- // Direct scaling calculation
202
- balancerData.toAmount = (balancerData.toAmount * amountIn) / balancerData.fromAmount;
203
- balancerData.quotedAmount = (balancerData.quotedAmount * amountIn) / balancerData.fromAmount;
204
- balancerData.fromAmount = amountIn;
205
-
206
- return abi.encodeWithSelector(selector, balancerData, partnerAndFee, permit, data);
207
- }
208
- // Handle CurveV1
209
- else if (selector == IAugustusV6.swapExactAmountInOnCurveV1.selector) {
210
- (IAugustusV6.CurveV1Data memory curveV1Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
211
- dataToDecode,
212
- (IAugustusV6.CurveV1Data, uint256, bytes)
213
- );
214
-
215
- // Direct scaling calculation
216
- curveV1Data.toAmount = (curveV1Data.toAmount * amountIn) / curveV1Data.fromAmount;
217
- curveV1Data.quotedAmount = (curveV1Data.quotedAmount * amountIn) / curveV1Data.fromAmount;
218
- curveV1Data.fromAmount = amountIn;
219
-
220
- return abi.encodeWithSelector(selector, curveV1Data, partnerAndFee, permit);
221
- }
222
- // Handle CurveV2
223
- else if (selector == IAugustusV6.swapExactAmountInOnCurveV2.selector) {
224
- (IAugustusV6.CurveV2Data memory curveV2Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
225
- dataToDecode,
226
- (IAugustusV6.CurveV2Data, uint256, bytes)
227
- );
228
-
229
- // Direct scaling calculation
230
- curveV2Data.toAmount = (curveV2Data.toAmount * amountIn) / curveV2Data.fromAmount;
231
- curveV2Data.quotedAmount = (curveV2Data.quotedAmount * amountIn) / curveV2Data.fromAmount;
232
- curveV2Data.fromAmount = amountIn;
233
-
234
- return abi.encodeWithSelector(selector, curveV2Data, partnerAndFee, permit);
235
- }
236
- // Handle MakerPSM
237
- else if (selector == IAugustusV6.swapExactAmountInOutOnMakerPSM.selector) {
238
- (IAugustusV6.MakerPSMData memory makerPSMData, bytes memory permit) = abi.decode(
239
- dataToDecode,
240
- (IAugustusV6.MakerPSMData, bytes)
241
- );
242
-
243
- // Direct scaling calculation
244
- makerPSMData.toAmount = (makerPSMData.toAmount * amountIn) / makerPSMData.fromAmount;
245
- makerPSMData.fromAmount = amountIn;
246
-
247
- return abi.encodeWithSelector(selector, makerPSMData, permit);
248
- }
249
-
250
- revert("ParaswapScaleHelper: Unsupported swap selector");
251
- }
252
- }