@pendle/core-v2 1.1.1-mainnet → 1.2.0-testnet

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 (636) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +3 -3
  16. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +4 -0
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +592 -0
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  41. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  43. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  46. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  48. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.json +141 -0
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.json +141 -0
  55. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +4 -0
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.json +10 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +143 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +1218 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +4 -0
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +1192 -0
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +4 -0
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +10 -0
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +4 -0
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +40 -0
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +322 -0
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +4 -0
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json +1171 -0
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +10 -0
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +4 -0
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.json +133 -0
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +143 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +143 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +143 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.json +141 -0
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +4 -0
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.json +50 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +143 -2
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +143 -2
  97. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  102. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  104. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  105. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  106. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  107. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  108. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  112. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  113. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  114. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  115. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  116. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +171 -5
  122. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +4 -0
  129. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.json +10 -0
  130. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +4 -0
  131. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.json +24 -0
  132. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +4 -0
  133. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.json +133 -0
  134. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +4 -0
  135. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.json +328 -0
  136. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +4 -0
  137. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.json +467 -0
  138. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +4 -0
  139. package/build/artifacts/contracts/interfaces/{IPFeeDistributorFactory.sol/IPFeeDistributorFactory.json → Balancer/IGauge.sol/IGauge.json} +18 -33
  140. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +4 -0
  141. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.json +30 -0
  142. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +4 -0
  143. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.json +398 -0
  144. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +4 -0
  145. package/build/artifacts/contracts/{router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json → interfaces/Balancer/IRateProvider.sol/IRateProvider.json} +5 -5
  146. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +4 -0
  147. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.json +278 -0
  148. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.json +18 -0
  153. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  156. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.json +308 -0
  157. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  158. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +43 -0
  159. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  160. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.json +201 -0
  161. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  162. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  163. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +4 -0
  167. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.json +48 -0
  168. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  173. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  174. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  175. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  176. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  182. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  185. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  186. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  187. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  189. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  190. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  191. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  193. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  195. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.json +43 -32
  200. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  206. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  207. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  221. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  222. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  239. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  240. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  241. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +2 -28
  246. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +4 -0
  247. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +322 -0
  248. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
  249. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
  250. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +144 -60
  252. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  254. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  255. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  256. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  257. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  258. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  259. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  260. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  262. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  264. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  265. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  266. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  268. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  271. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  273. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  274. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  275. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  276. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  277. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  278. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  279. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +4 -0
  280. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +72 -0
  281. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +4 -0
  282. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json +10 -0
  283. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +4 -0
  284. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +10 -0
  285. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  286. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  287. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  288. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +388 -0
  289. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +4 -0
  290. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.json +101 -0
  291. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  292. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  293. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +0 -1
  294. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +9 -9
  295. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +224 -0
  296. package/contracts/core/BulkSeller/BulkSeller.sol +1 -1
  297. package/contracts/core/RewardManager/RewardManager.sol +1 -1
  298. package/contracts/core/StandardizedYield/SYBase.sol +23 -5
  299. package/contracts/core/StandardizedYield/StEthHelper.sol +71 -0
  300. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +134 -0
  301. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +154 -0
  302. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol +68 -0
  303. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +322 -0
  304. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +390 -0
  305. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +329 -0
  306. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +30 -0
  307. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +189 -0
  308. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +142 -0
  309. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +224 -0
  310. package/contracts/core/StandardizedYield/implementations/GLP/README.md +61 -0
  311. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +138 -0
  312. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +10 -0
  313. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  314. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  315. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  316. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +485 -0
  317. package/contracts/core/libraries/ArrayLib.sol +27 -3
  318. package/contracts/core/libraries/Errors.sol +18 -4
  319. package/contracts/core/libraries/TokenHelper.sol +10 -0
  320. package/contracts/interfaces/Balancer/IAsset.sol +4 -0
  321. package/contracts/interfaces/Balancer/IBalancerFees.sol +6 -0
  322. package/contracts/interfaces/Balancer/IBalancerStablePreview.sol +22 -0
  323. package/contracts/interfaces/Balancer/IBasePool.sol +30 -0
  324. package/contracts/interfaces/Balancer/IComposableStable.sol +39 -0
  325. package/contracts/interfaces/Balancer/IGauge.sol +10 -0
  326. package/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol +6 -0
  327. package/contracts/interfaces/Balancer/IMetaStablePool.sol +31 -0
  328. package/contracts/interfaces/Balancer/IRateProvider.sol +6 -0
  329. package/contracts/interfaces/Balancer/IVault.sol +78 -0
  330. package/contracts/interfaces/ConvexCurve/IRewards.sol +5 -0
  331. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  332. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  333. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  334. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  335. package/contracts/interfaces/IAddressProvider.sol +7 -0
  336. package/contracts/interfaces/IDiamondCut.sol +36 -0
  337. package/contracts/interfaces/IDiamondLoupe.sol +38 -0
  338. package/contracts/interfaces/IERC4626.sol +2 -0
  339. package/contracts/interfaces/IPActionAddRemoveLiq.sol +36 -1
  340. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  341. package/contracts/interfaces/IPActionMarketAuxStatic.sol +30 -0
  342. package/contracts/interfaces/IPActionMarketCoreStatic.sol +317 -0
  343. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  344. package/contracts/interfaces/IPActionMintRedeemStatic.sol +60 -0
  345. package/contracts/interfaces/IPActionMisc.sol +18 -4
  346. package/contracts/interfaces/IPActionStorageStatic.sol +25 -0
  347. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  348. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  349. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  350. package/contracts/interfaces/IPAllAction.sol +5 -3
  351. package/contracts/interfaces/IPFeeDistributor.sol +12 -10
  352. package/contracts/interfaces/IPInterestManagerYTV2.sol +13 -0
  353. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  354. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  355. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  356. package/contracts/interfaces/IPVotingController.sol +6 -0
  357. package/contracts/interfaces/IPYieldTokenV2.sol +66 -0
  358. package/contracts/interfaces/IStandardizedYield.sol +1 -1
  359. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  360. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  361. package/contracts/offchain-helpers/Multicall2.sol +103 -0
  362. package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
  363. package/contracts/offchain-helpers/{MarketMathStatic.sol → legacy/MarketMathStatic.sol} +2 -2
  364. package/contracts/offchain-helpers/{RouterStatic.sol → legacy/RouterStatic.sol} +7 -7
  365. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  366. package/contracts/offchain-helpers/router-static/StorageLayout.sol +21 -0
  367. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +125 -0
  368. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +166 -0
  369. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +769 -0
  370. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +166 -0
  371. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +75 -0
  372. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  373. package/contracts/router/ActionAddRemoveLiq.sol +116 -6
  374. package/contracts/router/ActionMintRedeem.sol +12 -202
  375. package/contracts/router/ActionMisc.sol +45 -19
  376. package/contracts/router/ActionSwapPT.sol +0 -5
  377. package/contracts/router/ActionSwapYT.sol +103 -13
  378. package/contracts/router/PendleRouter.sol +211 -72
  379. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +47 -47
  380. package/contracts/router/base/ActionBaseMintRedeem.sol +105 -60
  381. package/contracts/router/base/CallbackHelper.sol +137 -44
  382. package/contracts/router/base/MarketApproxLib.sol +227 -350
  383. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +45 -0
  384. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +69 -0
  385. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +25 -0
  386. package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +46 -0
  387. package/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol +214 -0
  388. package/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol +147 -0
  389. package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +17 -0
  390. package/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol +191 -0
  391. package/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol +30 -0
  392. package/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol +42 -0
  393. package/deployments/43113-core.json +30 -0
  394. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  395. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  396. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  397. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  398. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  399. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  400. package/deployments/43113-offchain-helper.json +4 -0
  401. package/deployments/43113-testenv.json +22 -0
  402. package/deployments/80001-core.json +29 -0
  403. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  404. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  405. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  406. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  407. package/deployments/80001-offchain-helper.json +4 -0
  408. package/deployments/80001-testenv.json +22 -0
  409. package/package.json +9 -10
  410. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  411. package/typechain-types/ActionBaseCallback.ts +115 -0
  412. package/typechain-types/ActionMintRedeem.ts +29 -230
  413. package/typechain-types/ActionMisc.ts +77 -27
  414. package/typechain-types/ActionSwapPT.ts +26 -31
  415. package/typechain-types/ActionSwapYT.ts +202 -21
  416. package/typechain-types/AddressProvider.ts +280 -0
  417. package/typechain-types/BribeDistributor.ts +363 -0
  418. package/typechain-types/ComposableStablePreview.ts +217 -0
  419. package/typechain-types/DistributorBase.ts +363 -0
  420. package/typechain-types/FeeDistributor.ts +416 -0
  421. package/typechain-types/GLPPreviewHelper.ts +121 -0
  422. package/typechain-types/GMXPreviewHelper.ts +121 -0
  423. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  424. package/typechain-types/IAddressProvider.ts +123 -0
  425. package/typechain-types/IAggregationExecutor.ts +182 -0
  426. package/typechain-types/IBalancerFees.ts +89 -0
  427. package/typechain-types/IBalancerStablePreview.ts +217 -0
  428. package/typechain-types/IBasePool.ts +482 -0
  429. package/typechain-types/IComposableStable.ts +730 -0
  430. package/typechain-types/IDiamondCut.ts +152 -0
  431. package/typechain-types/IDiamondLoupe.ts +190 -0
  432. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  433. package/typechain-types/IGMXVault.ts +494 -0
  434. package/typechain-types/IGauge.ts +160 -0
  435. package/typechain-types/IGlpManager.ts +115 -0
  436. package/typechain-types/IHashflow.ts +159 -0
  437. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +109 -0
  438. package/typechain-types/ILiquidityGaugeFactory.ts +99 -0
  439. package/typechain-types/IMetaAggregationRouter.ts +213 -0
  440. package/typechain-types/IMetaAggregationRouterV2.ts +221 -0
  441. package/typechain-types/IMetaStablePool.ts +619 -0
  442. package/typechain-types/IMultihopRouterEthereum.ts +209 -0
  443. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  444. package/typechain-types/IPActionMintRedeem.ts +29 -211
  445. package/typechain-types/IPActionMisc.ts +77 -27
  446. package/typechain-types/IPActionSwapPT.ts +26 -12
  447. package/typechain-types/IPActionSwapYT.ts +168 -12
  448. package/typechain-types/IPAllAction.ts +445 -227
  449. package/typechain-types/IPFeeDistributor.ts +61 -78
  450. package/typechain-types/IPFeeDistributorFactory.ts +53 -139
  451. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  452. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  453. package/typechain-types/IPSwapAggregator.ts +126 -0
  454. package/typechain-types/IPYieldTokenV2.ts +901 -0
  455. package/typechain-types/IRateProvider.ts +81 -0
  456. package/typechain-types/IRewardRouterV2.ts +346 -0
  457. package/typechain-types/IRewards.ts +35 -5
  458. package/typechain-types/ISwapAggregator.ts +124 -0
  459. package/typechain-types/IVault.ts +410 -0
  460. package/typechain-types/IVaultPriceFeed.ts +114 -0
  461. package/typechain-types/InterestManagerYTV2.ts +157 -0
  462. package/typechain-types/MetaStableMath.ts +113 -0
  463. package/typechain-types/MetaStablePreview.ts +501 -0
  464. package/typechain-types/Multicall2.ts +437 -0
  465. package/typechain-types/PendleAura3EthSY.ts +1600 -0
  466. package/typechain-types/PendleAuraBalancerStableLPSY.ts +1523 -0
  467. package/typechain-types/PendleAuraCbethWstethSY.ts +1587 -0
  468. package/typechain-types/PendleAuraWethRethSY.ts +1549 -0
  469. package/typechain-types/PendleAuraWethWstethSY.ts +1523 -0
  470. package/typechain-types/PendleConvexLPSY.ts +204 -0
  471. package/typechain-types/PendleCurveFraxUsdcSY.ts +204 -0
  472. package/typechain-types/PendleCurveUsdd3CrvSY.ts +204 -0
  473. package/typechain-types/PendleFeeDistributor.ts +409 -117
  474. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  475. package/typechain-types/PendleGlpSY.ts +1463 -0
  476. package/typechain-types/PendleLooksStakingSY.ts +204 -0
  477. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  478. package/typechain-types/PendleMulticall.ts +110 -0
  479. package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
  480. package/typechain-types/PendleQiTokenSY.ts +204 -0
  481. package/typechain-types/PendleRouter.ts +109 -131
  482. package/typechain-types/PendleSwapAggregator.ts +126 -0
  483. package/typechain-types/PendleWstEthSY.ts +204 -0
  484. package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
  485. package/typechain-types/PendleYieldTokenV2.ts +1298 -0
  486. package/typechain-types/RouterStatic.ts +92 -0
  487. package/typechain-types/SAPE.ts +204 -0
  488. package/typechain-types/SYBase.ts +204 -0
  489. package/typechain-types/SYBaseWithRewards.ts +204 -0
  490. package/typechain-types/StEthHelper.ts +107 -0
  491. package/typechain-types/StablePreviewBase.ts +217 -0
  492. package/typechain-types/SwapAggregator.ts +406 -0
  493. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  494. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  495. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  496. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  497. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  498. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  499. package/typechain-types/factories/ActionSwapPTYT__factory.ts +1 -1
  500. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  501. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  502. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  503. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  504. package/typechain-types/factories/BribeDistributor__factory.ts +303 -0
  505. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  506. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  507. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  508. package/typechain-types/factories/ComposableStablePreview__factory.ts +190 -0
  509. package/typechain-types/factories/DistributorBase__factory.ts +249 -0
  510. package/typechain-types/factories/Errors__factory.ts +170 -4
  511. package/typechain-types/factories/FeeDistributor__factory.ts +339 -0
  512. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  513. package/typechain-types/factories/GMXPreviewHelper__factory.ts +65 -0
  514. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  515. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  516. package/typechain-types/factories/IAggregationExecutor__factory.ts +84 -0
  517. package/typechain-types/factories/IBalancerFees__factory.ts +36 -0
  518. package/typechain-types/factories/IBalancerStablePreview__factory.ts +152 -0
  519. package/typechain-types/factories/IBasePool__factory.ts +340 -0
  520. package/typechain-types/factories/IComposableStable__factory.ts +482 -0
  521. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  522. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  523. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  524. package/typechain-types/factories/IGMXVault__factory.ts +320 -0
  525. package/typechain-types/factories/IGauge__factory.ts +70 -0
  526. package/typechain-types/factories/IGlpManager__factory.ts +55 -0
  527. package/typechain-types/factories/IHashflow__factory.ts +113 -0
  528. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +56 -0
  529. package/typechain-types/factories/ILiquidityGaugeFactory__factory.ts +49 -0
  530. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +234 -0
  531. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +202 -0
  532. package/typechain-types/factories/IMetaStablePool__factory.ts +413 -0
  533. package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +155 -0
  534. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  535. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  536. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  537. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  538. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  539. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  540. package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +25 -34
  541. package/typechain-types/factories/IPFeeDistributor__factory.ts +42 -31
  542. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  543. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  544. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  545. package/typechain-types/factories/IPYieldTokenV2__factory.ts +694 -0
  546. package/typechain-types/factories/IRateProvider__factory.ts +36 -0
  547. package/typechain-types/factories/IRewardRouterV2__factory.ts +216 -0
  548. package/typechain-types/factories/IRewards__factory.ts +18 -0
  549. package/typechain-types/factories/ISwapAggregator__factory.ts +66 -0
  550. package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
  551. package/typechain-types/factories/IVault__factory.ts +287 -0
  552. package/typechain-types/factories/InterestManagerYTV2__factory.ts +81 -0
  553. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  554. package/typechain-types/factories/MetaStableMath__factory.ts +93 -0
  555. package/typechain-types/factories/MetaStablePreview__factory.ts +375 -0
  556. package/typechain-types/factories/Multicall2__factory.ts +372 -0
  557. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  558. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1326 -0
  559. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +1190 -0
  560. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1317 -0
  561. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1291 -0
  562. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1265 -0
  563. package/typechain-types/factories/PendleConvexLPSY__factory.ts +141 -0
  564. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +142 -1
  565. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +142 -1
  566. package/typechain-types/factories/PendleFeeDistributor__factory.ts +341 -66
  567. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  568. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  569. package/typechain-types/factories/PendleGlpSY__factory.ts +1249 -0
  570. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +142 -1
  571. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  572. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  573. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  574. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  575. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  576. package/typechain-types/factories/PendleMulticall__factory.ts +100 -0
  577. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
  578. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  579. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  580. package/typechain-types/factories/PendleQiTokenSY__factory.ts +142 -1
  581. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  582. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  583. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  584. package/typechain-types/factories/PendleWstEthSY__factory.ts +142 -1
  585. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
  586. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  587. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1109 -0
  588. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  589. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  590. package/typechain-types/factories/SAPE__factory.ts +142 -1
  591. package/typechain-types/factories/SYBaseWithRewards__factory.ts +141 -0
  592. package/typechain-types/factories/SYBase__factory.ts +141 -0
  593. package/typechain-types/factories/StEthHelper__factory.ts +62 -0
  594. package/typechain-types/factories/StablePreviewBase__factory.ts +148 -0
  595. package/typechain-types/factories/SwapAggregator__factory.ts +309 -0
  596. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  597. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  598. package/typechain-types/hardhat.d.ts +383 -86
  599. package/typechain-types/index.ts +90 -24
  600. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.dbg.json +0 -4
  601. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol/EpochResultManager.json +0 -131
  602. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  603. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -310
  604. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.dbg.json +0 -4
  605. package/build/artifacts/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol/PendleFeeDistributorFactory.json +0 -389
  606. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  607. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.json +0 -190
  608. package/build/artifacts/contracts/interfaces/IPFeeDistributorFactory.sol/IPFeeDistributorFactory.dbg.json +0 -4
  609. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  610. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  611. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  612. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  613. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  614. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  615. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  616. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json +0 -35
  617. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.dbg.json +0 -4
  618. package/build/artifacts/contracts/router/kyberswap/IMultihopRouter.sol/IMultihopRouter.json +0 -136
  619. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  620. package/contracts/LiquidityMining/FeeDistributor/EpochResultManager.sol +0 -159
  621. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributor.sol +0 -99
  622. package/contracts/LiquidityMining/FeeDistributor/PendleFeeDistributorFactory.sol +0 -70
  623. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  624. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  625. package/contracts/interfaces/IPFeeDistributorFactory.sol +0 -14
  626. package/contracts/router/ActionSwapPTYT.sol +0 -108
  627. package/contracts/router/kyberswap/AggregationRouterHelper.sol +0 -317
  628. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  629. package/contracts/router/kyberswap/IMultihopRouter.sol +0 -139
  630. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  631. package/deployments/1-core.json +0 -29
  632. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  633. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  634. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  635. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  636. package/deployments/1-markets/STETH-MARCH30.json +0 -10
