@pendle/core-v2 1.4.0-mainnet → 1.4.0-testnet

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) 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/IPMarket.sol/IPMarket.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  214. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  215. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  216. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  217. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  219. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  220. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  222. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2322 -0
  223. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  225. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +39 -0
  226. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  229. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  230. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  231. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  233. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  234. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  243. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  244. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +4 -0
  247. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
  248. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  254. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  255. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  256. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  257. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  258. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  259. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  260. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1397 -0
  261. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  262. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  263. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  264. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  265. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  266. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  267. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  268. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json +10 -0
  269. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  271. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  273. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  275. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  277. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  279. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  281. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  282. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  283. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  285. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  288. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  290. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  291. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  292. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  293. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  294. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  295. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  296. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  297. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  298. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  299. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  300. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  301. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
  302. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  303. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  304. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  305. package/build/artifacts/contracts/router/{kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json → swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json} +13 -8
  306. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  307. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol/IHashflow.json +1 -1
  308. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  309. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
  310. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  311. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  312. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  313. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  314. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  315. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  317. package/build/artifacts/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +30 -1
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  321. package/build/artifacts/contracts/router/{kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.json → swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json} +82 -50
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  326. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  327. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -6
  328. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  329. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  330. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +18 -8
  331. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  332. package/contracts/LiquidityMining/README.md +49 -46
  333. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  334. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  335. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  336. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  337. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  338. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  339. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  340. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  341. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  342. package/contracts/core/Market/MarketMathCore.sol +23 -69
  343. package/contracts/core/Market/OracleLib.sol +4 -4
  344. package/contracts/core/Market/PendleGauge.sol +7 -20
  345. package/contracts/core/Market/PendleMarket.sol +5 -15
  346. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  347. package/contracts/core/RewardManager/RewardManager.sol +5 -7
  348. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  349. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  350. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  351. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  352. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  353. package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
  354. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  355. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  356. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  357. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  358. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  359. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  360. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  361. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  362. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  363. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  364. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  365. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  366. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  367. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  368. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  369. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  370. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  371. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +141 -0
  372. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +214 -0
  373. package/contracts/core/StandardizedYield/implementations/GLP/README.md +63 -0
  374. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +112 -0
  375. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  376. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  377. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  378. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  379. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  380. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  381. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +471 -0
  382. package/contracts/core/erc20/PendleERC20.sol +14 -44
  383. package/contracts/core/libraries/ArrayLib.sol +20 -9
  384. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  385. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  386. package/contracts/core/libraries/Errors.sol +5 -2
  387. package/contracts/core/libraries/StringLib.sol +14 -20
  388. package/contracts/core/libraries/TokenHelper.sol +11 -26
  389. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  390. package/contracts/core/libraries/math/Math.sol +3 -15
  391. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  392. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  393. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  394. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  395. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  396. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  397. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  398. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  399. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  400. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  401. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  402. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  403. package/contracts/interfaces/IAddressProvider.sol +7 -0
  404. package/contracts/interfaces/IApeStaking.sol +3 -4
  405. package/contracts/interfaces/IDiamondCut.sol +36 -0
  406. package/contracts/interfaces/IDiamondLoupe.sol +40 -0
  407. package/contracts/interfaces/IERC4626.sol +3 -5
  408. package/contracts/interfaces/IPActionAddRemoveLiq.sol +38 -16
  409. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  410. package/contracts/interfaces/IPActionMarketAuxStatic.sol +34 -0
  411. package/contracts/interfaces/IPActionMarketCoreStatic.sol +335 -0
  412. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  413. package/contracts/interfaces/IPActionMintRedeemStatic.sol +55 -0
  414. package/contracts/interfaces/IPActionMisc.sol +18 -4
  415. package/contracts/interfaces/IPActionStorageStatic.sol +24 -0
  416. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  417. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  418. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  419. package/contracts/interfaces/IPAllAction.sol +5 -3
  420. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  421. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  422. package/contracts/interfaces/IPGaugeController.sol +3 -9
  423. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  424. package/contracts/interfaces/IPInterestManagerYTV2.sol +11 -0
  425. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  426. package/contracts/interfaces/IPMarket.sol +5 -16
  427. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  428. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  429. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  430. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  431. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  432. package/contracts/interfaces/IPVotingController.sol +11 -6
  433. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  434. package/contracts/interfaces/IPYieldToken.sol +4 -3
  435. package/contracts/interfaces/IPYieldTokenV2.sol +67 -0
  436. package/contracts/interfaces/IRewardManager.sol +4 -4
  437. package/contracts/interfaces/IStETH.sol +4 -3
  438. package/contracts/interfaces/IStandardizedYield.sol +10 -14
  439. package/contracts/interfaces/IStargateRouter.sol +1 -5
  440. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  441. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  442. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  443. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  444. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  445. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  446. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +122 -0
  447. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +165 -0
  448. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +780 -0
  449. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +158 -0
  450. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +76 -0
  451. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  452. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +21 -0
  453. package/contracts/router/ActionAddRemoveLiq.sol +118 -24
  454. package/contracts/router/ActionMintRedeem.sol +12 -202
  455. package/contracts/router/ActionMisc.sol +45 -19
  456. package/contracts/router/ActionSwapPT.sol +0 -5
  457. package/contracts/router/ActionSwapYT.sol +109 -13
  458. package/contracts/router/PendleRouter.sol +211 -72
  459. package/contracts/router/PendleRouterHelper.sol +315 -0
  460. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +49 -49
  461. package/contracts/router/base/ActionBaseMintRedeem.sol +108 -64
  462. package/contracts/router/base/CallbackHelper.sol +136 -54
  463. package/contracts/router/base/MarketApproxLib.sol +243 -430
  464. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +39 -0
  465. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +68 -0
  466. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +21 -0
  467. package/contracts/router/swap-aggregator/PendleSwapArbitrum.sol +45 -0
  468. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  469. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  470. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  471. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  472. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  473. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  474. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  475. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  476. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IExecutorHelperEthereum1.sol +6 -0
  477. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  478. package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/ethereum}/IMetaAggregationRouterV2.sol +3 -4
  479. package/contracts/router/{kyberswap/AggregationRouterHelper.sol → swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol} +21 -137
  480. package/contracts/router/{kyberswap/ScaleDataHelperEthereum1.sol → swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol} +15 -2
  481. package/deployments/43113-core.json +31 -0
  482. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  483. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  484. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  485. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  486. package/deployments/43113-markets/USDC-MAR-28TH.json +10 -0
  487. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  488. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  489. package/deployments/43113-offchain-helper.json +4 -0
  490. package/deployments/43113-testenv.json +22 -0
  491. package/deployments/80001-core.json +30 -0
  492. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  493. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  494. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  495. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  496. package/deployments/80001-offchain-helper.json +4 -0
  497. package/deployments/80001-testenv.json +22 -0
  498. package/package.json +10 -10
  499. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  500. package/typechain-types/ActionBaseCallback.ts +115 -0
  501. package/typechain-types/ActionInfoStatic.ts +310 -0
  502. package/typechain-types/ActionMarketAuxStatic.ts +350 -0
  503. package/typechain-types/ActionMarketCoreStatic.ts +1485 -0
  504. package/typechain-types/ActionMintRedeem.ts +29 -230
  505. package/typechain-types/ActionMintRedeemStatic.ts +461 -0
  506. package/typechain-types/ActionMisc.ts +77 -27
  507. package/typechain-types/ActionStorageStatic.ts +405 -0
  508. package/typechain-types/ActionSwapPT.ts +26 -31
  509. package/typechain-types/ActionSwapYT.ts +202 -21
  510. package/typechain-types/ActionVePendleStatic.ts +113 -0
  511. package/typechain-types/AddressProvider.ts +280 -0
  512. package/typechain-types/Broadcaster.ts +454 -0
  513. package/typechain-types/GLPPreviewHelper.ts +121 -0
  514. package/typechain-types/GMXPreviewHelper.ts +40 -0
  515. package/typechain-types/IAddressProvider.ts +123 -0
  516. package/typechain-types/IChainlinkAggregator.ts +246 -0
  517. package/typechain-types/IDiamondCut.ts +152 -0
  518. package/typechain-types/IDiamondLoupe.ts +190 -0
  519. package/typechain-types/IERC4626.ts +34 -0
  520. package/typechain-types/IExecutorHelper1.ts +643 -0
  521. package/typechain-types/IExecutorHelper2.ts +115 -0
  522. package/typechain-types/IExecutorHelperEthereum1.ts +44 -0
  523. package/typechain-types/IGlpManager.ts +50 -0
  524. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  525. package/typechain-types/IPActionInfoStatic.ts +310 -0
  526. package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
  527. package/typechain-types/IPActionMarketCoreStatic.ts +1485 -0
  528. package/typechain-types/IPActionMintRedeem.ts +29 -211
  529. package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
  530. package/typechain-types/IPActionMisc.ts +77 -27
  531. package/typechain-types/IPActionStorageStatic.ts +328 -0
  532. package/typechain-types/IPActionSwapPT.ts +26 -12
  533. package/typechain-types/IPActionSwapYT.ts +168 -12
  534. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  535. package/typechain-types/IPAllAction.ts +445 -227
  536. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  537. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  538. package/typechain-types/IPMiniDiamond.ts +147 -0
  539. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  540. package/typechain-types/IPRouterStatic.ts +2392 -509
  541. package/typechain-types/IPSwapAggregator.ts +126 -0
  542. package/typechain-types/IPVotingController.ts +96 -0
  543. package/typechain-types/IPYieldTokenV2.ts +9 -23
  544. package/typechain-types/IRewardRouterV2.ts +60 -17
  545. package/typechain-types/IStargateLP.ts +306 -0
  546. package/typechain-types/IStargateStaking.ts +232 -0
  547. package/typechain-types/InputScalingHelper.ts +108 -0
  548. package/typechain-types/InterestManagerYTV2.ts +36 -3
  549. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  550. package/typechain-types/PendleGDaiSY.ts +1229 -0
  551. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  552. package/typechain-types/PendleGlpSY.ts +67 -0
  553. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  554. package/typechain-types/PendlePtOracleBase.ts +139 -0
  555. package/typechain-types/PendleRouter.ts +109 -131
  556. package/typechain-types/PendleRouterHelper.ts +647 -0
  557. package/typechain-types/PendleRouterStatic.ts +57 -0
  558. package/typechain-types/PendleStargateLP.ts +1442 -0
  559. package/typechain-types/PendleSwapAggregator.ts +126 -0
  560. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  561. package/typechain-types/PendleSwapEthereum.ts +126 -0
  562. package/typechain-types/PendleYieldTokenV2.ts +70 -76
  563. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  564. package/typechain-types/PtStETHOracle.ts +163 -0
  565. package/typechain-types/RouterStatic.ts +92 -0
  566. package/typechain-types/VotingControllerStorageUpg.ts +96 -0
  567. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  568. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  569. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  570. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  571. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
  572. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1454 -0
  573. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
  574. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  575. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  576. package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
  577. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  578. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  579. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  580. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  581. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  582. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  583. package/typechain-types/factories/Broadcaster__factory.ts +311 -0
  584. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  585. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  586. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  587. package/typechain-types/factories/Errors__factory.ts +49 -1
  588. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  589. package/typechain-types/factories/GMXPreviewHelper__factory.ts +26 -0
  590. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  591. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  592. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  593. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  594. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  595. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  596. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  597. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +29 -0
  598. package/typechain-types/factories/IGlpManager__factory.ts +26 -0
  599. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  600. package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
  601. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
  602. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1279 -0
  603. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
  604. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  605. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  606. package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
  607. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  608. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  609. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  610. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  611. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  612. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  613. package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
  614. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  615. package/typechain-types/factories/IPRouterStatic__factory.ts +1942 -494
  616. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  617. package/typechain-types/factories/IPVotingController__factory.ts +39 -0
  618. package/typechain-types/factories/IPYieldTokenV2__factory.ts +6 -14
  619. package/typechain-types/factories/IRewardRouterV2__factory.ts +43 -7
  620. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  621. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  622. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  623. package/typechain-types/factories/InterestManagerYTV2__factory.ts +18 -0
  624. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  625. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  626. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  627. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  628. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  629. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -1
  630. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -1
  631. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  632. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  633. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  634. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  635. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  636. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  637. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  638. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  639. package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
  640. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  641. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  642. package/typechain-types/factories/PendleGlpSY__factory.ts +34 -1
  643. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  644. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  645. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  646. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  647. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  648. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  649. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  650. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  651. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  652. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  653. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  654. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  655. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  656. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  657. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  658. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  659. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  660. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  661. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  662. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  663. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  664. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  665. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +35 -48
  666. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  667. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  668. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  669. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  670. package/typechain-types/factories/SAPE__factory.ts +1 -1
  671. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
  672. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  673. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  674. package/typechain-types/hardhat.d.ts +320 -203
  675. package/typechain-types/index.ts +80 -60
  676. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  677. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1257
  678. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  679. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1244
  680. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  681. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  682. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  683. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  684. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  685. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  686. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  687. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  688. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  689. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  690. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  691. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  692. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  693. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  694. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  695. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  696. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  697. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  698. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  699. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  700. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  701. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  702. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  703. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  704. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  705. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  706. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  707. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  708. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  709. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  710. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  711. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -285
  712. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  713. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2741
  714. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  715. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  716. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  717. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  718. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  719. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  720. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  721. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  722. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +0 -24
  723. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
  724. package/build/artifacts/contracts/router/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
  725. package/build/artifacts/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
  726. package/build/artifacts/contracts/router/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
  727. package/build/artifacts/contracts/router/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
  728. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol/IMetaAggregationRouter.dbg.json +0 -4
  729. package/build/artifacts/contracts/router/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
  730. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  731. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  732. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  733. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  734. package/contracts/interfaces/IAToken.sol +0 -44
  735. package/contracts/interfaces/IAavePool.sol +0 -41
  736. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  737. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  738. package/contracts/interfaces/IEulerEToken.sol +0 -60
  739. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  740. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  741. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  742. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  743. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  744. package/contracts/interfaces/ISAvax.sol +0 -61
  745. package/contracts/interfaces/ISJoe.sol +0 -57
  746. package/contracts/interfaces/IWAvax.sol +0 -34
  747. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  748. package/contracts/interfaces/IYearnVault.sol +0 -46
  749. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -557
  750. package/contracts/offchain-helpers/RouterStatic.sol +0 -903
  751. package/contracts/router/ActionSwapPTYT.sol +0 -108
  752. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  753. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  754. package/contracts/router/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
  755. package/contracts/router/kyberswap/interfaces/IMetaAggregationRouter.sol +0 -33
  756. package/deployments/1-core.json +0 -30
  757. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  758. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-28DEC.json +0 -11
  759. package/deployments/1-markets/BALANCER-LP-AURA-WSTETH-WETH-JUN272024.json +0 -10
  760. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  761. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  762. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  763. package/deployments/1-markets/STETH-MARCH30.json +0 -10
  764. package/deployments/1-offchain-helper.json +0 -4
  765. /package/contracts/router/{kyberswap/interfaces → swap-aggregator/kyberswap/arbitrum}/IHashflow.sol +0 -0
