@pendle/core-v2 5.8.3-factory → 5.8.4-beta

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 (160) 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/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  17. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  18. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  19. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  20. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +21 -2
  21. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  22. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  23. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  24. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  25. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  26. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  27. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  28. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  29. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  30. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  31. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  32. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  33. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  34. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  44. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  45. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  46. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  47. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  48. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  49. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  50. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  51. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  52. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  53. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  54. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  55. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  56. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  57. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  58. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  59. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  60. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  61. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  62. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  63. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  64. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  65. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  66. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  67. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  69. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  71. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  73. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  74. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  75. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +4 -0
  77. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.json +577 -0
  78. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +4 -0
  79. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +10 -0
  80. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  81. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  82. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  83. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +191 -2
  84. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +2 -0
  85. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +1 -5
  86. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -1
  87. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +13 -10
  88. package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +252 -0
  89. package/contracts/router/swap-aggregator/PendleSwap.sol +25 -5
  90. package/deployments/1-core.json +2 -2
  91. package/deployments/10-core.json +2 -2
  92. package/deployments/146-core.json +9 -10
  93. package/deployments/42161-core.json +3 -3
  94. package/deployments/5000-core.json +2 -2
  95. package/deployments/56-core.json +2 -2
  96. package/deployments/80094-core.json +2 -2
  97. package/deployments/8453-core.json +2 -2
  98. package/package.json +1 -1
  99. package/typechain-types/PendleCommonSYFactory.ts +31 -0
  100. package/typechain-types/PendleSwap.ts +280 -0
  101. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  102. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  103. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  104. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  105. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  106. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  107. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  108. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  109. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  110. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  111. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  112. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  113. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  114. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +20 -1
  115. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  116. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  117. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  118. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  119. package/typechain-types/factories/PendleSwap__factory.ts +190 -1
  120. package/typechain-types/factories/Reflector__factory.ts +1 -1
  121. package/typechain-types/hardhat.d.ts +0 -18
  122. package/typechain-types/index.ts +0 -4
  123. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.dbg.json +0 -4
  124. package/build/artifacts/contracts/interfaces/IPMarketSwapNSeed.sol/IPMarketSwapNSeed.json +0 -10
  125. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.dbg.json +0 -4
  126. package/build/artifacts/contracts/offchain-helpers/SwapNSeed.sol/MarketSwapNSeed.json +0 -232
  127. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.dbg.json +0 -4
  128. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchAggregationRouterV6.json +0 -214
  129. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.dbg.json +0 -4
  130. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/I1inchCommonType.json +0 -10
  131. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.dbg.json +0 -4
  132. package/build/artifacts/contracts/router/swap-aggregator/OneInchScaleHelper.sol/OneInchScaleHelper.json +0 -10
  133. package/contracts/interfaces/IPMarketSwapNSeed.sol +0 -10
  134. package/contracts/offchain-helpers/SwapNSeed.sol +0 -221
  135. package/contracts/router/swap-aggregator/OneInchScaleHelper.sol +0 -120
  136. package/deployments/merkle-distribution/2023-04-27.json +0 -3342
  137. package/deployments/merkle-distribution/2023-05-25.json +0 -3749
  138. package/deployments/merkle-distribution/2023-06-29.json +0 -4729
  139. package/deployments/merkle-distribution/2023-07-27.json +0 -5525
  140. package/deployments/merkle-distribution/2023-08-31.json +0 -6135
  141. package/deployments/merkle-distribution/2023-09-28.json +0 -6770
  142. package/deployments/merkle-distribution/2023-10-26.json +0 -7300
  143. package/deployments/merkle-distribution/2023-11-30.json +0 -7730
  144. package/deployments/merkle-distribution/2023-12-28.json +0 -8225
  145. package/deployments/merkle-distribution/2024-01-25.json +0 -9615
  146. package/deployments/merkle-distribution/2024-02-29.json +0 -12125
  147. package/deployments/merkle-distribution/2024-03-28.json +0 -12725
  148. package/deployments/merkle-distribution/2024-04-25.json +0 -14930
  149. package/deployments/merkle-distribution/2024-05-30.json +0 -17255
  150. package/deployments/merkle-distribution/2024-06-27.json +0 -18995
  151. package/deployments/merkle-distribution/2024-07-25.json +0 -20365
  152. package/deployments/merkle-distribution/2024-08-29.json +0 -21525
  153. package/deployments/merkle-distribution/2024-09-26-retroactive.json +0 -21525
  154. package/deployments/merkle-distribution/2024-09-26.json +0 -22340
  155. package/deployments/merkle-distribution/2024-10-31.json +0 -23370
  156. package/deployments/merkle-distribution/2024-11-28.json +0 -24040
  157. package/deployments/merkle-distribution/2024-12-26.json +0 -25555
  158. package/deployments/merkle-distribution/2024-12-31-snapshot.json +0 -65767
  159. package/deployments/merkle-distribution/2025-01-30.json +0 -28060
  160. package/deployments/merkle-distribution/2025-02-27.json +0 -29930
