@pendle/core-v2 0.9.3-beta → 0.10.1-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 (360) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +7 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol}/PendleYearnVaultSCY.json +3 -3
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  23. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json +67 -5
  27. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json +63 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +65 -3
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +74 -10
  33. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +79 -15
  35. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +204 -123
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +127 -73
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +93 -34
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +90 -14
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +14 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +139 -37
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +84 -56
  50. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +122 -11
  53. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  56. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +96 -40
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  60. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1025 -0
  62. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  64. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  65. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +622 -0
  66. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  67. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +35 -0
  68. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +459 -0
  70. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  71. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +459 -0
  72. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/actions/base/{ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json → ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json} +2 -2
  74. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +24 -0
  80. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/{IPActionCore.sol/IPActionCore.json → IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json} +154 -909
  88. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +4 -0
  89. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +598 -0
  90. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +35 -0
  92. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +4 -0
  93. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +435 -0
  94. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +4 -0
  95. package/build/artifacts/contracts/interfaces/{IPActionYT.sol/IPActionYT.json → IPActionSwapYT.sol/IPActionSwapYT.json} +23 -11
  96. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +349 -57
  98. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +4 -0
  99. package/build/artifacts/contracts/{core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json → interfaces/IPGauge.sol/IPGauge.json} +5 -5
  100. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +72 -29
  106. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +0 -11
  108. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -37
  115. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +1 -1
  125. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +4 -0
  138. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +74 -0
  139. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  140. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  144. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  146. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  149. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  150. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  152. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  153. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  154. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  155. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  156. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  157. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  158. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  159. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +4 -0
  161. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +93 -0
  162. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +447 -49
  164. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
  165. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +86 -0
  166. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
  167. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +37 -0
  168. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  169. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  170. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +8 -0
  171. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +1 -1
  172. package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +11 -5
  173. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -1
  174. package/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol} +0 -0
  175. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +1 -0
  176. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
  177. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +1 -1
  178. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +7 -7
  179. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +7 -6
  180. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -5
  181. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -3
  182. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +6 -3
  183. package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
  184. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +22 -28
  185. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +71 -13
  186. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +7 -4
  187. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -2
  188. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +4 -3
  189. package/contracts/core/Market/PendleMarket.sol +91 -55
  190. package/contracts/core/Market/PendleMarketFactory.sol +18 -33
  191. package/contracts/core/PendleRouter.sol +60 -52
  192. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +12 -12
  193. package/contracts/core/YieldContracts/PendleYieldToken.sol +1 -1
  194. package/contracts/core/actions/ActionAddRemoveLiq.sol +366 -0
  195. package/contracts/core/actions/ActionCallback.sol +6 -6
  196. package/contracts/core/actions/ActionMintRedeem.sol +124 -0
  197. package/contracts/core/actions/ActionMisc.sol +24 -0
  198. package/contracts/core/actions/ActionSwapPT.sol +199 -0
  199. package/contracts/core/actions/{base/ActionSCYAndYTBase.sol → ActionSwapYT.sol} +109 -74
  200. package/contracts/core/actions/base/{ActionSCYAndPYBase.sol → ActionBaseMintRedeem.sol} +9 -8
  201. package/contracts/interfaces/IBenQiComptroller.sol +2 -0
  202. package/contracts/interfaces/IPActionAddRemoveLiq.sol +188 -0
  203. package/contracts/interfaces/IPActionMintRedeem.sol +115 -0
  204. package/contracts/interfaces/IPActionMisc.sol +9 -0
  205. package/contracts/interfaces/IPActionSwapPT.sol +69 -0
  206. package/contracts/interfaces/{IPActionYT.sol → IPActionSwapYT.sol} +12 -10
  207. package/contracts/interfaces/IPAllAction.sol +12 -3
  208. package/contracts/interfaces/IPGauge.sol +6 -0
  209. package/contracts/interfaces/IPGaugeController.sol +0 -2
  210. package/contracts/interfaces/IPMarket.sol +28 -10
  211. package/contracts/interfaces/IPMarketFactory.sol +1 -7
  212. package/contracts/interfaces/IPVeToken.sol +1 -1
  213. package/contracts/interfaces/IPVotingController.sol +0 -2
  214. package/contracts/interfaces/IRewardManager.sol +1 -1
  215. package/contracts/libraries/OracleLib.sol +214 -0
  216. package/contracts/libraries/RewardManagerAbstract.sol +1 -1
  217. package/contracts/libraries/math/MarketApproxLib.sol +227 -14
  218. package/contracts/libraries/math/MarketMathCore.sol +0 -33
  219. package/contracts/offchain-helpers/MarketMathStatic.sol +565 -0
  220. package/contracts/offchain-helpers/RouterStatic.sol +196 -262
  221. package/contracts/periphery/BoringOwnableUpgradeable.sol +62 -0
  222. package/deployments/43113-benqi.json +2 -2
  223. package/deployments/43113-core.json +7 -8
  224. package/deployments/43113-markets/benqi-market-6440d6.json +8 -0
  225. package/deployments/43113-markets/benqi-market-Dc7592.json +8 -0
  226. package/deployments/80001-core.json +6 -7
  227. package/deployments/80001-markets/benqi-market-1542e0.json +8 -0
  228. package/deployments/80001-markets/benqi-market-2b6D02.json +8 -0
  229. package/package.json +11 -11
  230. package/typechain-types/ActionAddRemoveLiq.ts +1037 -0
  231. package/typechain-types/ActionBaseMintRedeem.ts +87 -0
  232. package/typechain-types/ActionCore.ts +116 -104
  233. package/typechain-types/ActionMintRedeem.ts +665 -0
  234. package/typechain-types/ActionMisc.ts +105 -0
  235. package/typechain-types/ActionSwapPT.ts +515 -0
  236. package/typechain-types/ActionSwapYT.ts +515 -0
  237. package/typechain-types/ActionYT.ts +5 -4
  238. package/typechain-types/BoringOwnable.ts +194 -0
  239. package/typechain-types/BoringOwnableData.ts +100 -0
  240. package/typechain-types/BoringOwnableUpgradeable.ts +194 -0
  241. package/typechain-types/BoringOwnableUpgradeableData.ts +100 -0
  242. package/typechain-types/CelerReceiverUpg.ts +124 -19
  243. package/typechain-types/CelerSenderUpg.ts +116 -11
  244. package/typechain-types/IBenQiComptroller.ts +39 -0
  245. package/typechain-types/IPActionAddRemoveLiq.ts +1018 -0
  246. package/typechain-types/IPActionCore.ts +116 -104
  247. package/typechain-types/IPActionMintRedeem.ts +646 -0
  248. package/typechain-types/IPActionMisc.ts +105 -0
  249. package/typechain-types/IPActionSwapPT.ts +496 -0
  250. package/typechain-types/IPActionSwapYT.ts +496 -0
  251. package/typechain-types/IPActionYT.ts +5 -4
  252. package/typechain-types/IPAllAction.ts +499 -250
  253. package/typechain-types/IPGauge.ts +87 -0
  254. package/typechain-types/IPMarket.ts +133 -50
  255. package/typechain-types/IPMarketFactory.ts +7 -17
  256. package/typechain-types/IPVeToken.ts +8 -8
  257. package/typechain-types/IPVotingController.ts +0 -20
  258. package/typechain-types/IPYieldToken.ts +3 -3
  259. package/typechain-types/IRewardManager.ts +3 -3
  260. package/typechain-types/MarketMathStatic.ts +198 -0
  261. package/typechain-types/OracleLib.ts +124 -0
  262. package/typechain-types/PendleGaugeControllerBaseUpg.ts +118 -15
  263. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +136 -9
  264. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +138 -11
  265. package/typechain-types/PendleMarket.ts +178 -59
  266. package/typechain-types/PendleMarketFactory.ts +135 -61
  267. package/typechain-types/PendleRouter.ts +201 -31
  268. package/typechain-types/PendleVotingControllerUpg.ts +325 -149
  269. package/typechain-types/PendleYieldContractFactory.ts +144 -21
  270. package/typechain-types/RouterStatic.ts +404 -114
  271. package/typechain-types/VotingControllerStorageUpg.ts +182 -113
  272. package/typechain-types/VotingEscrowPendleMainchain.ts +170 -63
  273. package/typechain-types/VotingEscrowPendleSidechain.ts +163 -17
  274. package/typechain-types/VotingEscrowTokenBase.ts +27 -8
  275. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1083 -0
  276. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +43 -0
  277. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  278. package/typechain-types/factories/ActionCore__factory.ts +39 -23
  279. package/typechain-types/factories/ActionMintRedeem__factory.ts +680 -0
  280. package/typechain-types/factories/ActionMisc__factory.ts +85 -0
  281. package/typechain-types/factories/ActionSwapPT__factory.ts +514 -0
  282. package/typechain-types/factories/ActionSwapYT__factory.ts +514 -0
  283. package/typechain-types/factories/ActionYT__factory.ts +2 -2
  284. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  285. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +96 -0
  286. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +143 -0
  287. package/typechain-types/factories/BoringOwnable__factory.ts +141 -0
  288. package/typechain-types/factories/CelerReceiverUpg__factory.ts +67 -5
  289. package/typechain-types/factories/CelerSenderUpg__factory.ts +63 -1
  290. package/typechain-types/factories/IBenQiComptroller__factory.ts +24 -0
  291. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1020 -0
  292. package/typechain-types/factories/IPActionCore__factory.ts +38 -22
  293. package/typechain-types/factories/IPActionMintRedeem__factory.ts +613 -0
  294. package/typechain-types/factories/IPActionMisc__factory.ts +47 -0
  295. package/typechain-types/factories/IPActionSwapPT__factory.ts +450 -0
  296. package/typechain-types/factories/IPActionSwapYT__factory.ts +450 -0
  297. package/typechain-types/factories/IPActionYT__factory.ts +1 -1
  298. package/typechain-types/factories/IPAllAction__factory.ts +349 -57
  299. package/typechain-types/factories/IPGauge__factory.ts +36 -0
  300. package/typechain-types/factories/IPMarketFactory__factory.ts +0 -11
  301. package/typechain-types/factories/IPMarket__factory.ts +72 -29
  302. package/typechain-types/factories/IPVeToken__factory.ts +1 -1
  303. package/typechain-types/factories/IPVotingController__factory.ts +0 -37
  304. package/typechain-types/factories/IPYieldToken__factory.ts +1 -1
  305. package/typechain-types/factories/IRewardManager__factory.ts +1 -1
  306. package/typechain-types/factories/MarketMathStatic__factory.ts +146 -0
  307. package/typechain-types/factories/OracleLib__factory.ts +124 -0
  308. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  309. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  310. package/typechain-types/factories/PendleEulerSCY__factory.ts +10 -1
  311. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +65 -3
  312. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +73 -13
  313. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +79 -23
  314. package/typechain-types/factories/PendleMarketFactory__factory.ts +84 -86
  315. package/typechain-types/factories/PendleMarket__factory.ts +131 -37
  316. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  317. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  318. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  319. package/typechain-types/factories/PendleRouter__factory.ts +141 -22
  320. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  321. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  322. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +203 -129
  324. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  325. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  326. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +97 -72
  327. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  328. package/typechain-types/factories/RouterStatic__factory.ts +253 -49
  329. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +126 -72
  330. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +93 -41
  331. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +90 -17
  332. package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +14 -1
  333. package/typechain-types/hardhat.d.ts +162 -0
  334. package/typechain-types/index.ts +36 -0
  335. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +0 -4
  336. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +0 -4
  337. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +0 -1785
  338. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +0 -4
  339. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +0 -447
  340. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +0 -4
  341. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +0 -4
  342. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +0 -4
  343. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -24
  344. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +0 -4
  345. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +0 -4
  346. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +0 -4
  347. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -874
  348. package/contracts/core/actions/ActionCore.sol +0 -377
  349. package/contracts/core/actions/ActionYT.sol +0 -93
  350. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +0 -303
  351. package/contracts/interfaces/IPActionCore.sol +0 -305
  352. package/contracts/interfaces/IPRouterStatic.sol +0 -152
  353. package/deployments/43113-markets/benqi-market-599408.json +0 -7
  354. package/deployments/43113-markets/benqi-market-93bbf0.json +0 -7
  355. package/deployments/80001-markets/benqi-market-007811.json +0 -7
  356. package/deployments/80001-markets/benqi-market-3fe528.json +0 -7
  357. package/typechain-types/FeeDistributorAbstract.ts +0 -164
  358. package/typechain-types/IPVotingControllerStorage.ts +0 -169
  359. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -90
  360. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
