@pendle/core-v2 5.1.2-beta-2 → 5.2.0-base-1

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 (195) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol/SYBaseWithoutPermitUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.dbg.json +4 -0
  11. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSYUpg.sol/PendleAaveV3WithRewardsSYUpg.json +1169 -0
  12. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.dbg.json +1 -1
  13. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol/PendleStkGHOSY.json +2 -2
  14. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
  15. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
  16. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
  17. package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.json +2 -2
  18. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  19. package/build/artifacts/contracts/core/StandardizedYield/implementations/Mantle/PendleCMETHSY.sol/PendleCMETHSY.dbg.json +1 -1
  20. package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveNonBorrowableSY.sol/PendleSiloWithIncentiveNonBorrowableSY.dbg.json +1 -1
  21. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.dbg.json +4 -0
  22. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol/PendleZerolendEBTCSYUpg.json +1311 -0
  23. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol/PendleZerolendLBTCSYUpg.json +1226 -0
  25. package/build/artifacts/contracts/interfaces/AaveV3/IAaveStkGHO.sol/IAaveStkGHO.dbg.json +1 -1
  26. package/build/artifacts/contracts/interfaces/Angle/IAngleDistributor.sol/IAngleDistributor.dbg.json +1 -1
  27. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  28. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +0 -196
  29. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  30. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  31. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  32. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.json +78 -196
  33. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  34. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.json +0 -196
  35. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  36. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -196
  37. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  38. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.json +0 -196
  39. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  40. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +0 -196
  41. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  42. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +0 -196
  43. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  44. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +16 -1188
  45. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  46. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  47. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  48. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  49. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  50. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  51. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.json +0 -196
  52. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  53. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -196
  54. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  55. package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  56. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  57. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  58. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  59. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  60. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  61. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  62. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  63. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  64. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  65. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  66. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  67. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  68. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -198
  69. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  70. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  71. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  73. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -198
  74. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +80 -198
  76. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  77. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -198
  78. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  79. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -198
  80. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  81. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -198
  82. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  83. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -198
  84. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  85. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  86. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  87. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  88. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  89. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  90. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  91. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  92. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  93. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  94. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  95. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  96. package/build/artifacts/contracts/router/math/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  97. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  98. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  99. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  100. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  101. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -10
  102. package/contracts/core/StandardizedYield/SYBaseWithoutPermitUpg.sol +7 -1
  103. package/contracts/core/StandardizedYield/implementations/AaveV3/{PendleAaveV3WithRewardsSY.sol → PendleAaveV3WithRewardsSYUpg.sol} +27 -45
  104. package/contracts/core/StandardizedYield/implementations/AaveV3/PendleStkGHOSY.sol +1 -1
  105. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendEBTCSYUpg.sol +88 -0
  106. package/contracts/core/StandardizedYield/implementations/Zerolend/PendleZerolendLBTCSYUpg.sol +32 -0
  107. package/contracts/interfaces/IPActionAddRemoveLiqV3.sol +6 -6
  108. package/contracts/interfaces/IPActionMiscV3.sol +8 -2
  109. package/contracts/interfaces/IPActionSwapPTV3.sol +4 -4
  110. package/contracts/interfaces/IPActionSwapYTV3.sol +4 -4
  111. package/contracts/interfaces/IPAllActionTypeV3.sol +0 -4
  112. package/contracts/interfaces/IPAllActionV3.sol +1 -3
  113. package/contracts/interfaces/IPAllEventsV3.sol +1 -44
  114. package/contracts/router/ActionAddRemoveLiqV3.sol +9 -9
  115. package/contracts/router/ActionMiscV3.sol +17 -3
  116. package/contracts/router/ActionSwapPTV3.sol +4 -4
  117. package/contracts/router/ActionSwapYTV3.sol +4 -4
  118. package/contracts/router/base/ActionBase.sol +12 -35
  119. package/contracts/router/base/ActionDelegateBase.sol +1 -1
  120. package/deployments/1-markets/ZEROLEND-EBTC-MAINNET-MAR2025.json +14 -0
  121. package/deployments/8453-core.json +40 -0
  122. package/deployments/8453-offchain-helper.json +6 -0
  123. package/package.json +1 -1
  124. package/typechain-types/ActionAddRemoveLiqV3.ts +0 -148
  125. package/typechain-types/ActionMiscV3.ts +44 -148
  126. package/typechain-types/ActionSimple.ts +0 -148
  127. package/typechain-types/ActionStorageStatic.ts +0 -148
  128. package/typechain-types/ActionStorageV4.ts +0 -148
  129. package/typechain-types/ActionSwapPTV3.ts +0 -148
  130. package/typechain-types/ActionSwapYTV3.ts +0 -148
  131. package/typechain-types/IPActionAddRemoveLiqV3.ts +0 -148
  132. package/typechain-types/IPActionMiscV3.ts +44 -148
  133. package/typechain-types/IPActionSimple.ts +0 -148
  134. package/typechain-types/IPActionStorageStatic.ts +0 -148
  135. package/typechain-types/IPActionStorageV4.ts +0 -148
  136. package/typechain-types/IPActionSwapPTV3.ts +0 -148
  137. package/typechain-types/IPActionSwapYTV3.ts +0 -148
  138. package/typechain-types/IPAllActionV3.ts +20 -390
  139. package/typechain-types/IPAllEventsV3.ts +0 -148
  140. package/typechain-types/IPRouterStatic.ts +0 -148
  141. package/typechain-types/PendleAaveV3WithRewardsSYUpg.ts +1498 -0
  142. package/typechain-types/PendleChainlinkOracle.ts +16 -16
  143. package/typechain-types/PendleChainlinkOracleFactory.ts +112 -33
  144. package/typechain-types/PendleChainlinkOracleWithQuote.ts +16 -16
  145. package/typechain-types/PendleZerolendEBTCSYUpg.ts +1712 -0
  146. package/typechain-types/PendleZerolendLBTCSYUpg.ts +1598 -0
  147. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -197
  148. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  149. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  150. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  151. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  152. package/typechain-types/factories/ActionMiscV3__factory.ts +79 -197
  153. package/typechain-types/factories/ActionSimple__factory.ts +1 -197
  154. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -197
  155. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -197
  156. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -197
  157. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -197
  158. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  159. package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +0 -196
  160. package/typechain-types/factories/IPActionMiscV3__factory.ts +78 -196
  161. package/typechain-types/factories/IPActionSimple__factory.ts +0 -196
  162. package/typechain-types/factories/IPActionStorageStatic__factory.ts +0 -196
  163. package/typechain-types/factories/IPActionStorageV4__factory.ts +0 -196
  164. package/typechain-types/factories/IPActionSwapPTV3__factory.ts +0 -196
  165. package/typechain-types/factories/IPActionSwapYTV3__factory.ts +0 -196
  166. package/typechain-types/factories/IPAllActionV3__factory.ts +16 -1188
  167. package/typechain-types/factories/IPAllEventsV3__factory.ts +0 -196
  168. package/typechain-types/factories/IPRouterStatic__factory.ts +0 -196
  169. package/typechain-types/factories/PendleAaveV3WithRewardsSYUpg__factory.ts +1246 -0
  170. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +66 -23
  171. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +7 -12
  172. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +7 -7
  173. package/typechain-types/factories/PendleChainlinkReceiver__factory.ts +1 -1
  174. package/typechain-types/factories/PendleChainlinkRelayer__factory.ts +1 -1
  175. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  176. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  177. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  178. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  179. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  180. package/typechain-types/factories/PendleStkGHOSY__factory.ts +1 -1
  181. package/typechain-types/factories/PendleZerolendEBTCSYUpg__factory.ts +1368 -0
  182. package/typechain-types/factories/PendleZerolendLBTCSYUpg__factory.ts +1283 -0
  183. package/typechain-types/factories/Reflector__factory.ts +1 -1
  184. package/typechain-types/hardhat.d.ts +90 -27
  185. package/typechain-types/index.ts +18 -6
  186. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +0 -4
  187. package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +0 -1198
  188. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.dbg.json +0 -4
  189. package/build/artifacts/contracts/interfaces/IPActionSwapLimitV3.sol/IPActionSwapLimitV3.json +0 -2638
  190. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.dbg.json +0 -4
  191. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapLimitV3Events.json +0 -207
  192. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.dbg.json +0 -4
  193. package/build/artifacts/contracts/router/ActionSwapLimitV3.sol/ActionSwapLimitV3.json +0 -2638
  194. package/contracts/interfaces/IPActionSwapLimitV3.sol +0 -42
  195. package/contracts/router/ActionSwapLimitV3.sol +0 -126
