@pendle/core-v2 2.7.0-mainnet → 2.8.0-mainnet

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 (243) 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/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
  30. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
  32. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  42. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +4 -0
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +1145 -0
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +4 -0
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +1145 -0
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +1145 -0
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +4 -0
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +1145 -0
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +4 -0
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json → PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.json} +7 -54
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +2 -2
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
  68. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  71. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
  73. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
  75. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
  77. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  78. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
  79. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  80. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
  81. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  82. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  84. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  86. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  88. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  91. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  93. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  95. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  96. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +7 -2
  97. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  115. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  116. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  117. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  118. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
  119. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  120. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  121. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  122. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  123. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  124. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  125. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  126. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  127. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  128. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  129. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  130. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  131. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  133. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  134. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  135. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  136. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  137. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  138. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  139. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  140. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  141. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  142. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  143. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  144. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  145. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  146. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  147. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  148. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  149. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  150. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  151. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  152. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  153. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  154. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
  155. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +2 -2
  156. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
  157. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +2 -2
  158. package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethAnkrethSY.sol → PendleAuraWethAnkrethSYV2.sol} +23 -15
  159. package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethRethSY.sol → PendleAuraWethRocketEthSYV2.sol} +34 -25
  160. package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol +135 -0
  161. package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethWstethSY.sol → PendleAuraWethWstethSYV2.sol} +23 -15
  162. package/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol → PendleAuraBalancerStableLPSYV2.sol} +76 -33
  163. package/contracts/core/libraries/Errors.sol +2 -0
  164. package/contracts/interfaces/Balancer/IVault.sol +21 -4
  165. package/deployments/1-markets/BALANCER-LP-AURA-ANKRETH-WETH-SEP-26-2024.json +11 -0
  166. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-DEC-26-2024.json +11 -0
  167. package/deployments/1-markets/BALANCER-LP-AURA-STAFI-RETH-WETH-JUNE-27-2024.json +11 -0
  168. package/package.json +3 -3
  169. package/typechain-types/PendleAuraBalancerStableLPSYV2.ts +1457 -0
  170. package/typechain-types/PendleAuraWethAnkrethSYV2.ts +1456 -0
  171. package/typechain-types/PendleAuraWethRocketEthSYV2.ts +1456 -0
  172. package/typechain-types/PendleAuraWethStafiEthSY.ts +1456 -0
  173. package/typechain-types/PendleAuraWethWstethSYV2.ts +1456 -0
  174. package/typechain-types/PendleStafiEthSY.ts +100 -0
  175. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  176. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  177. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  178. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  179. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  180. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  181. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  182. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  183. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  184. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  185. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  186. package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
  187. package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
  188. package/typechain-types/factories/BulkSeller__factory.ts +1 -1
  189. package/typechain-types/factories/Errors__factory.ts +6 -1
  190. package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
  191. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  192. package/typechain-types/factories/PendleAuraBalancerStableLPSYV2__factory.ts +1143 -0
  193. package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1218 -0
  194. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1 -1
  195. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
  196. package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1218 -0
  197. package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1218 -0
  198. package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1218 -0
  199. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
  200. package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
  201. package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
  202. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  203. package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
  204. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  205. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  206. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  207. package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
  208. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  209. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  210. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  211. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  212. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  213. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  214. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  215. package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
  216. package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
  217. package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
  218. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  219. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  220. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  221. package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
  222. package/typechain-types/factories/PendleStafiEthSY__factory.ts +118 -0
  223. package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
  224. package/typechain-types/factories/PendleSwapArbitrum__factory.ts +1 -1
  225. package/typechain-types/factories/PendleSwapEthereum__factory.ts +1 -1
  226. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  227. package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
  228. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  229. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  230. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  231. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  232. package/typechain-types/factories/SAPE__factory.ts +1 -1
  233. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  234. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  235. package/typechain-types/hardhat.d.ts +45 -0
  236. package/typechain-types/index.ts +10 -0
  237. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +0 -4
  238. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +0 -1192
  239. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +0 -4
  240. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +0 -1218
  241. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +0 -4
  242. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +0 -1192
  243. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