@@ -0,0 +1,67 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+ import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
4
+ import "./IRewardManager.sol";
5
+ import "./IPInterestManagerYTV2.sol";
6
+
7
+ interface IPYieldTokenV2 is IERC20Metadata, IRewardManager, IPInterestManagerYTV2 {
8
+ event Mint(
9
+ address indexed caller,
10
+ address indexed receiverPT,
11
+ address indexed receiverYT,
12
+ uint256 amountSyToMint,
13
+ uint256 amountPYOut
14
+ );
15
+
16
+ event Burn(
17
+ address indexed caller,
18
+ address indexed receiver,
19
+ uint256 amountPYToRedeem,
20
+ uint256 amountSyOut
21
+ );
22
+
23
+ event RedeemRewards(address indexed user, uint256[] amountRewardsOut);
24
+
25
+ event RedeemInterest(address indexed user, uint256 interestOut);
26
+
27
+ event WithdrawFeeToTreasury(uint256[] amountRewardsOut, uint256 syOut);
28
+
29
+ event CollectInterestFee(uint256 amountInterestFee);
30
+
31
+ event CollectRewardFee(address indexed rewardToken, uint256 amountRewardFee);
32
+
33
+ function mintPY(address receiverPT, address receiverYT) external returns (uint256 amountPYOut);
34
+
35
+ function redeemPY(address receiver) external returns (uint256 amountSyOut);
36
+
37
+ function redeemPYMulti(
38
+ address[] calldata receivers,
39
+ uint256[] calldata amountPYToRedeems
40
+ ) external returns (uint256[] memory amountSyOuts);
41
+
42
+ function redeemDueInterestAndRewards(
43
+ address user,
44
+ bool redeemInterest,
45
+ bool redeemRewards
46
+ ) external returns (uint256 interestOut, uint256[] memory rewardsOut);
47
+
48
+ function rewardIndexesCurrent() external returns (uint256[] memory);
49
+
50
+ function pyIndexCurrent() external returns (uint256);
51
+
52
+ function pyIndexStored() external view returns (uint256);
53
+
54
+ function getRewardTokens() external view returns (address[] memory);
55
+
56
+ function SY() external view returns (address);
57
+
58
+ function PT() external view returns (address);
59
+
60
+ function factory() external view returns (address);
61
+
62
+ function expiry() external view returns (uint256);
63
+
64
+ function isExpired() external view returns (bool);
65
+
66
+ function doCacheIndexSameBlock() external view returns (bool);
67
+ }
@@ -2,8 +2,8 @@
2
2
  pragma solidity 0.8.17;