@@ -1,42 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.0;
3
-
4
- import "../router/math/MarketApproxLib.sol";
5
- import "./IPAllActionTypeV3.sol";
6
- import {IPAllEventsV3} from "./IPAllEventsV3.sol";
7
-
8
- interface IPActionSwapLimitV3 is IPAllEventsV3 {
9
- function swapMaxPtForTokenLimitOnly(
10
- address receiver,
11
- address market,
12
- uint256 maxPtIn,
13
- uint256 minTokenPtRate,
14
- TokenOutput calldata output,
15
- LimitOrderData memory limit
16
- ) external returns (uint256 netTokenOut, uint256 netPtReturned, uint256 netSyFee, uint256 netSyInterm);
17
-
18
- function swapMaxPtForSyLimitOnly(
19
- address receiver,
20
- address market,
21
- uint256 maxPtIn,
22
- uint256 minSyPtRate,
23
- LimitOrderData memory limit
24
- ) external returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee);
25
-
26
- function swapMaxTokenForYtLimitOnly(
27
- address receiver,
28
- address market,
29
- uint256 minSyInterm,
30
- uint256 minYtSyRate,
31
- TokenInput calldata input,
32
- LimitOrderData memory limit
33
- ) external payable returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee, uint256 netSyInterm);
34
-
35
- function swapMaxSyForYtLimitOnly(
36
- address receiver,
37
- address market,
38
- uint256 maxSyIn,
39
- uint256 minYtSyRate,
40
- LimitOrderData memory limit
41
- ) external returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee);
42
- }
@@ -1,126 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.17;
3
-
4
- import "./base/ActionBase.sol";
5
- import "../interfaces/IPActionSwapLimitV3.sol";
6
-
7
- contract ActionSwapLimitV3 is IPActionSwapLimitV3, ActionBase {
8
- using PMath for uint256;
9
-
10
- function swapMaxPtForTokenLimitOnly(
11
- address receiver,
12
- address market,
13
- uint256 maxPtIn,
14
- uint256 minTokenPtRate,
15
- TokenOutput calldata output,
16
- LimitOrderData memory limit
17
- ) external returns (uint256 netTokenOut, uint256 netPtReturned, uint256 netSyFee, uint256 netSyInterm) {
18
- (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
19
- _transferFrom(PT, msg.sender, address(this), maxPtIn);
20
-
21
- (netSyInterm, netPtReturned, netSyFee) = _swapMaxPtForSyLimitOnly(address(SY), PT, maxPtIn, 0, limit);
22
-
23
- netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
24
-
25
- uint256 netPtUsed = maxPtIn - netPtReturned;
26
- if (netTokenOut.divDown(netPtUsed) < minTokenPtRate) revert("Slippage LO: INSUFFICIENT_TOKEN_OUT");
27
-
28
- emit SwapMaxPtForTokenLimitOnly(
29
- msg.sender,
30
- market,
31
- output.tokenOut,
32
- receiver,
33
- maxPtIn,
34
- netTokenOut,
35
- netSyInterm,
36
- netPtReturned
37
- );
38
- }
39
-
40
- function swapMaxPtForSyLimitOnly(
41
- address receiver,
42
- address market,
43
- uint256 maxPtIn,
44
- uint256 minSyPtRate,
45
- LimitOrderData memory limit
46
- ) external returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee) {
47
- (, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
48
- _transferFrom(PT, msg.sender, address(this), maxPtIn);
49
-
50
- (netSyOut, netPtReturned, netSyFee) = _swapMaxPtForSyLimitOnly(receiver, PT, maxPtIn, minSyPtRate, limit);
51
-
52
- emit SwapMaxPtForSyLimitOnly(msg.sender, market, receiver, maxPtIn, netSyOut, netPtReturned);
53
- }
54
-
55
- function swapMaxTokenForYtLimitOnly(
56
- address receiver,
57
- address market,
58
- uint256 minSyInterm,
59
- uint256 minYtSyRate,
60
- TokenInput calldata input,
61
- LimitOrderData memory limit
62
- ) external payable returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee, uint256 netSyInterm) {
63
- (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
64
-
65
- netSyInterm = _mintSyFromToken(address(this), address(SY), minSyInterm, input);
66
- (netYtOut, netSyReturned, netSyFee) = _swapMaxSyForYtLimitOnly(receiver, SY, netSyInterm, minYtSyRate, limit);
67
-
68
- emit SwapMaxTokenForYtLimitOnly(
69
- msg.sender,
70
- market,
71
- input.tokenIn,
72
- receiver,
73
- input.netTokenIn,
74
- netYtOut,
75
- netSyInterm,
76
- netSyReturned
77
- );
78
- }
79
-
80
- function swapMaxSyForYtLimitOnly(
81
- address receiver,
82
- address market,
83
- uint256 maxSyIn,
84
- uint256 minYtSyRate,
85
- LimitOrderData memory limit
86
- ) external returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee) {
87
- (IStandardizedYield SY, , ) = IPMarket(market).readTokens();
88
-
89
- _transferFrom(SY, msg.sender, address(this), maxSyIn);
90
- (netYtOut, netSyReturned, netSyFee) = _swapMaxSyForYtLimitOnly(receiver, SY, maxSyIn, minYtSyRate, limit);
91
-
92
- emit SwapMaxSyForYtLimitOnly(msg.sender, market, receiver, maxSyIn, netYtOut, netSyReturned);
93
- }
94
-
95
- function _swapMaxPtForSyLimitOnly(
96
- address receiver,
97
- IPPrincipalToken PT,
98
- uint256 maxPtIn,
99
- uint256 minSyPtRate,
100
- LimitOrderData memory limit
101
- ) internal returns (uint256 netSyOut, uint256 netPtReturned, uint256 netSyFee) {
102
- (netPtReturned, netSyOut, netSyFee, ) = _fillLimit(receiver, PT, maxPtIn, limit);
103
- if (netSyOut == 0) revert("Slippage LO: NO_ORDER_FILLED");
104
-
105
- uint256 netPtUsed = maxPtIn - netPtReturned;
106
- if (netSyOut.divDown(netPtUsed) < minSyPtRate) revert("Slippage LO: INSUFFICIENT_SY_OUT");
107
-
108
- _transferOut(address(PT), msg.sender, netPtReturned);
109
- }
110
-
111
- function _swapMaxSyForYtLimitOnly(
112
- address receiver,
113
- IStandardizedYield SY,
114
- uint256 maxSyIn,
115
- uint256 minYtSyRate,
116
- LimitOrderData memory limit
117
- ) internal returns (uint256 netYtOut, uint256 netSyReturned, uint256 netSyFee) {
118
- (netSyReturned, netYtOut, netSyFee, ) = _fillLimit(receiver, SY, maxSyIn, limit);
119
- if (netYtOut == 0) revert("Slippage LO: NO_ORDER_FILLED");
120
-
121
- uint256 netSyUsed = maxSyIn - netSyReturned;
122
- if (netYtOut.divDown(netSyUsed) < minYtSyRate) revert("Slippage LO: INSUFFICIENT_YT_OUT");
123
-
124
- _transferOut(address(SY), msg.sender, netSyReturned);
125
- }
126
- }