@pendle/core-v2 0.9.4-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} +141 -912
  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 +323 -47
  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 +427 -39
  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/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +7 -7
  178. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +7 -6
  179. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -5
  180. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -3
  181. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +6 -3
  182. package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
  183. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +22 -28
  184. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +71 -13
  185. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +7 -4
  186. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -2
  187. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +4 -3
  188. package/contracts/core/Market/PendleMarket.sol +91 -55
  189. package/contracts/core/Market/PendleMarketFactory.sol +18 -33
  190. package/contracts/core/PendleRouter.sol +60 -52
  191. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +12 -12
  192. package/contracts/core/YieldContracts/PendleYieldToken.sol +1 -1
  193. package/contracts/core/actions/ActionAddRemoveLiq.sol +366 -0
  194. package/contracts/core/actions/ActionCallback.sol +6 -6
  195. package/contracts/core/actions/ActionMintRedeem.sol +124 -0
  196. package/contracts/core/actions/ActionMisc.sol +24 -0
  197. package/contracts/core/actions/ActionSwapPT.sol +199 -0
  198. package/contracts/core/actions/{base/ActionSCYAndYTBase.sol → ActionSwapYT.sol} +109 -74
  199. package/contracts/core/actions/base/{ActionSCYAndPYBase.sol → ActionBaseMintRedeem.sol} +9 -8
  200. package/contracts/interfaces/IBenQiComptroller.sol +2 -0
  201. package/contracts/interfaces/IPActionAddRemoveLiq.sol +188 -0
  202. package/contracts/interfaces/IPActionMintRedeem.sol +115 -0
  203. package/contracts/interfaces/IPActionMisc.sol +9 -0
  204. package/contracts/interfaces/IPActionSwapPT.sol +69 -0
  205. package/contracts/interfaces/{IPActionYT.sol → IPActionSwapYT.sol} +12 -10
  206. package/contracts/interfaces/IPAllAction.sol +12 -3
  207. package/contracts/interfaces/IPGauge.sol +6 -0
  208. package/contracts/interfaces/IPGaugeController.sol +0 -2
  209. package/contracts/interfaces/IPMarket.sol +28 -10
  210. package/contracts/interfaces/IPMarketFactory.sol +1 -7
  211. package/contracts/interfaces/IPVeToken.sol +1 -1
  212. package/contracts/interfaces/IPVotingController.sol +0 -2
  213. package/contracts/interfaces/IRewardManager.sol +1 -1
  214. package/contracts/libraries/OracleLib.sol +214 -0
  215. package/contracts/libraries/RewardManagerAbstract.sol +1 -1
  216. package/contracts/libraries/math/MarketApproxLib.sol +227 -14
  217. package/contracts/libraries/math/MarketMathCore.sol +0 -33
  218. package/contracts/offchain-helpers/MarketMathStatic.sol +565 -0
  219. package/contracts/offchain-helpers/RouterStatic.sol +187 -251
  220. package/contracts/periphery/BoringOwnableUpgradeable.sol +62 -0
  221. package/deployments/43113-core.json +7 -8
  222. package/deployments/43113-markets/benqi-market-6440d6.json +8 -0
  223. package/deployments/43113-markets/benqi-market-Dc7592.json +8 -0
  224. package/deployments/80001-core.json +6 -7
  225. package/deployments/80001-markets/benqi-market-1542e0.json +8 -0
  226. package/deployments/80001-markets/benqi-market-2b6D02.json +8 -0
  227. package/package.json +11 -11
  228. package/typechain-types/ActionAddRemoveLiq.ts +1037 -0
  229. package/typechain-types/ActionBaseMintRedeem.ts +87 -0
  230. package/typechain-types/ActionCore.ts +21 -20
  231. package/typechain-types/ActionMintRedeem.ts +665 -0
  232. package/typechain-types/ActionMisc.ts +105 -0
  233. package/typechain-types/ActionSwapPT.ts +515 -0
  234. package/typechain-types/ActionSwapYT.ts +515 -0
  235. package/typechain-types/ActionYT.ts +5 -4
  236. package/typechain-types/BoringOwnable.ts +194 -0
  237. package/typechain-types/BoringOwnableData.ts +100 -0
  238. package/typechain-types/BoringOwnableUpgradeable.ts +194 -0
  239. package/typechain-types/BoringOwnableUpgradeableData.ts +100 -0
  240. package/typechain-types/CelerReceiverUpg.ts +124 -19
  241. package/typechain-types/CelerSenderUpg.ts +116 -11
  242. package/typechain-types/IBenQiComptroller.ts +39 -0
  243. package/typechain-types/IPActionAddRemoveLiq.ts +1018 -0
  244. package/typechain-types/IPActionCore.ts +21 -20
  245. package/typechain-types/IPActionMintRedeem.ts +646 -0
  246. package/typechain-types/IPActionMisc.ts +105 -0
  247. package/typechain-types/IPActionSwapPT.ts +496 -0
  248. package/typechain-types/IPActionSwapYT.ts +496 -0
  249. package/typechain-types/IPActionYT.ts +5 -4
  250. package/typechain-types/IPAllAction.ts +431 -193
  251. package/typechain-types/IPGauge.ts +87 -0
  252. package/typechain-types/IPMarket.ts +133 -50
  253. package/typechain-types/IPMarketFactory.ts +7 -17
  254. package/typechain-types/IPVeToken.ts +8 -8
  255. package/typechain-types/IPVotingController.ts +0 -20
  256. package/typechain-types/IPYieldToken.ts +3 -3
  257. package/typechain-types/IRewardManager.ts +3 -3
  258. package/typechain-types/MarketMathStatic.ts +198 -0
  259. package/typechain-types/OracleLib.ts +124 -0
  260. package/typechain-types/PendleGaugeControllerBaseUpg.ts +118 -15
  261. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +136 -9
  262. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +138 -11
  263. package/typechain-types/PendleMarket.ts +178 -59
  264. package/typechain-types/PendleMarketFactory.ts +135 -61
  265. package/typechain-types/PendleRouter.ts +201 -31
  266. package/typechain-types/PendleVotingControllerUpg.ts +325 -149
  267. package/typechain-types/PendleYieldContractFactory.ts +144 -21
  268. package/typechain-types/RouterStatic.ts +344 -64
  269. package/typechain-types/VotingControllerStorageUpg.ts +182 -113
  270. package/typechain-types/VotingEscrowPendleMainchain.ts +170 -63
  271. package/typechain-types/VotingEscrowPendleSidechain.ts +163 -17
  272. package/typechain-types/VotingEscrowTokenBase.ts +27 -8
  273. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1083 -0
  274. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +43 -0
  275. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  276. package/typechain-types/factories/ActionCore__factory.ts +6 -6
  277. package/typechain-types/factories/ActionMintRedeem__factory.ts +680 -0
  278. package/typechain-types/factories/ActionMisc__factory.ts +85 -0
  279. package/typechain-types/factories/ActionSwapPT__factory.ts +514 -0
  280. package/typechain-types/factories/ActionSwapYT__factory.ts +514 -0
  281. package/typechain-types/factories/ActionYT__factory.ts +2 -2
  282. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  283. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +96 -0
  284. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +143 -0
  285. package/typechain-types/factories/BoringOwnable__factory.ts +141 -0
  286. package/typechain-types/factories/CelerReceiverUpg__factory.ts +67 -5
  287. package/typechain-types/factories/CelerSenderUpg__factory.ts +63 -1
  288. package/typechain-types/factories/IBenQiComptroller__factory.ts +24 -0
  289. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1020 -0
  290. package/typechain-types/factories/IPActionCore__factory.ts +5 -5
  291. package/typechain-types/factories/IPActionMintRedeem__factory.ts +613 -0
  292. package/typechain-types/factories/IPActionMisc__factory.ts +47 -0
  293. package/typechain-types/factories/IPActionSwapPT__factory.ts +450 -0
  294. package/typechain-types/factories/IPActionSwapYT__factory.ts +450 -0
  295. package/typechain-types/factories/IPActionYT__factory.ts +1 -1
  296. package/typechain-types/factories/IPAllAction__factory.ts +323 -47
  297. package/typechain-types/factories/IPGauge__factory.ts +36 -0
  298. package/typechain-types/factories/IPMarketFactory__factory.ts +0 -11
  299. package/typechain-types/factories/IPMarket__factory.ts +72 -29
  300. package/typechain-types/factories/IPVeToken__factory.ts +1 -1
  301. package/typechain-types/factories/IPVotingController__factory.ts +0 -37
  302. package/typechain-types/factories/IPYieldToken__factory.ts +1 -1
  303. package/typechain-types/factories/IRewardManager__factory.ts +1 -1
  304. package/typechain-types/factories/MarketMathStatic__factory.ts +146 -0
  305. package/typechain-types/factories/OracleLib__factory.ts +124 -0
  306. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  307. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  308. package/typechain-types/factories/PendleEulerSCY__factory.ts +10 -1
  309. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +65 -3
  310. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +73 -13
  311. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +79 -23
  312. package/typechain-types/factories/PendleMarketFactory__factory.ts +84 -86
  313. package/typechain-types/factories/PendleMarket__factory.ts +131 -37
  314. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  315. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  316. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  317. package/typechain-types/factories/PendleRouter__factory.ts +141 -22
  318. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  319. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  321. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +203 -129
  322. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  324. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +97 -72
  325. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  326. package/typechain-types/factories/RouterStatic__factory.ts +233 -39
  327. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +126 -72
  328. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +93 -41
  329. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +90 -17
  330. package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +14 -1
  331. package/typechain-types/hardhat.d.ts +162 -0
  332. package/typechain-types/index.ts +36 -0
  333. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +0 -4
  334. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +0 -4
  335. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +0 -1801
  336. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +0 -4
  337. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +0 -447
  338. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +0 -4
  339. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +0 -4
  340. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +0 -4
  341. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -24
  342. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +0 -4
  343. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +0 -4
  344. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +0 -4
  345. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -874
  346. package/contracts/core/actions/ActionCore.sol +0 -382
  347. package/contracts/core/actions/ActionYT.sol +0 -93
  348. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +0 -303
  349. package/contracts/interfaces/IPActionCore.sol +0 -306
  350. package/contracts/interfaces/IPRouterStatic.sol +0 -152
  351. package/deployments/43113-markets/benqi-market-599408.json +0 -7
  352. package/deployments/43113-markets/benqi-market-93bbf0.json +0 -7
  353. package/deployments/43113-markets/benqi-market-95E744.json +0 -7
  354. package/deployments/43113-markets/benqi-market-D91a3F.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
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/492a77e993ce31b17542cf37561d3792.json"
4
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BoringOwnableUpgradeable",
4
+ "sourceName": "contracts/periphery/BoringOwnableUpgradeable.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "address",
12
+ "name": "previousOwner",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": true,
17
+ "internalType": "address",
18
+ "name": "newOwner",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "name": "OwnershipTransferred",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "claimOwnership",
28
+ "outputs": [],
29
+ "stateMutability": "nonpayable",
30
+ "type": "function"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "owner",
35
+ "outputs": [
36
+ {
37
+ "internalType": "address",
38
+ "name": "",
39
+ "type": "address"
40
+ }
41
+ ],
42
+ "stateMutability": "view",
43
+ "type": "function"
44
+ },
45
+ {
46
+ "inputs": [],
47
+ "name": "pendingOwner",
48
+ "outputs": [
49
+ {
50
+ "internalType": "address",
51
+ "name": "",
52
+ "type": "address"
53
+ }
54
+ ],
55
+ "stateMutability": "view",
56
+ "type": "function"
57
+ },
58
+ {
59
+ "inputs": [
60
+ {
61
+ "internalType": "address",
62
+ "name": "newOwner",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "internalType": "bool",
67
+ "name": "direct",
68
+ "type": "bool"
69
+ },
70
+ {
71
+ "internalType": "bool",
72
+ "name": "renounce",
73
+ "type": "bool"
74
+ }
75
+ ],
76
+ "name": "transferOwnership",
77
+ "outputs": [],
78
+ "stateMutability": "nonpayable",
79
+ "type": "function"
80
+ }
81
+ ],
82
+ "bytecode": "0x608060405234801561001057600080fd5b50610349806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063078dfbe7146100515780634e71e0c8146100665780638da5cb5b1461006e578063e30c39781461009d575b600080fd5b61006461005f3660046102a2565b6100b0565b005b6100646101e2565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600154610081906001600160a01b031681565b6000546001600160a01b0316331461010f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b81156101c0576001600160a01b0383161515806101295750805b61016d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610106565b600080546040516001600160a01b03808716939216916000805160206102f483398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6001546001600160a01b031633811461023d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610106565b600080546040516001600160a01b03808516939216916000805160206102f483398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b8035801515811461029d57600080fd5b919050565b6000806000606084860312156102b757600080fd5b83356001600160a01b03811681146102ce57600080fd5b92506102dc6020850161028d565b91506102ea6040850161028d565b9050925092509256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122037e9efeed25db56e2246dd9c1ed17d806cc69d8ee958a6529f57b44e748be7ce64736f6c634300080f0033",
83
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c8063078dfbe7146100515780634e71e0c8146100665780638da5cb5b1461006e578063e30c39781461009d575b600080fd5b61006461005f3660046102a2565b6100b0565b005b6100646101e2565b600054610081906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600154610081906001600160a01b031681565b6000546001600160a01b0316331461010f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b81156101c0576001600160a01b0383161515806101295750805b61016d5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610106565b600080546040516001600160a01b03808716939216916000805160206102f483398151915291a3600080546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6001546001600160a01b031633811461023d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610106565b600080546040516001600160a01b03808516939216916000805160206102f483398151915291a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b8035801515811461029d57600080fd5b919050565b6000806000606084860312156102b757600080fd5b83356001600160a01b03811681146102ce57600080fd5b92506102dc6020850161028d565b91506102ea6040850161028d565b9050925092509256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122037e9efeed25db56e2246dd9c1ed17d806cc69d8ee958a6529f57b44e748be7ce64736f6c634300080f0033",
84
+ "linkReferences": {},
85
+ "deployedLinkReferences": {}
86
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "_format": "hh-sol-dbg-1",
3
+ "buildInfo": "../../../build-info/492a77e993ce31b17542cf37561d3792.json"
4
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BoringOwnableUpgradeableData",
4
+ "sourceName": "contracts/periphery/BoringOwnableUpgradeable.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "owner",
9
+ "outputs": [
10
+ {
11
+ "internalType": "address",
12
+ "name": "",
13
+ "type": "address"
14
+ }
15
+ ],
16
+ "stateMutability": "view",
17
+ "type": "function"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "pendingOwner",
22
+ "outputs": [
23
+ {
24
+ "internalType": "address",
25
+ "name": "",
26
+ "type": "address"
27
+ }
28
+ ],
29
+ "stateMutability": "view",
30
+ "type": "function"
31
+ }
32
+ ],
33
+ "bytecode": "0x6080604052348015600f57600080fd5b5060ad8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80638da5cb5b146037578063e30c3978146065575b600080fd5b6000546049906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6001546049906001600160a01b03168156fea2646970667358221220803cd87cbcfbd2eb2588b597af5f32cd7788dfbf5e4a039fd21501fbef36d99c64736f6c634300080f0033",
34
+ "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c80638da5cb5b146037578063e30c3978146065575b600080fd5b6000546049906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6001546049906001600160a01b03168156fea2646970667358221220803cd87cbcfbd2eb2588b597af5f32cd7788dfbf5e4a039fd21501fbef36d99c64736f6c634300080f0033",
35
+ "linkReferences": {},
36
+ "deployedLinkReferences": {}
37
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/3ba02805035109c4541b635a816d445a.json"
3
+ "buildInfo": "../../../build-info/066afd32867f19dc5a32e68817ec6c4e.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/987b355c42d305653de3414653194fca.json"
3
+ "buildInfo": "../../../build-info/c415c6bd021d077cd9f9da24cb137654.json"
4
4
  }