@@ -0,0 +1,252 @@
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
+ }
@@ -5,14 +5,32 @@ import "../../core/libraries/TokenHelper.sol";
5
5
  import "./IPSwapAggregator.sol";
6
6
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
7
7
  import "./OKXScaleHelper.sol";
8
- import "./OneInchScaleHelper.sol";
9
-
10
- contract PendleSwap is IPSwapAggregator, TokenHelper, OKXScaleHelper, OneInchScaleHelper {
8
+ import "./ParaswapScaleHelper.sol";
9
+
10
+ import "../../core/libraries/BoringOwnableUpgradeable.sol";
11
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
12
+
13
+ contract PendleSwap is
14
+ IPSwapAggregator,
15
+ TokenHelper,
16
+ OKXScaleHelper,
17
+ ParaswapScaleHelper,
18
+ BoringOwnableUpgradeable,
19
+ UUPSUpgradeable
20
+ {
11
21
  using Address for address;
12
22
  using SafeERC20 for IERC20;
13
23
 
14
24
  address private constant KYBER_SCALING_HELPER = 0x2f577A41BeC1BE1152AeEA12e73b7391d15f655D;
15
25
 
26
+ constructor() {
27
+ _disableInitializers();
28
+ }
29
+
30
+ function initialize() external initializer {
31
+ __BoringOwnable_init();
32
+ }
33
+
16
34
  function swap(address tokenIn, uint256 amountIn, SwapData calldata data) external payable {
17
35
  _approveForExtRouter(tokenIn, data);
18
36
  data.extRouter.functionCallWithValue(
@@ -54,10 +72,10 @@ contract PendleSwap is IPSwapAggregator, TokenHelper, OKXScaleHelper, OneInchSca
54
72
  require(isSuccess, "PendleSwap: Kyber scaling failed");
55
73
  } else if (swapType == SwapType.ODOS) {
56
74
  scaledCallData = _odosScaling(rawCallData, amountIn);
75
+ } else if (swapType == SwapType.PARASWAP) {
76
+ scaledCallData = _paraswapScaling(rawCallData, amountIn);
57
77
  } else if (swapType == SwapType.OKX) {
58
78
  scaledCallData = _okxScaling(rawCallData, amountIn);
59
- } else if (swapType == SwapType.ONE_INCH) {
60
- scaledCallData = _oneInchScaling(rawCallData, amountIn);
61
79
  } else {
62
80
  assert(false);
63
81
  }
@@ -86,6 +104,8 @@ contract PendleSwap is IPSwapAggregator, TokenHelper, OKXScaleHelper, OneInchSca
86
104
  }
87
105
 
88
106
  receive() external payable {}
107
+
108
+ function _authorizeUpgrade(address) internal virtual override onlyOwner {}
89
109
  }
90
110
 
91
111
  interface IKyberScalingHelper {
@@ -32,7 +32,7 @@
32
32
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
33
33
  },
34
34
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
35
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
35
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
36
36
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
37
37
  "yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
38
38
  "marketFactoryV3": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
@@ -44,7 +44,7 @@
44
44
  "poolDeployHelperV2": "0xF642d8Daa026B8aEd6dFE82FACbA2E077AF199E2",
45
45
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
46
46
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
47
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
47
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
34
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
+ "pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0xfa6B22FC4c3Ad88B68c16b3061a16b1714F6Bd57",
37
37
  "marketFactoryV3": "0x4A2B38b9cBd83c86F261a4d64c243795D4d44aBC",
@@ -42,7 +42,7 @@
42
42
  "poolDeployHelper": "0x439B4d66255eFf74e621FBacb00D7162b588Ff4b",
43
43
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
44
44
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
45
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
46
46
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
47
47
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
@@ -28,24 +28,23 @@
28
28
  "ActionStorageV4": "0xdED51dca2ECED7a0BAab3D9711A87f214769Da0f"
29
29
  },
30
30
  "routerStatic": "0x0013ACc071f732fd6BF8210AB46A3794a7D8945e",
31
- "pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
31
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
34
+ "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
33
35
  "yieldContractFactoryV5": "0x0582D93FD9c9d42f26bE5D86a5f75291F92102C2",
34
36
  "marketFactoryV5": "0xFeE31A6eC6eBefa0b5A594Bf5b1139e3c6fAA0fB",
35
37
  "poolDeployHelperV2": "0x0b692f06CA82e3075dC537224450885Fd138e655",
