@pendle/core-v2 1.4.0-mainnet → 1.4.1-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 (769) 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 +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  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/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +39 -0
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +3 -3
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  36. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  38. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  40. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  42. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  44. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  47. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  49. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  53. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  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 +2 -2
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  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/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +4 -0
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.json +50 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +974 -0
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  100. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  101. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  103. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  104. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  105. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  107. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  108. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  112. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  113. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  114. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  115. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  116. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  117. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  118. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  119. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  120. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  121. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  122. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  123. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  124. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  125. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  126. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  128. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  129. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +50 -2
  130. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  131. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  134. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  135. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  137. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  138. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  139. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  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/{IAToken.sol/IAToken.json → GMX/IGMXVault.sol/IGMXVault.json} +130 -74
  157. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  158. package/build/artifacts/contracts/interfaces/{IREDACTEDStaking.sol/IREDACTEDStaking.json → GMX/IGlpManager.sol/IGlpManager.json} +24 -47
  159. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  160. package/build/artifacts/contracts/interfaces/{IWAvax.sol/IWAvax.json → GMX/IRewardRouterV2.sol/IRewardRouterV2.json} +86 -137
  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/IAddressProvider.sol/IAddressProvider.dbg.json +4 -0
  164. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.json +48 -0
  165. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  170. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  172. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  174. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  180. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +4 -0
  181. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.json +307 -0
  182. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +4 -0
  183. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +269 -0
  184. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +4 -0
  185. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +1260 -0
  186. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  187. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  188. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +273 -0
  190. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  192. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +4 -0
  193. package/build/artifacts/contracts/interfaces/{IPActionSwapPTYT.sol/IPActionSwapPTYT.json → IPActionStorageStatic.sol/IPActionStorageStatic.json} +70 -76
  194. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  195. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  196. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  198. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +4 -0
  199. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.json +40 -0
  200. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  202. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  203. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  211. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  212. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.dbg.json +4 -0
  213. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.json +655 -0
  214. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  218. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  219. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  224. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2322 -0
  225. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  226. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +39 -0
  228. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  232. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  233. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  244. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  245. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  246. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +4 -0
  249. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
  250. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  254. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  256. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  257. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  258. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  259. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  260. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  261. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  262. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1397 -0
  263. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  264. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  265. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  266. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  267. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  268. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  269. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  270. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json +10 -0
  271. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  273. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  275. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  277. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  279. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  281. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  282. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  283. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +4 -0
  284. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +773 -0
  285. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  286. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  287. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  288. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  289. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  290. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  291. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  292. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  294. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  295. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  296. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  297. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  298. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  299. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  300. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  301. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  302. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  303. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  304. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  305. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  306. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  307. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  308. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  309. package/build/artifacts/contracts/router/{kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json → swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json} +13 -8
  310. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  311. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol/IHashflow.json +1 -1
  312. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  313. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  314. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  315. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  317. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  321. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +30 -1
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  325. package/build/artifacts/contracts/router/{kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json → swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json} +82 -50
  326. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  327. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  328. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  329. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  330. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  331. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -6
  332. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  333. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  334. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +18 -8
  335. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  336. package/contracts/LiquidityMining/README.md +49 -46
  337. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  338. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  339. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  340. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  341. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  342. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  343. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  344. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  345. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  346. package/contracts/core/Market/MarketMathCore.sol +23 -69
  347. package/contracts/core/Market/OracleLib.sol +4 -4
  348. package/contracts/core/Market/PendleGauge.sol +7 -20
  349. package/contracts/core/Market/PendleMarket.sol +5 -15
  350. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  351. package/contracts/core/RewardManager/RewardManager.sol +5 -7
  352. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  353. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  354. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  355. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  356. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  357. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  358. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  359. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  360. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  361. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  362. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  363. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  364. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  365. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  366. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  367. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  368. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  369. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  370. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  371. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  372. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  373. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  374. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  375. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +141 -0
  376. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +214 -0
  377. package/contracts/core/StandardizedYield/implementations/GLP/README.md +63 -0
  378. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +112 -0
  379. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  380. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  381. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  382. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  383. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  384. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  385. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +471 -0
  386. package/contracts/core/erc20/PendleERC20.sol +14 -44
  387. package/contracts/core/libraries/ArrayLib.sol +20 -9
  388. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  389. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  390. package/contracts/core/libraries/Errors.sol +5 -2
  391. package/contracts/core/libraries/StringLib.sol +14 -20
  392. package/contracts/core/libraries/TokenHelper.sol +11 -26
  393. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  394. package/contracts/core/libraries/math/Math.sol +3 -15
  395. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  396. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  397. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  398. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  399. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  400. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  401. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  402. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  403. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  404. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  405. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  406. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  407. package/contracts/interfaces/IAddressProvider.sol +7 -0
  408. package/contracts/interfaces/IApeStaking.sol +3 -4
  409. package/contracts/interfaces/IDiamondCut.sol +36 -0
  410. package/contracts/interfaces/IDiamondLoupe.sol +40 -0
  411. package/contracts/interfaces/IERC4626.sol +3 -5
  412. package/contracts/interfaces/IPActionAddRemoveLiq.sol +38 -16
  413. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  414. package/contracts/interfaces/IPActionMarketAuxStatic.sol +34 -0
  415. package/contracts/interfaces/IPActionMarketCoreStatic.sol +335 -0
  416. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  417. package/contracts/interfaces/IPActionMintRedeemStatic.sol +55 -0
  418. package/contracts/interfaces/IPActionMisc.sol +18 -4
  419. package/contracts/interfaces/IPActionStorageStatic.sol +24 -0
  420. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  421. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  422. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  423. package/contracts/interfaces/IPAllAction.sol +5 -3
  424. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  425. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  426. package/contracts/interfaces/IPGaugeController.sol +3 -9
  427. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  428. package/contracts/interfaces/IPInterestManagerYTV2.sol +11 -0
  429. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  430. package/contracts/interfaces/IPMarket.sol +5 -16
  431. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  432. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  433. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  434. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  435. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  436. package/contracts/interfaces/IPVotingController.sol +11 -6
  437. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  438. package/contracts/interfaces/IPYieldToken.sol +4 -3
  439. package/contracts/interfaces/IPYieldTokenV2.sol +67 -0
  440. package/contracts/interfaces/IRewardManager.sol +4 -4
  441. package/contracts/interfaces/IStETH.sol +4 -3
  442. package/contracts/interfaces/IStandardizedYield.sol +10 -14
  443. package/contracts/interfaces/IStargateRouter.sol +1 -5
  444. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  445. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  446. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  447. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  448. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  449. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  450. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +122 -0
  451. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +165 -0
  452. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +780 -0
  453. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +158 -0
  454. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +76 -0
  455. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  456. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +21 -0
  457. package/contracts/router/ActionAddRemoveLiq.sol +118 -24
  458. package/contracts/router/ActionMintRedeem.sol +12 -202
  459. package/contracts/router/ActionMisc.sol +45 -19
  460. package/contracts/router/ActionSwapPT.sol +0 -5
  461. package/contracts/router/ActionSwapYT.sol +109 -13
  462. package/contracts/router/PendleRouter.sol +211 -72
  463. package/contracts/router/PendleRouterHelper.sol +315 -0
  464. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +49 -49
  465. package/contracts/router/base/ActionBaseMintRedeem.sol +108 -64
  466. package/contracts/router/base/CallbackHelper.sol +136 -54
  467. package/contracts/router/base/MarketApproxLib.sol +243 -430
  468. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +39 -0
  469. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +68 -0
  470. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +21 -0
  471. package/contracts/router/swap-aggregator/PendleSwapArbitrum.sol +45 -0
  472. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  473. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  474. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  475. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  476. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  477. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  478. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  479. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  480. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol +6 -0
  481. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  482. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IMetaAggregationRouterV2.sol +3 -4
  483. package/contracts/router/{kyberswap/AggregationRouterHelper.sol → swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol} +21 -137
  484. package/contracts/router/{kyberswap/ScaleDataHelperEthereum1.sol → swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol} +15 -2
  485. package/deployments/43113-core.json +31 -0
  486. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  487. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  488. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  489. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  490. package/deployments/43113-markets/USDC-MAR-28TH.json +10 -0
  491. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  492. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  493. package/deployments/43113-offchain-helper.json +4 -0
  494. package/deployments/43113-testenv.json +22 -0
  495. package/deployments/80001-core.json +30 -0
  496. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  497. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  498. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  499. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  500. package/deployments/80001-offchain-helper.json +4 -0
  501. package/deployments/80001-testenv.json +22 -0
  502. package/package.json +10 -10
  503. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  504. package/typechain-types/ActionBaseCallback.ts +115 -0
  505. package/typechain-types/ActionInfoStatic.ts +310 -0
  506. package/typechain-types/ActionMarketAuxStatic.ts +350 -0
  507. package/typechain-types/ActionMarketCoreStatic.ts +1485 -0
  508. package/typechain-types/ActionMintRedeem.ts +29 -230
  509. package/typechain-types/ActionMintRedeemStatic.ts +461 -0
  510. package/typechain-types/ActionMisc.ts +77 -27
  511. package/typechain-types/ActionStorageStatic.ts +405 -0
  512. package/typechain-types/ActionSwapPT.ts +26 -31
  513. package/typechain-types/ActionSwapYT.ts +202 -21
  514. package/typechain-types/ActionVePendleStatic.ts +113 -0
  515. package/typechain-types/AddressProvider.ts +280 -0
  516. package/typechain-types/Broadcaster.ts +454 -0
  517. package/typechain-types/GLPPreviewHelper.ts +121 -0
  518. package/typechain-types/GMXPreviewHelper.ts +40 -0
  519. package/typechain-types/IAddressProvider.ts +123 -0
  520. package/typechain-types/IChainlinkAggregator.ts +246 -0
  521. package/typechain-types/IDiamondCut.ts +152 -0
  522. package/typechain-types/IDiamondLoupe.ts +190 -0
  523. package/typechain-types/IERC4626.ts +34 -0
  524. package/typechain-types/IExecutorHelper1.ts +643 -0
  525. package/typechain-types/IExecutorHelper2.ts +115 -0
  526. package/typechain-types/IExecutorHelperEthereum1.ts +44 -0
  527. package/typechain-types/IGlpManager.ts +50 -0
  528. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  529. package/typechain-types/IPActionInfoStatic.ts +310 -0
  530. package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
  531. package/typechain-types/IPActionMarketCoreStatic.ts +1485 -0
  532. package/typechain-types/IPActionMintRedeem.ts +29 -211
  533. package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
  534. package/typechain-types/IPActionMisc.ts +77 -27
  535. package/typechain-types/IPActionStorageStatic.ts +328 -0
  536. package/typechain-types/IPActionSwapPT.ts +26 -12
  537. package/typechain-types/IPActionSwapYT.ts +168 -12
  538. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  539. package/typechain-types/IPAllAction.ts +445 -227
  540. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  541. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  542. package/typechain-types/IPMiniDiamond.ts +147 -0
  543. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  544. package/typechain-types/IPRouterStatic.ts +2392 -509
  545. package/typechain-types/IPSwapAggregator.ts +126 -0
  546. package/typechain-types/IPVotingController.ts +96 -0
  547. package/typechain-types/IPYieldTokenV2.ts +9 -23
  548. package/typechain-types/IRewardRouterV2.ts +60 -17
  549. package/typechain-types/IStargateLP.ts +306 -0
  550. package/typechain-types/IStargateStaking.ts +232 -0
  551. package/typechain-types/InputScalingHelper.ts +108 -0
  552. package/typechain-types/InterestManagerYTV2.ts +36 -3
  553. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  554. package/typechain-types/PendleGDaiSY.ts +1229 -0
  555. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  556. package/typechain-types/PendleGlpSY.ts +67 -0
  557. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  558. package/typechain-types/PendlePtOracleBase.ts +139 -0
  559. package/typechain-types/PendleRouter.ts +109 -131
  560. package/typechain-types/PendleRouterHelper.ts +647 -0
  561. package/typechain-types/PendleRouterStatic.ts +57 -0
  562. package/typechain-types/PendleStargateLP.ts +1442 -0
  563. package/typechain-types/PendleSwapAggregator.ts +126 -0
  564. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  565. package/typechain-types/PendleSwapEthereum.ts +126 -0
  566. package/typechain-types/PendleYieldTokenV2.ts +70 -76
  567. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  568. package/typechain-types/PtStETHOracle.ts +163 -0
  569. package/typechain-types/RouterStatic.ts +92 -0
  570. package/typechain-types/VotingControllerStorageUpg.ts +96 -0
  571. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  572. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  573. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  574. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  575. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
  576. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1454 -0
  577. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
  578. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  579. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  580. package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
  581. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  582. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  583. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  584. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  585. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  586. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  587. package/typechain-types/factories/Broadcaster__factory.ts +311 -0
  588. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  589. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  590. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  591. package/typechain-types/factories/Errors__factory.ts +49 -1
  592. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  593. package/typechain-types/factories/GMXPreviewHelper__factory.ts +26 -0
  594. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  595. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  596. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  597. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  598. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  599. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  600. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  601. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +29 -0
  602. package/typechain-types/factories/IGlpManager__factory.ts +26 -0
  603. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  604. package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
  605. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
  606. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1279 -0
  607. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
  608. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  609. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  610. package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
  611. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  612. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  613. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  614. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  615. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  616. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  617. package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
  618. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  619. package/typechain-types/factories/IPRouterStatic__factory.ts +1942 -494
  620. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  621. package/typechain-types/factories/IPVotingController__factory.ts +39 -0
  622. package/typechain-types/factories/IPYieldTokenV2__factory.ts +6 -14
  623. package/typechain-types/factories/IRewardRouterV2__factory.ts +43 -7
  624. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  625. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  626. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  627. package/typechain-types/factories/InterestManagerYTV2__factory.ts +18 -0
  628. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  629. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  630. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  631. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  632. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  633. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -1
  634. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -1
  635. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  636. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  637. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  638. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  639. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  640. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  641. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  642. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  643. package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
  644. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  645. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  646. package/typechain-types/factories/PendleGlpSY__factory.ts +34 -1
  647. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  648. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  650. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  651. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  652. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  653. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  654. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  655. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  656. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  657. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  658. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  659. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  660. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  661. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  662. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  663. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  664. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  665. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  666. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  667. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  668. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  669. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +35 -48
  670. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  671. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  672. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  673. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  674. package/typechain-types/factories/SAPE__factory.ts +1 -1
  675. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
  676. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  677. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  678. package/typechain-types/hardhat.d.ts +320 -203
  679. package/typechain-types/index.ts +80 -60
  680. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  681. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1257
  682. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  683. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1244
  684. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  685. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  686. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  687. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  688. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  689. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  690. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  691. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  692. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  693. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  694. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  695. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  696. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  697. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  698. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  699. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  700. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  701. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  702. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  703. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  704. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  705. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  706. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  707. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  708. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  709. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  710. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  711. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  712. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  713. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  714. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  715. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -285
  716. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  717. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2741
  718. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  719. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  720. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  721. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  722. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  723. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  724. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  725. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  726. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +0 -24
  727. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  728. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  729. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  730. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  731. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  732. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  733. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  734. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  735. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  736. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  737. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  738. package/contracts/interfaces/IAToken.sol +0 -44
  739. package/contracts/interfaces/IAavePool.sol +0 -41
  740. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  741. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  742. package/contracts/interfaces/IEulerEToken.sol +0 -60
  743. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  744. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  745. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  746. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  747. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  748. package/contracts/interfaces/ISAvax.sol +0 -61
  749. package/contracts/interfaces/ISJoe.sol +0 -57
  750. package/contracts/interfaces/IWAvax.sol +0 -34
  751. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  752. package/contracts/interfaces/IYearnVault.sol +0 -46
  753. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -557
  754. package/contracts/offchain-helpers/RouterStatic.sol +0 -903
  755. package/contracts/router/ActionSwapPTYT.sol +0 -108
  756. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  757. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  758. package/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  759. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
  760. package/deployments/1-core.json +0 -30
  761. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  762. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-28DEC.json +0 -11
  763. package/deployments/1-markets/BALANCER-LP-AURA-WSTETH-WETH-JUN272024.json +0 -10
  764. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  765. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  766. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  767. package/deployments/1-markets/STETH-MARCH30.json +0 -10
  768. package/deployments/1-offchain-helper.json +0 -4
  769. /package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol +0 -0
