@pendle/core-v2 0.6.9 → 0.7.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 (750) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +714 -0
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
  4. package/build/artifacts/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol/WadRayMath.json +3 -3
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +27 -0
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +4 -0
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +737 -0
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.json +635 -0
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +4 -0
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +609 -0
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.dbg.json +4 -0
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.json +653 -0
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +4 -0
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +622 -0
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +4 -0
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +622 -0
  19. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/{ISuperComposableYield.sol/ISuperComposableYield.json → base-implementations/SCYBase.sol/SCYBase.json} +221 -141
  21. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
  22. package/build/artifacts/contracts/SuperComposableYield/{implementations → base-implementations}/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +225 -225
  23. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +4 -0
  24. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json +128 -0
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +4 -0
  26. package/build/artifacts/contracts/{SuperComposableYield/implementations/RewardManager.sol/RewardManager.json → core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json} +34 -38
  27. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +4 -0
  28. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +193 -0
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.dbg.json +4 -0
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchainUpg.json +255 -0
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.dbg.json +4 -0
  32. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechainUpg.json +318 -0
  33. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +4 -0
  34. package/build/artifacts/contracts/{interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.json → core/LiquidityMining/PendleGauge.sol/PendleGauge.json} +40 -72
  35. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +776 -0
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +309 -0
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +519 -0
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +353 -0
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +4 -0
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +138 -0
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +4 -0
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +898 -0
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +351 -0
  49. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +254 -0
  51. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
  53. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -20
  55. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +4 -0
  56. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.json +35 -0
  57. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +378 -0
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
  60. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +352 -0
  61. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
  62. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +732 -0
  63. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  65. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +123 -77
  67. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +39 -42
  69. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +163 -1
  71. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +0 -13
  73. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +1 -14
  75. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +4 -0
  76. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.json +10 -0
  77. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +39 -0
  79. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +13 -0
  83. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.json +74 -0
  85. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +4 -0
  86. package/build/artifacts/contracts/interfaces/{IVePToken.sol/IVePToken.json → ICelerMessageBus.sol/ICelerMessageBus.json} +21 -11
  87. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +4 -0
  88. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +45 -0
  89. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +4 -0
  90. package/build/artifacts/contracts/{core/PendleBaseToken.sol/PendleBaseToken.json → interfaces/IERC4626.sol/IERC4626.json} +53 -68
  91. package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +4 -0
  94. package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.json +962 -0
  95. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +122 -58
  97. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +36 -21
  99. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +116 -81
  101. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +135 -0
  103. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +4 -0
  104. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +158 -0
  105. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +4 -0
  107. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.json +35 -0
  108. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +35 -54
  110. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.json +2 -2
  112. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +37 -0
  114. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +13 -0
  118. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +61 -5
  121. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +4 -0
  122. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +167 -0
  123. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +70 -89
  125. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +156 -106
  128. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +4 -0
  129. package/build/artifacts/contracts/interfaces/{IPBaseToken.sol/IPBaseToken.json → IQiAvax.sol/IQiAvax.json} +106 -15
  130. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +117 -0
  132. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +117 -0
  134. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +4 -0
  136. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +40 -0
  137. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
  138. package/build/artifacts/contracts/{SuperComposableYield/implementations/SCYBase.sol/SCYBase.json → interfaces/ISuperComposableYield.sol/ISuperComposableYield.json} +183 -181
  139. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +13 -0
  142. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +13 -0
  144. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +13 -0
  146. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +4 -0
  147. package/build/artifacts/contracts/{SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json → libraries/RewardManager.sol/RewardManager.json} +30 -30
  148. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +4 -0
  149. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.json +40 -0
  150. package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
  151. package/build/artifacts/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol}/SCYIndexLib.json +3 -3
  152. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +4 -0
  153. package/build/artifacts/contracts/{SuperComposableYield → libraries/SCY}/SCYUtils.sol/SCYUtils.json +3 -3
  154. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +4 -0
  155. package/build/artifacts/contracts/libraries/{math/MarketMathAux.sol/MarketMathAux.json → VeBalanceLib.sol/VeBalanceLib.json} +4 -4
  156. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +4 -0
  157. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +10 -0
  158. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +4 -0
  159. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +10 -0
  160. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  161. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  162. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +4 -0
  163. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +10 -0
  164. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +4 -0
  165. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.json +10 -0
  166. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +4 -0
  167. package/build/artifacts/contracts/{core/actions/base/ActionType.sol/ActionType.json → libraries/helpers/TokenHelper.sol/TokenHelper.json} +2 -2
  168. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  169. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  170. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  171. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  172. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  173. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  174. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  175. package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
  176. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +4 -0
  177. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +10 -0
  178. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +4 -0
  179. package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +10 -0
  180. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +4 -0
  181. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +10 -0
  182. package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
  183. package/build/artifacts/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol}/JoeLibrary.json +3 -3
  184. package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
  185. package/build/artifacts/contracts/{periphery → libraries/traderjoe}/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +1 -14
  186. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +4 -0
  187. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +862 -0
  188. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  189. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
  190. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  191. package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +147 -0
  192. package/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol +1 -1
  193. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +74 -0
  194. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +187 -0
  195. package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +123 -0
  196. package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +99 -0
  197. package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +245 -0
  198. package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +107 -0
  199. package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +120 -0
  200. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +197 -0
  201. package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +131 -0
  202. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +53 -0
  203. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +59 -0
  204. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +146 -0
  205. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +33 -0
  206. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +26 -0
  207. package/contracts/core/LiquidityMining/PendleGauge.sol +118 -0
  208. package/contracts/core/LiquidityMining/README.md +63 -0
  209. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +336 -0
  210. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +228 -0
  211. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +245 -0
  212. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +73 -0
  213. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +52 -0
  214. package/contracts/core/{PendleMarket.sol → Market/PendleMarket.sol} +135 -100
  215. package/contracts/core/{PendleMarketFactory.sol → Market/PendleMarketFactory.sol} +60 -20
  216. package/contracts/core/PendleERC20.sol +358 -0
  217. package/contracts/core/PendleERC20Permit.sol +84 -0
  218. package/contracts/core/PendleRouter.sol +6 -12
  219. package/contracts/core/YieldContracts/InterestManagerYT.sol +87 -0
  220. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +60 -0
  221. package/contracts/core/{PendleYieldContractFactory.sol → YieldContracts/PendleYieldContractFactory.sol} +43 -23
  222. package/contracts/core/YieldContracts/PendleYieldToken.sol +349 -0
  223. package/contracts/core/actions/ActionCallback.sol +63 -43
  224. package/contracts/core/actions/ActionCore.sol +95 -78
  225. package/contracts/core/actions/ActionYT.sol +35 -86
  226. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +133 -78
  227. package/contracts/core/actions/base/ActionSCYAndPYBase.sol +31 -46
  228. package/contracts/core/actions/base/ActionSCYAndYTBase.sol +127 -45
  229. package/contracts/core/actions/base/CallbackHelper.sol +81 -0
  230. package/contracts/interfaces/IAToken.sol +11 -1
  231. package/contracts/interfaces/IAavePool.sol +1 -1
  232. package/contracts/interfaces/IAaveRewardsController.sol +1 -1
  233. package/contracts/interfaces/IBenQiComptroller.sol +3 -1
  234. package/contracts/interfaces/IBenQiInterestRateModel.sol +16 -0
  235. package/contracts/interfaces/ICelerMessageBus.sol +28 -0
  236. package/contracts/interfaces/ICelerMessageReceiverApp.sol +25 -0
  237. package/contracts/interfaces/IERC4626.sol +39 -0
  238. package/contracts/interfaces/IJoeRouter01.sol +1 -1
  239. package/contracts/interfaces/IJoeRouter02.sol +52 -0
  240. package/contracts/interfaces/IPActionCore.sol +44 -27
  241. package/contracts/interfaces/IPActionYT.sol +12 -9
  242. package/contracts/interfaces/IPAllAction.sol +2 -3
  243. package/contracts/interfaces/IPGaugeController.sol +28 -0
  244. package/contracts/interfaces/IPGaugeControllerMainchain.sol +12 -0
  245. package/contracts/interfaces/IPGovernanceManager.sol +1 -1
  246. package/contracts/interfaces/IPInterestManagerYT.sol +9 -0
  247. package/contracts/interfaces/IPMarket.sol +13 -13
  248. package/contracts/interfaces/IPMarketAddRemoveCallback.sol +3 -3
  249. package/contracts/interfaces/IPMarketFactory.sol +14 -2
  250. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
  251. package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
  252. package/contracts/interfaces/IPPrincipalToken.sol +11 -5
  253. package/contracts/interfaces/IPRouterStatic.sol +1 -1
  254. package/contracts/interfaces/IPVeToken.sol +9 -4
  255. package/contracts/interfaces/IPVotingController.sol +21 -0
  256. package/contracts/interfaces/IPVotingEscrow.sol +14 -22
  257. package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
  258. package/contracts/interfaces/IPYieldToken.sol +28 -18
  259. package/contracts/interfaces/IQiAvax.sol +31 -0
  260. package/contracts/interfaces/IQiErc20.sol +1 -1
  261. package/contracts/interfaces/IQiToken.sol +22 -1
  262. package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
  263. package/contracts/interfaces/IRewardManager.sol +9 -0
  264. package/contracts/interfaces/ISuperComposableYield.sol +182 -0
  265. package/contracts/interfaces/IWETH.sol +1 -1
  266. package/contracts/interfaces/IWXBTRFLY.sol +3 -1
  267. package/contracts/interfaces/IWstETH.sol +3 -1
  268. package/contracts/interfaces/IYearnVault.sol +3 -1
  269. package/contracts/libraries/RewardManager.sol +78 -0
  270. package/contracts/libraries/RewardManagerAbstract.sol +85 -0
  271. package/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol} +8 -8
  272. package/contracts/libraries/SCY/SCYUtils.sol +18 -0
  273. package/contracts/libraries/VeBalanceLib.sol +80 -0
  274. package/contracts/libraries/VeHistoryLib.sol +60 -0
  275. package/contracts/libraries/helpers/ArrayLib.sol +65 -0
  276. package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
  277. package/contracts/libraries/helpers/MiniHelpers.sol +15 -0
  278. package/contracts/libraries/helpers/SSTORE2Deployer.sol +30 -0
  279. package/contracts/libraries/helpers/TokenHelper.sol +105 -0
  280. package/contracts/libraries/math/LogExpMath.sol +59 -1
  281. package/contracts/libraries/math/MarketApproxLib.sol +167 -164
  282. package/contracts/libraries/math/MarketMathCore.sol +106 -25
  283. package/contracts/libraries/math/Math.sol +28 -21
  284. package/contracts/libraries/math/WeekMath.sol +19 -0
  285. package/contracts/libraries/solmate/Bytes32AddressLib.sol +14 -0
  286. package/contracts/libraries/solmate/SSTORE2.sol +99 -0
  287. package/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol} +3 -2
  288. package/contracts/{periphery → libraries/traderjoe}/PendleJoeSwapHelperUpg.sol +8 -10
  289. package/contracts/{core → offchain-helpers}/RouterStatic.sol +25 -20
  290. package/contracts/periphery/PendleGovernanceManager.sol +1 -1
  291. package/contracts/periphery/PermissionsV2Upg.sol +7 -1
  292. package/deployments/43113-benqi.json +6 -0
  293. package/deployments/43113-core.json +14 -0
  294. package/deployments/43113-markets/benqi-market.json +7 -0
  295. package/deployments/80001-benqi.json +6 -0
  296. package/deployments/80001-core.json +13 -0
  297. package/deployments/80001-markets/benqi-market.json +7 -0
  298. package/package.json +2 -2
  299. package/typechain-types/ActionCore.ts +169 -96
  300. package/typechain-types/{ActionSCYAndYOBase.ts → ActionSCYAndPTBase.ts} +54 -67
  301. package/typechain-types/ActionSCYAndPYBase.ts +0 -13
  302. package/typechain-types/ActionSCYAndYTBase.ts +8 -21
  303. package/typechain-types/ActionYT.ts +73 -64
  304. package/typechain-types/CelerReceiverUpg.ts +267 -0
  305. package/typechain-types/CelerSenderUpg.ts +216 -0
  306. package/typechain-types/{ERC20Burnable.ts → ERC20Permit.ts} +116 -68
  307. package/typechain-types/IAToken.ts +55 -0
  308. package/typechain-types/IBenQiComptroller.ts +13 -0
  309. package/typechain-types/{InterestRateModel.ts → IBenQiInterestRateModel.ts} +12 -28
  310. package/typechain-types/ICelerMessageBus.ts +134 -0
  311. package/typechain-types/{IMessageReceiverApp.ts → ICelerMessageReceiverApp.ts} +19 -9
  312. package/typechain-types/IERC20Permit.ts +175 -0
  313. package/typechain-types/{ERC20Premined.ts → IERC4626.ts} +103 -113
  314. package/typechain-types/IJoeRouter02.ts +1420 -0
  315. package/typechain-types/IPActionCore.ts +169 -83
  316. package/typechain-types/IPActionYT.ts +65 -43
  317. package/typechain-types/IPAllAction.ts +190 -137
  318. package/typechain-types/IPGaugeController.ts +254 -0
  319. package/typechain-types/IPGaugeControllerMainchain.ts +298 -0
  320. package/typechain-types/{IVePToken.ts → IPInterestManagerYT.ts} +38 -27
  321. package/typechain-types/IPMarket.ts +73 -74
  322. package/typechain-types/IPMarketAddRemoveCallback.ts +10 -10
  323. package/typechain-types/IPMarketFactory.ts +38 -4
  324. package/typechain-types/IPPrincipalToken.ts +13 -0
  325. package/typechain-types/IPVeToken.ts +103 -8
  326. package/typechain-types/IPVotingController.ts +179 -0
  327. package/typechain-types/IPVotingEscrow.ts +100 -180
  328. package/typechain-types/IPYieldToken.ts +227 -264
  329. package/typechain-types/{PendleBaseToken.ts → IQiAvax.ts} +183 -107
  330. package/typechain-types/IQiErc20.ts +171 -0
  331. package/typechain-types/IQiToken.ts +171 -0
  332. package/typechain-types/IRewardManager.ts +16 -86
  333. package/typechain-types/ISuperComposableYield.ts +283 -269
  334. package/typechain-types/IWXBTRFLY.ts +13 -0
  335. package/typechain-types/IWstETH.ts +13 -0
  336. package/typechain-types/IYearnVault.ts +13 -0
  337. package/typechain-types/{PermissionsV2.ts → InterestManagerYT.ts} +30 -14
  338. package/typechain-types/PendleAaveV3SCY.ts +331 -496
  339. package/typechain-types/PendleBtrflyScy.ts +287 -348
  340. package/typechain-types/{IPBaseToken.ts → PendleERC20.ts} +5 -31
  341. package/typechain-types/{ERC20PresetFixedSupply.ts → PendleERC20Permit.ts} +100 -130
  342. package/typechain-types/{LYTBaseWithRewards.ts → PendleERC4626SCY.ts} +311 -316
  343. package/typechain-types/PendleGauge.ts +83 -315
  344. package/typechain-types/PendleGaugeControllerBaseUpg.ts +346 -0
  345. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +410 -0
  346. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +524 -0
  347. package/typechain-types/{PendleYTLYTBenqi.ts → PendleJoeLpSCY.ts} +336 -362
  348. package/typechain-types/PendleJoeSwapHelperUpg.ts +0 -13
  349. package/typechain-types/PendleMarket.ts +229 -154
  350. package/typechain-types/PendleMarketFactory.ts +127 -20
  351. package/typechain-types/PendlePrincipalToken.ts +0 -106
  352. package/typechain-types/{PermlessAbstract.ts → PendleQiTokenHelper.ts} +5 -5
  353. package/typechain-types/{PendleBenQiErc20LYT.ts → PendleQiTokenSCY.ts} +359 -308
  354. package/typechain-types/PendleRouter.ts +0 -19
  355. package/typechain-types/PendleVotingControllerUpg.ts +1145 -0
  356. package/typechain-types/{PendleAaveV3LYT.ts → PendleWstEthSCY.ts} +325 -320
  357. package/typechain-types/{ILiquidYieldTokenWrap.ts → PendleYearnVaultSCY.ts} +314 -290
  358. package/typechain-types/PendleYieldContractFactory.ts +74 -27
  359. package/typechain-types/PendleYieldToken.ts +272 -496
  360. package/typechain-types/RewardManager.ts +44 -82
  361. package/typechain-types/{IGaugeController.ts → RewardManagerAbstract.ts} +41 -32
  362. package/typechain-types/RouterStatic.ts +5 -11
  363. package/typechain-types/SCYBase.ts +276 -335
  364. package/typechain-types/SCYBaseWithRewards.ts +337 -433
  365. package/typechain-types/VotingControllerStorageUpg.ts +467 -0
  366. package/typechain-types/VotingEscrowPendleMainchain.ts +819 -0
  367. package/typechain-types/VotingEscrowPendleSidechain.ts +546 -0
  368. package/typechain-types/VotingEscrowTokenBase.ts +251 -0
  369. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  370. package/typechain-types/factories/ActionCore__factory.ts +122 -80
  371. package/typechain-types/factories/{ActionSCYAndYOBase__factory.ts → ActionSCYAndPTBase__factory.ts} +20 -33
  372. package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -13
  373. package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +1 -14
  374. package/typechain-types/factories/ActionYT__factory.ts +39 -48
  375. package/typechain-types/factories/{CrosschainReceiver__factory.ts → CelerReceiverUpg__factory.ts} +39 -83
  376. package/typechain-types/factories/{CrosschainSender__factory.ts → CelerSenderUpg__factory.ts} +34 -37
  377. package/typechain-types/factories/{PendleBaseToken__factory.ts → ERC20Permit__factory.ts} +72 -52
  378. package/typechain-types/factories/ERC20__factory.ts +1 -1
  379. package/typechain-types/factories/IAToken__factory.ts +39 -0
  380. package/typechain-types/factories/IBenQiComptroller__factory.ts +13 -0
  381. package/typechain-types/factories/{InterestRateModel__factory.ts → IBenQiInterestRateModel__factory.ts} +12 -27
  382. package/typechain-types/factories/{PendleRouterBase__factory.ts → ICelerMessageBus__factory.ts} +29 -29
  383. package/typechain-types/factories/{IMessageReceiverApp__factory.ts → ICelerMessageReceiverApp__factory.ts} +19 -10
  384. package/typechain-types/factories/IERC20Permit__factory.ts +98 -0
  385. package/typechain-types/factories/{ERC20Burnable__factory.ts → IERC4626__factory.ts} +55 -49
  386. package/typechain-types/factories/IJoeRouter02__factory.ts +974 -0
  387. package/typechain-types/factories/IPActionCore__factory.ts +122 -58
  388. package/typechain-types/factories/IPActionYT__factory.ts +36 -21
  389. package/typechain-types/factories/IPAllAction__factory.ts +116 -81
  390. package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +177 -0
  391. package/typechain-types/factories/{IPGauge__factory.ts → IPGaugeController__factory.ts} +77 -52
  392. package/typechain-types/factories/IPInterestManagerYT__factory.ts +50 -0
  393. package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +2 -2
  394. package/typechain-types/factories/IPMarketFactory__factory.ts +37 -0
  395. package/typechain-types/factories/IPMarket__factory.ts +35 -54
  396. package/typechain-types/factories/IPPrincipalToken__factory.ts +13 -0
  397. package/typechain-types/factories/IPVeToken__factory.ts +61 -5
  398. package/typechain-types/factories/IPVotingController__factory.ts +182 -0
  399. package/typechain-types/factories/IPVotingEscrow__factory.ts +68 -87
  400. package/typechain-types/factories/IPYieldToken__factory.ts +156 -106
  401. package/typechain-types/factories/{IPOwnershipToken__factory.ts → IQiAvax__factory.ts} +73 -60
  402. package/typechain-types/factories/IQiErc20__factory.ts +117 -0
  403. package/typechain-types/factories/IQiToken__factory.ts +117 -0
  404. package/typechain-types/factories/IRewardManager__factory.ts +8 -45
  405. package/typechain-types/factories/ISuperComposableYield__factory.ts +201 -138
  406. package/typechain-types/factories/IWXBTRFLY__factory.ts +13 -0
  407. package/typechain-types/factories/IWstETH__factory.ts +13 -0
  408. package/typechain-types/factories/IYearnVault__factory.ts +13 -0
  409. package/typechain-types/factories/InterestManagerYT__factory.ts +50 -0
  410. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +212 -318
  411. package/typechain-types/factories/PendleBtrflyScy__factory.ts +200 -234
  412. package/typechain-types/factories/PendleERC20Permit__factory.ts +405 -0
  413. package/typechain-types/factories/PendleERC20__factory.ts +327 -0
  414. package/typechain-types/factories/PendleERC4626SCY__factory.ts +678 -0
  415. package/typechain-types/factories/{EIP20NonStandardInterface__factory.ts → PendleGaugeControllerBaseUpg__factory.ts} +90 -91
  416. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +334 -0
  417. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +393 -0
  418. package/typechain-types/factories/PendleGauge__factory.ts +32 -268
  419. package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
  420. package/typechain-types/factories/PendleJoeLpSCY__factory.ts +726 -0
  421. package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +0 -13
  422. package/typechain-types/factories/PendleMarketFactory__factory.ts +91 -5
  423. package/typechain-types/factories/PendleMarket__factory.ts +158 -94
  424. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -75
  425. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +99 -0
  426. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +821 -0
  427. package/typechain-types/factories/PendleRouter__factory.ts +1 -23
  428. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +845 -0
  429. package/typechain-types/factories/PendleWstEthSCY__factory.ts +686 -0
  430. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +691 -0
  431. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +42 -29
  432. package/typechain-types/factories/PendleYieldToken__factory.ts +165 -241
  433. package/typechain-types/factories/{PendleRouterSCYAndForgeBaseUpg__factory.ts → RewardManagerAbstract__factory.ts} +22 -19
  434. package/typechain-types/factories/RewardManager__factory.ts +28 -41
  435. package/typechain-types/factories/RouterStatic__factory.ts +2 -2
  436. package/typechain-types/factories/SCYBaseWithRewards__factory.ts +220 -220
  437. package/typechain-types/factories/SCYBase__factory.ts +195 -176
  438. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +328 -0
  439. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +588 -0
  440. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +415 -0
  441. package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +157 -0
  442. package/typechain-types/hardhat.d.ts +308 -155
  443. package/typechain-types/index.ts +84 -50
  444. package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +0 -4
  445. package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +0 -4
  446. package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +0 -4
  447. package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +0 -4
  448. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +0 -4
  449. package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
  450. package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +0 -4
  451. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +0 -4
  452. package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +0 -842
  453. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +0 -4
  454. package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +0 -265
  455. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +0 -4
  456. package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.json +0 -452
  457. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +0 -4
  458. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +0 -783
  459. package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +0 -4
  460. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +0 -4
  461. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +0 -766
  462. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +0 -4
  463. package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +0 -641
  464. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +0 -4
  465. package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +0 -623
  466. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +0 -4
  467. package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +0 -623
  468. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
  469. package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -339
  470. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +0 -4
  471. package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +0 -808
  472. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  473. package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +0 -862
  474. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.dbg.json +0 -4
  475. package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.json +0 -55
  476. package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +0 -4
  477. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +0 -4
  478. package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +0 -55
  479. package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +0 -4
  480. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +0 -4
  481. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -113
  482. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/IPVotingEscrowController.dbg.json +0 -4
  483. package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/IPVotingEscrowController.json +0 -61
  484. package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.dbg.json +0 -4
  485. package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.json +0 -113
  486. package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.dbg.json +0 -4
  487. package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.dbg.json +0 -4
  488. package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.json +0 -61
  489. package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.dbg.json +0 -4
  490. package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +0 -4
  491. package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +0 -4
  492. package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +0 -4
  493. package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +0 -4
  494. package/contracts/SuperComposableYield/ISuperComposableYield.sol +0 -80
  495. package/contracts/SuperComposableYield/SCYUtils.sol +0 -14
  496. package/contracts/SuperComposableYield/implementations/IRewardManager.sol +0 -16
  497. package/contracts/SuperComposableYield/implementations/RewardManager.sol +0 -151
  498. package/contracts/SuperComposableYield/implementations/SCYBase.sol +0 -166
  499. package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +0 -88
  500. package/contracts/core/PendleBaseToken.sol +0 -35
  501. package/contracts/core/PendlePrincipalToken.sol +0 -54
  502. package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +0 -140
  503. package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +0 -133
  504. package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +0 -120
  505. package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +0 -107
  506. package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +0 -109
  507. package/contracts/core/PendleYieldToken.sol +0 -340
  508. package/contracts/core/actions/ActionRedeem.sol +0 -36
  509. package/contracts/core/actions/base/ActionType.sol +0 -11
  510. package/contracts/interfaces/IPActionRedeem.sol +0 -17
  511. package/contracts/interfaces/IPBaseToken.sol +0 -9
  512. package/contracts/interfaces/IPGauge.sol +0 -32
  513. package/contracts/interfaces/IPVotingEscrowController.sol +0 -14
  514. package/contracts/interfaces/IPendleGauge.sol +0 -32
  515. package/contracts/interfaces/IVePToken.sol +0 -14
  516. package/contracts/interfaces/IVotingEscrowController.sol +0 -14
  517. package/contracts/interfaces/IVotingEscrowPendle.sol +0 -32
  518. package/contracts/libraries/math/MarketMathAux.sol +0 -101
  519. package/deployments/kovan.json +0 -31
  520. package/typechain-types/ActionRedeem.ts +0 -125
  521. package/typechain-types/AggregatorV2V3Interface.ts +0 -380
  522. package/typechain-types/BenqiChainlinkOracle.ts +0 -362
  523. package/typechain-types/BoringOwnable.ts +0 -194
  524. package/typechain-types/BoringOwnableData.ts +0 -100
  525. package/typechain-types/BoringOwnableUpg.ts +0 -194
  526. package/typechain-types/BoringOwnableUpgData.ts +0 -100
  527. package/typechain-types/Comptroller.ts +0 -2860
  528. package/typechain-types/ComptrollerErrorReporter.ts +0 -70
  529. package/typechain-types/ComptrollerInterface.ts +0 -881
  530. package/typechain-types/ComptrollerVXStorage.ts +0 -781
  531. package/typechain-types/CrosschainContract.ts +0 -113
  532. package/typechain-types/CrosschainReceiver.ts +0 -347
  533. package/typechain-types/CrosschainSender.ts +0 -210
  534. package/typechain-types/EIP20Interface.ts +0 -337
  535. package/typechain-types/EIP20NonStandardInterface.ts +0 -298
  536. package/typechain-types/ERC20Locker.ts +0 -91
  537. package/typechain-types/EpochController.ts +0 -195
  538. package/typechain-types/FundKeeper.ts +0 -347
  539. package/typechain-types/GaugeTypeControllerAbstract.ts +0 -546
  540. package/typechain-types/GaugeTypeControllerCrosschain.ts +0 -733
  541. package/typechain-types/GaugeTypeControllerMainchain.ts +0 -604
  542. package/typechain-types/ILiquidYieldToken.ts +0 -639
  543. package/typechain-types/IMessageBus.ts +0 -543
  544. package/typechain-types/IPActionRedeem.ts +0 -125
  545. package/typechain-types/IPFlashCallback.ts +0 -115
  546. package/typechain-types/IPGauge.ts +0 -241
  547. package/typechain-types/IPLiquidYieldToken.ts +0 -641
  548. package/typechain-types/IPMarketCallback.ts +0 -107
  549. package/typechain-types/IPOwnershipToken.ts +0 -488
  550. package/typechain-types/IPRouterCore.ts +0 -769
  551. package/typechain-types/IPRouterRedeem.ts +0 -155
  552. package/typechain-types/IPRouterYT.ts +0 -489
  553. package/typechain-types/IPVotingEscrowController.ts +0 -154
  554. package/typechain-types/IPendleGauge.ts +0 -241
  555. package/typechain-types/IPermissionsV2.ts +0 -87
  556. package/typechain-types/IRainbowBridge.ts +0 -91
  557. package/typechain-types/ISCYRewardIndex.ts +0 -695
  558. package/typechain-types/IVEPendleToken.ts +0 -121
  559. package/typechain-types/IVotingEscrowPendle.ts +0 -297
  560. package/typechain-types/IXPendle.ts +0 -114
  561. package/typechain-types/JumpRateModel.ts +0 -347
  562. package/typechain-types/LYTBase.ts +0 -721
  563. package/typechain-types/LYTWrap.ts +0 -872
  564. package/typechain-types/LYTWrapWithRewards.ts +0 -979
  565. package/typechain-types/LiquidityMining.ts +0 -468
  566. package/typechain-types/Maximillion.ts +0 -145
  567. package/typechain-types/Ownable.ts +0 -160
  568. package/typechain-types/PendleBenQiErc20SCY.ts +0 -1050
  569. package/typechain-types/PendleBenqiLiquidYieldToken.ts +0 -1013
  570. package/typechain-types/PendleBtrflyLYT.ts +0 -781
  571. package/typechain-types/PendleJoeSwapHelper.ts +0 -92
  572. package/typechain-types/PendleLYTMockYT.ts +0 -894
  573. package/typechain-types/PendleLiquidYieldToken.ts +0 -814
  574. package/typechain-types/PendleLiquidYieldTokenBase.ts +0 -941
  575. package/typechain-types/PendleOwnershipToken.ts +0 -598
  576. package/typechain-types/PendleRouter01.ts +0 -184
  577. package/typechain-types/PendleRouter02.ts +0 -564
  578. package/typechain-types/PendleRouter03.ts +0 -224
  579. package/typechain-types/PendleRouterBase.ts +0 -126
  580. package/typechain-types/PendleRouterCore.ts +0 -328
  581. package/typechain-types/PendleRouterCoreUpg.ts +0 -798
  582. package/typechain-types/PendleRouterLytAndForge.ts +0 -331
  583. package/typechain-types/PendleRouterMarketBase.ts +0 -82
  584. package/typechain-types/PendleRouterOT.ts +0 -463
  585. package/typechain-types/PendleRouterProxy.ts +0 -335
  586. package/typechain-types/PendleRouterRawTokenOT.ts +0 -865
  587. package/typechain-types/PendleRouterRawTokenYT.ts +0 -520
  588. package/typechain-types/PendleRouterRedeemUpg.ts +0 -125
  589. package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +0 -98
  590. package/typechain-types/PendleRouterStaticUpg.ts +0 -399
  591. package/typechain-types/PendleRouterYT.ts +0 -227
  592. package/typechain-types/PendleRouterYTBaseUpg.ts +0 -134
  593. package/typechain-types/PendleRouterYTUpg.ts +0 -537
  594. package/typechain-types/PendleStEthSCY.ts +0 -872
  595. package/typechain-types/PendleYearnVaultLYT.ts +0 -723
  596. package/typechain-types/PendleYearnVaultScy.ts +0 -875
  597. package/typechain-types/PglStakingContract.ts +0 -662
  598. package/typechain-types/PglStakingContractProxy.ts +0 -256
  599. package/typechain-types/PglStakingContractProxyStorage.ts +0 -136
  600. package/typechain-types/PglStakingContractStorage.ts +0 -397
  601. package/typechain-types/PriceOracle.ts +0 -116
  602. package/typechain-types/ProtocolFakeUser.ts +0 -105
  603. package/typechain-types/Qi.ts +0 -760
  604. package/typechain-types/QiAvax.ts +0 -1720
  605. package/typechain-types/QiDelegateInterface.ts +0 -145
  606. package/typechain-types/QiDelegationStorage.ts +0 -82
  607. package/typechain-types/QiDelegatorInterface.ts +0 -149
  608. package/typechain-types/QiErc20.ts +0 -1846
  609. package/typechain-types/QiErc20Delegate.ts +0 -1926
  610. package/typechain-types/QiErc20Delegator.ts +0 -1885
  611. package/typechain-types/QiErc20Interface.ts +0 -382
  612. package/typechain-types/QiErc20Storage.ts +0 -79
  613. package/typechain-types/QiToken.ts +0 -1475
  614. package/typechain-types/QiTokenInterface.ts +0 -1419
  615. package/typechain-types/QiTokenSaleDistributor.ts +0 -771
  616. package/typechain-types/QiTokenSaleDistributorProxy.ts +0 -256
  617. package/typechain-types/QiTokenSaleDistributorProxyStorage.ts +0 -136
  618. package/typechain-types/QiTokenSaleDistributorStorage.ts +0 -401
  619. package/typechain-types/QiTokenStorage.ts +0 -311
  620. package/typechain-types/ReentrancyGuard.ts +0 -52
  621. package/typechain-types/SingleGaugeTypeController.ts +0 -478
  622. package/typechain-types/TokenErrorReporter.ts +0 -70
  623. package/typechain-types/Unitroller.ts +0 -356
  624. package/typechain-types/UnitrollerAdminStorage.ts +0 -143
  625. package/typechain-types/VePendle.ts +0 -1156
  626. package/typechain-types/VePendleCrosschain.ts +0 -969
  627. package/typechain-types/VePendleToken.ts +0 -688
  628. package/typechain-types/VotingController.ts +0 -883
  629. package/typechain-types/VotingEscrowController.ts +0 -154
  630. package/typechain-types/WETH9.ts +0 -414
  631. package/typechain-types/WhitePaperInterestRateModel.ts +0 -304
  632. package/typechain-types/XPendle.ts +0 -618
  633. package/typechain-types/factories/ActionRedeem__factory.ts +0 -105
  634. package/typechain-types/factories/AggregatorV2V3Interface__factory.ts +0 -288
  635. package/typechain-types/factories/BenqiChainlinkOracle__factory.ts +0 -311
  636. package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
  637. package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
  638. package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
  639. package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
  640. package/typechain-types/factories/ComptrollerErrorReporter__factory.ts +0 -93
  641. package/typechain-types/factories/ComptrollerInterface__factory.ts +0 -595
  642. package/typechain-types/factories/ComptrollerVXStorage__factory.ts +0 -610
  643. package/typechain-types/factories/Comptroller__factory.ts +0 -2189
  644. package/typechain-types/factories/CrosschainContract__factory.ts +0 -52
  645. package/typechain-types/factories/EIP20Interface__factory.ts +0 -248
  646. package/typechain-types/factories/ERC20Locker__factory.ts +0 -73
  647. package/typechain-types/factories/ERC20Premined__factory.ts +0 -393
  648. package/typechain-types/factories/ERC20PresetFixedSupply__factory.ts +0 -422
  649. package/typechain-types/factories/EpochController__factory.ts +0 -170
  650. package/typechain-types/factories/FundKeeper__factory.ts +0 -212
  651. package/typechain-types/factories/GaugeTypeControllerAbstract__factory.ts +0 -387
  652. package/typechain-types/factories/GaugeTypeControllerCrosschain__factory.ts +0 -522
  653. package/typechain-types/factories/GaugeTypeControllerMainchain__factory.ts +0 -431
  654. package/typechain-types/factories/IGaugeController__factory.ts +0 -45
  655. package/typechain-types/factories/ILiquidYieldTokenWrap__factory.ts +0 -533
  656. package/typechain-types/factories/ILiquidYieldToken__factory.ts +0 -429
  657. package/typechain-types/factories/IMessageBus__factory.ts +0 -396
  658. package/typechain-types/factories/IPActionRedeem__factory.ts +0 -70
  659. package/typechain-types/factories/IPBaseToken__factory.ts +0 -271
  660. package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
  661. package/typechain-types/factories/IPLiquidYieldToken__factory.ts +0 -433
  662. package/typechain-types/factories/IPMarketCallback__factory.ts +0 -55
  663. package/typechain-types/factories/IPRouterCore__factory.ts +0 -531
  664. package/typechain-types/factories/IPRouterRedeem__factory.ts +0 -72
  665. package/typechain-types/factories/IPRouterYT__factory.ts +0 -305
  666. package/typechain-types/factories/IPVotingEscrowController__factory.ts +0 -80
  667. package/typechain-types/factories/IPendleGauge__factory.ts +0 -125
  668. package/typechain-types/factories/IPermissionsV2__factory.ts +0 -39
  669. package/typechain-types/factories/IRainbowBridge__factory.ts +0 -76
  670. package/typechain-types/factories/ISCYRewardIndex__factory.ts +0 -465
  671. package/typechain-types/factories/IVEPendleToken__factory.ts +0 -71
  672. package/typechain-types/factories/IVePToken__factory.ts +0 -55
  673. package/typechain-types/factories/IVotingEscrowPendle__factory.ts +0 -182
  674. package/typechain-types/factories/IXPendle__factory.ts +0 -61
  675. package/typechain-types/factories/JumpRateModel__factory.ts +0 -334
  676. package/typechain-types/factories/LYTBaseWithRewards__factory.ts +0 -530
  677. package/typechain-types/factories/LYTBase__factory.ts +0 -474
  678. package/typechain-types/factories/LYTWrapWithRewards__factory.ts +0 -643
  679. package/typechain-types/factories/LYTWrap__factory.ts +0 -574
  680. package/typechain-types/factories/LiquidityMining__factory.ts +0 -367
  681. package/typechain-types/factories/Maximillion__factory.ts +0 -125
  682. package/typechain-types/factories/Ownable__factory.ts +0 -75
  683. package/typechain-types/factories/PendleAaveV3LYT__factory.ts +0 -657
  684. package/typechain-types/factories/PendleBenQiErc20LYT__factory.ts +0 -748
  685. package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +0 -871
  686. package/typechain-types/factories/PendleBenqiLiquidYieldToken__factory.ts +0 -785
  687. package/typechain-types/factories/PendleBtrflyLYT__factory.ts +0 -647
  688. package/typechain-types/factories/PendleJoeSwapHelper__factory.ts +0 -52
  689. package/typechain-types/factories/PendleLYTMockYT__factory.ts +0 -732
  690. package/typechain-types/factories/PendleLiquidYieldTokenBase__factory.ts +0 -603
  691. package/typechain-types/factories/PendleLiquidYieldToken__factory.ts +0 -510
  692. package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
  693. package/typechain-types/factories/PendleRouter01__factory.ts +0 -152
  694. package/typechain-types/factories/PendleRouter02__factory.ts +0 -438
  695. package/typechain-types/factories/PendleRouter03__factory.ts +0 -190
  696. package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
  697. package/typechain-types/factories/PendleRouterCore__factory.ts +0 -268
  698. package/typechain-types/factories/PendleRouterLytAndForge__factory.ts +0 -294
  699. package/typechain-types/factories/PendleRouterMarketBase__factory.ts +0 -43
  700. package/typechain-types/factories/PendleRouterOT__factory.ts +0 -372
  701. package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
  702. package/typechain-types/factories/PendleRouterRawTokenOT__factory.ts +0 -697
  703. package/typechain-types/factories/PendleRouterRawTokenYT__factory.ts +0 -431
  704. package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +0 -112
  705. package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
  706. package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
  707. package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
  708. package/typechain-types/factories/PendleRouterYT__factory.ts +0 -184
  709. package/typechain-types/factories/PendleStEthSCY__factory.ts +0 -716
  710. package/typechain-types/factories/PendleYTLYTBenqi__factory.ts +0 -713
  711. package/typechain-types/factories/PendleYearnVaultLYT__factory.ts +0 -586
  712. package/typechain-types/factories/PendleYearnVaultScy__factory.ts +0 -716
  713. package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
  714. package/typechain-types/factories/PermlessAbstract__factory.ts +0 -30
  715. package/typechain-types/factories/PglStakingContractProxyStorage__factory.ts +0 -130
  716. package/typechain-types/factories/PglStakingContractProxy__factory.ts +0 -187
  717. package/typechain-types/factories/PglStakingContractStorage__factory.ts +0 -309
  718. package/typechain-types/factories/PglStakingContract__factory.ts +0 -446
  719. package/typechain-types/factories/PriceOracle__factory.ts +0 -59
  720. package/typechain-types/factories/ProtocolFakeUser__factory.ts +0 -87
  721. package/typechain-types/factories/QiAvax__factory.ts +0 -1471
  722. package/typechain-types/factories/QiDelegateInterface__factory.ts +0 -65
  723. package/typechain-types/factories/QiDelegationStorage__factory.ts +0 -79
  724. package/typechain-types/factories/QiDelegatorInterface__factory.ts +0 -89
  725. package/typechain-types/factories/QiErc20Delegate__factory.ts +0 -1563
  726. package/typechain-types/factories/QiErc20Delegator__factory.ts +0 -1648
  727. package/typechain-types/factories/QiErc20Interface__factory.ts +0 -239
  728. package/typechain-types/factories/QiErc20Storage__factory.ts +0 -79
  729. package/typechain-types/factories/QiErc20__factory.ts +0 -1515
  730. package/typechain-types/factories/QiTokenInterface__factory.ts +0 -1182
  731. package/typechain-types/factories/QiTokenSaleDistributorProxyStorage__factory.ts +0 -124
  732. package/typechain-types/factories/QiTokenSaleDistributorProxy__factory.ts +0 -171
  733. package/typechain-types/factories/QiTokenSaleDistributorStorage__factory.ts +0 -289
  734. package/typechain-types/factories/QiTokenSaleDistributor__factory.ts +0 -480
  735. package/typechain-types/factories/QiTokenStorage__factory.ts +0 -274
  736. package/typechain-types/factories/QiToken__factory.ts +0 -1219
  737. package/typechain-types/factories/Qi__factory.ts +0 -648
  738. package/typechain-types/factories/ReentrancyGuard__factory.ts +0 -69
  739. package/typechain-types/factories/SingleGaugeTypeController__factory.ts +0 -341
  740. package/typechain-types/factories/TokenErrorReporter__factory.ts +0 -89
  741. package/typechain-types/factories/UnitrollerAdminStorage__factory.ts +0 -128
  742. package/typechain-types/factories/Unitroller__factory.ts +0 -305
  743. package/typechain-types/factories/VePendleCrosschain__factory.ts +0 -727
  744. package/typechain-types/factories/VePendleToken__factory.ts +0 -494
  745. package/typechain-types/factories/VePendle__factory.ts +0 -800
  746. package/typechain-types/factories/VotingController__factory.ts +0 -610
  747. package/typechain-types/factories/VotingEscrowController__factory.ts +0 -80
  748. package/typechain-types/factories/WETH9__factory.ts +0 -342
  749. package/typechain-types/factories/WhitePaperInterestRateModel__factory.ts +0 -281
  750. package/typechain-types/factories/XPendle__factory.ts +0 -473