@@ -1,377 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.15;
3
-
4
- import "./base/ActionSCYAndPTBase.sol";
5
- import "./base/ActionSCYAndPYBase.sol";
6
- import "../../interfaces/IPPrincipalToken.sol";
7
- import "../../interfaces/IPYieldToken.sol";
8
- import "../../interfaces/IPActionCore.sol";
9
-
10
- contract ActionCore is IPActionCore, ActionSCYAndPTBase {
11
- using MarketMathCore for MarketState;
12
- using Math for uint256;
13
- using Math for int256;
14
-
15
- /// @dev since this contract will be proxied, it must not contains non-immutable variabless
16
- constructor(address _kyberSwapRouter, address _marketFactory)
17
- ActionSCYAndPYBase(_kyberSwapRouter) //solhint-disable-next-line no-empty-blocks
18
- {}
19
-
20
- /// @dev refer to the internal function
21
- function addLiquidityDualScyAndPt(
22
- address receiver,
23
- address market,
24
- uint256 scyDesired,
25
- uint256 ptDesired,
26
- uint256 minLpOut
27
- )
28
- external
29
- returns (
30
- uint256 netLpOut,
31
- uint256 scyUsed,
32
- uint256 ptUsed
33
- )
34
- {
35
- (netLpOut, scyUsed, ptUsed) = _addLiquidityDualScyAndPt(
36
- receiver,
37
- market,
38
- scyDesired,
39
- ptDesired,
40
- minLpOut,
41
- true
42
- );
43
- emit AddLiquidityDualScyAndPt(msg.sender, market, receiver, scyUsed, ptUsed, netLpOut);
44
- }
45
-
46
- /// @dev refer to the internal function
47
- function addLiquidityDualIbTokenAndPt(
48
- address receiver,
49
- address market,
50
- uint256 ibTokenDesired,
51
- uint256 ptDesired,
52
- uint256 minLpOut
53
- )
54
- external
55
- returns (
56
- uint256 netLpOut,
57
- uint256 ibTokenUsed,
58
- uint256 ptUsed
59
- )
60
- {
61
- (netLpOut, ibTokenUsed, ptUsed) = _addLiquidityDualIbTokenAndPt(
62
- receiver,
63
- market,
64
- ibTokenDesired,
65
- ptDesired,
66
- minLpOut
67
- );
68
- emit AddLiquidityDualIbTokenAndPt(
69
- msg.sender,
70
- market,
71
- receiver,
72
- ibTokenDesired,
73
- ptUsed,
74
- netLpOut
75
- );
76
- }
77
-
78
- function addLiquiditySinglePt(
79
- address receiver,
80
- address market,
81
- uint256 netPtIn,
82
- uint256 minLpOut,
83
- ApproxParams calldata guessPtSwapToScy
84
- ) external returns (uint256 netLpOut) {
85
- require(false, "NOT IMPLEMENTED");
86
- }
87
-
88
- function addLiquiditySingleScy(
89
- address receiver,
90
- address market,
91
- uint256 netScyIn,
92
- uint256 minLpOut,
93
- ApproxParams calldata guessPtReceivedFromScy
94
- ) external returns (uint256 netLpOut) {
95
- require(false, "NOT IMPLEMENTED");
96
- }
97
-
98
- function addLiquiditySingleToken(
99
- address receiver,
100
- address market,
101
- uint256 minLpOut,
102
- ApproxParams calldata guessPtReceivedFromScy,
103
- TokenInput calldata input
104
- ) external returns (uint256 netLpOut) {
105
- require(false, "NOT IMPLEMENTED");
106
- }
107
-
108
- /// @dev refer to the internal function
109
- function removeLiquidityDualScyAndPt(
110
- address receiver,
111
- address market,
112
- uint256 lpToRemove,
113
- uint256 scyOutMin,
114
- uint256 ptOutMin
115
- ) external returns (uint256 netScyOut, uint256 netPtOut) {
116
- (netScyOut, netPtOut) = _removeLiquidityDualScyAndPt(
117
- receiver,
118
- market,
119
- lpToRemove,
120
- scyOutMin,
121
- ptOutMin
122
- );
123
- emit RemoveLiquidityDualScyAndPt(
124
- msg.sender,
125
- market,
126
- receiver,
127
- lpToRemove,
128
- netPtOut,
129
- netScyOut
130
- );
131
- }
132
-
133
- /// @dev refer to the internal function
134
- function removeLiquidityDualIbTokenAndPt(
135
- address receiver,
136
- address market,
137
- uint256 lpToRemove,
138
- uint256 ibTokenMin,
139
- uint256 ptOutMin
140
- ) external returns (uint256 netIbTokenOut, uint256 netPtOut) {
141
- (netIbTokenOut, netPtOut) = _removeLiquidityDualIbTokenAndPt(
142
- receiver,
143
- market,
144
- lpToRemove,
145
- ibTokenMin,
146
- ptOutMin
147
- );
148
- emit RemoveLiquidityDualIbTokenAndPt(
149
- msg.sender,
150
- market,
151
- receiver,
152
- lpToRemove,
153
- netPtOut,
154
- netIbTokenOut
155
- );
156
- }
157
-
158
- function removeLiquiditySinglePt(
159
- address receiver,
160
- address market,
161
- uint256 lpToRemove,
162
- uint256 minPtOut,
163
- ApproxParams calldata guessPtOut
164
- ) external returns (uint256 netPtOut) {
165
- require(false, "NOT IMPLEMENTED");
166
- }
167
-
168
- function removeLiquiditySingleScy(
169
- address receiver,
170
- address market,
171
- uint256 lpToRemove,
172
- uint256 minScyOut
173
- ) external returns (uint256 netScyOut) {
174
- require(false, "NOT IMPLEMENTED");
175
- }
176
-
177
- function removeLiquiditySingleToken(
178
- address receiver,
179
- address market,
180
- uint256 lpToRemove,
181
- TokenOutput calldata output
182
- ) external returns (uint256 netTokenOut) {
183
- require(false, "NOT IMPLEMENTED");
184
- }
185
-
186
- /// @dev refer to the internal function
187
- function swapExactPtForScy(
188
- address receiver,
189
- address market,
190
- uint256 exactPtIn,
191
- uint256 minScyOut
192
- ) external returns (uint256 netScyOut) {
193
- netScyOut = _swapExactPtForScy(receiver, market, exactPtIn, minScyOut, true);
194
- emit SwapPtAndScy(msg.sender, market, receiver, exactPtIn.neg(), netScyOut.Int());
195
- }
196
-
197
- /// @dev refer to the internal function
198
- function swapPtForExactScy(
199
- address receiver,
200
- address market,
201
- uint256 exactScyOut,
202
- uint256 maxPtIn,
203
- ApproxParams calldata guessPtIn
204
- ) external returns (uint256 netPtIn) {
205
- netPtIn = _swapPtForExactScy(receiver, market, exactScyOut, maxPtIn, guessPtIn, true);
206
- emit SwapPtAndScy(msg.sender, market, receiver, netPtIn.neg(), exactScyOut.Int());
207
- }
208
-
209
- /// @dev refer to the internal function
210
- function swapScyForExactPt(
211
- address receiver,
212
- address market,
213
- uint256 exactPtOut,
214
- uint256 maxScyIn
215
- ) external returns (uint256 netScyIn) {
216
- netScyIn = _swapScyForExactPt(receiver, market, exactPtOut, maxScyIn, true);
217
- emit SwapPtAndScy(msg.sender, market, receiver, exactPtOut.Int(), netScyIn.neg());
218
- }
219
-
220
- /// @dev refer to the internal function
221
- function swapExactScyForPt(
222
- address receiver,
223
- address market,
224
- uint256 exactScyIn,
225
- uint256 minPtOut,
226
- ApproxParams calldata guessPtOut
227
- ) external returns (uint256 netPtOut) {
228
- netPtOut = _swapExactScyForPt(receiver, market, exactScyIn, minPtOut, guessPtOut, true);
229
- emit SwapPtAndScy(msg.sender, market, receiver, netPtOut.Int(), exactScyIn.neg());
230
- }
231
-
232
- /// @dev refer to the internal function
233
- function mintScyFromToken(
234
- address receiver,
235
- address SCY,
236
- uint256 minScyOut,
237
- TokenInput calldata input
238
- ) external returns (uint256 netScyOut) {
239
- netScyOut = _mintScyFromToken(receiver, SCY, minScyOut, input);
240
-
241
- emit MintScyFromToken(
242
- msg.sender,
243
- receiver,
244
- SCY,
245
- input.tokenIn,
246
- input.netTokenIn,
247
- netScyOut
248
- );
249
- }
250
-
251
- /// @dev refer to the internal function
252
- function redeemScyToToken(
253
- address receiver,
254
- address SCY,
255
- uint256 netScyIn,
256
- TokenOutput calldata output
257
- ) external returns (uint256 netTokenOut) {
258
- netTokenOut = _redeemScyToToken(receiver, SCY, netScyIn, output, true);
259
- emit RedeemScyToToken(msg.sender, receiver, SCY, netScyIn, output.tokenOut, netTokenOut);
260
- }
261
-
262
- /// @dev refer to the internal function
263
- function mintPyFromToken(
264
- address receiver,
265
- address YT,
266
- uint256 minPyOut,
267
- TokenInput calldata input
268
- ) external returns (uint256 netPyOut) {
269
- netPyOut = _mintPyFromToken(receiver, YT, minPyOut, input);
270
- emit MintPyFromToken(msg.sender, receiver, YT, input.tokenIn, input.netTokenIn, netPyOut);
271
- }
272
-
273
- /// @dev refer to the internal function
274
- function redeemPyToToken(
275
- address receiver,
276
- address YT,
277
- uint256 netPyIn,
278
- TokenOutput calldata output
279
- ) external returns (uint256 netTokenOut) {
280
- netTokenOut = _redeemPyToToken(receiver, YT, netPyIn, output, true);
281
- emit RedeemPyToToken(msg.sender, receiver, YT, netPyIn, output.tokenOut, netTokenOut);
282
- }
283
-
284
- function mintPyFromScy(
285
- address receiver,
286
- address YT,
287
- uint256 netScyIn,
288
- uint256 minPyOut
289
- ) external returns (uint256 netPyOut) {
290
- netPyOut = _mintPyFromScy(receiver, YT, netScyIn, minPyOut, true);
291
- emit MintPyFromScy(msg.sender, receiver, YT, netScyIn, netPyOut);
292
- }
293
-
294
- function redeemPyToScy(
295
- address receiver,
296
- address YT,
297
- uint256 netPyIn,
298
- uint256 minScyOut
299
- ) external returns (uint256 netScyOut) {
300
- netScyOut = _redeemPyToScy(receiver, YT, netPyIn, minScyOut, true);
301
- emit RedeemPyToScy(msg.sender, receiver, YT, netPyIn, netScyOut);
302
- }
303
-
304
- /// @dev refer to the internal function
305
- function swapExactTokenForPt(
306
- address receiver,
307
- address market,
308
- uint256 minPtOut,
309
- ApproxParams calldata guessPtOut,
310
- TokenInput calldata input
311
- ) external returns (uint256 netPtOut) {
312
- netPtOut = _swapExactTokenForPt(receiver, market, minPtOut, guessPtOut, input);
313
-
314
- emit SwapPtAndToken(
315
- msg.sender,
316
- market,
317
- input.tokenIn,
318
- receiver,
319
- netPtOut.Int(),
320
- input.netTokenIn.neg()
321
- );
322
- }
323
-
324
- /// @dev refer to the internal function
325
- function swapExactPtForToken(
326
- address receiver,
327
- address market,
328
- uint256 exactPtIn,
329
- TokenOutput calldata output
330
- ) external returns (uint256 netTokenOut) {
331
- netTokenOut = _swapExactPtForToken(receiver, market, exactPtIn, output, true);
332
-
333
- emit SwapPtAndToken(
334
- msg.sender,
335
- market,
336
- output.tokenOut,
337
- receiver,
338
- exactPtIn.neg(),
339
- netTokenOut.Int()
340
- );
341
- }
342
-
343
- function redeemDueInterestAndRewards(
344
- address user,
345
- address[] calldata scys,
346
- address[] calldata yts,
347
- address[] calldata markets
348
- )
349
- external
350
- returns (
351
- uint256[][] memory scyRewards,
352
- uint256[] memory ytInterests,
353
- uint256[][] memory ytRewards,
354
- uint256[][] memory marketRewards
355
- )
356
- {
357
- scyRewards = new uint256[][](scys.length);
358
- for (uint256 i = 0; i < scys.length; ++i) {
359
- scyRewards[i] = ISuperComposableYield(scys[i]).claimRewards(user);
360
- }
361
-
362
- ytInterests = new uint256[](yts.length);
363
- ytRewards = new uint256[][](yts.length);
364
- for (uint256 i = 0; i < yts.length; ++i) {
365
- (ytInterests[i], ytRewards[i]) = IPYieldToken(yts[i]).redeemDueInterestAndRewards(
366
- user,
367
- true,
368
- true
369
- );
370
- }
371
-
372
- marketRewards = new uint256[][](markets.length);
373
- for (uint256 i = 0; i < markets.length; ++i) {
374
- marketRewards[i] = IPMarket(markets[i]).redeemRewards(user);
375
- }
376
- }
377
- }
@@ -1,93 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity 0.8.15;
3
-
4
- import "./base/ActionSCYAndYTBase.sol";
5
- import "../../interfaces/IPPrincipalToken.sol";
6
- import "../../interfaces/IPYieldToken.sol";
7
- import "../../interfaces/IPActionYT.sol";
8
-
9
- contract ActionYT is IPActionYT, ActionSCYAndYTBase {
10
- using MarketMathCore for MarketState;
11
- using Math for uint256;
12
- using Math for int256;
13
-
14
- /// @dev since this contract will be proxied, it must not contains non-immutable variables
15
- constructor(address _kyberSwapRouter)
16
- ActionSCYAndPYBase(_kyberSwapRouter) //solhint-disable-next-line no-empty-blocks
17
- {}
18
-
19
- /// @dev refer to the internal function
20
- function swapExactYtForScy(
21
- address receiver,
22
- address market,
23
- uint256 exactYtIn,
24
- uint256 minScyOut
25
- ) external returns (uint256 netScyOut) {
26
- netScyOut = _swapExactYtForScy(receiver, market, exactYtIn, minScyOut, true);
27
- emit SwapYTAndSCY(receiver, market, exactYtIn.neg(), netScyOut.Int());
28
- }
29
-
30
- /// @dev refer to the internal function
31
- function swapScyForExactYt(
32
- address receiver,
33
- address market,
34
- uint256 exactYtOut,
35
- uint256 maxScyIn
36
- ) external returns (uint256 netScyIn) {
37
- netScyIn = _swapScyForExactYt(receiver, market, exactYtOut, maxScyIn);
38
- emit SwapYTAndSCY(receiver, market, exactYtOut.Int(), netScyIn.neg());
39
- }
40
-
41
- /// @dev refer to the internal function
42
- function swapExactScyForYt(
43
- address receiver,
44
- address market,
45
- uint256 exactScyIn,
46
- uint256 minYtOut,
47
- ApproxParams memory guessYtOut
48
- ) external returns (uint256 netYtOut) {
49
- netYtOut = _swapExactScyForYt(receiver, market, exactScyIn, minYtOut, guessYtOut, true);
50
- emit SwapYTAndSCY(receiver, market, netYtOut.Int(), exactScyIn.neg());
51
- }
52
-
53
- /// @dev refer to the internal function
54
- function swapYtForExactScy(
55
- address receiver,
56
- address market,
57
- uint256 exactScyOut,
58
- uint256 maxYtIn,
59
- ApproxParams memory guessYtIn
60
- ) external returns (uint256 netYtIn) {
61
- netYtIn = _swapYtForExactScy(receiver, market, exactScyOut, maxYtIn, guessYtIn, true);
62
- emit SwapYTAndSCY(receiver, market, netYtIn.neg(), exactScyOut.Int());
63
- }
64
-
65
- /// @dev refer to the internal function
66
- function swapExactTokenForYt(
67
- address receiver,
68
- address market,
69
- uint256 minYtOut,
70
- ApproxParams memory guessYtOut,
71
- TokenInput calldata input
72
- ) external returns (uint256 netYtOut) {
73
- netYtOut = _swapExactTokenForYt(receiver, market, minYtOut, guessYtOut, input);
74
- emit SwapYTAndToken(
75
- receiver,
76
- market,
77
- input.tokenIn,
78
- netYtOut.Int(),
79
- input.netTokenIn.neg()
80
- );
81
- }
82
-
83
- /// @dev refer to the internal function
84
- function swapExactYtForToken(
85
- address receiver,
86
- address market,
87
- uint256 netYtIn,
88
- TokenOutput calldata output
89
- ) external returns (uint256 netTokenOut) {
90
- netTokenOut = _swapExactYtForToken(receiver, market, netYtIn, output, true);
91
- emit SwapYTAndToken(receiver, market, output.tokenOut, netYtIn.neg(), netTokenOut.Int());
92
- }
93
- }