@@ -0,0 +1,112 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../SYBase.sol";
5
+ import "../../../interfaces/IERC4626.sol";
6
+
7
+ contract PendleGDaiSY is SYBase {
8
+ address public immutable DAI;
9
+ address public immutable gDAI;
10
+
11
+ constructor(
12
+ string memory _name,
13
+ string memory _symbol,
14
+ address _gDAI
15
+ ) SYBase(_name, _symbol, _gDAI) {
16
+ gDAI = _gDAI;
17
+ DAI = IERC4626(gDAI).asset();
18
+ _safeApproveInf(DAI, gDAI);
19
+ }
20
+
21
+ /*///////////////////////////////////////////////////////////////
22
+ DEPOSIT/REDEEM USING BASE TOKENS
23
+ //////////////////////////////////////////////////////////////*/
24
+
25
+ /**
26
+ * The underlying yield token is gDAI. If the base token deposited is DAI, the function
27
+ * deposits received DAI into the gDAI contract.
28
+ */
29
+ function _deposit(
30
+ address tokenIn,
31
+ uint256 amountDeposited
32
+ ) internal virtual override returns (uint256 /*amountSharesOut*/) {
33
+ if (tokenIn == gDAI) {
34
+ return amountDeposited;
35
+ } else {
36
+ return IERC4626(gDAI).deposit(amountDeposited, address(this));
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Only withdrawal to gDAI is supported.
42
+ */
43
+ function _redeem(
44
+ address receiver,
45
+ address tokenOut,
46
+ uint256 amountSharesToRedeem
47
+ ) internal virtual override returns (uint256 /*amountTokenOut*/) {
48
+ _transferOut(tokenOut, receiver, amountSharesToRedeem);
49
+ return amountSharesToRedeem;
50
+ }
51
+
52
+ /*///////////////////////////////////////////////////////////////
53
+ EXCHANGE-RATE
54
+ //////////////////////////////////////////////////////////////*/
55
+
56
+ /**
57
+ * @notice Calculates and updates the exchange rate of shares to underlying asset token
58
+ * @dev It is the exchange rate of gDAI to DAI
59
+ */
60
+ function exchangeRate() public view virtual override returns (uint256) {
61
+ return IERC4626(gDAI).convertToAssets(1e18);
62
+ }
63
+
64
+ /*///////////////////////////////////////////////////////////////
65
+ MISC FUNCTIONS FOR METADATA
66
+ //////////////////////////////////////////////////////////////*/
67
+
68
+ function _previewDeposit(
69
+ address tokenIn,
70
+ uint256 amountTokenToDeposit
71
+ ) internal view override returns (uint256 /*amountSharesOut*/) {
72
+ if (tokenIn == gDAI) {
73
+ return amountTokenToDeposit;
74
+ } else {
75
+ return IERC4626(gDAI).previewDeposit(amountTokenToDeposit);
76
+ }
77
+ }
78
+
79
+ function _previewRedeem(
80
+ address /*tokenOut*/,
81
+ uint256 amountSharesToRedeem
82
+ ) internal pure override returns (uint256 /*amountTokenOut*/) {
83
+ return amountSharesToRedeem;
84
+ }
85
+
86
+ function getTokensIn() public view virtual override returns (address[] memory res) {
87
+ res = new address[](2);
88
+ res[0] = DAI;
89
+ res[1] = gDAI;
90
+ }
91
+
92
+ function getTokensOut() public view virtual override returns (address[] memory res) {
93
+ res = new address[](1);
94
+ res[0] = gDAI;
95
+ }
96
+
97
+ function isValidTokenIn(address token) public view virtual override returns (bool) {
98
+ return token == DAI || token == gDAI;
99
+ }
100
+
101
+ function isValidTokenOut(address token) public view virtual override returns (bool) {
102
+ return token == gDAI;
103
+ }
104
+
105
+ function assetInfo()
106
+ external
107
+ view
108
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
109
+ {
110
+ return (AssetType.TOKEN, DAI, 18);
111
+ }
112
+ }
@@ -30,12 +30,10 @@ contract PendleLooksStakingSY is SYBase {
30
30
  DEPOSIT/REDEEM USING BASE TOKENS
31
31
  //////////////////////////////////////////////////////////////*/
32
32
 
33
- function _deposit(address, uint256 amountDeposited)
34
- internal
35
- virtual
36
- override
37
- returns (uint256 amountSharesOut)
38
- {
33
+ function _deposit(
34
+ address,
35
+ uint256 amountDeposited
36
+ ) internal virtual override returns (uint256 amountSharesOut) {
39
37
  uint256 previousShare = ILooksStaking(stakingContract).userInfo(address(this));
40
38
  ILooksStaking(stakingContract).deposit(amountDeposited);
41
39
  amountSharesOut = ILooksStaking(stakingContract).userInfo(address(this)) - previousShare;
@@ -65,22 +63,18 @@ contract PendleLooksStakingSY is SYBase {
65
63
  MISC FUNCTIONS FOR METADATA
66
64
  //////////////////////////////////////////////////////////////*/
67
65
 
68
- function _previewDeposit(address, uint256 amountTokenToDeposit)
69
- internal
70
- view
71
- override
72
- returns (uint256 amountSharesOut)
73
- {
66
+ function _previewDeposit(
67
+ address,
68
+ uint256 amountTokenToDeposit
69
+ ) internal view override returns (uint256 amountSharesOut) {
74
70
  (uint256 totalShares, uint256 totalLooks) = _getLooksStakingParams();
75
71
  amountSharesOut = (amountTokenToDeposit * totalShares) / totalLooks;
76
72
  }
77
73
 
78
- function _previewRedeem(address, uint256 amountSharesToRedeem)
79
- internal
80
- view
81
- override
82
- returns (uint256 amountTokenOut)
83
- {
74
+ function _previewRedeem(
75
+ address,
76
+ uint256 amountSharesToRedeem
77
+ ) internal view override returns (uint256 amountTokenOut) {
84
78
  (uint256 totalShares, uint256 totalLooks) = _getLooksStakingParams();
85
79
  amountTokenOut = (amountSharesToRedeem * totalLooks) / totalShares;
86
80
  }
@@ -117,11 +111,7 @@ contract PendleLooksStakingSY is SYBase {
117
111
  function assetInfo()
118
112
  external
119
113
  view
120
- returns (
121
- AssetType assetType,
122
- address assetAddress,
123
- uint8 assetDecimals
124
- )
114
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
125
115
  {
126
116
  return (AssetType.TOKEN, looks, IERC20Metadata(looks).decimals());
127
117
  }
@@ -35,12 +35,10 @@ contract PendleWstEthSY is SYBase {
35
35
  *
36
36
  * The exchange rate of wstETH to shares is 1:1
37
37
  */
38
- function _deposit(address tokenIn, uint256 amountDeposited)
39
- internal
40
- virtual
41
- override
42
- returns (uint256 amountSharesOut)
43
- {
38
+ function _deposit(
39
+ address tokenIn,
40
+ uint256 amountDeposited
41
+ ) internal virtual override returns (uint256 amountSharesOut) {
44
42
  if (tokenIn == wstETH) {
45
43
  amountSharesOut = amountDeposited;
46
44
  } else {
@@ -94,12 +92,10 @@ contract PendleWstEthSY is SYBase {
94
92
  MISC FUNCTIONS FOR METADATA
95
93
  //////////////////////////////////////////////////////////////*/
96
94
 
97
- function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
98
- internal
99
- view
100
- override
101
- returns (uint256 amountSharesOut)
102
- {
95
+ function _previewDeposit(
96
+ address tokenIn,
97
+ uint256 amountTokenToDeposit
98
+ ) internal view override returns (uint256 amountSharesOut) {
103
99
  if (tokenIn == wstETH) amountSharesOut = amountTokenToDeposit;
104
100
  else {
105
101
  if (tokenIn != stETH) {
@@ -120,12 +116,10 @@ contract PendleWstEthSY is SYBase {
120
116
  }
121
117
  }
122
118
 
123
- function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
124
- internal
125
- view
126
- override
127
- returns (uint256 amountTokenOut)
128
- {
119
+ function _previewRedeem(
120
+ address tokenOut,
121
+ uint256 amountSharesToRedeem
122
+ ) internal view override returns (uint256 amountTokenOut) {
129
123
  if (tokenOut == wstETH) amountTokenOut = amountSharesToRedeem;
130
124
  else amountTokenOut = IStETH(stETH).getPooledEthByShares(amountSharesToRedeem);
131
125
  }
@@ -155,11 +149,7 @@ contract PendleWstEthSY is SYBase {
155
149
  function assetInfo()
156
150
  external
157
151
  view
158
- returns (
159
- AssetType assetType,
160
- address assetAddress,
161
- uint8 assetDecimals
162
- )
152
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
163
153
  {
164
154
  return (AssetType.TOKEN, stETH, IERC20Metadata(stETH).decimals());
165
155
  }
@@ -90,13 +90,10 @@ contract PendleYieldToken is
90
90
  * @notice Tokenize SY into PT + YT of equal qty. Every unit of asset of SY will create 1 PT + 1 YT
91
91
  * @dev SY must be transferred to this contract prior to calling
92
92
  */
93
- function mintPY(address receiverPT, address receiverYT)
94
- external
95
- nonReentrant
96
- notExpired
97
- updateData
98
- returns (uint256 amountPYOut)
99
- {
93
+ function mintPY(
94
+ address receiverPT,
95
+ address receiverYT
96
+ ) external nonReentrant notExpired updateData returns (uint256 amountPYOut) {
100
97
  address[] memory receiverPTs = new address[](1);
101
98
  address[] memory receiverYTs = new address[](1);
102
99
  uint256[] memory amountSyToMints = new uint256[](1);
@@ -135,12 +132,9 @@ contract PendleYieldToken is
135
132
  * same time
136
133
  * @dev PT/YT must be transferred to this contract prior to calling
137
134
  */
138
- function redeemPY(address receiver)
139
- external
140
- nonReentrant
141
- updateData
142
- returns (uint256 amountSyOut)
143
- {
135
+ function redeemPY(
136
+ address receiver
137
+ ) external nonReentrant updateData returns (uint256 amountSyOut) {
144
138
  address[] memory receivers = new address[](1);
145
139
  uint256[] memory amounts = new uint256[](1);
146
140
  (receivers[0], amounts[0]) = (receiver, _getAmountPYToRedeem());
@@ -156,12 +150,10 @@ contract PendleYieldToken is
156
150
  * @dev PT/YT must be transferred to this contract prior to calling
157
151
  * @dev fails if unable to redeem the total PY amount in `amountPYToRedeems`
158
152
  */
159
- function redeemPYMulti(address[] calldata receivers, uint256[] calldata amountPYToRedeems)
160
- external
161
- nonReentrant
162
- updateData
163
- returns (uint256[] memory amountSyOuts)
164
- {
153
+ function redeemPYMulti(
154
+ address[] calldata receivers,
155
+ uint256[] calldata amountPYToRedeems
156
+ ) external nonReentrant updateData returns (uint256[] memory amountSyOuts) {
165
157
  if (receivers.length != amountPYToRedeems.length) revert Errors.ArrayLengthMismatch();
166
158
  if (receivers.length == 0) revert Errors.ArrayEmpty();
167
159
  amountSyOuts = _redeemPY(receivers, amountPYToRedeems);
@@ -329,10 +321,10 @@ contract PendleYieldToken is
329
321
  return MiniHelpers.isCurrentlyExpired(expiry);
330
322
  }
331
323
 
332
- function _redeemPY(address[] memory receivers, uint256[] memory amountPYToRedeems)
333
- internal
334
- returns (uint256[] memory amountSyOuts)
335
- {
324
+ function _redeemPY(
325
+ address[] memory receivers,
326
+ uint256[] memory amountPYToRedeems
327
+ ) internal returns (uint256[] memory amountSyOuts) {
336
328
  uint256 totalAmountPYToRedeem = amountPYToRedeems.sum();
337
329
  IPPrincipalToken(PT).burnByYT(address(this), totalAmountPYToRedeem);
338
330
  if (!isExpired()) _burn(address(this), totalAmountPYToRedeem);
@@ -357,20 +349,18 @@ contract PendleYieldToken is
357
349
  }
358
350
  }
359
351
 
360
- function _calcPYToMint(uint256 amountSy, uint256 indexCurrent)
361
- internal
362
- pure
363
- returns (uint256 amountPY)
364
- {
352
+ function _calcPYToMint(
353
+ uint256 amountSy,
354
+ uint256 indexCurrent
355
+ ) internal pure returns (uint256 amountPY) {
365
356
  // doesn't matter before or after expiry, since mintPY is only allowed before expiry
366
357
  return SYUtils.syToAsset(indexCurrent, amountSy);
367
358
  }
368
359
 
369
- function _calcSyRedeemableFromPY(uint256 amountPY, uint256 indexCurrent)
370
- internal
371
- view
372
- returns (uint256 syToUser, uint256 syInterestPostExpiry)
373
- {
360
+ function _calcSyRedeemableFromPY(
361
+ uint256 amountPY,
362
+ uint256 indexCurrent
363
+ ) internal view returns (uint256 syToUser, uint256 syInterestPostExpiry) {
374
364
  syToUser = SYUtils.assetToSy(indexCurrent, amountPY);
375
365
  if (isExpired()) {
376
366
  uint256 totalSyRedeemable = SYUtils.assetToSy(postExpiry.firstPYIndex, amountPY);
@@ -443,12 +433,10 @@ contract PendleYieldToken is
443
433
  return IStandardizedYield(SY).getRewardTokens();
444
434
  }
445
435
 
446
- function _doTransferOutRewards(address user, address receiver)
447
- internal
448
- virtual
449
- override
450
- returns (uint256[] memory rewardAmounts)
451
- {
436
+ function _doTransferOutRewards(
437
+ address user,
438
+ address receiver
439
+ ) internal virtual override returns (uint256[] memory rewardAmounts) {
452
440
  address[] memory tokens = getRewardTokens();
453
441
 
454
442
  if (isExpired()) {
@@ -519,11 +507,7 @@ contract PendleYieldToken is
519
507
  }
520
508
 
521
509
  //solhint-disable-next-line ordering
522
- function _beforeTokenTransfer(
523
- address from,
524
- address to,
525
- uint256
526
- ) internal override {
510
+ function _beforeTokenTransfer(address from, address to, uint256) internal override {
527
511
  if (isExpired()) _setPostExpiryData();
528
512
  _updateAndDistributeRewardsForTwo(from, to);
529
513
  _distributeInterestForTwo(from, to);
@@ -0,0 +1,114 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../interfaces/IPYieldToken.sol";
5
+ import "../../interfaces/IPPrincipalToken.sol";
6
+ import "../../interfaces/IPInterestManagerYTV2.sol";
7
+ import "../../interfaces/IPYieldContractFactory.sol";
8
+
9
+ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
10
+
11
+ import "../libraries/math/Math.sol";
12
+ import "../libraries/TokenHelper.sol";
13
+ import "../StandardizedYield/SYUtils.sol";
14
+
15
+ /*
16
+ With YT yielding more SYs overtime, which is allowed to be redeemed by users, the reward distribution should
17
+ be based on the amount of SYs that their YT currently represent, plus with their dueInterest.
18
+
19
+ It has been proven and tested that totalSyRedeemable will not change over time, unless users redeem their interest or redeemPY.
20
+
21
+ Due to this, it is required to update users' accruedReward STRICTLY BEFORE redeeming their interest.
22
+ */
23
+ abstract contract InterestManagerYTV2 is TokenHelper, IPInterestManagerYTV2 {
24
+ using Math for uint256;
25
+
26
+ struct UserInterest {
27
+ uint128 index;
28
+ uint128 accrued;
29
+ uint256 pyIndex;
30
+ }
31
+
32
+ uint256 public lastInterestBlock;
33
+
34
+ uint256 public globalInterestIndex;
35
+
36
+ mapping(address => UserInterest) public userInterest;
37
+
38
+ uint256 internal constant INITIAL_INTEREST_INDEX = 1;
39
+
40
+ function _updateAndDistributeInterest(address user) internal virtual {
41
+ _updateAndDistributeInterestForTwo(user, address(0));
42
+ }
43
+
44
+ function _updateAndDistributeInterestForTwo(address user1, address user2) internal virtual {
45
+ (uint256 index, uint256 pyIndex) = _updateInterestIndex();
46
+
47
+ if (user1 != address(0) && user1 != address(this))
48
+ _distributeInterestPrivate(user1, index, pyIndex);
49
+ if (user2 != address(0) && user2 != address(this))
50
+ _distributeInterestPrivate(user2, index, pyIndex);
51
+ }
52
+
53
+ function _doTransferOutInterest(
54
+ address user,
55
+ address SY
56
+ ) internal returns (uint256 interestAmount) {
57
+ interestAmount = userInterest[user].accrued;
58
+ userInterest[user].accrued = 0;
59
+ _transferOut(SY, user, interestAmount);
60
+ }
61
+
62
+ // should only be callable from `_distributeInterestForTwo` & make sure user != address(0) && user != address(this)
63
+ function _distributeInterestPrivate(
64
+ address user,
65
+ uint256 currentIndex,
66
+ uint256 pyIndex
67
+ ) private {
68
+ assert(user != address(0) && user != address(this));
69
+
70
+ uint256 prevIndex = userInterest[user].index;
71
+ // uint256 interestFeeRate = _getInterestFeeRate();
72
+
73
+ if (prevIndex == currentIndex) return;
74
+
75
+ if (prevIndex == 0) {
76
+ userInterest[user].index = currentIndex.Uint128();
77
+ userInterest[user].pyIndex = pyIndex;
78
+ return;
79
+ }
80
+
81
+ userInterest[user].accrued += _YTbalance(user).mulDown(currentIndex - prevIndex).Uint128();
82
+ userInterest[user].index = currentIndex.Uint128();
83
+ userInterest[user].pyIndex = pyIndex;
84
+ }
85
+
86
+ function _updateInterestIndex() internal returns (uint256 index, uint256 pyIndex) {
87
+ if (lastInterestBlock != block.number) {
88
+ // if we have not yet update the index for this block
89
+ lastInterestBlock = block.number;
90
+
91
+ uint256 totalShares = _YTSupply();
92
+ uint256 accrued;
93
+
94
+ (accrued, pyIndex) = _collectInterest();
95
+ index = globalInterestIndex;
96
+
97
+ if (index == 0) index = INITIAL_INTEREST_INDEX;
98
+ if (totalShares != 0) index += accrued.divDown(totalShares);
99
+
100
+ globalInterestIndex = index;
101
+ } else {
102
+ index = globalInterestIndex;
103
+ pyIndex = _getGlobalPYIndex();
104
+ }
105
+ }
106
+
107
+ function _getGlobalPYIndex() internal view virtual returns (uint256);
108
+
109
+ function _collectInterest() internal virtual returns (uint256, uint256);
110
+
111
+ function _YTbalance(address user) internal view virtual returns (uint256);
112
+
113
+ function _YTSupply() internal view virtual returns (uint256);
114
+ }
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../interfaces/IPPrincipalToken.sol";
5
+ import "../../interfaces/IPYieldToken.sol";
6
+
7
+ import "../libraries/MiniHelpers.sol";
8
+ import "../libraries/Errors.sol";
9
+
10
+ import "../erc20/PendleERC20Permit.sol";
11
+
12
+ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
13
+
14
+ contract PendlePrincipalTokenV2 is PendleERC20Permit, Initializable, IPPrincipalToken {
15
+ address public immutable SY;
16
+ address public immutable factory;
17
+ uint256 public immutable expiry;
18
+ address public YT;
19
+
20
+ modifier onlyYT() {
21
+ if (msg.sender != YT) revert Errors.OnlyYT();
22
+ _;
23
+ }
24
+
25
+ modifier onlyYieldFactory() {
26
+ if (msg.sender != factory) revert Errors.OnlyYCFactory();
27
+ _;
28
+ }
29
+
30
+ constructor(
31
+ address _SY,
32
+ string memory _name,
33
+ string memory _symbol,
34
+ uint8 __decimals,
35
+ uint256 _expiry
36
+ ) PendleERC20Permit(_name, _symbol, __decimals) {
37
+ SY = _SY;
38
+ expiry = _expiry;
39
+ factory = msg.sender;
40
+ }
41
+
42
+ function initialize(address _YT) external initializer onlyYieldFactory {
43
+ YT = _YT;
44
+ }
45
+
46
+ /**
47
+ * @dev only callable by the YT correspond to this PT
48
+ */
49
+ function burnByYT(address user, uint256 amount) external onlyYT {
50
+ _burn(user, amount);
51
+ }
52
+
53
+ /**
54
+ * @dev only callable by the YT correspond to this PT
55
+ */
56
+ function mintByYT(address user, uint256 amount) external onlyYT {
57
+ _mint(user, amount);
58
+ }
59
+
60
+ function isExpired() public view returns (bool) {
61
+ return MiniHelpers.isCurrentlyExpired(expiry);
62
+ }
63
+ }