@@ -2,18 +2,20 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  interface IPFeeDistributor {
5
- event Fund(uint256 indexed epoch, uint256 incentive);
5
+ event UpdateFee(address indexed pool, uint256 indexed wTime, uint256 amount);
6
6
 
7
- event ClaimReward(
8
- address indexed user,
9
- address indexed rewardToken,
10
- uint256 lastEpochClaimed,
11
- uint256 totalReward
12
- );
7
+ event ClaimReward(address indexed pool, address indexed user, uint256 wTime, uint256 amount);
13
8
 
14
- function fund(uint256[] calldata rewardsForEpoch) external;
9
+ event PoolAdded(address indexed pool, uint256 indexed startWeek);
15
10
 
16
- function claimReward(address user) external returns (uint256 amountRewardOut);
11
+ struct UserInfo {
12
+ uint128 firstUnclaimedWeek;
13
+ uint128 iter;
14
+ }
17
15
 
18
- function incentivesForEpoch(uint256 epoch) external returns (uint256);
16
+ function claimReward(address user, address[] calldata pools)
17
+ external
18
+ returns (uint256[] memory amountRewardOut);
19
+
20
+ function getAllPools() external view returns (address[] memory);
19
21
  }
@@ -0,0 +1,13 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ interface IPInterestManagerYTV2 {
5
+ function userInterest(address user)
6
+ external
7
+ view
8
+ returns (
9
+ uint128 lastInterestIndex,
10
+ uint128 accruedInterest,
11
+ uint256 lastPYIndex
12
+ );
13
+ }
@@ -0,0 +1,12 @@
1
+ pragma solidity ^0.8.17;
2
+
3
+ interface IPMiniDiamond {
4
+ struct SelectorsToFacet {
5
+ address facet;
6
+ bytes4[] selectors;
7
+ }
8
+
9
+ function setFacetForSelectors(SelectorsToFacet[] calldata arr) external;
10
+
11
+ function facetAddress(bytes4 selector) external view returns (address);
12
+ }
@@ -3,5 +3,5 @@
3
3
  pragma solidity >=0.8.0;