36
- "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
37
38
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
38
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
39
- "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
40
- "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
41
39
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
42
40
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
43
- "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
44
- "beta": {
45
- "PendleChainlinkOracleFactory": "0x0000000000000000000000000000000000000000"
46
- },
47
41
  "receiverEndpoint": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
48
42
  "vePendle": "0xE017CCC08505Ac8fbb5a364680e459d9fBaEE74d",
49
43
  "gaugeController": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
50
- "commonDeployTest": "0x8cbF9190b6EA4BeD4655888273e2A313a77400fD"
44
+ "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
45
+ "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
46
+ "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
47
+ "beta": {
48
+ "PendleChainlinkOracleFactory": "0x0000000000000000000000000000000000000000"
49
+ }
51
50
  }
@@ -4,7 +4,7 @@
4
4
  "chainId": 42161,
5
5
  "treasury": "0xCbcb48e22622a3778b6F14C2f5d258Ba026b05e6",
6
6
  "governance": "0x7877AdFaDEd756f3248a0EBfe8Ac2E2eF87b75Ac",
7
- "devMultisig": "0x3c0f8F070E6400C1C4eD10CfF85dE4c643b66bd3",
7
+ "devMultisig": "0xE6F0489ED91dc27f40f9dbe8f81fccbFC16b9cb1",
8
8
  "pendle": "0x0c880f6761F1af8d9Aa9C466984b80DAb9a8c9e8",
9
9
  "lzEndpoint": "0x3c2269811836af69497E5F486A85D7316753cf62",
10
10
  "wrappedNative": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
34
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0xEb38531db128EcA928aea1B1CE9E5609B15ba146",
37
37
  "marketFactoryV3": "0x2FCb47B58350cD377f94d3821e7373Df60bD9Ced",
@@ -42,7 +42,7 @@
42
42
  "poolDeployHelper": "0xEE2eF4ADaf5Bd61FD107fD169CAe3AB79958B928",
43
43
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
44
44
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
45
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
46
46
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
47
47
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
@@ -29,7 +29,7 @@
29
29
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
30
30
  },
31
31
  "routerStatic": "0xCAd502Bb55d1A3F79952F969BFF3f011CF30a94a",
32
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
32
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
33
33
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
34
34
  "yieldContractFactoryV3": "0x964840644B88C583500F473E4B829Ab629aF96A8",
35
35
  "marketFactoryV3": "0xD228EC1f7D4313fe321fab511A872475D07F5bA6",
@@ -41,7 +41,7 @@
41
41
  "poolDeployHelperV2": "0x6E716B682D0b63E7BF2C7b1cD20F2Fc2F3596fc7",
42
42
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
43
43
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
44
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
44
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
45
45
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
46
46
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
47
47
  "receiverEndpoint": "0xf799E4c029d14f41Dc1918C9A4C67242F565710e",
@@ -31,7 +31,7 @@
31
31
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
32
32
  },
33
33
  "routerStatic": "0x2700ADB035F82a11899ce1D3f1BF8451c296eABb",
34
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
34
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
35
35
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
36
36
  "yieldContractFactoryV3": "0x40Ae6da2d92aa3DCb7f8d7a7209FD12BDfcb7C85",
37
37
  "marketFactoryV3": "0xC40fEbF5A33b8C92B187d9be0fD3fe0ac2E4B07c",
@@ -42,7 +42,7 @@
42
42
  "poolDeployHelper": "0xF536323e5825dCb1Bc9b4DE74D63111189532b5f",
43
43
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
44
44
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
45
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
45
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
46
46
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
47
47
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
48
48
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -28,14 +28,14 @@
28
28
  "ActionStorageV4": "0xdED51dca2ECED7a0BAab3D9711A87f214769Da0f"
29
29
  },
30
30
  "routerStatic": "0x6813d43782395A1F2AAb42f39aeEDE03ac655e09",
31
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
31
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV5": "0x2bEa6BfD8fbFF45aA2a893EB3B6d85D10EFcC70E",
34
34
  "marketFactoryV5": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
35
35
  "poolDeployHelperV2": "0x96F77F24b3d17166FcaF3a9E3B8330fF38B966F9",
36
36
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
37
37
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
38
- "reflector": "0xFAa7aD6258b1aa40F2cC414E49033dc77183ba76",
38
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
39
39
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
40
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -28,14 +28,14 @@
28
28
  "ActionStorageV4": "0x6a0Ed0A9193FCBe7ae9B0F3D90F88e365Cca64fC"
29
29
  },
30
30
  "routerStatic": "0xB4205a645c7e920BD8504181B1D7f2c5C955C3e7",