@@ -14,13 +14,13 @@ import "./StablePoolUserData.sol";
14
14
  import "../../../../libraries/ArrayLib.sol";
15
15
  import "../../../SYBaseWithRewards.sol";
16
16
 
17
- abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
17
+ abstract contract PendleAuraBalancerStableLPSYV2 is SYBaseWithRewards {
18
18
  using ArrayLib for address[];
19
19
 
20
- address public constant BAL_TOKEN = 0xba100000625a3754423978a60c9317c58a424e3D;
21
- address public constant AURA_TOKEN = 0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF;
22
- address public constant AURA_BOOSTER = 0xA57b8d98dAE62B26Ec3bcC4a365338157060B234;
23
- address public constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
20
+ address internal constant BAL_TOKEN = 0xba100000625a3754423978a60c9317c58a424e3D;
21
+ address internal constant AURA_TOKEN = 0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF;
22
+ address internal constant AURA_BOOSTER = 0xA57b8d98dAE62B26Ec3bcC4a365338157060B234;
23
+ address internal constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
24
24
 
25
25
  address public immutable balLp;
26
26
  bytes32 public immutable balPoolId;
@@ -55,9 +55,11 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
55
55
  previewHelper = _previewHelper;
56
56
  }
57
57
 
58
- function _getPoolInfo(
59
- uint256 _auraPid
60
- ) internal view returns (address _auraLp, address _auraRewardManager) {
58
+ function _getPoolInfo(uint256 _auraPid)
59
+ internal
60
+ view
61
+ returns (address _auraLp, address _auraRewardManager)
62
+ {
61
63
  if (_auraPid > IBooster(AURA_BOOSTER).poolLength()) revert Errors.SYBalancerInvalidPid();
62
64
  (_auraLp, , , _auraRewardManager, , ) = IBooster(AURA_BOOSTER).poolInfo(_auraPid);
63
65
  }
@@ -69,10 +71,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
69
71
  /**
70
72
  * @notice Either wraps LP, or also joins pool using exact tokenIn
71
73
  */
72
- function _deposit(
73
- address tokenIn,
74
- uint256 amount
75
- ) internal virtual override returns (uint256 amountSharesOut) {
74
+ function _deposit(address tokenIn, uint256 amount)
75
+ internal
76
+ virtual
77
+ override
78
+ returns (uint256 amountSharesOut)
79
+ {
76
80
  if (tokenIn == balLp) {
77
81
  amountSharesOut = amount;
78
82
  } else {
@@ -100,17 +104,42 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
100
104
  }
101
105
 
102
106
  function exchangeRate() external view override returns (uint256) {
107
+ _checkBalancerReadOnlyReentrancy();
103
108
  return IRateProvider(balLp).getRate();
104
109
  }
105
110
 
111
+ /// @dev The `manageUserBalance` function is a non-view function that includes a reentrancy guard.
112
+ /// When it is called by `staticcall`, one of two cases can occur:
113
+ /// 1. The function passes the reentrancy guard. In this scenario, the `status` variable is set to 2,
114
+ /// causing the EVM to panic (since the sub-call is a `staticcall`), resulting in a revert with
115
+ /// no response (i.e., `response.length == 0`).
116
+ /// 2. The function does not pass the reentrancy guard. In this situation, it reverts due to
117
+ /// error `BAL#400`, which means that `response.length = 100.`
118
+ /// To prevent read-only reentrancy, we simply need to verify that the revert corresponds to case 1,
119
+ /// rather than case 2. checking `response.length == 0` is sufficient.
120
+ function _checkBalancerReadOnlyReentrancy() internal view {
121
+ IVault.UserBalanceOp[] memory noop = new IVault.UserBalanceOp[](0);
122
+
123
+ (bool isSuccess, bytes memory response) = BALANCER_VAULT.staticcall(
124
+ abi.encodeWithSignature(
125
+ "manageUserBalance((uint8,address,uint256,address,address)[])",
126
+ noop
127
+ )
128
+ );
129
+
130
+ assert(!isSuccess);
131
+ if (response.length != 0) revert Errors.SYBalancerReentrancy();
132
+ }
133
+
106
134
  /*///////////////////////////////////////////////////////////////
107
135
  BALANCER-RELATED FUNCTIONS
108
136
  //////////////////////////////////////////////////////////////*/
109
137
 
110
- function _depositToBalancer(
111
- address tokenIn,
112
- uint256 amountTokenToDeposit
113
- ) internal virtual returns (uint256) {
138
+ function _depositToBalancer(address tokenIn, uint256 amountTokenToDeposit)
139
+ internal
140
+ virtual
141
+ returns (uint256)
142
+ {
114
143
  IVault.JoinPoolRequest memory request = _assembleJoinRequest(
115
144
  tokenIn,
116
145
  amountTokenToDeposit
@@ -121,10 +150,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
121
150
  return _selfBalance(balLp);
122
151
  }
123
152
 
124
- function _assembleJoinRequest(
125
- address tokenIn,
126
- uint256 amountTokenToDeposit
127
- ) internal view virtual returns (IVault.JoinPoolRequest memory request) {
153
+ function _assembleJoinRequest(address tokenIn, uint256 amountTokenToDeposit)
154
+ internal
155
+ view
156
+ virtual
157
+ returns (IVault.JoinPoolRequest memory request)
158
+ {
128
159
  // max amounts in
129
160
  address[] memory assets = _getPoolTokenAddresses();
130
161
 
@@ -166,10 +197,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
166
197
  return balanceAfter - balanceBefore;
167
198
  }
168
199
 
169
- function _assembleExitRequest(
170
- address tokenOut,
171
- uint256 amountLpToRedeem
172
- ) internal view virtual returns (IVault.ExitPoolRequest memory request) {
200
+ function _assembleExitRequest(address tokenOut, uint256 amountLpToRedeem)
201
+ internal
202
+ view
203
+ virtual
204
+ returns (IVault.ExitPoolRequest memory request)
205
+ {
173
206
  address[] memory assets = _getPoolTokenAddresses();
174
207
  uint256[] memory minAmountsOut = new uint256[](assets.length);
175
208
 
@@ -201,10 +234,13 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
201
234
  PREVIEW FUNCTIONS
202
235
  //////////////////////////////////////////////////////////////*/
203
236
 
204
- function _previewDeposit(
205
- address tokenIn,
206
- uint256 amountTokenToDeposit
207
- ) internal view virtual override returns (uint256 amountSharesOut) {
237
+ function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
238
+ internal
239
+ view
240
+ virtual
241
+ override
242
+ returns (uint256 amountSharesOut)
243
+ {
208
244
  if (tokenIn == balLp) {
209
245
  amountSharesOut = amountTokenToDeposit;
210
246
  } else {
@@ -222,10 +258,13 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
222
258
  }
223
259
  }
224
260
 
225
- function _previewRedeem(
226
- address tokenOut,
227
- uint256 amountSharesToRedeem
228
- ) internal view virtual override returns (uint256 amountTokenOut) {
261
+ function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
262
+ internal
263
+ view
264
+ virtual
265
+ override
266
+ returns (uint256 amountTokenOut)
267
+ {
229
268
  if (tokenOut == balLp) {
230
269
  amountTokenOut = amountSharesToRedeem;
231
270
  } else {
@@ -303,7 +342,11 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
303
342
  function assetInfo()
304
343
  external
305
344
  view
306
- returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
345
+ returns (
346
+ AssetType assetType,
347
+ address assetAddress,
348
+ uint8 assetDecimals
349
+ )
307
350
  {
308
351
  return (AssetType.LIQUIDITY, balLp, IERC20Metadata(balLp).decimals());
309
352
  }
@@ -116,6 +116,8 @@ library Errors {
116
116
 
117
117
  error SYStargateRedeemCapExceeded(uint256 amountLpDesired, uint256 amountLpRedeemable);
118
118
 
119
+ error SYBalancerReentrancy();
120
+
119
121
  // Liquidity Mining
120
122
  error VCInactivePool(address pool);
121
123
  error VCPoolAlreadyActive(address pool);
@@ -5,6 +5,21 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
5
5
  import "./IAsset.sol";
6
6
 
7
7
  interface IVault {
8
+ enum UserBalanceOpKind {
9
+ DEPOSIT_INTERNAL,
10
+ WITHDRAW_INTERNAL,
11
+ TRANSFER_INTERNAL,
12
+ TRANSFER_EXTERNAL
13
+ }
14
+
15
+ struct UserBalanceOp {
16
+ UserBalanceOpKind kind;
17
+ IAsset asset;
18
+ uint256 amount;
19
+ address sender;
20
+ address payable recipient;
21
+ }
22
+
8
23
  struct JoinPoolRequest {
9
24
  address[] assets;
10
25
  uint256[] maxAmountsIn;
@@ -61,12 +76,14 @@ interface IVault {
61
76
  uint256 deadline
62
77
  ) external payable returns (uint256);
63
78
 
64
- function getPoolTokens(
65
- bytes32 poolId
66
- )
79
+ function getPoolTokens(bytes32 poolId)
67
80
  external
68
81
  view
69
- returns (IERC20[] memory tokens, uint256[] memory balances, uint256 lastChangeBlock);
82
+ returns (
83
+ IERC20[] memory tokens,
84
+ uint256[] memory balances,
85
+ uint256 lastChangeBlock
86
+ );
70
87
 
71
88
  function WETH() external view returns (IERC20);
72
89
 
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "SY ankrETH-WETH_BalancerLP Aura",
3
+ "SY": "0x2C662f901546a503C90d8dE0DB8BfF1d32FF4A39",
4
+ "YT": "0x210e6E4addd3fE31240a02DaD104B83634eA0426",
5
+ "PT": "0x5E9Aaf3b0b09C78C8651968dd1A4d0Ed0D0B55e9",
6
+ "market": "0xe84b47e626c8dcc021a585a059819cC54946f95A",
7
+ "expiry": 1727308800,
8
+ "bulkSeller": "0x2CFf4F4578CFE2220E34C75169CE7C49F3cc56fa",
9
+ "scalarRoot": "24629050000000000000",
10
+ "initAnchor": "1172739000000000000"
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "SY rETH-WETH_BalancerLP Aura",
3
+ "SY": "0x9Bdb1dfD15D9051D127c3cD6882e194cA1c89e56",
4
+ "YT": "0xE1578305ACC1BA40a331fd8cC9c8aEA1C2F21c9c",
5
+ "PT": "0x73AA4ce1d62E30AA0207eaF25De6aC3bEba9E7fd",
6
+ "market": "0x7E9Ad57D949b7aE03588a5bCBa85016F76B462f7",
7
+ "expiry": 1735171200,
8
+ "bulkSeller": "0xFa6c7Eb155ad7A9f9Ad5f6C5178eb7e929BF8C09",
9
+ "scalarRoot": "52750270000000000000",
10
+ "initAnchor": "1104792000000000000"
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "SY Stafi rETH-WETH_BalancerLP Aura",
3
+ "SY": "0x35BE86140EEC53Da42C265ae764E547df13891c3",
4
+ "YT": "0xa57FEEDBd31F4ebD7761d5c3aeED7DeCCb8F95eE",
5
+ "PT": "0x1abfE281466Dc43Ba5e2A7282661735c00BF82DE",
6
+ "market": "0xB15a55519dBc3D770ddED079ebcDeEea69A49AdE",
7
+ "expiry": 1719446400,
8
+ "bulkSeller": "0x6C4aC4B209Cc57B019b83F6771794D3C73BC47Af",
9
+ "scalarRoot": "25304300000000000000",
10
+ "initAnchor": "1139984000000000000"
11
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "2.7.0-mainnet",
5
+ "version": "2.8.0-mainnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -25,9 +25,9 @@
25
25
  "devDependencies": {
26
26
  "@typechain/ethers-v5": "^9.0.0",
27
27
  "@typechain/hardhat": "^4.0.0",
28
- "hardhat": "^2.13.0",
28
+ "hardhat": "^2.13.1",
29
29
  "hardhat-contract-sizer": "^2.8.0",
30
- "prettier": "^2.8.5",
30
+ "prettier": "^2.8.7",
31
31
  "prettier-plugin-solidity": "^1.1.3",
32
32
  "solc": "^0.8.19",
33
33
  "solhint": "^3.4.1",