4
4
 
5
5
  interface IPMsgReceiverApp {
6
- function executeMessage(bytes calldata message) external payable;
6
+ function executeMessage(bytes calldata message) external;
7
7
  }
@@ -0,0 +1,19 @@
1
+ pragma solidity ^0.8.17;
2
+
3
+ import "./IPActionMarketAuxStatic.sol";
4
+ import "./IPActionMintRedeemStatic.sol";
5
+ import "./IPActionInfoStatic.sol";
6
+ import "./IPActionMarketCoreStatic.sol";
7
+ import "./IPActionVePendleStatic.sol";
8
+ import "./IPMiniDiamond.sol";
9
+ import "./IPActionStorageStatic.sol";
10
+
11
+ interface IPRouterStatic is
12
+ IPActionMintRedeemStatic,
13
+ IPActionInfoStatic,
14
+ IPActionMarketAuxStatic,
15
+ IPActionMarketCoreStatic,
16
+ IPActionVePendleStatic,
17
+ IPMiniDiamond,
18
+ IPActionStorageStatic
19
+ {}
@@ -40,4 +40,10 @@ interface IPVotingController {
40
40
  );
41
41
 
42
42
  function getPoolTotalVoteAt(address pool, uint128 wTime) external view returns (uint128);
43
+
44
+ function finalizeEpoch() external;
45
+
46
+ function getBroadcastResultFee(uint64 chainId) external view returns (uint256);
47
+
48
+ function broadcastResults(uint64 chainId) external payable;
43
49
  }
