@pendle/core-v2 1.3.0-mainnet → 1.3.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 (792) 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/StEthHelper.sol/StEthHelper.json +1 -41
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -41
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.json +2 -2
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  82. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  84. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
  86. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
  88. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
  90. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +4 -0
  92. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.json +50 -0
  93. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +4 -0
  94. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +1163 -0
  95. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
  96. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +974 -0
  97. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  98. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  99. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  100. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  101. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  102. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  103. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  104. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  105. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  106. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  107. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  108. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +4 -0
  109. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.json +66 -0
  110. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +4 -0
  111. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +476 -0
  112. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +4 -0
  113. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +590 -0
  114. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +4 -0
  115. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +1017 -0
  116. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  117. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  118. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  119. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  120. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  121. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  122. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  123. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  124. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  125. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  126. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  127. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  128. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
  129. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  130. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +50 -2
  131. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  132. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  133. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  134. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  135. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  136. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  137. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  138. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  139. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
  140. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +4 -0
  157. package/build/artifacts/contracts/interfaces/{IAToken.sol/IAToken.json → GMX/IGMXVault.sol/IGMXVault.json} +130 -74
  158. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +4 -0
  159. package/build/artifacts/contracts/interfaces/{IREDACTEDStaking.sol/IREDACTEDStaking.json → GMX/IGlpManager.sol/IGlpManager.json} +24 -47
  160. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +4 -0
  161. package/build/artifacts/contracts/interfaces/{IWAvax.sol/IWAvax.json → GMX/IRewardRouterV2.sol/IRewardRouterV2.json} +86 -137
  162. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +4 -0
  163. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.json +45 -0
  164. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +4 -0
  165. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.json +48 -0
  166. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +4 -0
  170. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.json +93 -0
  171. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +4 -0
  172. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.json +87 -0
  173. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
  175. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +338 -16
  181. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +4 -0
  182. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.json +307 -0
  183. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +4 -0
  184. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.json +269 -0
  185. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +4 -0
  186. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +1260 -0
  187. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  188. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +105 -224
  189. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +4 -0
  190. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +273 -0
  191. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +56 -12
  193. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +4 -0
  194. package/build/artifacts/contracts/interfaces/{IPActionSwapPTYT.sol/IPActionSwapPTYT.json → IPActionStorageStatic.sol/IPActionStorageStatic.json} +70 -76
  195. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  196. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +52 -8
  197. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +231 -8
  199. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +4 -0
  200. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.json +40 -0
  201. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  202. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +675 -241
  203. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +4 -0
  212. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.json +40 -0
  213. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.dbg.json +4 -0
  214. package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.json +655 -0
  215. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  216. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  217. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  218. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +4 -0
  219. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.json +55 -0
  220. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  221. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.json +1 -1
  222. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  223. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  224. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +4 -0
  225. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2322 -0
  226. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  227. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  228. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +39 -0
  229. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  230. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  231. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  232. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +4 -0
  233. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.json +679 -0
  234. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  235. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  236. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  237. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  238. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  239. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  240. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  241. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  242. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  243. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  244. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +4 -0
  246. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +143 -0
  247. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  248. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  249. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +4 -0
  250. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
  251. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  252. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  253. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  254. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  255. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +4 -0
  256. package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +47 -0
  257. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +4 -0
  258. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +30 -0
  259. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +4 -0
  260. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +307 -0
  261. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +4 -0
  262. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +333 -0
  263. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +4 -0
  264. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +1397 -0
  265. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +4 -0
  266. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +310 -0
  267. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +4 -0
  268. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +228 -0
  269. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +4 -0
  270. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +93 -0
  271. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +4 -0
  272. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json +10 -0
  273. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +345 -62
  275. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +107 -260
  277. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +57 -18
  279. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +54 -65
  281. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  282. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +342 -44
  283. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +76 -67
  285. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +4 -0
  286. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +773 -0
  287. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +4 -0
  288. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +141 -0
  289. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  290. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json +1 -15
  291. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  292. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  294. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  295. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  296. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +4 -0
  297. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.json +160 -0
  298. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +4 -0
  299. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.json +10 -0
  300. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +4 -0
  301. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.json +56 -0
  302. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
  303. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
  304. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
  305. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
  306. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  307. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  308. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
  309. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
  310. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
  311. package/build/artifacts/contracts/router/{kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.json → swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json} +13 -8
  312. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
  313. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.json +101 -0
  314. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  315. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  316. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
  317. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
  318. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
  319. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
  320. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
  321. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
  322. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
  323. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +388 -0
  324. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
  325. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
  326. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
  327. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
  328. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
  329. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
  330. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
  331. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
  332. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
  333. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -6
  334. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
  335. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
  336. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +10 -2
  337. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
  338. package/contracts/LiquidityMining/README.md +49 -46
  339. package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
  340. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
  341. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
  342. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
  343. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
  344. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
  345. package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
  346. package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
  347. package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
  348. package/contracts/core/Market/MarketMathCore.sol +23 -69
  349. package/contracts/core/Market/OracleLib.sol +4 -4
  350. package/contracts/core/Market/PendleGauge.sol +7 -20
  351. package/contracts/core/Market/PendleMarket.sol +5 -15
  352. package/contracts/core/Market/PendleMarketFactory.sol +3 -9
  353. package/contracts/core/RewardManager/RewardManager.sol +5 -7
  354. package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
  355. package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
  356. package/contracts/core/StandardizedYield/SYBase.sol +20 -26
  357. package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
  358. package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
  359. package/contracts/core/StandardizedYield/StEthHelper.sol +16 -20
  360. package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
  361. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
  362. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
  363. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
  364. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
  365. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
  366. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
  367. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
  368. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
  369. package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
  370. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
  371. package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
  372. package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
  373. package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
  374. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
  375. package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
  376. package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
  377. package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +141 -0
  378. package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +214 -0
  379. package/contracts/core/StandardizedYield/implementations/GLP/README.md +63 -0
  380. package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +112 -0
  381. package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
  382. package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
  383. package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
  384. package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +114 -0
  385. package/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol +63 -0
  386. package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +200 -0
  387. package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +471 -0
  388. package/contracts/core/erc20/PendleERC20.sol +14 -44
  389. package/contracts/core/libraries/ArrayLib.sol +20 -9
  390. package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
  391. package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
  392. package/contracts/core/libraries/Errors.sol +5 -2
  393. package/contracts/core/libraries/StringLib.sol +14 -20
  394. package/contracts/core/libraries/TokenHelper.sol +11 -26
  395. package/contracts/core/libraries/math/LogExpMath.sol +2 -2
  396. package/contracts/core/libraries/math/Math.sol +3 -15
  397. package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
  398. package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
  399. package/contracts/interfaces/Balancer/IVault.sol +4 -6
  400. package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
  401. package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
  402. package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
  403. package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
  404. package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
  405. package/contracts/interfaces/GMX/IGMXVault.sol +47 -0
  406. package/contracts/interfaces/GMX/IGlpManager.sol +12 -0
  407. package/contracts/interfaces/GMX/IRewardRouterV2.sol +43 -0
  408. package/contracts/interfaces/GMX/IVaultPriceFeed.sol +11 -0
  409. package/contracts/interfaces/IAddressProvider.sol +7 -0
  410. package/contracts/interfaces/IApeStaking.sol +3 -4
  411. package/contracts/interfaces/IDiamondCut.sol +36 -0
  412. package/contracts/interfaces/IDiamondLoupe.sol +40 -0
  413. package/contracts/interfaces/IERC4626.sol +3 -5
  414. package/contracts/interfaces/IPActionAddRemoveLiq.sol +38 -16
  415. package/contracts/interfaces/IPActionInfoStatic.sol +43 -0
  416. package/contracts/interfaces/IPActionMarketAuxStatic.sol +34 -0
  417. package/contracts/interfaces/IPActionMarketCoreStatic.sol +335 -0
  418. package/contracts/interfaces/IPActionMintRedeem.sol +2 -55
  419. package/contracts/interfaces/IPActionMintRedeemStatic.sol +55 -0
  420. package/contracts/interfaces/IPActionMisc.sol +18 -4
  421. package/contracts/interfaces/IPActionStorageStatic.sol +24 -0
  422. package/contracts/interfaces/IPActionSwapPT.sol +1 -1
  423. package/contracts/interfaces/IPActionSwapYT.sol +28 -4
  424. package/contracts/interfaces/IPActionVePendleStatic.sol +9 -0
  425. package/contracts/interfaces/IPAllAction.sol +5 -3
  426. package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
  427. package/contracts/interfaces/IPFeeDistributor.sol +4 -3
  428. package/contracts/interfaces/IPGaugeController.sol +3 -9
  429. package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
  430. package/contracts/interfaces/IPInterestManagerYTV2.sol +11 -0
  431. package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
  432. package/contracts/interfaces/IPMarket.sol +5 -16
  433. package/contracts/interfaces/IPMarketFactory.sol +3 -8
  434. package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
  435. package/contracts/interfaces/IPMiniDiamond.sol +12 -0
  436. package/contracts/interfaces/IPMsgReceiverApp.sol +1 -1
  437. package/contracts/interfaces/IPRouterStatic.sol +19 -0
  438. package/contracts/interfaces/IPVotingController.sol +11 -6
  439. package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
  440. package/contracts/interfaces/IPYieldToken.sol +4 -3
  441. package/contracts/interfaces/IPYieldTokenV2.sol +67 -0
  442. package/contracts/interfaces/IRewardManager.sol +4 -4
  443. package/contracts/interfaces/IStETH.sol +4 -3
  444. package/contracts/interfaces/IStandardizedYield.sol +10 -14
  445. package/contracts/interfaces/IStargateRouter.sol +1 -5
  446. package/contracts/offchain-helpers/AddressProvider.sol +16 -0
  447. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
  448. package/contracts/offchain-helpers/Broadcaster.sol +48 -0
  449. package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
  450. package/contracts/offchain-helpers/Multicall2.sol +14 -24
  451. package/contracts/offchain-helpers/PendleMulticall.sol +26 -0
  452. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +19 -0
  453. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +122 -0
  454. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +165 -0
  455. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +780 -0
  456. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +158 -0
  457. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +76 -0
  458. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +55 -0
  459. package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +21 -0
  460. package/contracts/router/ActionAddRemoveLiq.sol +118 -24
  461. package/contracts/router/ActionMintRedeem.sol +12 -202
  462. package/contracts/router/ActionMisc.sol +45 -19
  463. package/contracts/router/ActionSwapPT.sol +0 -5
  464. package/contracts/router/ActionSwapYT.sol +109 -13
  465. package/contracts/router/PendleRouter.sol +211 -72
  466. package/contracts/router/PendleRouterHelper.sol +315 -0
  467. package/contracts/router/{ActionCallback.sol → base/ActionBaseCallback.sol} +49 -49
  468. package/contracts/router/base/ActionBaseMintRedeem.sol +108 -64
  469. package/contracts/router/base/CallbackHelper.sol +136 -54
  470. package/contracts/router/base/MarketApproxLib.sol +243 -430
  471. package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +39 -0
  472. package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +68 -0
  473. package/contracts/router/swap-aggregator/IPSwapAggregator.sol +21 -0
  474. package/contracts/router/swap-aggregator/PendleSwapArbitrum.sol +45 -0
  475. package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
  476. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
  477. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
  478. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
  479. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol +30 -0
  480. package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
  481. package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
  482. package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
  483. package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
  484. package/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol +191 -0
  485. package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
  486. package/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol +41 -0
  487. package/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol +201 -0
  488. package/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol +147 -0
  489. package/deployments/43113-core.json +31 -0
  490. package/deployments/43113-markets/APE-30-MARCH.json +10 -0
  491. package/deployments/43113-markets/USDC-FEB-2ND-2024.json +10 -0
  492. package/deployments/43113-markets/USDC-FEB-2ND.json +10 -0
  493. package/deployments/43113-markets/USDC-FEB-4TH.json +10 -0
  494. package/deployments/43113-markets/WETH-FEB-2ND.json +11 -0
  495. package/deployments/43113-markets/WETH-FEB-4TH.json +11 -0
  496. package/deployments/43113-offchain-helper.json +4 -0
  497. package/deployments/43113-testenv.json +22 -0
  498. package/deployments/80001-core.json +30 -0
  499. package/deployments/80001-markets/GLP-DEC-8TH.json +10 -0
  500. package/deployments/80001-markets/USDC-DEC-8TH.json +10 -0
  501. package/deployments/80001-markets/USDC-FEB-4TH.json +10 -0
  502. package/deployments/80001-markets/WETH-FEB-4TH.json +11 -0
  503. package/deployments/80001-offchain-helper.json +4 -0
  504. package/deployments/80001-testenv.json +22 -0
  505. package/package.json +10 -10
  506. package/typechain-types/ActionAddRemoveLiq.ts +203 -23
  507. package/typechain-types/ActionBaseCallback.ts +115 -0
  508. package/typechain-types/ActionInfoStatic.ts +310 -0
  509. package/typechain-types/ActionMarketAuxStatic.ts +350 -0
  510. package/typechain-types/ActionMarketCoreStatic.ts +1485 -0
  511. package/typechain-types/ActionMintRedeem.ts +29 -230
  512. package/typechain-types/ActionMintRedeemStatic.ts +461 -0
  513. package/typechain-types/ActionMisc.ts +77 -27
  514. package/typechain-types/ActionStorageStatic.ts +405 -0
  515. package/typechain-types/ActionSwapPT.ts +26 -31
  516. package/typechain-types/ActionSwapYT.ts +202 -21
  517. package/typechain-types/ActionVePendleStatic.ts +113 -0
  518. package/typechain-types/AddressProvider.ts +280 -0
  519. package/typechain-types/Broadcaster.ts +454 -0
  520. package/typechain-types/GLPPreviewHelper.ts +121 -0
  521. package/typechain-types/GMXPreviewHelper.ts +121 -0
  522. package/typechain-types/I1inchAggregationRouterV5.ts +257 -0
  523. package/typechain-types/IAddressProvider.ts +123 -0
  524. package/typechain-types/IAggregationExecutor.ts +182 -0
  525. package/typechain-types/IChainlinkAggregator.ts +246 -0
  526. package/typechain-types/IDiamondCut.ts +152 -0
  527. package/typechain-types/IDiamondLoupe.ts +190 -0
  528. package/typechain-types/IERC4626.ts +34 -0
  529. package/typechain-types/IExecutorHelper1.ts +643 -0
  530. package/typechain-types/IExecutorHelper2.ts +115 -0
  531. package/typechain-types/IExecutorHelperEthereum1.ts +643 -0
  532. package/typechain-types/IGMXVault.ts +494 -0
  533. package/typechain-types/IGlpManager.ts +165 -0
  534. package/typechain-types/IHashflow.ts +159 -0
  535. package/typechain-types/IKyberSwapAggregationRouterHelper.ts +109 -0
  536. package/typechain-types/IMetaAggregationRouter.ts +213 -0
  537. package/typechain-types/IMetaAggregationRouterV2.ts +221 -0
  538. package/typechain-types/IPActionAddRemoveLiq.ts +213 -14
  539. package/typechain-types/IPActionInfoStatic.ts +310 -0
  540. package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
  541. package/typechain-types/IPActionMarketCoreStatic.ts +1485 -0
  542. package/typechain-types/IPActionMintRedeem.ts +29 -211
  543. package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
  544. package/typechain-types/IPActionMisc.ts +77 -27
  545. package/typechain-types/IPActionStorageStatic.ts +328 -0
  546. package/typechain-types/IPActionSwapPT.ts +26 -12
  547. package/typechain-types/IPActionSwapYT.ts +168 -12
  548. package/typechain-types/IPActionVePendleStatic.ts +113 -0
  549. package/typechain-types/IPAllAction.ts +445 -227
  550. package/typechain-types/IPInterestManagerYTV2.ts +117 -0
  551. package/typechain-types/IPLiquidityMigrator.ts +565 -0
  552. package/typechain-types/IPMiniDiamond.ts +147 -0
  553. package/typechain-types/IPMsgReceiverApp.ts +5 -5
  554. package/typechain-types/IPRouterStatic.ts +2392 -509
  555. package/typechain-types/IPSwapAggregator.ts +126 -0
  556. package/typechain-types/IPVotingController.ts +96 -0
  557. package/typechain-types/IPYieldTokenV2.ts +901 -0
  558. package/typechain-types/IRewardRouterV2.ts +346 -0
  559. package/typechain-types/IStargateLP.ts +306 -0
  560. package/typechain-types/IStargateStaking.ts +232 -0
  561. package/typechain-types/ISwapAggregator.ts +124 -0
  562. package/typechain-types/IVaultPriceFeed.ts +114 -0
  563. package/typechain-types/InputScalingHelper.ts +108 -0
  564. package/typechain-types/InterestManagerYTV2.ts +157 -0
  565. package/typechain-types/PendleAura3EthSY.ts +0 -39
  566. package/typechain-types/PendleAuraCbethWstethSY.ts +0 -39
  567. package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
  568. package/typechain-types/PendleAuraWethWstethSY.ts +0 -39
  569. package/typechain-types/PendleGDaiSY.ts +1229 -0
  570. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +4 -4
  571. package/typechain-types/PendleGlpSY.ts +1463 -0
  572. package/typechain-types/PendleMsgReceiverAppUpg.ts +5 -5
  573. package/typechain-types/PendleMulticall.ts +110 -0
  574. package/typechain-types/PendlePrincipalTokenV2.ts +614 -0
  575. package/typechain-types/PendlePtOracleBase.ts +139 -0
  576. package/typechain-types/PendleRouter.ts +109 -131
  577. package/typechain-types/PendleRouterHelper.ts +647 -0
  578. package/typechain-types/PendleRouterStatic.ts +57 -0
  579. package/typechain-types/PendleStargateLP.ts +1442 -0
  580. package/typechain-types/PendleSwapAggregator.ts +126 -0
  581. package/typechain-types/PendleSwapArbitrum.ts +126 -0
  582. package/typechain-types/PendleSwapEthereum.ts +126 -0
  583. package/typechain-types/PendleYieldContractFactoryV2.ts +801 -0
  584. package/typechain-types/PendleYieldTokenV2.ts +1298 -0
  585. package/typechain-types/PtFraxUsdcOracle.ts +176 -0
  586. package/typechain-types/PtStETHOracle.ts +163 -0
  587. package/typechain-types/RouterStatic.ts +92 -0
  588. package/typechain-types/SwapAggregator.ts +406 -0
  589. package/typechain-types/VotingControllerStorageUpg.ts +96 -0
  590. package/typechain-types/VotingEscrowPendleSidechain.ts +4 -5
  591. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +346 -68
  592. package/typechain-types/factories/ActionBaseCallback__factory.ts +156 -0
  593. package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
  594. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
  595. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1454 -0
  596. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
  597. package/typechain-types/factories/ActionMintRedeem__factory.ts +108 -266
  598. package/typechain-types/factories/ActionMisc__factory.ts +56 -17
  599. package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
  600. package/typechain-types/factories/ActionSwapPT__factory.ts +55 -71
  601. package/typechain-types/factories/ActionSwapYT__factory.ts +356 -48
  602. package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
  603. package/typechain-types/factories/AddressProvider__factory.ts +196 -0
  604. package/typechain-types/factories/AggregationRouterHelper__factory.ts +1 -1
  605. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  606. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  607. package/typechain-types/factories/Broadcaster__factory.ts +311 -0
  608. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  609. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  610. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  611. package/typechain-types/factories/Errors__factory.ts +49 -1
  612. package/typechain-types/factories/GLPPreviewHelper__factory.ts +65 -0
  613. package/typechain-types/factories/GMXPreviewHelper__factory.ts +65 -0
  614. package/typechain-types/factories/I1inchAggregationRouterV5__factory.ts +179 -0
  615. package/typechain-types/factories/IAddressProvider__factory.ts +63 -0
  616. package/typechain-types/factories/IAggregationExecutor__factory.ts +84 -0
  617. package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
  618. package/typechain-types/factories/IDiamondCut__factory.ts +105 -0
  619. package/typechain-types/factories/IDiamondLoupe__factory.ts +99 -0
  620. package/typechain-types/factories/IERC4626__factory.ts +19 -0
  621. package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
  622. package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
  623. package/typechain-types/factories/IExecutorHelperEthereum1__factory.ts +407 -0
  624. package/typechain-types/factories/IGMXVault__factory.ts +320 -0
  625. package/typechain-types/factories/IGlpManager__factory.ts +81 -0
  626. package/typechain-types/factories/IHashflow__factory.ts +113 -0
  627. package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +56 -0
  628. package/typechain-types/factories/IMetaAggregationRouterV2__factory.ts +234 -0
  629. package/typechain-types/factories/IMetaAggregationRouter__factory.ts +202 -0
  630. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +338 -16
  631. package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
  632. package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
  633. package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1279 -0
  634. package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
  635. package/typechain-types/factories/IPActionMintRedeem__factory.ts +105 -224
  636. package/typechain-types/factories/IPActionMisc__factory.ts +55 -11
  637. package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
  638. package/typechain-types/factories/IPActionSwapPT__factory.ts +52 -8
  639. package/typechain-types/factories/IPActionSwapYT__factory.ts +231 -8
  640. package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
  641. package/typechain-types/factories/IPAllAction__factory.ts +675 -241
  642. package/typechain-types/factories/IPInterestManagerYTV2__factory.ts +59 -0
  643. package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
  644. package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
  645. package/typechain-types/factories/IPMsgReceiverApp__factory.ts +1 -1
  646. package/typechain-types/factories/IPRouterStatic__factory.ts +1942 -494
  647. package/typechain-types/factories/IPSwapAggregator__factory.ts +71 -0
  648. package/typechain-types/factories/IPVotingController__factory.ts +39 -0
  649. package/typechain-types/factories/IPYieldTokenV2__factory.ts +694 -0
  650. package/typechain-types/factories/IRewardRouterV2__factory.ts +216 -0
  651. package/typechain-types/factories/IStargateLP__factory.ts +212 -0
  652. package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
  653. package/typechain-types/factories/ISwapAggregator__factory.ts +66 -0
  654. package/typechain-types/factories/IVaultPriceFeed__factory.ts +60 -0
  655. package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
  656. package/typechain-types/factories/InterestManagerYTV2__factory.ts +81 -0
  657. package/typechain-types/factories/MarketMathStatic__factory.ts +1 -27
  658. package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
  659. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  660. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  661. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  662. package/typechain-types/factories/PendleAura3EthSY__factory.ts +1 -40
  663. package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +1 -40
  664. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
  665. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  666. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -40
  667. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  668. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  669. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  670. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  671. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  672. package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
  673. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  674. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +2 -2
  675. package/typechain-types/factories/PendleGlpSY__factory.ts +1249 -0
  676. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  677. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  678. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  679. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  680. package/typechain-types/factories/PendleMsgReceiverAppUpg__factory.ts +1 -1
  681. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  682. package/typechain-types/factories/PendleMulticall__factory.ts +100 -0
  683. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +564 -0
  684. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  685. package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
  686. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  687. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  688. package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
  689. package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
  690. package/typechain-types/factories/PendleRouter__factory.ts +75 -74
  691. package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
  692. package/typechain-types/factories/PendleSwapAggregator__factory.ts +129 -0
  693. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
  694. package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
  695. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  696. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  697. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +674 -0
  698. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  699. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1109 -0
  700. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  701. package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +226 -0
  702. package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
  703. package/typechain-types/factories/RouterStatic__factory.ts +69 -1
  704. package/typechain-types/factories/SAPE__factory.ts +1 -1
  705. package/typechain-types/factories/SwapAggregator__factory.ts +309 -0
  706. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
  707. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  708. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +2 -2
  709. package/typechain-types/hardhat.d.ts +481 -193
  710. package/typechain-types/index.ts +106 -56
  711. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
  712. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1296
  713. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
  714. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1283
  715. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
  716. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
  717. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
  718. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
  719. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
  720. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
  721. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
  722. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
  723. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
  724. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +0 -4
  725. package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.json +0 -34
  726. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
  727. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
  728. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
  729. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
  730. package/build/artifacts/contracts/interfaces/IPActionSwapPTYT.sol/IPActionSwapPTYT.dbg.json +0 -4
  731. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
  732. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
  733. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
  734. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
  735. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
  736. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
  737. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
  738. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
  739. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
  740. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
  741. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
  742. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
  743. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
  744. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
  745. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
  746. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +0 -285
  747. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +0 -4
  748. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +0 -2741
  749. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.dbg.json +0 -4
  750. package/build/artifacts/contracts/router/ActionCallback.sol/ActionCallback.json +0 -165
  751. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.dbg.json +0 -4
  752. package/build/artifacts/contracts/router/ActionSwapPTYT.sol/ActionSwapPTYT.json +0 -343
  753. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.dbg.json +0 -4
  754. package/build/artifacts/contracts/router/kyberswap/AggregationRouterHelper.sol/AggregationRouterHelper.json +0 -224
  755. package/build/artifacts/contracts/router/kyberswap/IAggregatorRouterHelper.sol/IAggregationRouterHelper.dbg.json +0 -4
  756. package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.dbg.json +0 -4
  757. package/build/artifacts/contracts/router/kyberswap/IMultihopRouterEthereum.sol/IMultihopRouterEthereum.json +0 -136
  758. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +0 -4
  759. package/build/artifacts/contracts/router/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json +0 -24
  760. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
  761. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
  762. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
  763. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
  764. package/contracts/interfaces/IAToken.sol +0 -44
  765. package/contracts/interfaces/IAavePool.sol +0 -41
  766. package/contracts/interfaces/IAaveRewardsController.sol +0 -32
  767. package/contracts/interfaces/IBoringOwnableUpgradeable.sol +0 -10
  768. package/contracts/interfaces/IEulerEToken.sol +0 -60
  769. package/contracts/interfaces/IEulerMarkets.sol +0 -46
  770. package/contracts/interfaces/IPActionSwapPTYT.sol +0 -31
  771. package/contracts/interfaces/IPGovernanceManager.sol +0 -28
  772. package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
  773. package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
  774. package/contracts/interfaces/ISAvax.sol +0 -61
  775. package/contracts/interfaces/ISJoe.sol +0 -57
  776. package/contracts/interfaces/IWAvax.sol +0 -34
  777. package/contracts/interfaces/IWXBTRFLY.sol +0 -39
  778. package/contracts/interfaces/IYearnVault.sol +0 -46
  779. package/contracts/offchain-helpers/MarketMathStatic.sol +0 -557
  780. package/contracts/offchain-helpers/RouterStatic.sol +0 -903
  781. package/contracts/router/ActionSwapPTYT.sol +0 -108
  782. package/contracts/router/kyberswap/AggregationRouterHelper.sol +0 -341
  783. package/contracts/router/kyberswap/IAggregatorRouterHelper.sol +0 -10
  784. package/contracts/router/kyberswap/IMultihopRouterEthereum.sol +0 -141
  785. package/contracts/router/kyberswap/KyberSwapHelper.sol +0 -79
  786. package/deployments/1-core.json +0 -30
  787. package/deployments/1-markets/APE-JUNE-29.json +0 -8
  788. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-28DEC.json +0 -11
  789. package/deployments/1-markets/FRAXUSDC-CURVELP-MARCH30.json +0 -11
  790. package/deployments/1-markets/LOOKS-STAKING-MARCH30.json +0 -10
  791. package/deployments/1-markets/STETH-JUNE29.json +0 -10
  792. package/deployments/1-markets/STETH-MARCH30.json +0 -10