31
- "pendleSwap": "0x313e7Ef7d52f5C10aC04ebaa4d33CDc68634c212",
31
+ "pendleSwap": "0xFE6228A3866426e96611ED7A3D0Dee918244fcB3",
32
32
  "pyYtLpOracle": "0x9a9fa8338dd5e5b2188006f1cd2ef26d921650c2",
33
33
  "yieldContractFactoryV5": "0x963ddBB35c1AE44e2a159E3b5fb5177E0B32660d",
34
34
  "marketFactoryV5": "0x59968008a703dC13E6beaECed644bdCe4ee45d13",
35
35
  "poolDeployHelper": "0x8D77771fA2518474cc83a613ef3d6140A84dbe56",
36
36
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
37
37
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
38
- "reflector": "0x5039Da22E5126e7c4e9284376116716A91782faF",
38
+ "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
39
39
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
40
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "5.8.3-factory",
5
+ "version": "5.8.4-beta",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -50,6 +50,7 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
50
50
  "creationCodes(bytes32)": FunctionFragment;
51
51
  "deploySY(bytes32,bytes,address)": FunctionFragment;
52
52
  "deployUpgradableSY(bytes32,bytes,bytes,address)": FunctionFragment;
53
+ "implementations(bytes32)": FunctionFragment;
53
54
  "initialize(address)": FunctionFragment;
54
55
  "nonce()": FunctionFragment;
55
56
  "owner()": FunctionFragment;
@@ -75,6 +76,10 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
75
76
  functionFragment: "deployUpgradableSY",
76
77
  values: [BytesLike, BytesLike, BytesLike, string]
77
78
  ): string;
79
+ encodeFunctionData(
80
+ functionFragment: "implementations",
81
+ values: [BytesLike]
82
+ ): string;
78
83
  encodeFunctionData(functionFragment: "initialize", values: [string]): string;
79
84
  encodeFunctionData(functionFragment: "nonce", values?: undefined): string;
80
85
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
@@ -108,6 +113,10 @@ export interface PendleCommonSYFactoryInterface extends utils.Interface {
108
113
  functionFragment: "deployUpgradableSY",
109
114
  data: BytesLike
110
115
  ): Result;
116
+ decodeFunctionResult(
117
+ functionFragment: "implementations",
118
+ data: BytesLike
119
+ ): Result;
111
120
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
112
121
  decodeFunctionResult(functionFragment: "nonce", data: BytesLike): Result;
113
122
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
@@ -224,6 +233,11 @@ export interface PendleCommonSYFactory extends BaseContract {
224
233
  overrides?: Overrides & { from?: string | Promise<string> }
225
234
  ): Promise<ContractTransaction>;
226
235
 
236
+ implementations(
237
+ arg0: BytesLike,
238
+ overrides?: CallOverrides
239
+ ): Promise<[string]>;
240
+
227
241
  initialize(
228
242
  _owner: string,
229
243
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -282,6 +296,8 @@ export interface PendleCommonSYFactory extends BaseContract {
282
296
  overrides?: Overrides & { from?: string | Promise<string> }
283
297
  ): Promise<ContractTransaction>;
284
298
 
299
+ implementations(arg0: BytesLike, overrides?: CallOverrides): Promise<string>;
300
+
285
301
  initialize(
286
302
  _owner: string,
287
303
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -338,6 +354,11 @@ export interface PendleCommonSYFactory extends BaseContract {
338
354
  overrides?: CallOverrides
339
355
  ): Promise<string>;
340
356
 
357
+ implementations(
358
+ arg0: BytesLike,
359
+ overrides?: CallOverrides
360
+ ): Promise<string>;
361
+
341
362
  initialize(_owner: string, overrides?: CallOverrides): Promise<void>;
342
363
 
343
364
  nonce(overrides?: CallOverrides): Promise<BigNumber>;
@@ -418,6 +439,11 @@ export interface PendleCommonSYFactory extends BaseContract {
418
439
  overrides?: Overrides & { from?: string | Promise<string> }
419
440
  ): Promise<BigNumber>;
420
441
 
442
+ implementations(
443
+ arg0: BytesLike,
444
+ overrides?: CallOverrides
445
+ ): Promise<BigNumber>;
446
+
421
447
  initialize(
422
448
  _owner: string,
423
449
  overrides?: Overrides & { from?: string | Promise<string> }
@@ -470,6 +496,11 @@ export interface PendleCommonSYFactory extends BaseContract {
470
496
  overrides?: Overrides & { from?: string | Promise<string> }
471
497
  ): Promise<PopulatedTransaction>;
472
498
 
499
+ implementations(
500
+ arg0: BytesLike,
501
+ overrides?: CallOverrides
502
+ ): Promise<PopulatedTransaction>;
503
+
473
504
  initialize(
474
505
  _owner: string,
475
506
  overrides?: Overrides & { from?: string | Promise<string> }