@@ -0,0 +1,66 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+ import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
4
+ import "./IRewardManager.sol";
5
+ import "./IPInterestManagerYTV2.sol";
6
+
7
+ interface IPYieldTokenV2 is IERC20Metadata, IRewardManager, IPInterestManagerYTV2 {
8
+ event Mint(
9
+ address indexed caller,
10
+ address indexed receiverPT,
11
+ address indexed receiverYT,
12
+ uint256 amountSyToMint,
13
+ uint256 amountPYOut
14
+ );
15
+
16
+ event Burn(
17
+ address indexed caller,
18
+ address indexed receiver,
19
+ uint256 amountPYToRedeem,
20
+ uint256 amountSyOut
21
+ );
22
+
23
+ event RedeemRewards(address indexed user, uint256[] amountRewardsOut);
24
+
25
+ event RedeemInterest(address indexed user, uint256 interestOut);
26
+
27
+ event WithdrawFeeToTreasury(uint256[] amountRewardsOut, uint256 syOut);
28
+
29
+ event CollectInterestFee(uint256 amountInterestFee);
30
+
31
+ event CollectRewardFee(address indexed rewardToken, uint256 amountRewardFee);
32
+
33
+ function mintPY(address receiverPT, address receiverYT) external returns (uint256 amountPYOut);
34
+
35
+ function redeemPY(address receiver) external returns (uint256 amountSyOut);
36
+
37
+ function redeemPYMulti(address[] calldata receivers, uint256[] calldata amountPYToRedeems)
38
+ external
39
+ returns (uint256[] memory amountSyOuts);
40
+
41
+ function redeemDueInterestAndRewards(
42
+ address user,
43
+ bool redeemInterest,
44
+ bool redeemRewards
45
+ ) external returns (uint256 interestOut, uint256[] memory rewardsOut);
46
+
47
+ function rewardIndexesCurrent() external returns (uint256[] memory);
48
+
49
+ function pyIndexCurrent() external returns (uint256);
50
+
51
+ function pyIndexStored() external view returns (uint256);
52
+
53
+ function getRewardTokens() external view returns (address[] memory);
54
+
55
+ function SY() external view returns (address);
56
+
57
+ function PT() external view returns (address);
58
+
59
+ function factory() external view returns (address);
60
+
61
+ function expiry() external view returns (uint256);
62
+
63
+ function isExpired() external view returns (bool);
64
+
65
+ function doCacheIndexSameBlock() external view returns (bool);
66
+ }
@@ -62,7 +62,7 @@ interface IStandardizedYield is IERC20Metadata {
62
62
  * @dev Emits a {Deposit} event
63
63
  *
64
64
  * Requirements:
65
- * - (`baseTokenIn`) must be a valid base token.
65
+ * - (`tokenIn`) must be a valid base token.
66
66
  */
67
67
  function deposit(
68
68
  address receiver,
@@ -0,0 +1,16 @@
1
+ pragma solidity 0.8.17;
2
+
3
+ import "../interfaces/IAddressProvider.sol";
4
+ import "../core/libraries/BoringOwnableUpgradeable.sol";
5
+
6
+ contract AddressProvider is IAddressProvider, BoringOwnableUpgradeable {
7
+ mapping(uint256 => address) public get;
8
+
9
+ function initialize() external initializer {
10
+ __BoringOwnable_init();
11
+ }
12
+
13
+ function set(uint256 id, address addr) external onlyOwner {
14
+ get[id] = addr;
15
+ }
16
+ }
@@ -0,0 +1,48 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../interfaces/IPVotingController.sol";
5
+ import "../LiquidityMining/libraries/WeekMath.sol";
6
+ import "../core/libraries/BoringOwnableUpgradeable.sol";
7
+ import "../core/libraries/TokenHelper.sol";
8
+
9
+ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
10
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
11
+ import "@openzeppelin/contracts/proxy/Proxy.sol";
12
+
13
+ contract Broadcaster is Initializable, BoringOwnableUpgradeable, UUPSUpgradeable, TokenHelper {
14
+ IPVotingController public immutable votingController;
15
+ uint256 public lastBroadcastedWeek;
16
+
17
+ constructor(address _votingController) initializer {
18
+ votingController = IPVotingController(_votingController);
19
+ }
20
+
21
+ function initialize() external initializer {
22
+ __BoringOwnable_init();
23
+ }
24
+
25
+ function finalizeAndBroadcast(uint64[] calldata chainIds) external {
26
+ uint256 currentWeek = WeekMath.getCurrentWeekStart();
27
+ require(lastBroadcastedWeek < currentWeek, "current week already broadcasted");
28
+ lastBroadcastedWeek = currentWeek;
29
+
30
+ votingController.finalizeEpoch();
31
+ for (uint256 i = 0; i < chainIds.length; ) {
32
+ uint64 chainId = chainIds[i];
33
+ uint256 fee = votingController.getBroadcastResultFee(chainId);
34
+ votingController.broadcastResults{ value: fee }(chainId);
35
+ unchecked {
36
+ i++;
37
+ }
38
+ }
39
+ }
40
+
41
+ function withdrawETH() external onlyOwner {
42
+ _transferOut(NATIVE, owner, address(this).balance);
43
+ }
44
+
45
+ function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
46
+
47
+ receive() external payable {}
48
+ }
@@ -0,0 +1,103 @@
1
+ pragma solidity >=0.5.0;
2
+ pragma experimental ABIEncoderV2;
3
+
4
+ /// @title Multicall2 - Aggregate results from multiple read-only function calls
5
+ /// @author Michael Elliot <mike@makerdao.com>
6
+ /// @author Joshua Levine <joshua@makerdao.com>
7
+ /// @author Nick Johnson <arachnid@notdot.net>
8
+
9
+ contract Multicall2 {
10
+ struct Call {
11
+ address target;
12
+ bytes callData;
13
+ }
14
+ struct Result {
15
+ bool success;
16
+ bytes returnData;
17
+ }
18
+
19
+ function aggregate(Call[] memory calls)
20
+ public
21
+ returns (uint256 blockNumber, bytes[] memory returnData)
22
+ {
23
+ blockNumber = block.number;
24
+ returnData = new bytes[](calls.length);
25
+ for (uint256 i = 0; i < calls.length; i++) {
26
+ (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);
27
+ require(success, "Multicall aggregate: call failed");
28
+ returnData[i] = ret;
29
+ }
30
+ }
31
+
32
+ function blockAndAggregate(Call[] memory calls)
33
+ public
34
+ returns (
35
+ uint256 blockNumber,
36
+ bytes32 blockHash,
37
+ Result[] memory returnData
38
+ )
39
+ {
40
+ (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);
41
+ }
42
+
43
+ function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {
44
+ blockHash = blockhash(blockNumber);
45
+ }
46
+
47
+ function getBlockNumber() public view returns (uint256 blockNumber) {
48
+ blockNumber = block.number;
49
+ }
50
+
51
+ function getCurrentBlockCoinbase() public view returns (address coinbase) {
52
+ coinbase = block.coinbase;
53
+ }
54
+
55
+ function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {
56
+ difficulty = block.difficulty;
57
+ }
58
+
59
+ function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {
60
+ gaslimit = block.gaslimit;
61
+ }
62
+
63
+ function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {
64
+ timestamp = block.timestamp;
65
+ }
66
+
67
+ function getEthBalance(address addr) public view returns (uint256 balance) {
68
+ balance = addr.balance;
69
+ }
70
+
71
+ function getLastBlockHash() public view returns (bytes32 blockHash) {
72
+ blockHash = blockhash(block.number - 1);
73
+ }
74
+
75
+ function tryAggregate(bool requireSuccess, Call[] memory calls)
76
+ public
77
+ returns (Result[] memory returnData)
78
+ {
79
+ returnData = new Result[](calls.length);
80
+ for (uint256 i = 0; i < calls.length; i++) {
81
+ (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);
82
+
83
+ if (requireSuccess) {
84
+ require(success, "Multicall2 aggregate: call failed");
85
+ }
86
+
87
+ returnData[i] = Result(success, ret);
88
+ }
89
+ }
90
+
91
+ function tryBlockAndAggregate(bool requireSuccess, Call[] memory calls)
92
+ public
93
+ returns (
94
+ uint256 blockNumber,
95
+ bytes32 blockHash,
96
+ Result[] memory returnData
97
+ )
98
+ {
99
+ blockNumber = block.number;
100
+ blockHash = blockhash(block.number);
101
+ returnData = tryAggregate(requireSuccess, calls);
102
+ }
103
+ }
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity 0.8.17;
3
+
4
+ /// @title PendleMulticall - A more gas-efficient version of Multicall3 (~700 gas saved for each call)
5
+ /// @author UncleGrandpa925 <longvh@pendle.finance>
6
+ contract PendleMulticall {
7
+ error MulticallFailed(uint256 index);
8
+
9
+ struct Call {
10
+ address target;
11
+ bytes callData;
12
+ }
13
+
14
+ function aggregate(Call[] calldata calls) external payable {
15
+ uint256 length = calls.length;
16
+ Call calldata call;
17
+ for (uint256 i = 0; i < length; ) {
18
+ call = calls[i];
19
+ (bool success, ) = call.target.call(call.callData);
20
+ if (!success) revert MulticallFailed(i);
21
+ unchecked {
22
+ ++i;
23
+ }
24
+ }
25
+ }
26
+ }
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.17;
3
3
 
4
- import "../router/base/MarketApproxLib.sol";
5
- import "../interfaces/IPMarket.sol";
4
+ import "../../router/base/MarketApproxLib.sol";
5
+ import "../../interfaces/IPMarket.sol";
6
6
 
7
7
  library MarketMathStatic {
8
8
  using MarketMathCore for MarketState;
@@ -1,16 +1,16 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity 0.8.17;
3
3
 
4
- import "../interfaces/IPYieldContractFactory.sol";
5
- import "../interfaces/IPMarketFactory.sol";
6
- import "../interfaces/IPVotingEscrowMainchain.sol";
7
- import "../interfaces/IPBulkSellerFactory.sol";
8
- import "../interfaces/IPBulkSeller.sol";
4
+ import "../../interfaces/IPYieldContractFactory.sol";
5
+ import "../../interfaces/IPMarketFactory.sol";
6
+ import "../../interfaces/IPVotingEscrowMainchain.sol";
7
+ import "../../interfaces/IPBulkSellerFactory.sol";
8
+ import "../../interfaces/IPBulkSeller.sol";
9
9
 
10
10
  import "./MarketMathStatic.sol";
11
11
 
12
- import "../core/libraries/BoringOwnableUpgradeable.sol";
13
- import "../LiquidityMining/libraries/VeBalanceLib.sol";
12
+ import "../../core/libraries/BoringOwnableUpgradeable.sol";
13
+ import "../../LiquidityMining/libraries/VeBalanceLib.sol";
14
14
 
15
15
  import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
16
16
  import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
@@ -0,0 +1,19 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/proxy/Proxy.sol";
5
+ import "../../interfaces/IPRouterStatic.sol";
6
+ import "./StorageLayout.sol";
7
+
8
+ // solhint-disable no-empty-blocks
9
+ contract PendleRouterStatic is Proxy, StorageLayout {
10
+ constructor(address actionStorage) {
11
+ owner = msg.sender;
12
+ selectorToFacet[IPMiniDiamond.setFacetForSelectors.selector] = actionStorage;
13
+ }
14
+
15
+ function _implementation() internal view override returns (address res) {
16
+ res = selectorToFacet[msg.sig];
17
+ require(res != address(0), "selector not found");
18
+ }
19
+ }
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../router/base/MarketApproxLib.sol";
5
+ import "../../interfaces/IPBulkSellerFactory.sol";
6
+
7
+ contract StorageLayout {
8
+ address internal owner;
9
+ address internal pendingOwner;
10
+
11
+ mapping(bytes4 => address) internal selectorToFacet;
12
+
13
+ ApproxParams internal defaultApproxParams;
14
+
15
+ IPBulkSellerFactory internal bulkSellerFactory;
16
+
17
+ modifier onlyOwner() {
18
+ require(msg.sender == owner, "Ownable: caller is not the owner");
19
+ _;
20
+ }
21
+ }
@@ -0,0 +1,125 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/IPMarket.sol";
5
+ import "../../../interfaces/IPRouterStatic.sol";
6
+ import "../../../interfaces/IPYieldContractFactory.sol";
7
+ import "../../../interfaces/IPMarketFactory.sol";
8
+ import "../../../interfaces/IPBulkSellerFactory.sol";
9
+ import "../../../interfaces/IPBulkSeller.sol";
10
+
11
+ // solhint-disable no-empty-blocks
12
+ contract ActionInfoStatic is IPActionInfoStatic {
13
+ function getPY(address py) public view returns (address pt, address yt) {
14
+ try IPYieldToken(py).PT() returns (address _pt) {
15
+ pt = _pt;
16
+ yt = py;
17
+ } catch {
18
+ pt = py;
19
+ yt = IPPrincipalToken(py).YT();
20
+ }
21
+ }
22
+
23
+ /// can be SY, PY or Market
24
+ function getTokensInOut(address token)
25
+ external
26
+ view
27
+ returns (address[] memory tokensIn, address[] memory tokensOut)
28
+ {
29
+ try IStandardizedYield(token).getTokensIn() returns (address[] memory res) {
30
+ return (res, IStandardizedYield(token).getTokensOut());
31
+ } catch {}
32
+
33
+ try IPYieldToken(token).SY() returns (address SY) {
34
+ return (IStandardizedYield(SY).getTokensIn(), IStandardizedYield(SY).getTokensOut());
35
+ } catch {}
36
+
37
+ try IPMarket(token).readTokens() returns (
38
+ IStandardizedYield SY,
39
+ IPPrincipalToken,
40
+ IPYieldToken
41
+ ) {
42
+ return (SY.getTokensIn(), SY.getTokensOut());
43
+ } catch {}
44
+
45
+ revert("invalid token");
46
+ }
47
+
48
+ function getUserSYInfo(address sy, address user) external returns (UserSYInfo memory res) {
49
+ IStandardizedYield SY = IStandardizedYield(sy);
50
+
51
+ // SY
52
+ res.syBalance = TokenAmount(sy, _balanceOf(sy, user));
53
+
54
+ // Rewards
55
+ uint256[] memory rewardsOut = SY.claimRewards(user);
56
+ address[] memory rewardTokens = SY.getRewardTokens();
57
+
58
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
59
+ }
60
+
61
+ function getUserPYInfo(address py, address user) external returns (UserPYInfo memory res) {
62
+ (address _PT, address _YT) = getPY(py);
63
+ IPYieldToken YT = IPYieldToken(_YT);
64
+
65
+ // PT / YT
66
+ res.ytBalance = TokenAmount(_YT, _balanceOf(_YT, user));
67
+ res.ptBalance = TokenAmount(_PT, _balanceOf(_PT, user));
68
+
69
+ // interest
70
+ (uint256 interestOut, uint256[] memory rewardsOut) = YT.redeemDueInterestAndRewards(
71
+ user,
72
+ true,
73
+ true
74
+ );
75
+
76
+ res.unclaimedInterest = TokenAmount(YT.SY(), interestOut);
77
+
78
+ // Rewards
79
+ address[] memory rewardTokens = YT.getRewardTokens();
80
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
81
+ }
82
+
83
+ function getUserMarketInfo(address market, address user)
84
+ external
85
+ returns (UserMarketInfo memory res)
86
+ {
87
+ IPMarket _market = IPMarket(market);
88
+ MarketState memory state = _market.readState(address(this));
89
+
90
+ if (uint256(state.totalLp) == 0) return res; // market not initialized
91
+
92
+ // LP PT SY
93
+ (IStandardizedYield SY, IPPrincipalToken PT, ) = _market.readTokens();
94
+
95
+ uint256 userLp = _balanceOf(market, user);
96
+ uint256 userPt = (userLp * uint256(state.totalPt)) / uint256(state.totalLp);
97
+ uint256 userSy = (userLp * uint256(state.totalSy)) / uint256(state.totalLp);
98
+
99
+ res.lpBalance = TokenAmount(market, userLp);
100
+ res.ptBalance = TokenAmount(address(PT), userPt);
101
+ res.syBalance = TokenAmount(address(SY), userSy);
102
+
103
+ // Rewards
104
+ uint256[] memory rewardsOut = _market.redeemRewards(user);
105
+ address[] memory rewardTokens = _market.getRewardTokens();
106
+
107
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
108
+ }
109
+
110
+ function _zipTokenAmounts(address[] memory tokens, uint256[] memory amounts)
111
+ internal
112
+ pure
113
+ returns (TokenAmount[] memory res)
114
+ {
115
+ res = new TokenAmount[](tokens.length);
116
+
117
+ for (uint256 i = 0; i < tokens.length; i++) {
118
+ res[i] = TokenAmount(tokens[i], amounts[i]);
119
+ }
120
+ }
121
+
122
+ function _balanceOf(address token, address user) internal view returns (uint256) {
123
+ return IERC20(token).balanceOf(user);
124
+ }
125
+ }