@@ -139,6 +139,14 @@ contract PendleQiTokenSCY is SCYBaseWithRewards, PendleQiTokenHelper {
139
139
  IBenQiComptroller(comptroller).claimReward(0, holders, qiTokens, false, true);
140
140
  IBenQiComptroller(comptroller).claimReward(1, holders, qiTokens, false, true);
141
141
 
142
+ require(
143
+ Math.max(
144
+ IBenQiComptroller(comptroller).rewardAccrued(0, address(this)),
145
+ IBenQiComptroller(comptroller).rewardAccrued(1, address(this))
146
+ ) == 0,
147
+ "BENQI: redeem reward failed"
148
+ );
149
+
142
150
  if (address(this).balance != 0) IWETH(WAVAX).deposit{ value: address(this).balance }();
143
151
  }
144
152
 
@@ -35,7 +35,7 @@ contract PendleSAvaxSCY is SCYBase {
35
35
  /**
36
36
  * @dev See {SCYBase-_deposit}
37
37
  *
38
- * The underlying yield token is sAvax. Tokens accepted for deposit are NATIVE, WVAX, and sAVAX.
38
+ * The underlying yield token is sAvax. Tokens accepted for deposit are NATIVE, WAVAX, and sAVAX.
39
39
  *
40
40
  *If the base token deposited is native AVAX, the function converts it into sAVAX first. Then the corresponding amount of shares is returned.
41
41
  *
@@ -18,7 +18,8 @@ contract PendleEulerSCY is SCYBase {
18
18
  string memory _name,
19
19
  string memory _symbol,
20
20
  address _eToken,
21
- address _eulerMarkets // pass eulerMarkets to double check both eToken & underlying
21
+ address _eulerMarkets, // pass eulerMarkets to double check both eToken & underlying
22
+ address _euler // need to approve spending by euler
22
23
  ) SCYBase(_name, _symbol, _eToken) {
23
24
  require(_eToken != address(0), "zero address");
24
25
  require(_eulerMarkets != address(0), "zero address");
@@ -27,7 +28,7 @@ contract PendleEulerSCY is SCYBase {
27
28
 
28
29
  underlying = IEulerMarkets(_eulerMarkets).eTokenToUnderlying(eToken);
29
30
 
30
- _safeApprove(underlying, eToken, type(uint256).max);
31
+ _safeApprove(underlying, _euler, type(uint256).max);
31
32
  }
32
33
 
33
34
  /*///////////////////////////////////////////////////////////////
@@ -86,7 +87,10 @@ contract PendleEulerSCY is SCYBase {
86
87
  uint256 preBalanceUnderlying = _selfBalance(underlying);
87
88
 
88
89
  // Swap EToken for underlying base tokens
89
- IEulerEToken(eToken).withdraw(0, amountSharesToRedeem);
90
+ IEulerEToken(eToken).withdraw(
91
+ 0,
92
+ IEulerEToken(eToken).convertBalanceToUnderlying(amountSharesToRedeem)
93
+ );
90
94
 
91
95
  // Since 'withdraw' function doesn't return the amount of underlying tokens swapped from eTokens, calculate change in underlying balance to find the amount of shares out
92
96
  amountTokenOut = _selfBalance(underlying) - preBalanceUnderlying;
@@ -118,7 +122,9 @@ contract PendleEulerSCY is SCYBase {
118
122
  if (tokenIn == eToken) {
119
123
  amountSharesOut = amountTokenToDeposit;
120
124
  } else {
121
- amountSharesOut = (amountTokenToDeposit * 1e18) / exchangeRate();
125
+ amountSharesOut = IEulerEToken(eToken).convertUnderlyingToBalance(
126
+ amountTokenToDeposit
127
+ );
122
128
  }
123
129
  }
124
130
 
@@ -131,7 +137,7 @@ contract PendleEulerSCY is SCYBase {
131
137
  if (tokenOut == eToken) {
132
138
  amountTokenOut = amountSharesToRedeem;
133
139
  } else {
134
- amountTokenOut = (amountSharesToRedeem * exchangeRate()) / 1e18;
140
+ amountTokenOut = IEulerEToken(eToken).convertBalanceToUnderlying(amountSharesToRedeem);
135
141
  }
136
142
  }
137
143
 
@@ -26,7 +26,6 @@ contract PendleStargateSCY is SCYBaseWithRewards {
26
26
  ) SCYBaseWithRewards(_name, _symbol, _stgPool) {
27
27
  stgRouter = _stgRouter;
28
28
 
29
- // I dont think we need safecast for a trusted call like this
30
29
  stgRouterPoolId = uint16(IStargatePool(_stgPool).poolId());
31
30
 
32
31
  stgStakingLP = _stgStakingLP;
@@ -3,6 +3,7 @@ pragma solidity 0.8.15;
3
3
 
4
4
  import "../../base-implementations/SCYBaseWithRewards.sol";
5
5
  import "../../../interfaces/ISJoe.sol";
6
+ import "hardhat/console.sol";
6
7
 
7
8
  /*
8
9
  sJOE Staking
@@ -149,7 +149,7 @@ abstract contract SCYBase is ISuperComposableYield, PendleERC20, TokenHelper {
149
149
  }
150
150
 
151
151
  /**
152
- * @dev See {ISuperComposableYield-accruredRewards}
152
+ * @dev See {ISuperComposableYield-accruedRewards}
153
153
  */
154
154
  function accruedRewards(
155
155
  address /*user*/
@@ -2,36 +2,36 @@
2
2
  pragma solidity 0.8.15;
3
3
 
4
4
  import "../../../interfaces/ICelerMessageReceiverApp.sol";
5
- import "../../../periphery/PermissionsV2Upg.sol";
5
+ import "../../../periphery/BoringOwnableUpgradeable.sol";
6
6
 
7
7
  // solhint-disable no-empty-blocks
8
8
  /// This contract is upgradable because
9
9
  /// - its constructor only sets immutable variables
10
10
  /// - it has storage gaps for safe addition of future variables
11
11
  /// - it inherits only upgradable contract
12
- abstract contract CelerReceiverUpg is ICelerMessageReceiverApp, PermissionsV2Upg {
12
+ abstract contract CelerReceiverUpg is ICelerMessageReceiverApp, BoringOwnableUpgradeable {
13
13
  address public celerMessageBus;
14
14
  address public originAddress;
15
15
  uint256 public originChainId;
16
16
 
17
17
  uint256[100] private __gap;
18
18
 
19
- constructor(address _governanceManager) PermissionsV2Upg(_governanceManager) {}
19
+ constructor() {}
20
20
 
21
21
  modifier onlyCelerOrGov() {
22
22
  require(
23
- msg.sender == celerMessageBus || msg.sender == _governance(),
23
+ msg.sender == celerMessageBus || msg.sender == owner,
24
24
  "only celer message bus or gov"
25
25
  );
26
26
  _;
27
27
  }
28
28
 
29
- function setOrigin(address _addr, uint256 _chainId) external onlyGovernance {
29
+ function setOrigin(address _addr, uint256 _chainId) external onlyOwner {
30
30
  originAddress = _addr;
31
31
  originChainId = _chainId;
32
32
  }
33
33
 
34
- function setCelerMessageBus(address _celerMessageBus) external onlyGovernance {
34
+ function setCelerMessageBus(address _celerMessageBus) external onlyOwner {
35
35
  celerMessageBus = _celerMessageBus;
36
36
  }
37
37
 
@@ -41,7 +41,7 @@ abstract contract CelerReceiverUpg is ICelerMessageReceiverApp, PermissionsV2Upg
41
41
  bytes calldata _message,
42
42
  address /* executor */
43
43
  ) external payable onlyCelerOrGov returns (ExecutionStatus) {
44
- // if the message sender is not celer bus, there is no harm to have the transcation failed
44
+ // if the message sender is not celer bus, there is no harm to have the transaction failed
45
45
  if (_sender != originAddress || _srcChainId != originChainId) {
46
46
  return ExecutionStatus.Fail;
47
47
  }
@@ -2,7 +2,7 @@
2
2
  pragma solidity 0.8.15;
3
3
 
4
4
  import "../../../interfaces/ICelerMessageBus.sol";
5
- import "../../../periphery/PermissionsV2Upg.sol";
5
+ import "../../../periphery/BoringOwnableUpgradeable.sol";
6
6
  import "@openzeppelin/contracts/utils/Address.sol";
7
7
  import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
8
8
 
@@ -11,7 +11,7 @@ import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
11
11
  /// - its constructor only sets immutable variables
12
12
  /// - it has storage gaps for safe addition of future variables
13
13
  /// - it inherits only upgradable contract
14
- abstract contract CelerSenderUpg is PermissionsV2Upg {
14
+ abstract contract CelerSenderUpg is BoringOwnableUpgradeable {
15
15
  using EnumerableMap for EnumerableMap.UintToAddressMap;
16
16
 
17
17
  ICelerMessageBus public celerMessageBus;
@@ -28,9 +28,9 @@ abstract contract CelerSenderUpg is PermissionsV2Upg {
28
28
  }
29
29
  }
30
30
 
31
- constructor(address _governanceManager) PermissionsV2Upg(_governanceManager) {}
31
+ constructor() {}
32
32
 
33
- function setCelerMessageBus(address _celerMessageBus) external onlyGovernance {
33
+ function setCelerMessageBus(address _celerMessageBus) external onlyOwner {
34
34
  celerMessageBus = ICelerMessageBus(_celerMessageBus);
35
35
  }
36
36
 
@@ -38,7 +38,8 @@ abstract contract CelerSenderUpg is PermissionsV2Upg {
38
38
  assert(destinationContracts.contains(chainId));
39
39
  address toAddr = destinationContracts.get(chainId);
40
40
  uint256 fee = celerMessageBus.calcFee(message);
41
- require(msg.value >= fee, "Insufficient celer fee");
41
+ // LM contracts won't hold ETH on its own so this is fine
42
+ require(address(this).balance >= fee, "Insufficient celer fee");
42
43
  celerMessageBus.sendMessage{ value: fee }(toAddr, chainId, message);
43
44
  }
44
45
 
@@ -47,7 +48,7 @@ abstract contract CelerSenderUpg is PermissionsV2Upg {
47
48
  function addDestinationContract(address _address, uint256 _chainId)
48
49
  external
49
50
  payable
50
- onlyGovernance
51
+ onlyOwner
51
52
  {
52
53
  destinationContracts.set(_chainId, _address);
53
54
  _afterAddDestinationContract(_address, _chainId);
@@ -8,7 +8,7 @@ import "../../../libraries/math/WeekMath.sol";
8
8
  import "../../../interfaces/IPGaugeController.sol";
9
9
  import "../../../interfaces/IPMarketFactory.sol";
10
10
  import "../../../interfaces/IPMarket.sol";
11
- import "../../../periphery/PermissionsV2Upg.sol";
11
+ import "../../../periphery/BoringOwnableUpgradeable.sol";
12
12
  import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
13
13
 
14
14
  /**
@@ -17,17 +17,16 @@ import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
17
17
  * set it directly to contract state
18
18
  *
19
19
  * @dev All of the core data in this function will be set to private to prevent unintended assignments
20
- * on inheritting contracts
20
+ * on inheriting contracts
21
21
  */
22
22
 
23
23
  /// This contract is upgradable because
24
24
  /// - its constructor only sets immutable variables
25
25
  /// - it has storage gaps for safe addition of future variables
26
26
  /// - it inherits only upgradable contract
27
- abstract contract PendleGaugeControllerBaseUpg is IPGaugeController, PermissionsV2Upg {
27
+ abstract contract PendleGaugeControllerBaseUpg is IPGaugeController, BoringOwnableUpgradeable {
28
28
  using SafeERC20 for IERC20;
29
29
  using Math for uint256;
30
- using EnumerableSet for EnumerableSet.AddressSet;
31
30
 
32
31
  struct MarketRewardData {
33
32
  uint128 pendlePerSec;
@@ -80,7 +79,7 @@ abstract contract PendleGaugeControllerBaseUpg is IPGaugeController, Permissions
80
79
  IERC20(pendle).safeTransferFrom(msg.sender, address(this), amount);
81
80
  }
82
81
 
83
- function withdrawPendle(uint256 amount) external onlyGovernance {
82
+ function withdrawPendle(uint256 amount) external onlyOwner {
84
83
  IERC20(pendle).safeTransfer(msg.sender, amount);
85
84
  }
86
85
 
@@ -17,12 +17,15 @@ contract PendleGaugeControllerMainchainUpg is PendleGaugeControllerBaseUpg {
17
17
  constructor(
18
18
  address _votingController,
19
19
  address _pendle,
20
- address _marketFactory,
21
- address _governanceManager
22
- ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) PermissionsV2Upg(_governanceManager) {
20
+ address _marketFactory
21
+ ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) initializer {
23
22
  votingController = _votingController;
24
23
  }
25
24
 
25
+ function initialize() external initializer {
26
+ __BoringOwnable_init();
27
+ }
28
+
26
29
  function updateVotingResults(
27
30
  uint128 wTime,
28
31
  address[] memory markets,
@@ -12,9 +12,12 @@ import "../CelerAbstracts/CelerReceiverUpg.sol";
12
12
  contract PendleGaugeControllerSidechainUpg is PendleGaugeControllerBaseUpg, CelerReceiverUpg {
13
13
  constructor(
14
14
  address _pendle,
15
- address _marketFactory,
16
- address _governanceManager
17
- ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) CelerReceiverUpg(_governanceManager) {}
15
+ address _marketFactory
16
+ ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) initializer {}
17
+
18
+ function initialize() external initializer {
19
+ __BoringOwnable_init();
20
+ }
18
21
 
19
22
  function _executeMessage(bytes memory message) internal virtual override {
20
23
  (uint128 wTime, address[] memory markets, uint256[] memory pendleAmounts) = abi.decode(
@@ -1,6 +1,7 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.15;
3
3
 
4
+ import "../../interfaces/IPGauge.sol";
4
5
  import "../../interfaces/IPGaugeController.sol";
5
6
  import "../../interfaces/IPVeToken.sol";
6
7
  import "../../interfaces/ISuperComposableYield.sol";
@@ -13,7 +14,7 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
13
14
  Invariants to maintain:
14
15
  - before any changes to active balance, updateAndDistributeRewards() must be called
15
16
  */
16
- abstract contract PendleGauge is RewardManager {
17
+ abstract contract PendleGauge is RewardManager, IPGauge {
17
18
  using Math for uint256;
18
19
  using SafeERC20 for IERC20;
19
20
  using ArrayLib for address[];
@@ -80,7 +81,7 @@ abstract contract PendleGauge is RewardManager {
80
81
  virtual
81
82
  returns (uint256)
82
83
  {
83
- (uint256 vePendleBalance, uint256 vePendleSupply) = vePENDLE.totalSupplyAndBlanaceCurrent(
84
+ (uint256 vePendleSupply, uint256 vePendleBalance) = vePENDLE.totalSupplyAndBalanceCurrent(
84
85
  user
85
86
  );
86
87
  // Inspired by Curve's Gauge
@@ -49,11 +49,15 @@ contract PendleVotingControllerUpg is
49
49
  using EnumerableMap for EnumerableMap.UintToAddressMap;
50
50
  using EnumerableSet for EnumerableSet.AddressSet;
51
51
 
52
- constructor(address _vePendle, address _governanceManager)
52
+ constructor(address _vePendle)
53
53
  VotingControllerStorageUpg(_vePendle) // constructor only set immutable variables
54
- CelerSenderUpg(_governanceManager) // constructor only set immutable variables
54
+ initializer
55
55
  {}
56
56
 
57
+ function initialize() external initializer {
58
+ __BoringOwnable_init();
59
+ }
60
+
57
61
  /*///////////////////////////////////////////////////////////////
58
62
  FUNCTIONS CAN BE CALLED BY ANYONE
59
63
  //////////////////////////////////////////////////////////////*/
@@ -69,26 +73,16 @@ contract PendleVotingControllerUpg is
69
73
  function vote(address[] calldata pools, uint64[] calldata weights) external {
70
74
  address user = msg.sender;
71
75
 
72
- require(weights.length == pools.length, "invaid array length");
73
- require(vePendle.balanceOf(user) > 0, "zero vependle balance");
76
+ require(weights.length == pools.length, "invalid array length");
77
+ require(vePendle.balanceOf(user) > 0 || user == owner, "zero vePENDLE balance");
74
78
 
75
79
  UserData storage uData = userData[user];
76
80
  LockedPosition memory userPosition = _getUserVePendlePosition(user);
77
81
 
78
82
  for (uint256 i = 0; i < pools.length; ++i) {
79
83
  if (_isPoolActive(pools[i])) applyPoolSlopeChanges(pools[i]);
80
- }
81
-
82
- // Process weight-decrease pools first
83
- for (uint256 i = 0; i < pools.length; ++i) {
84
- if (uData.voteForPools[pools[i]].weight > weights[i])
85
- _modifyVoteWeight(user, pools[i], userPosition, weights[i]);
86
- }
87
-
88
- // Process weight-increase pools
89
- for (uint256 i = 0; i < pools.length; ++i) {
90
- if (uData.voteForPools[pools[i]].weight <= weights[i])
91
- _modifyVoteWeight(user, pools[i], userPosition, weights[i]);
84
+ VeBalance memory newVote = _modifyVoteWeight(user, pools[i], userPosition, weights[i]);
85
+ emit Vote(user, pools[i], weights[i], newVote);
92
86
  }
93
87
 
94
88
  require(
@@ -163,12 +157,12 @@ contract PendleVotingControllerUpg is
163
157
  * @dev pre-condition: pool must not have been added before
164
158
  * @dev assumption: chainId is valid, pool does exist on the chain (guaranteed by gov)
165
159
  * @dev state changes expected:
166
- - add to allActivePools & chainPools
160
+ - add to allActivePools & activeChainPools
167
161
  - set params in poolData
168
162
  * @dev NOTE TO GOV: previous week's results should have been broadcasted prior to calling
169
163
  this function
170
164
  */
171
- function addPool(uint64 chainId, address pool) external onlyGovernance {
165
+ function addPool(uint64 chainId, address pool) external onlyOwner {
172
166
  require(!_isPoolActive(pool), "pool already added");
173
167
  require(!allRemovedPools.contains(pool), "not allowed to add a removed pool");
174
168
 
@@ -181,12 +175,12 @@ contract PendleVotingControllerUpg is
181
175
  * @dev pre-condition: pool must have been added before
182
176
  * @dev state changes expected:
183
177
  - update weekData (if any)
184
- - remove from allActivePools & chainPools
178
+ - remove from allActivePools & activeChainPools
185
179
  - clear data in poolData
186
180
  * @dev NOTE TO GOV: previous week's results should have been broadcasted prior to calling
187
181
  this function
188
182
  */
189
- function removePool(address pool) external onlyGovernance {
183
+ function removePool(address pool) external onlyOwner {
190
184
  require(_isPoolActive(pool), "invalid pool");
191
185
 
192
186
  uint64 chainId = poolData[pool].chainId;
@@ -200,7 +194,7 @@ contract PendleVotingControllerUpg is
200
194
  /**
201
195
  * @notice use the gov-privilege to force broadcast a message in case there are issues with Celer
202
196
  * @dev it's intentional for this function to have minimal checks since we assume gov has done the
203
- due dilligence
197
+ due diligence
204
198
  * @dev gov should always call finalizeEpoch beforehand
205
199
  * @dev state changes expected:
206
200
  - the gaugeController receives the new pendle allocation
@@ -209,7 +203,7 @@ contract PendleVotingControllerUpg is
209
203
  uint64 chainId,
210
204
  uint128 wTime,
211
205
  uint128 forcedPendlePerSec
212
- ) external payable onlyGovernance refundUnusedEth {
206
+ ) external payable onlyOwner refundUnusedEth {
213
207
  _broadcastResults(chainId, wTime, forcedPendlePerSec);
214
208
  }
215
209
 
@@ -220,7 +214,7 @@ contract PendleVotingControllerUpg is
220
214
  * @dev NOTE TO GOV: This should be done mid-week, well before the next broadcast to avoid
221
215
  race condition
222
216
  */
223
- function setPendlePerSec(uint128 newPendlePerSec) external onlyGovernance {
217
+ function setPendlePerSec(uint128 newPendlePerSec) external onlyOwner {
224
218
  pendlePerSec = newPendlePerSec;
225
219
  emit SetPendlePerSec(newPendlePerSec);
226
220
  }
@@ -228,7 +222,7 @@ contract PendleVotingControllerUpg is
228
222
  function getBroadcastResultFee(uint64 chainId) external view returns (uint256) {
229
223
  if (chainId == block.chainid) return 0; // Mainchain broadcast
230
224
 
231
- uint256 length = chainPools[chainId].length();
225
+ uint256 length = activeChainPools[chainId].length();
232
226
  if (length == 0) return 0;
233
227
 
234
228
  address[] memory pools = new address[](length);
@@ -255,10 +249,10 @@ contract PendleVotingControllerUpg is
255
249
  uint256 totalVotes = weekData[wTime].totalVotes;
256
250
  if (totalVotes == 0) return;
257
251
 
258
- uint256 length = chainPools[chainId].length();
252
+ uint256 length = activeChainPools[chainId].length();
259
253
  if (length == 0) return;
260
254
 
261
- address[] memory pools = chainPools[chainId].values();
255
+ address[] memory pools = activeChainPools[chainId].values();
262
256
  uint256[] memory totalPendleAmounts = new uint256[](length);
263
257
 
264
258
  for (uint256 i = 0; i < length; ++i) {
@@ -285,7 +279,7 @@ contract PendleVotingControllerUpg is
285
279
  view
286
280
  returns (LockedPosition memory userPosition)
287
281
  {
288
- if (user == _governance()) {
282
+ if (user == owner) {
289
283
  (userPosition.amount, userPosition.expiry) = (
290
284
  GOVERNANCE_PENDLE_VOTE,
291
285
  WeekMath.getWeekStartTimestamp(uint128(block.timestamp) + MAX_LOCK_TIME)
@@ -295,5 +289,5 @@ contract PendleVotingControllerUpg is
295
289
  }
296
290
  }
297
291
 
298
- function _authorizeUpgrade(address newImplementation) internal override onlyGovernance {}
292
+ function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
299
293
  }