@@ -0,0 +1,158 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../interfaces/IPRouterStatic.sol";
5
+ import "../../../interfaces/IPBulkSeller.sol";
6
+ import "../../../interfaces/IPBulkSellerFactory.sol";
7
+ import "./StorageLayout.sol";
8
+
9
+ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
10
+ using Math for uint256;
11
+ using BulkSellerMathCore for BulkSellerState;
12
+
13
+ function mintPyFromSyStatic(
14
+ address YT,
15
+ uint256 netSyToMint
16
+ ) public returns (uint256 netPYOut) {
17
+ if (IPYieldToken(YT).isExpired()) revert Errors.YCExpired();
18
+ return netSyToMint.mulDown(IPYieldToken(YT).pyIndexCurrent());
19
+ }
20
+
21
+ function redeemPyToSyStatic(
22
+ address YT,
23
+ uint256 netPYToRedeem
24
+ ) public returns (uint256 netSyOut) {
25
+ return netPYToRedeem.divDown(IPYieldToken(YT).pyIndexCurrent());
26
+ }
27
+
28
+ function mintPyFromTokenStatic(
29
+ address YT,
30
+ address tokenIn,
31
+ uint256 netTokenIn,
32
+ address bulk
33
+ ) external returns (uint256 netPyOut) {
34
+ address SY = IPYieldToken(YT).SY();
35
+ uint256 netSyReceived = mintSyFromTokenStatic(SY, tokenIn, netTokenIn, bulk);
36
+ netPyOut = mintPyFromSyStatic(YT, netSyReceived);
37
+ }
38
+
39
+ function redeemPyToTokenStatic(
40
+ address YT,
41
+ uint256 netPYToRedeem,
42
+ address tokenOut,
43
+ address bulk
44
+ ) external returns (uint256 netTokenOut) {
45
+ address SY = IPYieldToken(YT).SY();
46
+ uint256 netSyReceived = redeemPyToSyStatic(YT, netPYToRedeem);
47
+ netTokenOut = redeemSyToTokenStatic(SY, tokenOut, netSyReceived, bulk);
48
+ }
49
+
50
+ function mintSyFromTokenStatic(
51
+ address SY,
52
+ address tokenIn,
53
+ uint256 netTokenIn,
54
+ address bulk
55
+ ) public view returns (uint256 netSyOut) {
56
+ if (bulk != address(0)) {
57
+ BulkSellerState memory state = _readBulkSellerState(bulk);
58
+ return state.calcSwapExactTokenForSy(netTokenIn);
59
+ } else {
60
+ return IStandardizedYield(SY).previewDeposit(tokenIn, netTokenIn);
61
+ }
62
+ }
63
+
64
+ function redeemSyToTokenStatic(
65
+ address SY,
66
+ address tokenOut,
67
+ uint256 netSyIn,
68
+ address bulk
69
+ ) public view returns (uint256 netTokenOut) {
70
+ if (bulk != address(0)) {
71
+ BulkSellerState memory state = _readBulkSellerState(bulk);
72
+ return state.calcSwapExactSyForToken(netSyIn);
73
+ } else {
74
+ return IStandardizedYield(SY).previewRedeem(tokenOut, netSyIn);
75
+ }
76
+ }
77
+
78
+ function getAmountTokenToMintSy(
79
+ address SY,
80
+ address tokenIn,
81
+ address bulk,
82
+ uint256 netSyOut
83
+ ) external view returns (uint256 netTokenIn) {
84
+ uint256 pivotAmount;
85
+
86
+ if (tokenIn == address(0)) pivotAmount = 1e18;
87
+ else pivotAmount = 10 ** IStandardizedYield(SY).decimals();
88
+
89
+ uint256 low = pivotAmount;
90
+ {
91
+ while (true) {
92
+ uint256 lowSyOut = mintSyFromTokenStatic(SY, tokenIn, low, bulk);
93
+ if (lowSyOut >= netSyOut) low /= 10;
94
+ else break;
95
+ }
96
+ }
97
+
98
+ uint256 high = pivotAmount;
99
+ {
100
+ while (true) {
101
+ uint256 highSyOut = mintSyFromTokenStatic(SY, tokenIn, high, bulk);
102
+ if (highSyOut < netSyOut) high *= 10;
103
+ else break;
104
+ }
105
+ }
106
+
107
+ while (low <= high) {
108
+ uint256 mid = (low + high) / 2;
109
+ uint256 syOut = mintSyFromTokenStatic(SY, tokenIn, mid, bulk);
110
+
111
+ if (syOut >= netSyOut) {
112
+ netTokenIn = mid;
113
+ high = mid - 1;
114
+ } else {
115
+ low = mid + 1;
116
+ }
117
+ }
118
+
119
+ assert(netTokenIn > 0);
120
+ }
121
+
122
+ function getBulkSellerInfo(
123
+ address token,
124
+ address SY,
125
+ uint256 netTokenIn,
126
+ uint256 netSyIn
127
+ ) external view returns (address bulk, uint256 totalToken, uint256 totalSy) {
128
+ if (address(bulkSellerFactory) == address(0)) return (address(0), 0, 0);
129
+
130
+ bulk = bulkSellerFactory.get(token, SY);
131
+ if (bulk == address(0)) return (address(0), 0, 0);
132
+
133
+ BulkSellerState memory state = _readBulkSellerState(bulk);
134
+
135
+ // Paused check
136
+ if (state.rateTokenToSy == 0 || state.rateSyToToken == 0) {
137
+ return (address(0), 0, 0);
138
+ }
139
+
140
+ // Liquidity check
141
+ uint256 postFeeRateTokenToSy = state.rateTokenToSy.mulDown(Math.ONE - state.feeRate);
142
+ uint256 postFeeRateSyToToken = state.rateSyToToken.mulDown(Math.ONE - state.feeRate);
143
+ if (
144
+ netTokenIn.mulDown(postFeeRateTokenToSy) > state.totalSy ||
145
+ netSyIn.mulDown(postFeeRateSyToToken) > state.totalToken
146
+ ) {
147
+ return (address(0), 0, 0);
148
+ }
149
+
150
+ // return...
151
+ totalToken = state.totalToken;
152
+ totalSy = state.totalSy;
153
+ }
154
+
155
+ function _readBulkSellerState(address bulk) internal view returns (BulkSellerState memory) {
156
+ return IPBulkSeller(bulk).readState();
157
+ }
158
+ }
@@ -0,0 +1,76 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "./StorageLayout.sol";
5
+ import "../../../interfaces/IPActionStorageStatic.sol";
6
+ import "../../../interfaces/IPMiniDiamond.sol";
7
+
8
+ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiamond {
9
+ function setDefaultApproxParams(ApproxParams memory params) external onlyOwner {
10
+ defaultApproxParams = params;
11
+ }
12
+
13
+ function setBulkSellerFactory(address _bulkSellerFactory) external onlyOwner {
14
+ bulkSellerFactory = IPBulkSellerFactory(_bulkSellerFactory);
15
+ }
16
+
17
+ function getDefaultApproxParams() external view returns (ApproxParams memory) {
18
+ return defaultApproxParams;
19
+ }
20
+
21
+ function getBulkSellerFactory() external view returns (address) {
22
+ return address(bulkSellerFactory);
23
+ }
24
+
25
+ function getOwnerAndPendingOwner()
26
+ external
27
+ view
28
+ returns (address _owner, address _pendingOwner)
29
+ {
30
+ _owner = owner;
31
+ _pendingOwner = pendingOwner;
32
+ }
33
+
34
+ function setFacetForSelectors(SelectorsToFacet[] calldata arr) external onlyOwner {
35
+ for (uint256 i = 0; i < arr.length; ) {
36
+ SelectorsToFacet memory s = arr[i];
37
+ for (uint256 j = 0; j < s.selectors.length; ) {
38
+ selectorToFacet[s.selectors[j]] = s.facet;
39
+ unchecked {
40
+ j++;
41
+ }
42
+ }
43
+ unchecked {
44
+ i++;
45
+ }
46
+ }
47
+ }
48
+
49
+ function facetAddress(bytes4 selector) external view returns (address res) {
50
+ res = selectorToFacet[selector];
51
+ require(res != address(0), "selector not found");
52
+ }
53
+
54
+ // Ownable
55
+ function transferOwnership(address newOwner, bool direct, bool renounce) external onlyOwner {
56
+ if (direct) {
57
+ require(newOwner != address(0) || renounce, "Ownable: zero address");
58
+
59
+ emit OwnershipTransferred(owner, newOwner);
60
+ owner = newOwner;
61
+ pendingOwner = address(0);
62
+ } else {
63
+ pendingOwner = newOwner;
64
+ }
65
+ }
66
+
67
+ function claimOwnership() external {
68
+ address _pendingOwner = pendingOwner;
69
+
70
+ require(msg.sender == _pendingOwner, "Ownable: caller != pending owner");
71
+
72
+ emit OwnershipTransferred(owner, _pendingOwner);
73
+ owner = _pendingOwner;
74
+ pendingOwner = address(0);
75
+ }
76
+ }
@@ -0,0 +1,55 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../core/libraries/MiniHelpers.sol";
5
+ import "../../../interfaces/IPRouterStatic.sol";
6
+ import "../../../interfaces/IPVotingEscrowMainchain.sol";
7
+ import "../../../LiquidityMining/libraries/VeBalanceLib.sol";
8
+
9
+ contract ActionVePendleStatic is IPActionVePendleStatic {
10
+ using VeBalanceLib for VeBalance;
11
+ using VeBalanceLib for LockedPosition;
12
+
13
+ uint128 private constant MAX_LOCK_TIME = 104 weeks;
14
+ uint128 private constant MIN_LOCK_TIME = 1 weeks;
15
+
16
+ IPVotingEscrowMainchain private immutable vePENDLE;
17
+
18
+ constructor(IPVotingEscrowMainchain _vePENDLE) {
19
+ vePENDLE = _vePENDLE;
20
+ }
21
+
22
+ function increaseLockPositionStatic(
23
+ address user,
24
+ uint128 additionalAmountToLock,
25
+ uint128 newExpiry
26
+ ) external view returns (uint128 newVeBalance) {
27
+ if (!WeekMath.isValidWTime(newExpiry)) revert Errors.InvalidWTime(newExpiry);
28
+ if (MiniHelpers.isTimeInThePast(newExpiry)) revert Errors.ExpiryInThePast(newExpiry);
29
+
30
+ if (newExpiry > block.timestamp + MAX_LOCK_TIME) revert Errors.VEExceededMaxLockTime();
31
+ if (newExpiry < block.timestamp + MIN_LOCK_TIME) revert Errors.VEInsufficientLockTime();
32
+
33
+ LockedPosition memory oldPosition;
34
+
35
+ {
36
+ (uint128 amount, uint128 expiry) = vePENDLE.positionData(user);
37
+ oldPosition = LockedPosition(amount, expiry);
38
+ }
39
+
40
+ if (newExpiry < oldPosition.expiry) revert Errors.VENotAllowedReduceExpiry();
41
+
42
+ uint128 newTotalAmountLocked = additionalAmountToLock + oldPosition.amount;
43
+ if (newTotalAmountLocked == 0) revert Errors.VEZeroAmountLocked();
44
+
45
+ uint128 additionalDurationToLock = newExpiry - oldPosition.expiry;
46
+
47
+ LockedPosition memory newPosition = LockedPosition(
48
+ oldPosition.amount + additionalAmountToLock,
49
+ oldPosition.expiry + additionalDurationToLock
50
+ );
51
+
52
+ VeBalance memory newBalance = newPosition.convertToVeBalance();
53
+ return newBalance.getCurrentValue();
54
+ }
55
+ }
@@ -0,0 +1,21 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../../router/base/MarketApproxLib.sol";
5
+ import "../../../interfaces/IPBulkSellerFactory.sol";
6
+
7
+ abstract contract StorageLayout {
8
+ address internal owner;
9
+ address internal pendingOwner;
10
+
11
+ mapping(bytes4 => address) internal selectorToFacet;
12
+
13
+ ApproxParams internal defaultApproxParams;
14
+
15
+ IPBulkSellerFactory internal bulkSellerFactory;
16
+
17
+ modifier onlyOwner() {
18
+ require(msg.sender == owner, "Ownable: caller is not the owner");
19
+ _;
20
+ }
21
+ }
@@ -21,12 +21,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
21
21
  using MarketApproxPtInLib for MarketState;