@@ -0,0 +1,197 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+ import "../../interfaces/ISuperComposableYield.sol";
4
+ import "../../libraries/RewardManager.sol";
5
+ import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
6
+ import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
7
+ import "../../libraries/math/Math.sol";
8
+ import "../../libraries/SCY/SCYUtils.sol";
9
+ import "../../libraries/helpers/TokenHelper.sol";
10
+ import "../../../contracts/core/PendleERC20.sol";
11
+
12
+ abstract contract SCYBase is ISuperComposableYield, PendleERC20, TokenHelper {
13
+ using Math for uint256;
14
+
15
+ address public immutable yieldToken;
16
+
17
+ uint256 public yieldTokenReserve;
18
+
19
+ modifier updateYieldReserve() {
20
+ _;
21
+ _updateYieldReserve();
22
+ }
23
+
24
+ constructor(
25
+ string memory _name,
26
+ string memory _symbol,
27
+ address _yieldToken
28
+ ) PendleERC20(_name, _symbol, 18) {
29
+ yieldToken = _yieldToken;
30
+ }
31
+
32
+ // solhint-disable no-empty-blocks
33
+ receive() external payable {}
34
+
35
+ /*///////////////////////////////////////////////////////////////
36
+ DEPOSIT/REDEEM USING BASE TOKENS
37
+ //////////////////////////////////////////////////////////////*/
38
+
39
+ /**
40
+ * @dev See {ISuperComposableYield-deposit}
41
+ */
42
+ function deposit(
43
+ address receiver,
44
+ address tokenIn,
45
+ uint256 amountTokenToPull,
46
+ uint256 minSharesOut
47
+ ) external payable nonReentrant updateYieldReserve returns (uint256 amountSharesOut) {
48
+ require(isValidBaseToken(tokenIn), "SCY: Invalid tokenIn");
49
+
50
+ if (tokenIn == NATIVE) require(amountTokenToPull == 0, "can't pull eth");
51
+ else if (amountTokenToPull != 0) _transferIn(tokenIn, msg.sender, amountTokenToPull);
52
+
53
+ uint256 amountDeposited = _getFloatingAmount(tokenIn);
54
+
55
+ amountSharesOut = _deposit(tokenIn, amountDeposited);
56
+ require(amountSharesOut >= minSharesOut, "insufficient out");
57
+
58
+ _mint(receiver, amountSharesOut);
59
+ emit Deposit(msg.sender, receiver, tokenIn, amountDeposited, amountSharesOut);
60
+ }
61
+
62
+ /**
63
+ * @dev See {ISuperComposableYield-redeem}
64
+ */
65
+ function redeem(
66
+ address receiver,
67
+ uint256 amountSharesToPull,
68
+ address tokenOut,
69
+ uint256 minTokenOut
70
+ ) external nonReentrant updateYieldReserve returns (uint256 amountTokenOut) {
71
+ require(isValidBaseToken(tokenOut), "SCY: invalid tokenOut");
72
+
73
+ if (amountSharesToPull != 0) {
74
+ _transfer(msg.sender, address(this), amountSharesToPull);
75
+ }
76
+
77
+ uint256 amountSharesToRedeem = _getFloatingAmount(address(this));
78
+
79
+ amountTokenOut = _redeem(tokenOut, amountSharesToRedeem);
80
+ require(amountTokenOut >= minTokenOut, "insufficient out");
81
+
82
+ _burn(address(this), amountSharesToRedeem);
83
+ _transferOut(tokenOut, receiver, amountTokenOut);
84
+
85
+ emit Redeem(msg.sender, receiver, tokenOut, amountSharesToRedeem, amountTokenOut);
86
+ }
87
+
88
+ /**
89
+ * @notice mint shares based on the deposited base tokens
90
+ * @param tokenIn base token address used to mint shares
91
+ * @param amountDeposited amount of base tokens deposited
92
+ * @return amountSharesOut amount of shares minted
93
+ */
94
+ function _deposit(address tokenIn, uint256 amountDeposited)
95
+ internal
96
+ virtual
97
+ returns (uint256 amountSharesOut);
98
+
99
+ /**
100
+ * @notice redeems base tokens based on amount of shares to be burned
101
+ * @param tokenOut address of the base token to be redeemed
102
+ * @param amountSharesToRedeem amount of shares to be burned
103
+ * @return amountTokenOut amount of base tokens redeemed
104
+ */
105
+ function _redeem(address tokenOut, uint256 amountSharesToRedeem)
106
+ internal
107
+ virtual
108
+ returns (uint256 amountTokenOut);
109
+
110
+ /**
111
+ * @notice updates the amount of yield token reserves in this contract
112
+ */
113
+ function _updateYieldReserve() internal virtual {
114
+ yieldTokenReserve = _selfBalance(yieldToken);
115
+ }
116
+
117
+ /**
118
+ * @notice returns the amount of unprocessed tokens owned by this contract
119
+ * @param token address of the token to be queried
120
+ */
121
+ function _getFloatingAmount(address token) internal view virtual returns (uint256) {
122
+ if (token != yieldToken) return _selfBalance(token);
123
+ return _selfBalance(token) - yieldTokenReserve;
124
+ }
125
+
126
+ /*///////////////////////////////////////////////////////////////
127
+ EXCHANGE-RATE
128
+ //////////////////////////////////////////////////////////////*/
129
+
130
+ /**
131
+ * @dev See {ISuperComposableYield-exchangeRate}
132
+ */
133
+ function exchangeRate() external view virtual override returns (uint256 res);
134
+
135
+ /*///////////////////////////////////////////////////////////////
136
+ REWARDS-RELATED
137
+ //////////////////////////////////////////////////////////////*/
138
+
139
+ /**
140
+ * @dev See {ISuperComposableYield-claimRewards}
141
+ */
142
+ function claimRewards(
143
+ address /*user*/
144
+ ) external virtual override returns (uint256[] memory rewardAmounts) {
145
+ rewardAmounts = new uint256[](0);
146
+ }
147
+
148
+ /**
149
+ * @dev See {ISuperComposableYield-getRewardTokens}
150
+ */
151
+ function getRewardTokens()
152
+ external
153
+ view
154
+ virtual
155
+ override
156
+ returns (address[] memory rewardTokens)
157
+ {
158
+ rewardTokens = new address[](0);
159
+ }
160
+
161
+ /**
162
+ * @dev See {ISuperComposableYield-accruredRewards}
163
+ */
164
+ function accruedRewards(
165
+ address /*user*/
166
+ ) external view virtual override returns (uint256[] memory rewardAmounts) {
167
+ rewardAmounts = new uint256[](0);
168
+ }
169
+
170
+ function rewardIndexesCurrent() external virtual override returns (uint256[] memory indexes) {
171
+ indexes = new uint256[](0);
172
+ }
173
+
174
+ function rewardIndexesStored()
175
+ external
176
+ view
177
+ virtual
178
+ override
179
+ returns (uint256[] memory indexes)
180
+ {
181
+ indexes = new uint256[](0);
182
+ }
183
+
184
+ /*///////////////////////////////////////////////////////////////
185
+ MISC METADATA FUNCTIONS
186
+ //////////////////////////////////////////////////////////////*/
187
+
188
+ /**
189
+ * @notice See {ISuperComposableYield-getBaseTokens}
190
+ */
191
+ function getBaseTokens() external view virtual override returns (address[] memory res);
192
+
193
+ /**
194
+ * @dev See {ISuperComposableYield-isValidBaseToken}
195
+ */
196
+ function isValidBaseToken(address token) public view virtual override returns (bool);
197
+ }
@@ -0,0 +1,131 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+ import "../../interfaces/ISuperComposableYield.sol";
4
+ import "../../libraries/RewardManager.sol";
5
+ import "./SCYBase.sol";
6
+ import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
7
+ import "../../libraries/math/Math.sol";
8
+
9
+ /// This contract makes an important assumption that yieldToken is never a rewardToken
10
+ /// Please make sure that assumption always holds
11
+ abstract contract SCYBaseWithRewards is SCYBase, RewardManager {
12
+ using Math for uint256;
13
+ using ArrayLib for address[];
14
+
15
+ constructor(
16
+ string memory _name,
17
+ string memory _symbol,
18
+ address _yieldToken
19
+ )
20
+ SCYBase(_name, _symbol, _yieldToken) // solhint-disable-next-line no-empty-blocks
21
+ {}
22
+
23
+ function _getFloatingAmount(address token) internal view virtual override returns (uint256) {
24
+ // there are only 2 type of tokens stored in the contract: yieldToken & rewardToken. Since
25
+ // this is not yield, it must be reward
26
+ if (token != yieldToken) return _selfBalance(token) - rewardState[token].lastBalance;
27
+ return _selfBalance(token) - yieldTokenReserve;
28
+ }
29
+
30
+ /*///////////////////////////////////////////////////////////////
31
+ REWARDS-RELATED
32
+ //////////////////////////////////////////////////////////////*/
33
+
34
+ /**
35
+ * @dev See {ISuperComposableYield-claimRewards}
36
+ */
37
+ function claimRewards(address user)
38
+ external
39
+ virtual
40
+ override
41
+ nonReentrant
42
+ returns (uint256[] memory rewardAmounts)
43
+ {
44
+ _updateAndDistributeRewards(user);
45
+ rewardAmounts = _doTransferOutRewards(user, user);
46
+
47
+ emit ClaimRewards(user, _getRewardTokens(), rewardAmounts);
48
+ }
49
+
50
+ /**
51
+ * @dev See {ISuperComposableYield-getRewardTokens}
52
+ */
53
+ function getRewardTokens()
54
+ external
55
+ view
56
+ virtual
57
+ override
58
+ returns (address[] memory rewardTokens)
59
+ {
60
+ rewardTokens = _getRewardTokens();
61
+ }
62
+
63
+ /**
64
+ * @dev See {ISuperComposableYield-accruedRewards}
65
+ */
66
+ function accruedRewards(address user)
67
+ external
68
+ view
69
+ virtual
70
+ override
71
+ returns (uint256[] memory rewardAmounts)
72
+ {
73
+ address[] memory rewardTokens = _getRewardTokens();
74
+ rewardAmounts = new uint256[](rewardTokens.length);
75
+ for (uint256 i = 0; i < rewardTokens.length; ) {
76
+ rewardAmounts[i] = userReward[user][rewardTokens[i]].accrued;
77
+ unchecked {
78
+ i++;
79
+ }
80
+ }
81
+ }
82
+
83
+ function rewardIndexesCurrent() external override returns (uint256[] memory indexes) {
84
+ _updateRewardIndex();
85
+ return rewardIndexesStored();
86
+ }
87
+
88
+ function rewardIndexesStored()
89
+ public
90
+ view
91
+ virtual
92
+ override
93
+ returns (uint256[] memory indexes)
94
+ {
95
+ address[] memory rewardTokens = _getRewardTokens();
96
+ indexes = new uint256[](rewardTokens.length);
97
+ for (uint256 i = 0; i < rewardTokens.length; ) {
98
+ indexes[i] = rewardState[rewardTokens[i]].index;
99
+ unchecked {
100
+ i++;
101
+ }
102
+ }
103
+ }
104
+
105
+ /**
106
+ * @notice returns the total number of reward shares
107
+ * @dev this is simply the total supply of shares, as rewards shares are equivalent to SCY shares
108
+ */
109
+ function _rewardSharesTotal() internal view virtual override returns (uint256) {
110
+ return totalSupply();
111
+ }
112
+
113
+ /**
114
+ * @notice returns the reward shares of (`user`)
115
+ * @dev this is simply the SCY balance of (`user`), as rewards shares are equivalent to SCY shares
116
+ */
117
+ function _rewardSharesUser(address user) internal view virtual override returns (uint256) {
118
+ return balanceOf(user);
119
+ }
120
+
121
+ /*///////////////////////////////////////////////////////////////
122
+ TRANSFER HOOKS
123
+ //////////////////////////////////////////////////////////////*/
124
+ function _beforeTokenTransfer(
125
+ address from,
126
+ address to,
127
+ uint256
128
+ ) internal virtual override {
129
+ _updateAndDistributeRewardsForTwo(from, to);
130
+ }
131
+ }
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../../../interfaces/ICelerMessageReceiverApp.sol";
5
+ import "../../../periphery/PermissionsV2Upg.sol";
6
+
7
+ // solhint-disable no-empty-blocks
8
+ /// This contract is upgradable because
9
+ /// - its constructor only sets immutable variables
10
+ /// - it has storage gaps for safe addition of future variables
11
+ /// - it inherits only upgradable contract
12
+ abstract contract CelerReceiverUpg is ICelerMessageReceiverApp, PermissionsV2Upg {
13
+ address public celerMessageBus;
14
+ address public originAddress;
15
+ uint256 public originChainId;
16
+
17
+ uint256[100] private __gap;
18
+
19
+ constructor(address _governanceManager) PermissionsV2Upg(_governanceManager) {}
20
+
21
+ modifier onlyCelerOrGov() {
22
+ require(
23
+ msg.sender == celerMessageBus || msg.sender == _governance(),
24
+ "only celer message bus or gov"
25
+ );
26
+ _;
27
+ }
28
+
29
+ function setOrigin(address _addr, uint256 _chainId) external onlyGovernance {
30
+ originAddress = _addr;
31
+ originChainId = _chainId;
32
+ }
33
+
34
+ function setCelerMessageBus(address _celerMessageBus) external onlyGovernance {
35
+ celerMessageBus = _celerMessageBus;
36
+ }
37
+
38
+ function executeMessage(
39
+ address _sender,
40
+ uint64 _srcChainId,
41
+ bytes calldata _message,
42
+ address /* executor */
43
+ ) external payable onlyCelerOrGov returns (ExecutionStatus) {
44
+ // if the message sender is not celer bus, there is no harm to have the transcation failed
45
+ if (_sender != originAddress || _srcChainId != originChainId) {
46
+ return ExecutionStatus.Fail;
47
+ }
48
+ _executeMessage(_message);
49
+ return ExecutionStatus.Success;
50
+ }
51
+
52
+ function _executeMessage(bytes memory message) internal virtual;
53
+ }
@@ -0,0 +1,59 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../../../interfaces/ICelerMessageBus.sol";
5
+ import "../../../periphery/PermissionsV2Upg.sol";
6
+ import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
7
+
8
+ // solhint-disable no-empty-blocks
9
+ /// This contract is upgradable because
10
+ /// - its constructor only sets immutable variables
11
+ /// - it has storage gaps for safe addition of future variables
12
+ /// - it inherits only upgradable contract
13
+ abstract contract CelerSenderUpg is PermissionsV2Upg {
14
+ using EnumerableMap for EnumerableMap.UintToAddressMap;
15
+
16
+ ICelerMessageBus public celerMessageBus;
17
+
18
+ EnumerableMap.UintToAddressMap internal sidechainContracts;
19
+
20
+ uint256[100] private __gap;
21
+
22
+ constructor(address _governanceManager) PermissionsV2Upg(_governanceManager) {}
23
+
24
+ function setCelerMessageBus(address _celerMessageBus) external onlyGovernance {
25
+ celerMessageBus = ICelerMessageBus(_celerMessageBus);
26
+ }
27
+
28
+ function _sendMessage(uint256 chainId, bytes memory message) internal {
29
+ assert(sidechainContracts.contains(chainId));
30
+ address toAddr = sidechainContracts.get(chainId);
31
+ uint256 fee = celerMessageBus.calcFee(message);
32
+ celerMessageBus.sendMessage{ value: fee }(toAddr, chainId, message);
33
+ }
34
+
35
+ function _afterAddSidechainContract(address addr, uint256 chainId) internal virtual {}
36
+
37
+ function addSidechainContract(address _address, uint256 _chainId)
38
+ external
39
+ payable
40
+ onlyGovernance
41
+ {
42
+ sidechainContracts.set(_chainId, _address);
43
+ _afterAddSidechainContract(_address, _chainId);
44
+ }
45
+
46
+ function getAllSidechainContracts()
47
+ public
48
+ view
49
+ returns (uint256[] memory chainIds, address[] memory addrs)
50
+ {
51
+ uint256 length = sidechainContracts.length();
52
+ chainIds = new uint256[](length);
53
+ addrs = new address[](length);
54
+
55
+ for (uint256 i = 0; i < length; ++i) {
56
+ (chainIds[i], addrs[i]) = sidechainContracts.at(i);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,146 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../../../interfaces/IPGaugeController.sol";
5
+ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
6
+ import "../../../libraries/math/Math.sol";
7
+ import "../../../libraries/math/WeekMath.sol";
8
+ import "../../../interfaces/IPGaugeController.sol";
9
+ import "../../../interfaces/IPMarketFactory.sol";
10
+ import "../../../periphery/PermissionsV2Upg.sol";
11
+ import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
12
+
13
+ /**
14
+ * @dev Gauge controller provides no write function to any party other than voting controller
15
+ * @dev Gauge controller will receive (lpTokens[], pendle per sec[]) from voting controller and
16
+ * set it directly to contract state
17
+ *
18
+ * @dev All of the core data in this function will be set to private to prevent unintended assignments
19
+ * on inheritting contracts
20
+ */
21
+
22
+ /// This contract is upgradable because
23
+ /// - its constructor only sets immutable variables
24
+ /// - it has storage gaps for safe addition of future variables
25
+ /// - it inherits only upgradable contract
26
+ abstract contract PendleGaugeControllerBaseUpg is IPGaugeController, PermissionsV2Upg {
27
+ using SafeERC20 for IERC20;
28
+ using Math for uint256;
29
+ using EnumerableSet for EnumerableSet.AddressSet;
30
+
31
+ struct MarketRewardData {
32
+ uint128 pendlePerSec;
33
+ uint128 accumulatedPendle;
34
+ uint128 lastUpdated;
35
+ uint128 incentiveEndsAt;
36
+ }
37
+
38
+ uint128 public constant WEEK = 1 weeks;
39
+
40
+ address public immutable pendle;
41
+ IPMarketFactory public immutable marketFactory;
42
+
43
+ mapping(address => MarketRewardData) public rewardData;
44
+ mapping(uint128 => bool) public epochRewardReceived;
45
+
46
+ uint256[100] private __gap;
47
+
48
+ modifier onlyPendleMarket() {
49
+ require(marketFactory.isValidMarket(msg.sender), "invalid market");
50
+ _;
51
+ }
52
+
53
+ constructor(address _pendle, address _marketFactory) {
54
+ pendle = _pendle;
55
+ marketFactory = IPMarketFactory(_marketFactory);
56
+ }
57
+
58
+ /**
59
+ * @notice claim the rewards allocated by gaugeController
60
+ * @dev pre-condition: onlyPendleMarket can call it
61
+ * @dev state changes expected:
62
+ - rewardData[market] is updated with the data up to now
63
+ - all accumulatedPendle is transferred out & the accumulatedPendle is set to 0
64
+ */
65
+ function claimMarketReward() external onlyPendleMarket {
66
+ address market = msg.sender;
67
+ rewardData[market] = _getUpdatedMarketReward(market);
68
+
69
+ uint256 amount = rewardData[market].accumulatedPendle;
70
+ if (amount != 0) {
71
+ rewardData[market].accumulatedPendle = 0;
72
+ IERC20(pendle).safeTransfer(market, amount);
73
+ }
74
+
75
+ emit MarketClaimReward(market, amount);
76
+ }
77
+
78
+ function fundPendle(uint256 amount) external {
79
+ IERC20(pendle).safeTransferFrom(msg.sender, address(this), amount);
80
+ }
81
+
82
+ function withdrawPendle(uint256 amount) external onlyGovernance {
83
+ IERC20(pendle).safeTransfer(msg.sender, amount);
84
+ }
85
+
86
+ /**
87
+ * @notice receive voting results from VotingController. Can handle duplicated messages fine by only accepting the first
88
+ message for that timestamp
89
+ * @dev state changes expected:
90
+ - epochRewardReceived is marked as true
91
+ - rewardData is updated for all markets in markets[]
92
+ */
93
+ function _receiveVotingResults(
94
+ uint128 wTime,
95
+ address[] memory markets,
96
+ uint256[] memory pendleAmounts
97
+ ) internal {
98
+ require(markets.length == pendleAmounts.length, "invalid markets length");
99
+
100
+ if (epochRewardReceived[wTime]) return; // only accept the first message for the wTime
101
+ epochRewardReceived[wTime] = true;
102
+
103
+ for (uint256 i = 0; i < markets.length; ++i) {
104
+ _addRewardsToMarket(markets[i], uint128(pendleAmounts[i]));
105
+ }
106
+
107
+ emit ReceiveVotingResults(wTime, markets, pendleAmounts);
108
+ }
109
+
110
+ /**
111
+ * @notice merge the additional rewards with the existing rewards
112
+ * @dev this function will calc the total amount of Pendle that hasn't been factored into accumulatedPendle yet,
113
+ combined them with the additional pendleAmount, then divide them equally over the next one week
114
+ * @dev expected state changes:
115
+ - rewardData of the market is updated
116
+ */
117
+ function _addRewardsToMarket(address market, uint128 pendleAmount) internal {
118
+ MarketRewardData memory rwd = _getUpdatedMarketReward(market);
119
+ uint128 leftover = (rwd.incentiveEndsAt - rwd.lastUpdated) * rwd.pendlePerSec;
120
+ uint128 newSpeed = (leftover + pendleAmount) / WEEK;
121
+
122
+ rewardData[market] = MarketRewardData({
123
+ pendlePerSec: newSpeed,
124
+ accumulatedPendle: rwd.accumulatedPendle,
125
+ lastUpdated: uint128(block.timestamp),
126
+ incentiveEndsAt: uint128(block.timestamp) + WEEK
127
+ });
128
+ }
129
+
130
+ /**
131
+ * @notice get the updated state of the market, to the current time with all the undistributed Pendle distributed to the
132
+ accumulatedPendle
133
+ * @dev expect to update accumulatedPendle & lastUpdated in MarketRewardData
134
+ */
135
+ function _getUpdatedMarketReward(address market)
136
+ internal
137
+ view
138
+ returns (MarketRewardData memory)
139
+ {
140
+ MarketRewardData memory rwd = rewardData[market];
141
+ uint128 newLastUpdated = uint128(Math.min(uint128(block.timestamp), rwd.incentiveEndsAt));
142
+ rwd.accumulatedPendle += rwd.pendlePerSec * (newLastUpdated - rwd.lastUpdated);
143
+ rwd.lastUpdated = newLastUpdated;
144
+ return rwd;
145
+ }
146
+ }
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "./PendleGaugeControllerBaseUpg.sol";
5
+
6
+ /// This contract is upgradable because
7
+ /// - its constructor only sets immutable variables
8
+ /// - it inherits only upgradable contract
9
+ contract PendleGaugeControllerMainchainUpg is PendleGaugeControllerBaseUpg {
10
+ address public immutable votingController;
11
+
12
+ modifier onlyVotingController() {
13
+ require(msg.sender == votingController, "not voting controller");
14
+ _;
15
+ }
16
+
17
+ constructor(
18
+ address _votingController,
19
+ address _pendle,
20
+ address _marketFactory,
21
+ address _governanceManager
22
+ ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) PermissionsV2Upg(_governanceManager) {
23
+ votingController = _votingController;
24
+ }
25
+
26
+ function updateVotingResults(
27
+ uint128 wTime,
28
+ address[] memory markets,
29
+ uint256[] memory pendleSpeeds
30
+ ) external onlyVotingController {
31
+ _receiveVotingResults(wTime, markets, pendleSpeeds);
32
+ }
33
+ }
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "./PendleGaugeControllerBaseUpg.sol";
5
+ import "../CelerAbstracts/CelerReceiverUpg.sol";
6
+
7
+ // solhint-disable no-empty-blocks
8
+
9
+ /// This contract is upgradable because
10
+ /// - its constructor only sets immutable variables
11
+ /// - it inherits only upgradable contract
12
+ contract PendleGaugeControllerSidechainUpg is PendleGaugeControllerBaseUpg, CelerReceiverUpg {
13
+ constructor(
14
+ address _pendle,
15
+ address _marketFactory,
16
+ address _governanceManager
17
+ ) PendleGaugeControllerBaseUpg(_pendle, _marketFactory) CelerReceiverUpg(_governanceManager) {}
18
+
19
+ function _executeMessage(bytes memory message) internal virtual override {
20
+ (uint128 wTime, address[] memory markets, uint256[] memory pendleAmounts) = abi.decode(
21
+ message,
22
+ (uint128, address[], uint256[])
23
+ );
24
+ _receiveVotingResults(wTime, markets, pendleAmounts);
25
+ }
26
+ }