3
3
 
4
4
  interface IRewardManager {
5
- function userReward(address token, address user)
6
- external
7
- view
8
- returns (uint128 index, uint128 accrued);
5
+ function userReward(
6
+ address token,
7
+ address user
8
+ ) external view returns (uint128 index, uint128 accrued);
9
9
  }
@@ -8,9 +8,10 @@ interface IStETH {
8
8
 
9
9
  function submit(address referral) external payable returns (uint256 amount);
10
10
 
11
- function burnShares(address _account, uint256 _sharesAmount)
12
- external
13
- returns (uint256 newTotalShares);
11
+ function burnShares(
12
+ address _account,
13
+ uint256 _sharesAmount
14
+ ) external returns (uint256 newTotalShares);
14
15
 
15
16
  function sharesOf(address account) external view returns (uint256);
16
17
 
@@ -62,7 +62,7 @@ interface IStandardizedYield is IERC20Metadata {
62
62
  * @dev Emits a {Deposit} event
63
63
  *
64
64
  * Requirements:
65
- * - (`baseTokenIn`) must be a valid base token.
65
+ * - (`tokenIn`) must be a valid base token.
66
66
  */
67
67
  function deposit(
68
68
  address receiver,
@@ -146,15 +146,15 @@ interface IStandardizedYield is IERC20Metadata {
146
146
 
147
147
  function isValidTokenOut(address token) external view returns (bool);
148
148
 
149
- function previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
150
- external
151
- view
152
- returns (uint256 amountSharesOut);
149
+ function previewDeposit(
150
+ address tokenIn,
151
+ uint256 amountTokenToDeposit
152
+ ) external view returns (uint256 amountSharesOut);
153
153
 
154
- function previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
155
- external
156
- view
157
- returns (uint256 amountTokenOut);
154
+ function previewRedeem(
155
+ address tokenOut,
156
+ uint256 amountSharesToRedeem
157
+ ) external view returns (uint256 amountTokenOut);
158
158
 
159
159
  /**
160
160
  * @notice This function contains information to interpret what the asset is
@@ -165,9 +165,5 @@ interface IStandardizedYield is IERC20Metadata {
165
165
  function assetInfo()
166
166
  external
167
167
  view
168
- returns (
169
- AssetType assetType,
170
- address assetAddress,
171
- uint8 assetDecimals
172
- );
168
+ returns (AssetType assetType, address assetAddress, uint8 assetDecimals);
173
169
  }
@@ -23,11 +23,7 @@
23
23
  pragma solidity 0.8.17;
24
24
 
25
25
  interface IStargateRouter {
26
- function addLiquidity(
27
- uint256 _poolId,
28
- uint256 _amountLD,
29
- address _to
30
- ) external;
26
+ function addLiquidity(uint256 _poolId, uint256 _amountLD, address _to) external;
31
27
 
32
28
  function instantRedeemLocal(
33
29
  uint16 _srcPoolId,
@@ -0,0 +1,16 @@
1
+ pragma solidity 0.8.17;
2
+
3
+ import "../interfaces/IAddressProvider.sol";
4
+ import "../core/libraries/BoringOwnableUpgradeable.sol";
5
+
6
+ contract AddressProvider is IAddressProvider, BoringOwnableUpgradeable {
7
+ mapping(uint256 => address) public get;
8
+
9
+ function initialize() external initializer {
10
+ __BoringOwnable_init();
11
+ }
12
+
13
+ function set(uint256 id, address addr) external onlyOwner {
14
+ get[id] = addr;
15
+ }
16
+ }
@@ -17,7 +17,10 @@ contract BaseSplitCodeFactoryContract is BoringOwnableUpgradeable {
17
17
  __BoringOwnable_init();
18
18
  }
19
19
 
20
- function deploy(string memory name, bytes calldata creationCode)
20
+ function deploy(
21
+ string memory name,
22
+ bytes calldata creationCode
23
+ )
21
24
  external
22
25
  onlyOwner
23
26
  returns (
@@ -0,0 +1,48 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../interfaces/IPVotingController.sol";
5
+ import "../LiquidityMining/libraries/WeekMath.sol";
6
+ import "../core/libraries/BoringOwnableUpgradeable.sol";
7
+ import "../core/libraries/TokenHelper.sol";
8
+
9
+ import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
10
+ import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
11
+ import "@openzeppelin/contracts/proxy/Proxy.sol";
12
+
13
+ contract Broadcaster is Initializable, BoringOwnableUpgradeable, UUPSUpgradeable, TokenHelper {
14
+ IPVotingController public immutable votingController;
15
+ uint256 public lastBroadcastedWeek;
16
+
17
+ constructor(address _votingController) initializer {
18
+ votingController = IPVotingController(_votingController);
19
+ }
20
+
21
+ function initialize() external initializer {
22
+ __BoringOwnable_init();
23
+ }
24
+
25
+ function finalizeAndBroadcast(uint64[] calldata chainIds) external {
26
+ uint256 currentWeek = WeekMath.getCurrentWeekStart();
27
+ require(lastBroadcastedWeek < currentWeek, "current week already broadcasted");
28
+ lastBroadcastedWeek = currentWeek;
29
+
30
+ votingController.finalizeEpoch();
31
+ for (uint256 i = 0; i < chainIds.length; ) {
32
+ uint64 chainId = chainIds[i];
33
+ uint256 fee = votingController.getBroadcastResultFee(chainId);
34
+ votingController.broadcastResults{ value: fee }(chainId);
35
+ unchecked {
36
+ i++;
37
+ }
38
+ }
39
+ }
40
+
41
+ function withdrawETH() external onlyOwner {
42
+ _transferOut(NATIVE, owner, address(this).balance);
43
+ }
44
+
45
+ function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
46
+
47
+ receive() external payable {}
48
+ }
@@ -9,11 +9,9 @@ contract BulkSellerOffchain {
9
9
  using BulkSellerMathCore for BulkSellerState;
10
10
  using Math for uint256;
11
11
 
12
- function calcCurrentRates(IPBulkSeller bulk)
13
- external
14
- view
15
- returns (uint256 rateTokenToSy, uint256 rateSyToToken)
16
- {
12
+ function calcCurrentRates(
13
+ IPBulkSeller bulk
14
+ ) external view returns (uint256 rateTokenToSy, uint256 rateSyToToken) {
17
15
  BulkSellerState memory state = bulk.readState();
18
16
  address SY = bulk.SY();
19
17
  address token = bulk.token();
@@ -32,14 +30,12 @@ contract BulkSellerOffchain {
32
30
  }
33
31
  }
34
32
 
35
- function getCurrentState(IPBulkSeller bulk)
33
+ function getCurrentState(
34
+ IPBulkSeller bulk
35
+ )
36
36
  external
37
37
  view
38
- returns (
39
- BulkSellerState memory state,
40
- uint256 tokenProp,
41
- uint256 hypoTokenBal
42
- )
38
+ returns (BulkSellerState memory state, uint256 tokenProp, uint256 hypoTokenBal)
43
39
  {
44
40
  state = bulk.readState();
45
41
 
@@ -16,10 +16,9 @@ contract Multicall2 {
16
16
  bytes returnData;
17
17
  }
18
18
 
19
- function aggregate(Call[] memory calls)
20
- public
21
- returns (uint256 blockNumber, bytes[] memory returnData)
22
- {
19
+ function aggregate(
20
+ Call[] memory calls
21
+ ) public returns (uint256 blockNumber, bytes[] memory returnData) {
23
22
  blockNumber = block.number;
24
23
  returnData = new bytes[](calls.length);
25
24
  for (uint256 i = 0; i < calls.length; i++) {
@@ -29,14 +28,9 @@ contract Multicall2 {
29
28
  }
30
29
  }
31
30
 
32
- function blockAndAggregate(Call[] memory calls)
33
- public
34
- returns (
35
- uint256 blockNumber,
36
- bytes32 blockHash,
37
- Result[] memory returnData
38
- )
39
- {
31
+ function blockAndAggregate(
32
+ Call[] memory calls
33
+ ) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {
40
34
  (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls);
41
35
  }
42
36
 
@@ -72,10 +66,10 @@ contract Multicall2 {
72
66
  blockHash = blockhash(block.number - 1);
73
67
  }
74
68
 
75
- function tryAggregate(bool requireSuccess, Call[] memory calls)
76
- public
77
- returns (Result[] memory returnData)
78
- {
69
+ function tryAggregate(
70
+ bool requireSuccess,
71
+ Call[] memory calls
72
+ ) public returns (Result[] memory returnData) {
79
73
  returnData = new Result[](calls.length);
80
74
  for (uint256 i = 0; i < calls.length; i++) {
81
75
  (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);
@@ -88,14 +82,10 @@ contract Multicall2 {
88
82
  }
89
83
  }
90
84
 
91
- function tryBlockAndAggregate(bool requireSuccess, Call[] memory calls)
92
- public
93
- returns (
94
- uint256 blockNumber,
95
- bytes32 blockHash,
96
- Result[] memory returnData
97
- )
98
- {
85
+ function tryBlockAndAggregate(
86
+ bool requireSuccess,
87
+ Call[] memory calls
88
+ ) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) {
99
89
  blockNumber = block.number;
100
90
  blockHash = blockhash(block.number);
101
91
  returnData = tryAggregate(requireSuccess, calls);
@@ -0,0 +1,19 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "@openzeppelin/contracts/proxy/Proxy.sol";
5
+ import "../../interfaces/IPRouterStatic.sol";
6
+ import "./base/StorageLayout.sol";
7
+
8
+ // solhint-disable no-empty-blocks
9
+ contract PendleRouterStatic is Proxy, StorageLayout {
10
+ constructor(address actionStorage) {
11
+ owner = msg.sender;
12
+ selectorToFacet[IPMiniDiamond.setFacetForSelectors.selector] = actionStorage;
13
+ }
14
+
15
+ function _implementation() internal view override returns (address res) {
16
+ res = selectorToFacet[msg.sig];
17
+ require(res != address(0), "selector not found");
18
+ }
19
+ }
@@ -0,0 +1,122 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/IPMarket.sol";
5
+ import "../../../interfaces/IPRouterStatic.sol";
6
+ import "../../../interfaces/IPYieldContractFactory.sol";
7
+ import "../../../interfaces/IPMarketFactory.sol";
8
+ import "../../../interfaces/IPBulkSellerFactory.sol";
9
+ import "../../../interfaces/IPBulkSeller.sol";
10
+
11
+ // solhint-disable no-empty-blocks
12
+ contract ActionInfoStatic is IPActionInfoStatic {
13
+ function getPY(address py) public view returns (address pt, address yt) {
14
+ try IPYieldToken(py).PT() returns (address _pt) {
15
+ pt = _pt;
16
+ yt = py;
17
+ } catch {
18
+ pt = py;
19
+ yt = IPPrincipalToken(py).YT();
20
+ }
21
+ }
22
+
23
+ /// can be SY, PY or Market
24
+ function getTokensInOut(
25
+ address token
26
+ ) external view returns (address[] memory tokensIn, address[] memory tokensOut) {
27
+ try IStandardizedYield(token).getTokensIn() returns (address[] memory res) {
28
+ return (res, IStandardizedYield(token).getTokensOut());
29
+ } catch {}
30
+
31
+ try IPYieldToken(token).SY() returns (address SY) {
32
+ return (IStandardizedYield(SY).getTokensIn(), IStandardizedYield(SY).getTokensOut());
33
+ } catch {}
34
+
35
+ try IPMarket(token).readTokens() returns (
36
+ IStandardizedYield SY,
37
+ IPPrincipalToken,
38
+ IPYieldToken
39
+ ) {
40
+ return (SY.getTokensIn(), SY.getTokensOut());
41
+ } catch {}
42
+
43
+ revert("invalid token");
44
+ }
45
+
46
+ function getUserSYInfo(address sy, address user) external returns (UserSYInfo memory res) {
47
+ IStandardizedYield SY = IStandardizedYield(sy);
48
+
49
+ // SY
50
+ res.syBalance = TokenAmount(sy, _balanceOf(sy, user));
51
+
52
+ // Rewards
53
+ uint256[] memory rewardsOut = SY.claimRewards(user);
54
+ address[] memory rewardTokens = SY.getRewardTokens();
55
+
56
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
57
+ }
58
+
59
+ function getUserPYInfo(address py, address user) external returns (UserPYInfo memory res) {
60
+ (address _PT, address _YT) = getPY(py);
61
+ IPYieldToken YT = IPYieldToken(_YT);
62
+
63
+ // PT / YT
64
+ res.ytBalance = TokenAmount(_YT, _balanceOf(_YT, user));
65
+ res.ptBalance = TokenAmount(_PT, _balanceOf(_PT, user));
66
+
67
+ // interest
68
+ (uint256 interestOut, uint256[] memory rewardsOut) = YT.redeemDueInterestAndRewards(
69
+ user,
70
+ true,
71
+ true
72
+ );
73
+
74
+ res.unclaimedInterest = TokenAmount(YT.SY(), interestOut);
75
+
76
+ // Rewards
77
+ address[] memory rewardTokens = YT.getRewardTokens();
78
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
79
+ }
80
+
81
+ function getUserMarketInfo(
82
+ address market,
83
+ address user
84
+ ) external returns (UserMarketInfo memory res) {
85
+ IPMarket _market = IPMarket(market);
86
+ MarketState memory state = _market.readState(address(this));
87
+
88
+ if (uint256(state.totalLp) == 0) return res; // market not initialized
89
+
90
+ // LP PT SY
91
+ (IStandardizedYield SY, IPPrincipalToken PT, ) = _market.readTokens();
92
+
93
+ uint256 userLp = _balanceOf(market, user);
94
+ uint256 userPt = (userLp * uint256(state.totalPt)) / uint256(state.totalLp);
95
+ uint256 userSy = (userLp * uint256(state.totalSy)) / uint256(state.totalLp);
96
+
97
+ res.lpBalance = TokenAmount(market, userLp);
98
+ res.ptBalance = TokenAmount(address(PT), userPt);
99
+ res.syBalance = TokenAmount(address(SY), userSy);
100
+
101
+ // Rewards
102
+ uint256[] memory rewardsOut = _market.redeemRewards(user);
103
+ address[] memory rewardTokens = _market.getRewardTokens();
104
+
105
+ res.unclaimedRewards = _zipTokenAmounts(rewardTokens, rewardsOut);
106
+ }
107
+
108
+ function _zipTokenAmounts(
109
+ address[] memory tokens,
110
+ uint256[] memory amounts
111
+ ) internal pure returns (TokenAmount[] memory res) {
112
+ res = new TokenAmount[](tokens.length);
113
+
114
+ for (uint256 i = 0; i < tokens.length; i++) {
115
+ res[i] = TokenAmount(tokens[i], amounts[i]);
116
+ }
117
+ }
118
+
119
+ function _balanceOf(address token, address user) internal view returns (uint256) {
120
+ return IERC20(token).balanceOf(user);
121
+ }
122
+ }
@@ -0,0 +1,165 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/IPMarket.sol";
5
+ import "../../../interfaces/IPRouterStatic.sol";
6
+ import "./StorageLayout.sol";
7
+
8
+ contract ActionMarketAuxStatic is IPActionMarketAuxStatic {
9
+ using MarketMathCore for MarketState;
10
+ using Math for int256;
11
+ using Math for uint256;
12
+ using LogExpMath for int256;
13
+ using PYIndexLib for PYIndex;
14
+ using PYIndexLib for IPYieldToken;
15
+
16
+ function getMarketState(
17
+ address market
18
+ )
19
+ public
20
+ returns (
21
+ address pt,
22
+ address yt,
23
+ address sy,
24
+ int256 impliedYield,
25
+ uint256 marketExchangeRateExcludeFee,
26
+ MarketState memory state
27
+ )
28
+ {
29
+ (IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market)
30
+ .readTokens();
31
+
32
+ pt = address(PT);
33
+ yt = address(YT);
34
+ sy = address(SY);
35
+ state = _readState(market);
36
+ impliedYield = _getPtImpliedYield(market);
37
+ marketExchangeRateExcludeFee = getTradeExchangeRateExcludeFee(market, state);
38
+ }
39
+
40
+ function getTradeExchangeRateExcludeFee(
41
+ address market,
42
+ MarketState memory state
43
+ ) public returns (uint256) {
44
+ if (IPMarket(market).isExpired()) return Math.ONE;
45
+
46
+ MarketPreCompute memory comp = state.getMarketPreCompute(
47
+ _pyIndex(market),
48
+ block.timestamp
49
+ );
50
+ int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
51
+ state.totalPt,
52
+ comp.totalAsset,
53
+ comp.rateScalar,
54
+ comp.rateAnchor,
55
+ 0
56
+ );
57
+ return preFeeExchangeRate.Uint();
58
+ }
59
+
60
+ function getTradeExchangeRateIncludeFee(
61
+ address market,
62
+ int256 netPtOut
63
+ ) public returns (uint256) {
64
+ if (IPMarket(market).isExpired()) return Math.ONE;
65
+
66
+ int256 netPtToAccount = netPtOut;
67
+ MarketState memory state = _readState(market);
68
+ MarketPreCompute memory comp = state.getMarketPreCompute(
69
+ _pyIndex(market),
70
+ block.timestamp
71
+ );
72
+
73
+ int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
74
+ state.totalPt,
75
+ comp.totalAsset,
76
+ comp.rateScalar,
77
+ comp.rateAnchor,
78
+ netPtToAccount
79
+ );
80
+
81
+ if (netPtToAccount > 0) {
82
+ int256 postFeeExchangeRate = preFeeExchangeRate.divDown(comp.feeRate);
83
+ if (postFeeExchangeRate < Math.IONE)
84
+ revert Errors.MarketExchangeRateBelowOne(postFeeExchangeRate);
85
+ return postFeeExchangeRate.Uint();
86
+ } else {
87
+ return preFeeExchangeRate.mulDown(comp.feeRate).Uint();
88
+ }
89
+ }
90
+
91
+ function calcPriceImpactPt(
92
+ address market,
93
+ int256 netPtOut
94
+ ) public returns (uint256 priceImpact) {
95
+ uint256 preTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
96
+ uint256 tradedRate = getTradeExchangeRateIncludeFee(market, netPtOut);
97
+ priceImpact = _calculateImpact(preTradeRate, tradedRate);
98
+ }
99
+
100
+ function calcPriceImpactYt(
101
+ address market,
102
+ int256 netPtOut
103
+ ) public returns (uint256 priceImpact) {
104
+ uint256 ytPreTradeRate = _calcVirtualYTPrice(
105
+ getTradeExchangeRateIncludeFee(market, _getSign(netPtOut))
106
+ );
107
+ uint256 ytTradedRate = _calcVirtualYTPrice(
108
+ getTradeExchangeRateIncludeFee(market, netPtOut)
109
+ );
110
+ priceImpact = _calculateImpact(ytPreTradeRate, ytTradedRate);
111
+ }
112
+
113
+ function calcPriceImpactPY(
114
+ address market,
115
+ int256 netPtOut
116
+ ) public returns (uint256 priceImpact) {
117
+ uint256 ptPreTradeRate = getTradeExchangeRateIncludeFee(market, _getSign(netPtOut));
118
+ uint256 ytPreTradeRate = _calcVirtualYTPrice(ptPreTradeRate);
119
+ uint256 ptTradeRate = getTradeExchangeRateIncludeFee(market, netPtOut);
120
+ uint256 ytTradeRate = _calcVirtualYTPrice(ptTradeRate);
121
+
122
+ uint256 pyPreTradeRate = ytPreTradeRate.divDown(ptPreTradeRate);
123
+ uint256 pyTradeRate = ytTradeRate.divDown(ptTradeRate);
124
+ priceImpact = _calculateImpact(pyPreTradeRate, pyTradeRate);
125
+ }
126
+
127
+ function _getPtImpliedYield(address market) internal view returns (int256) {
128
+ MarketState memory state = _readState(market);
129
+
130
+ int256 lnImpliedRate = (state.lastLnImpliedRate).Int();
131
+ return lnImpliedRate.exp();
132
+ }
133
+
134
+ function _calcVirtualYTPrice(
135
+ uint256 ptAssetExchangeRate
136
+ ) private pure returns (uint256 ytAssetExchangeRate) {
137
+ // 1 asset = EX pt
138
+ // 1 pt = 1/EX Asset
139
+ // 1 yt + 1/EX Asset = 1 Asset
140
+ // 1 yt = 1 Asset - 1/EX Asset
141
+ // 1 yt = (EX - 1) / EX Asset
142
+ return (ptAssetExchangeRate - Math.ONE).divDown(ptAssetExchangeRate);
143
+ }
144
+
145
+ function _readState(address market) internal view returns (MarketState memory) {
146
+ return IPMarket(market).readState(address(this));
147
+ }
148
+
149
+ function _getSign(int256 netPtOut) private pure returns (int256) {
150
+ return netPtOut > 0 ? int256(1) : int256(-1);
151
+ }
152
+
153
+ function _calculateImpact(
154
+ uint256 rateBefore,
155
+ uint256 rateTraded
156
+ ) private pure returns (uint256 impact) {
157
+ impact = (rateBefore.Int() - rateTraded.Int()).abs().divDown(rateBefore);
158
+ }
159
+
160
+ function _pyIndex(address market) internal returns (PYIndex index) {
161
+ (, , IPYieldToken YT) = IPMarket(market).readTokens();
162
+
163
+ return YT.newIndex();
164
+ }
165
+ }