22
22
  using MarketApproxPtOutLib for MarketState;
23
23
  using PYIndexLib for IPYieldToken;
24
- using BulkSellerMathCore for BulkSellerState;
25
-
26
- /// @dev since this contract will be proxied, it must not contains non-immutable variables
27
- constructor(address _kyberScalingLib)
28
- ActionBaseMintRedeem(_kyberScalingLib) //solhint-disable-next-line no-empty-blocks
29
- {}
24
+ using PYIndexLib for PYIndex;
30
25
 
31
26
  /**
32
27
  * @notice Adds liquidity to the SY/PT market, granting LP tokens in return
@@ -41,14 +36,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
41
36
  uint256 netSyDesired,
42
37
  uint256 netPtDesired,
43
38
  uint256 minLpOut
44
- )
45
- external
46
- returns (
47
- uint256 netLpOut,
48
- uint256 netSyUsed,
49
- uint256 netPtUsed
50
- )
51
- {
39
+ ) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
52
40
  (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
53
41
 
54
42
  // calculate the amount of SY and PT to be used
@@ -91,15 +79,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
91
79
  TokenInput calldata input,
92
80
  uint256 netPtDesired,
93
81
  uint256 minLpOut
94
- )
95
- external
96
- payable
97
- returns (
98
- uint256 netLpOut,
99
- uint256 netTokenUsed,
100
- uint256 netPtUsed
101
- )
102
- {
82
+ ) external payable returns (uint256 netLpOut, uint256 netTokenUsed, uint256 netPtUsed) {
103
83
  (IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
104
84
 
105
85
  uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
@@ -258,6 +238,78 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
258
238
  );
259
239
  }
260
240
 
241
+ /**
242
+ * @notice Mints partial SY to PT+YT, returns YT to user, then uses PT+SY to add liquidity
243
+ * @param netSyIn amount of SY to be transferred in from caller
244
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
245
+ * @return netYtOut actual YT output, will not be lower than `minYtOut`
246
+ * @dev Reverts if market is expired
247
+ */
248
+ function addLiquiditySingleSyKeepYt(
249
+ address receiver,
250
+ address market,
251
+ uint256 netSyIn,
252
+ uint256 minLpOut,
253
+ uint256 minYtOut
254
+ ) external returns (uint256 netLpOut, uint256 netYtOut) {
255
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
256
+
257
+ _transferIn(address(SY), msg.sender, netSyIn);
258
+
259
+ (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(
260
+ receiver,
261
+ market,
262
+ SY,
263
+ YT,
264
+ netSyIn,
265
+ minLpOut,
266
+ minYtOut
267
+ );
268
+
269
+ emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netLpOut, netYtOut);
270
+ }
271
+
272
+ /**
273
+ * @notice Adds liquidity and returns leftover YT using a single token input. The input token
274
+ * is first swapped through Kyberswap to a SY-mintable token, the rest is the same as
275
+ * `addLiquiditySingleSyKeepYt()`
276
+ * @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
277
+ * @return netLpOut actual LP output, will not be lower than `minLpOut`
278
+ * @return netYtOut actual YT output, will not be lower than `minYtOut`
279
+ * @dev Reverts if market is expired
280
+ */
281
+ function addLiquiditySingleTokenKeepYt(
282
+ address receiver,
283
+ address market,
284
+ uint256 minLpOut,
285
+ uint256 minYtOut,
286
+ TokenInput calldata input
287
+ ) external returns (uint256 netLpOut, uint256 netYtOut) {
288
+ (IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
289
+
290
+ uint256 netSyUsed = _mintSyFromToken(address(this), address(SY), 1, input);
291
+
292
+ (netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(
293
+ receiver,
294
+ market,
295
+ SY,
296
+ YT,
297
+ netSyUsed,
298
+ minLpOut,
299
+ minYtOut
300
+ );
301
+
302
+ emit AddLiquiditySingleTokenKeepYt(
303
+ msg.sender,
304
+ market,
305
+ input.tokenIn,
306
+ receiver,
307
+ input.netTokenIn,
308
+ netLpOut,
309
+ netYtOut
310
+ );
311
+ }
312
+
261
313
  /**
262
314
  * @notice Burns LP token to remove SY/PT liquidity
263
315
  * @param netLpToRemove amount of LP to be burned from caller
@@ -473,6 +525,48 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
473
525
  if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
474
526
  }
475
527
 
528
+ /**
529
+ * @dev algorithm:
530
+ - Split SY into a SY and b SY (with a + b = netSyIn)
531
+ - Mint PY with a SY ---> gives (a * pyIndex / ONE) PT + YT
532
+ - Mint LP with (a * pyIndex / ONE) PT and b SY
533
+
534
+ -> We want (a * pyIndex / ONE) / totalPt = b / totalSy
535
+ -> a * (1 + pyIndex * totalSy / ONE / totalPt) = netSyIn
536
+ -> a = (netSyIn * totalPt) / (totalPt + (pyIndex * totalSy / ONE))
537
+ -> a = (netSyIn * totalPt) / (totalPt + totalAsset)
538
+ */
539
+ function _addLiquiditySingleSyKeepYt(
540
+ address receiver,
541
+ address market,
542
+ IStandardizedYield SY,
543
+ IPYieldToken YT,
544
+ uint256 netSyIn,
545
+ uint256 minLpOut,
546
+ uint256 minYtOut
547
+ ) internal returns (uint256 netLpOut, uint256 netYtOut) {
548
+ MarketState memory state = IPMarket(market).readState(address(this));
549
+
550
+ PYIndex pyIndex = YT.newIndex();
551
+
552
+ uint256 netSyToPt = (netSyIn * state.totalPt.Uint()) /
553
+ (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
554
+
555
+ // transfer SY to mint PY
556
+ _transferOut(address(SY), address(YT), netSyToPt);
557
+
558
+ // the rest of SY goes to market
559
+ _transferOut(address(SY), market, netSyIn - netSyToPt);
560
+
561
+ // PT goes to market, YT goes to receiver
562
+ netYtOut = YT.mintPY(market, receiver);
563
+
564
+ (netLpOut, , ) = IPMarket(market).mint(receiver, netSyIn - netSyToPt, netYtOut);
565
+
566
+ if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
567
+ if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
568
+ }
569
+
476
570
  /// @dev removes SY/PT liquidity, then converts PT to SY
477
571
  function _removeLiquiditySingleSy(
478
572
  address receiver,
@@ -497,7 +591,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
497
591
  ) internal returns (uint256 netSyOut) {
498
592
  (, , IPYieldToken YT) = IPMarket(market).readTokens();
499
593
  (uint256 syFromBurn, ) = IPMarket(market).burn(receiver, address(YT), netLpToRemove);
500
- netSyOut = syFromBurn + IPYieldToken(YT).redeemPY(receiver);
594
+ netSyOut = syFromBurn + YT.redeemPY(receiver);
501
595
  }
502
596
 
503
597
  /// @dev swaps PT to SY pre-expiry