@pendle/core-v2 2.8.3-mainnet → 2.9.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 (320) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.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/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  27. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
  31. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
  33. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  37. package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
  63. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  71. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  73. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  75. package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
  78. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
  80. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
  82. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  85. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  87. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
  88. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  89. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  90. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  91. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  92. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  93. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  94. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  95. package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +19 -0
  116. package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +67 -0
  152. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +4 -0
  159. package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.json +82 -0
  160. package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +13 -0
  168. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
  183. package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.json +10 -0
  184. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
  186. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  203. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +4 -0
  204. package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +247 -0
  205. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +4 -0
  206. package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +10 -0
  207. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +4 -0
  208. package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +118 -0
  209. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +4 -0
  210. package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +144 -0
  211. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
  212. package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
  213. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
  214. package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
  215. package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
  216. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
  217. package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
  218. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
  219. package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
  220. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  221. package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
  222. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
  223. package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
  224. package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
  225. package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
  226. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  227. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
  229. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
  230. package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
  231. package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
  232. package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
  233. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  234. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
  235. package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
  236. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +1 -1
  238. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +1 -1
  239. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +1 -1
  240. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  241. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +1 -1
  242. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +1 -1
  243. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
  244. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
  245. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
  247. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +1 -1
  249. package/contracts/interfaces/GMX/IGlpManager.sol +2 -0
  250. package/contracts/interfaces/IPMarket.sol +19 -0
  251. package/contracts/interfaces/IPPtOracle.sol +23 -0
  252. package/contracts/interfaces/IPYieldToken.sol +3 -0
  253. package/contracts/offchain-helpers/BoringPtSeller.sol +39 -0
  254. package/contracts/oracles/PendlePtOracle.sol +99 -0
  255. package/contracts/oracles/PendlePtOracleLib.sol +59 -0
  256. package/contracts/oracles/samples/PendlePtGlpOracle.sol +53 -0
  257. package/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol +61 -0
  258. package/deployments/1-core.json +3 -2
  259. package/deployments/1-markets/BALANCER-LP-AURA-ANKRETH-WETH-SEP-26-2024.json +5 -5
  260. package/deployments/1-markets/BALANCER-LP-AURA-RETH-WETH-DEC-26-2024.json +5 -5
  261. package/deployments/42161-core.json +1 -0
  262. package/package.json +2 -1
  263. package/typechain-types/IGlpManager.ts +19 -0
  264. package/typechain-types/IPMarket.ts +98 -0
  265. package/typechain-types/IPPtOracle.ts +22 -3
  266. package/typechain-types/IPYieldToken.ts +21 -0
  267. package/typechain-types/PendlePtOracle.ts +189 -3
  268. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
  269. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  270. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  271. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  272. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  273. package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
  274. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  275. package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
  276. package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
  277. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  278. package/typechain-types/factories/IGlpManager__factory.ts +19 -0
  279. package/typechain-types/factories/IPMarket__factory.ts +67 -0
  280. package/typechain-types/factories/IPPtOracle__factory.ts +13 -0
  281. package/typechain-types/factories/IPYieldToken__factory.ts +13 -0
  282. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  283. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  284. package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
  285. package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
  286. package/typechain-types/factories/PendleMarket__factory.ts +1 -1
  287. package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
  288. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  289. package/typechain-types/factories/PendlePtGlpOracle__factory.ts +1 -1
  290. package/typechain-types/factories/PendlePtOracle__factory.ts +126 -1
  291. package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
  292. package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
  293. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  294. package/typechain-types/factories/PendleRouter__factory.ts +1 -1
  295. package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
  296. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  297. package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
  298. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  299. package/typechain-types/hardhat.d.ts +72 -9
  300. package/typechain-types/index.ts +16 -2
  301. package/typechain-types/IPPtAssetOracle.ts +0 -115
  302. package/typechain-types/IPPtUsdOracle.ts +0 -97
  303. package/typechain-types/PendleAuraBalancerStableLPSY.ts +0 -1523
  304. package/typechain-types/PendleAuraWethAnkrethSY.ts +0 -1523
  305. package/typechain-types/PendleAuraWethRethSY.ts +0 -1549
  306. package/typechain-types/PendleAuraWethWstethSY.ts +0 -1523
  307. package/typechain-types/PendleOracleFactory.ts +0 -251
  308. package/typechain-types/PendlePtAssetOracle.ts +0 -188
  309. package/typechain-types/PendlePtUsdOracle.ts +0 -142
  310. package/typechain-types/PendleStafiEthSY.ts +0 -100
  311. package/typechain-types/factories/IPPtAssetOracle__factory.ts +0 -65
  312. package/typechain-types/factories/IPPtUsdOracle__factory.ts +0 -49
  313. package/typechain-types/factories/PendleAuraBalancerStableLPSY__factory.ts +0 -1190
  314. package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +0 -1265
  315. package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
  316. package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1265
  317. package/typechain-types/factories/PendleOracleFactory__factory.ts +0 -258
  318. package/typechain-types/factories/PendlePtAssetOracle__factory.ts +0 -199
  319. package/typechain-types/factories/PendlePtUsdOracle__factory.ts +0 -153
  320. package/typechain-types/factories/PendleStafiEthSY__factory.ts +0 -118
@@ -0,0 +1,59 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../interfaces/IPMarket.sol";
5
+ import "../core/libraries/math/Math.sol";
6
+
7
+ library PendlePtOracleLib {
8
+ using Math for uint256;
9
+
10
+ /**
11
+ * This function returns the twap rate PT/Asset on market
12
+ * @param market market to get rate from
13
+ * @param duration twap duration
14
+ */
15
+ function getPtToAssetRate(IPMarket market, uint32 duration)
16
+ internal
17
+ view
18
+ returns (uint256 ptToAssetRate)
19
+ {
20
+ uint256 expiry = market.expiry();
21
+ if (expiry <= block.timestamp) {
22
+ return _getPtToAssetRatePostExpiry(market);
23
+ }
24
+ uint256 lnImpliedRate = _getMarketLnImpliedRate(market, duration);
25
+ uint256 timeToExpiry = expiry - block.timestamp;
26
+ uint256 assetToPtRate = uint256(
27
+ MarketMathCore._getExchangeRateFromImpliedRate(lnImpliedRate, timeToExpiry)
28
+ );
29
+
30
+ ptToAssetRate = Math.ONE.divDown(assetToPtRate);
31
+ }
32
+
33
+ function _getMarketLnImpliedRate(IPMarket market, uint32 duration)
34
+ private
35
+ view
36
+ returns (uint256)
37
+ {
38
+ uint32[] memory durations = new uint32[](2);
39
+ durations[0] = duration;
40
+
41
+ uint216[] memory lnImpliedRateCumulative = market.observe(durations);
42
+ return (lnImpliedRateCumulative[1] - lnImpliedRateCumulative[0]) / duration;
43
+ }
44
+
45
+ function _getPtToAssetRatePostExpiry(IPMarket market) private view returns (uint256) {
46
+ (IStandardizedYield SY, , IPYieldToken YT) = market.readTokens();
47
+
48
+ uint256 syIndex = SY.exchangeRate();
49
+ uint256 pyIndexCurrent;
50
+
51
+ if (YT.doCacheIndexSameBlock() && YT.pyIndexLastUpdatedBlock() == block.number) {
52
+ pyIndexCurrent = YT.pyIndexStored();
53
+ } else {
54
+ pyIndexCurrent = Math.max(syIndex, YT.pyIndexStored());
55
+ }
56
+
57
+ return syIndex.divDown(pyIndexCurrent);
58
+ }
59
+ }
@@ -0,0 +1,53 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../PendlePtOracleLib.sol";
5
+ import "../../interfaces/IPPtOracle.sol";
6
+ import "../../interfaces/GMX/IGlpManager.sol";
7
+ import "../../core/libraries/math/Math.sol";
8
+
9
+ /**
10
+ * @notice The returned price from this contract is multiply with the USD price of GLP read from
11
+ * GLPManager contract
12
+ *
13
+ * @dev This contract uses the PendlePtOracleLibrary to get the price instead of calling PendlePtOracle contract
14
+ * to save 1 external call gas consumption
15
+ */
16
+ contract PendlePtGlpOracle {
17
+ using PendlePtOracleLib for IPMarket;
18
+
19
+ uint32 public immutable twapDuration;
20
+ address public immutable market;
21
+ address public immutable glpManager;
22
+ error OracleNotReady(bool increaseCardinalityRequired, bool oldestObservationSatisfied);
23
+
24
+ constructor(
25
+ address _ptOracle,
26
+ uint32 _twapDuration,
27
+ address _market,
28
+ address _glpManager
29
+ ) {
30
+ twapDuration = _twapDuration;
31
+ market = _market;
32
+ glpManager = _glpManager;
33
+
34
+ (bool increaseCardinalityRequired, , bool oldestObservationSatisfied) = IPPtOracle(
35
+ _ptOracle
36
+ ).getOracleState(market, twapDuration);
37
+
38
+ if (increaseCardinalityRequired || !oldestObservationSatisfied) {
39
+ revert OracleNotReady(increaseCardinalityRequired, oldestObservationSatisfied);
40
+ }
41
+ }
42
+
43
+ function getPtPrice() external view virtual returns (uint256) {
44
+ // using library directly to save 1 external call (gas optimization)
45
+ uint256 ptRate = IPMarket(market).getPtToAssetRate(twapDuration);
46
+ uint256 assetPrice = IGlpManager(glpManager).getPrice(true);
47
+ return (assetPrice * ptRate) / Math.ONE;
48
+ }
49
+
50
+ function decimals() external pure virtual returns (uint8) {
51
+ return 18;
52
+ }
53
+ }
@@ -0,0 +1,61 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.17;
3
+
4
+ import "../../interfaces/IPPtOracle.sol";
5
+ import "../../core/libraries/math/Math.sol";
6
+ import { AggregatorV2V3Interface as IChainlinkAggregator } from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.sol";
7
+
8
+ /**
9
+ * @notice The returned price from this contract is multiply with the default USD price of asset
10
+ * read from Chainlink Oracles
11
+ *
12
+ * @dev The ptRate is fetched from PendlePtOracle contract
13
+ */
14
+ contract PendlePtUsdChainlinkOracle {
15
+ address public immutable ptOracle;
16
+ uint32 public immutable twapDuration;
17
+ address public immutable market;
18
+ address public immutable feed;
19
+ uint8 public immutable feedDecimals;
20
+
21
+ error OracleNotReady(bool increaseCardinalityRequired, bool oldestObservationSatisfied);
22
+
23
+ constructor(
24
+ address _ptOracle,
25
+ uint32 _twapDuration,
26
+ address _market,
27
+ address _feed
28
+ ) {
29
+ ptOracle = _ptOracle;
30
+ twapDuration = _twapDuration;
31
+ market = _market;
32
+ feed = _feed;
33
+ feedDecimals = IChainlinkAggregator(feed).decimals();
34
+
35
+ (bool increaseCardinalityRequired, , bool oldestObservationSatisfied) = IPPtOracle(
36
+ _ptOracle
37
+ ).getOracleState(market, twapDuration);
38
+
39
+ if (increaseCardinalityRequired || !oldestObservationSatisfied) {
40
+ revert OracleNotReady(increaseCardinalityRequired, oldestObservationSatisfied);
41
+ }
42
+ }
43
+
44
+ function getPtPrice() external view virtual returns (uint256) {
45
+ uint256 ptRate = IPPtOracle(ptOracle).getPtToAssetRate(market, twapDuration);
46
+ uint256 assetPrice = _getUnderlyingAssetPrice();
47
+ return (assetPrice * ptRate) / Math.ONE;
48
+ }
49
+
50
+ function _getUnderlyingAssetPrice() internal view virtual returns (uint256) {
51
+ uint256 rawPrice = uint256(IChainlinkAggregator(feed).latestAnswer());
52
+ return
53
+ feedDecimals < 18
54
+ ? rawPrice * 10**(18 - feedDecimals)
55
+ : rawPrice / 10**(feedDecimals - 18);
56
+ }
57
+
58
+ function decimals() external pure virtual returns (uint8) {
59
+ return 18;
60
+ }
61
+ }
@@ -23,10 +23,11 @@
23
23
  "router": "0x0000000001e4ef00d069e71d6ba041b0a16f7ea0",
24
24
  "routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
25
25
  "pendleSwap": "0x38812C3AC3563Bf200482ac9D096952D7cB55f9b",
26
+ "routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
27
+ "ptOracle": "0x414d3C8A26157085f286abE3BC6E1bb010733602",
26
28
  "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
27
29
  "senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
28
30
  "votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
29
31
  "gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
30
- "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
31
- "routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335"
32
+ "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2"
32
33
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "SY ankrETH-WETH_BalancerLP Aura",
3
- "SY": "0x2C662f901546a503C90d8dE0DB8BfF1d32FF4A39",
4
- "YT": "0x210e6E4addd3fE31240a02DaD104B83634eA0426",
5
- "PT": "0x5E9Aaf3b0b09C78C8651968dd1A4d0Ed0D0B55e9",
6
- "market": "0xe84b47e626c8dcc021a585a059819cC54946f95A",
3
+ "SY": "0x7f531a70A240Fba0e40169E56EedE1C6B7Ef8463",
4
+ "YT": "0x5A0f44FE239856091C52a4b2114aba55773b9c8d",
5
+ "PT": "0xD961c25aDb22171B142f7e9E14dF01962D4decDf",
6
+ "market": "0xabC8ae339e3F560BF700A3f6eE85Ee719979762b",
7
7
  "expiry": 1727308800,
8
- "bulkSeller": "0x2CFf4F4578CFE2220E34C75169CE7C49F3cc56fa",
8
+ "bulkSeller": "0x7d54A138835C66cb930aaF66C6007B3FC5bc731c",
9
9
  "scalarRoot": "24629050000000000000",
10
10
  "initAnchor": "1172739000000000000"
11
11
  }
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "SY rETH-WETH_BalancerLP Aura",
3
- "SY": "0x9Bdb1dfD15D9051D127c3cD6882e194cA1c89e56",
4
- "YT": "0xE1578305ACC1BA40a331fd8cC9c8aEA1C2F21c9c",
5
- "PT": "0x73AA4ce1d62E30AA0207eaF25De6aC3bEba9E7fd",
6
- "market": "0x7E9Ad57D949b7aE03588a5bCBa85016F76B462f7",
3
+ "SY": "0xc0dd85720E3Bc7959890127b5d3Af2D29f6C74f4",
4
+ "YT": "0x1524b28167a54C5Daef3d1A511A31436ACC91ed0",
5
+ "PT": "0xa5D0d71cB2601d7082E1c39cF1B6f131Bf866a33",
6
+ "market": "0x2EC8C498ec997aD963969a2c93Bf7150a1F5b213",
7
7
  "expiry": 1735171200,
8
- "bulkSeller": "0xFa6c7Eb155ad7A9f9Ad5f6C5178eb7e929BF8C09",
8
+ "bulkSeller": "0x3d9E694db2F50c31cA9bBb61c8C0046CeDC569cC",
9
9
  "scalarRoot": "52750270000000000000",
10
10
  "initAnchor": "1104792000000000000"
11
11
  }
@@ -21,6 +21,7 @@
21
21
  "routerStatic": "0xAdB09F65bd90d19e3148D9ccb693F3161C6DB3E8",
22
22
  "pendleSwap": "0xF0bF560F01d4196773a5c58A09d6D34b6bba4503",
23
23
  "routerHelper": "0x462206b11d185ef6F64B41D344325401C37EC335",
24
+ "ptOracle": "0x428f2f93afAc3F96B0DE59854038c585e06165C8",
24
25
  "receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
25
26
  "vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
26
27
  "gaugeController": "0x1e56299ebc8a1010cec26005d12e3e5c5cc2db00"
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.8.3-mainnet",
5
+ "version": "2.9.0-mainnet",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "packageManager": "yarn@3.3.1",
46
46
  "dependencies": {
47
+ "@chainlink/contracts": "^0.6.1",
47
48
  "@openzeppelin/contracts": "4.7.3",
48
49
  "@openzeppelin/contracts-upgradeable": "4.7.3"
49
50
  }
@@ -26,6 +26,7 @@ export interface IGlpManagerInterface extends utils.Interface {
26
26
  contractName: "IGlpManager";
27
27
  functions: {
28
28
  "getAumInUsdg(bool)": FunctionFragment;
29
+ "getPrice(bool)": FunctionFragment;
29
30
  "gov()": FunctionFragment;
30
31
  "setCooldownDuration(uint256)": FunctionFragment;
31
32
  "vault()": FunctionFragment;
@@ -35,6 +36,7 @@ export interface IGlpManagerInterface extends utils.Interface {
35
36
  functionFragment: "getAumInUsdg",
36
37
  values: [boolean]
37
38
  ): string;
39
+ encodeFunctionData(functionFragment: "getPrice", values: [boolean]): string;
38
40
  encodeFunctionData(functionFragment: "gov", values?: undefined): string;
39
41
  encodeFunctionData(
40
42
  functionFragment: "setCooldownDuration",
@@ -46,6 +48,7 @@ export interface IGlpManagerInterface extends utils.Interface {
46
48
  functionFragment: "getAumInUsdg",
47
49
  data: BytesLike
48
50
  ): Result;
51
+ decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result;
49
52
  decodeFunctionResult(functionFragment: "gov", data: BytesLike): Result;
50
53
  decodeFunctionResult(
51
54
  functionFragment: "setCooldownDuration",
@@ -89,6 +92,11 @@ export interface IGlpManager extends BaseContract {
89
92
  overrides?: CallOverrides
90
93
  ): Promise<[BigNumber]>;
91
94
 
95
+ getPrice(
96
+ _maximise: boolean,
97
+ overrides?: CallOverrides
98
+ ): Promise<[BigNumber]>;
99
+
92
100
  gov(overrides?: CallOverrides): Promise<[string]>;
93
101
 
94
102
  setCooldownDuration(
@@ -104,6 +112,8 @@ export interface IGlpManager extends BaseContract {
104
112
  overrides?: CallOverrides
105
113
  ): Promise<BigNumber>;
106
114
 
115
+ getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
116
+
107
117
  gov(overrides?: CallOverrides): Promise<string>;
108
118
 
109
119
  setCooldownDuration(
@@ -119,6 +129,8 @@ export interface IGlpManager extends BaseContract {
119
129
  overrides?: CallOverrides
120
130
  ): Promise<BigNumber>;
121
131
 
132
+ getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
133
+
122
134
  gov(overrides?: CallOverrides): Promise<string>;
123
135
 
124
136
  setCooldownDuration(
@@ -137,6 +149,8 @@ export interface IGlpManager extends BaseContract {
137
149
  overrides?: CallOverrides
138
150
  ): Promise<BigNumber>;
139
151
 
152
+ getPrice(_maximise: boolean, overrides?: CallOverrides): Promise<BigNumber>;
153
+
140
154
  gov(overrides?: CallOverrides): Promise<BigNumber>;
141
155
 
142
156
  setCooldownDuration(
@@ -153,6 +167,11 @@ export interface IGlpManager extends BaseContract {
153
167
  overrides?: CallOverrides
154
168
  ): Promise<PopulatedTransaction>;
155
169
 
170
+ getPrice(
171
+ _maximise: boolean,
172
+ overrides?: CallOverrides
173
+ ): Promise<PopulatedTransaction>;
174
+
156
175
  gov(overrides?: CallOverrides): Promise<PopulatedTransaction>;
157
176
 
158
177
  setCooldownDuration(
@@ -59,6 +59,7 @@ export type MarketStateStructOutput = [
59
59
  export interface IPMarketInterface extends utils.Interface {
60
60
  contractName: "IPMarket";
61
61
  functions: {
62
+ "_storage()": FunctionFragment;
62
63
  "activeBalance(address)": FunctionFragment;
63
64
  "allowance(address,address)": FunctionFragment;
64
65
  "approve(address,uint256)": FunctionFragment;
@@ -71,6 +72,7 @@ export interface IPMarketInterface extends utils.Interface {
71
72
  "isExpired()": FunctionFragment;
72
73
  "mint(address,uint256,uint256)": FunctionFragment;
73
74
  "name()": FunctionFragment;
75
+ "observations(uint256)": FunctionFragment;
74
76
  "observe(uint32[])": FunctionFragment;
75
77
  "readState(address)": FunctionFragment;
76
78
  "readTokens()": FunctionFragment;
@@ -84,6 +86,7 @@ export interface IPMarketInterface extends utils.Interface {
84
86
  "transferFrom(address,address,uint256)": FunctionFragment;
85
87
  };
86
88
 
89
+ encodeFunctionData(functionFragment: "_storage", values?: undefined): string;
87
90
  encodeFunctionData(
88
91
  functionFragment: "activeBalance",
89
92
  values: [string]
@@ -117,6 +120,10 @@ export interface IPMarketInterface extends utils.Interface {
117
120
  values: [string, BigNumberish, BigNumberish]
118
121
  ): string;
119
122
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
123
+ encodeFunctionData(
124
+ functionFragment: "observations",
125
+ values: [BigNumberish]
126
+ ): string;
120
127
  encodeFunctionData(
121
128
  functionFragment: "observe",
122
129
  values: [BigNumberish[]]
@@ -156,6 +163,7 @@ export interface IPMarketInterface extends utils.Interface {
156
163
  values: [string, string, BigNumberish]
157
164
  ): string;
158
165
 
166
+ decodeFunctionResult(functionFragment: "_storage", data: BytesLike): Result;
159
167
  decodeFunctionResult(
160
168
  functionFragment: "activeBalance",
161
169
  data: BytesLike
@@ -177,6 +185,10 @@ export interface IPMarketInterface extends utils.Interface {
177
185
  decodeFunctionResult(functionFragment: "isExpired", data: BytesLike): Result;
178
186
  decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result;
179
187
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
188
+ decodeFunctionResult(
189
+ functionFragment: "observations",
190
+ data: BytesLike
191
+ ): Result;
180
192
  decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result;
181
193
  decodeFunctionResult(functionFragment: "readState", data: BytesLike): Result;
182
194
  decodeFunctionResult(functionFragment: "readTokens", data: BytesLike): Result;
@@ -328,6 +340,19 @@ export interface IPMarket extends BaseContract {
328
340
  removeListener: OnEvent<this>;
329
341
 
330
342
  functions: {
343
+ _storage(
344
+ overrides?: CallOverrides
345
+ ): Promise<
346
+ [BigNumber, BigNumber, BigNumber, number, number, number] & {
347
+ totalPt: BigNumber;
348
+ totalSy: BigNumber;
349
+ lastLnImpliedRate: BigNumber;
350
+ observationIndex: number;
351
+ observationCardinality: number;
352
+ observationCardinalityNext: number;
353
+ }
354
+ >;
355
+
331
356
  activeBalance(
332
357
  user: string,
333
358
  overrides?: CallOverrides
@@ -376,6 +401,17 @@ export interface IPMarket extends BaseContract {
376
401
 
377
402
  name(overrides?: CallOverrides): Promise<[string]>;
378
403
 
404
+ observations(
405
+ index: BigNumberish,
406
+ overrides?: CallOverrides
407
+ ): Promise<
408
+ [number, BigNumber, boolean] & {
409
+ blockTimestamp: number;
410
+ lnImpliedRateCumulative: BigNumber;
411
+ initialized: boolean;
412
+ }
413
+ >;
414
+
379
415
  observe(
380
416
  secondsAgos: BigNumberish[],
381
417
  overrides?: CallOverrides
@@ -431,6 +467,19 @@ export interface IPMarket extends BaseContract {
431
467
  ): Promise<ContractTransaction>;
432
468
  };
433
469
 
470
+ _storage(
471
+ overrides?: CallOverrides
472
+ ): Promise<
473
+ [BigNumber, BigNumber, BigNumber, number, number, number] & {
474
+ totalPt: BigNumber;
475
+ totalSy: BigNumber;
476
+ lastLnImpliedRate: BigNumber;
477
+ observationIndex: number;
478
+ observationCardinality: number;
479
+ observationCardinalityNext: number;
480
+ }
481
+ >;
482
+
434
483
  activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
435
484
 
436
485
  allowance(
@@ -476,6 +525,17 @@ export interface IPMarket extends BaseContract {
476
525
 
477
526
  name(overrides?: CallOverrides): Promise<string>;
478
527
 
528
+ observations(
529
+ index: BigNumberish,
530
+ overrides?: CallOverrides
531
+ ): Promise<
532
+ [number, BigNumber, boolean] & {
533
+ blockTimestamp: number;
534
+ lnImpliedRateCumulative: BigNumber;
535
+ initialized: boolean;
536
+ }
537
+ >;
538
+
479
539
  observe(
480
540
  secondsAgos: BigNumberish[],
481
541
  overrides?: CallOverrides
@@ -531,6 +591,19 @@ export interface IPMarket extends BaseContract {
531
591
  ): Promise<ContractTransaction>;
532
592
 
533
593
  callStatic: {
594
+ _storage(
595
+ overrides?: CallOverrides
596
+ ): Promise<
597
+ [BigNumber, BigNumber, BigNumber, number, number, number] & {
598
+ totalPt: BigNumber;
599
+ totalSy: BigNumber;
600
+ lastLnImpliedRate: BigNumber;
601
+ observationIndex: number;
602
+ observationCardinality: number;
603
+ observationCardinalityNext: number;
604
+ }
605
+ >;
606
+
534
607
  activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
535
608
 
536
609
  allowance(
@@ -584,6 +657,17 @@ export interface IPMarket extends BaseContract {
584
657
 
585
658
  name(overrides?: CallOverrides): Promise<string>;
586
659
 
660
+ observations(
661
+ index: BigNumberish,
662
+ overrides?: CallOverrides
663
+ ): Promise<
664
+ [number, BigNumber, boolean] & {
665
+ blockTimestamp: number;
666
+ lnImpliedRateCumulative: BigNumber;
667
+ initialized: boolean;
668
+ }
669
+ >;
670
+
587
671
  observe(
588
672
  secondsAgos: BigNumberish[],
589
673
  overrides?: CallOverrides
@@ -731,6 +815,8 @@ export interface IPMarket extends BaseContract {
731
815
  };
732
816
 
733
817
  estimateGas: {
818
+ _storage(overrides?: CallOverrides): Promise<BigNumber>;
819
+
734
820
  activeBalance(user: string, overrides?: CallOverrides): Promise<BigNumber>;
735
821
 
736
822
  allowance(
@@ -776,6 +862,11 @@ export interface IPMarket extends BaseContract {
776
862
 
777
863
  name(overrides?: CallOverrides): Promise<BigNumber>;
778
864
 
865
+ observations(
866
+ index: BigNumberish,
867
+ overrides?: CallOverrides
868
+ ): Promise<BigNumber>;
869
+
779
870
  observe(
780
871
  secondsAgos: BigNumberish[],
781
872
  overrides?: CallOverrides
@@ -825,6 +916,8 @@ export interface IPMarket extends BaseContract {
825
916
  };
826
917
 
827
918
  populateTransaction: {
919
+ _storage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
920
+
828
921
  activeBalance(
829
922
  user: string,
830
923
  overrides?: CallOverrides
@@ -876,6 +969,11 @@ export interface IPMarket extends BaseContract {
876
969
 
877
970
  name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
878
971
 
972
+ observations(
973
+ index: BigNumberish,
974
+ overrides?: CallOverrides
975
+ ): Promise<PopulatedTransaction>;
976
+
879
977
  observe(
880
978
  secondsAgos: BigNumberish[],
881
979
  overrides?: CallOverrides
@@ -11,7 +11,7 @@ import {
11
11
  Signer,
12
12
  utils,
13
13
  } from "ethers";
14
- import { FunctionFragment, Result } from "@ethersproject/abi";
14
+ import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
15
15
  import { Listener, Provider } from "@ethersproject/providers";
16
16
  import type {
17
17
  TypedEventFilter,
@@ -45,9 +45,21 @@ export interface IPPtOracleInterface extends utils.Interface {
45
45
  data: BytesLike
46
46
  ): Result;
47
47
 
48
- events: {};
48
+ events: {
49
+ "SetBlockCycleNumerator(uint16)": EventFragment;
50
+ };
51
+
52
+ getEvent(nameOrSignatureOrTopic: "SetBlockCycleNumerator"): EventFragment;
49
53
  }
50
54
 
55
+ export type SetBlockCycleNumeratorEvent = TypedEvent<
56
+ [number],
57
+ { newBlockCycleNumerator: number }
58
+ >;
59
+
60
+ export type SetBlockCycleNumeratorEventFilter =
61
+ TypedEventFilter<SetBlockCycleNumeratorEvent>;
62
+
51
63
  export interface IPPtOracle extends BaseContract {
52
64
  contractName: "IPPtOracle";
53
65
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -133,7 +145,14 @@ export interface IPPtOracle extends BaseContract {
133
145
  ): Promise<BigNumber>;
134
146
  };
135
147
 
136
- filters: {};
148
+ filters: {
149
+ "SetBlockCycleNumerator(uint16)"(
150
+ newBlockCycleNumerator?: null
151
+ ): SetBlockCycleNumeratorEventFilter;
152
+ SetBlockCycleNumerator(
153
+ newBlockCycleNumerator?: null
154
+ ): SetBlockCycleNumeratorEventFilter;
155
+ };
137
156
 
138
157
  estimateGas: {
139
158
  getOracleState(
@@ -39,6 +39,7 @@ export interface IPYieldTokenInterface extends utils.Interface {
39
39
  "mintPY(address,address)": FunctionFragment;
40
40
  "name()": FunctionFragment;
41
41
  "pyIndexCurrent()": FunctionFragment;
42
+ "pyIndexLastUpdatedBlock()": FunctionFragment;
42
43
  "pyIndexStored()": FunctionFragment;
43
44
  "redeemDueInterestAndRewards(address,bool,bool)": FunctionFragment;
44
45
  "redeemPY(address)": FunctionFragment;
@@ -84,6 +85,10 @@ export interface IPYieldTokenInterface extends utils.Interface {
84
85
  functionFragment: "pyIndexCurrent",
85
86
  values?: undefined
86
87
  ): string;
88
+ encodeFunctionData(
89
+ functionFragment: "pyIndexLastUpdatedBlock",
90
+ values?: undefined
91
+ ): string;
87
92
  encodeFunctionData(
88
93
  functionFragment: "pyIndexStored",
89
94
  values?: undefined
@@ -146,6 +151,10 @@ export interface IPYieldTokenInterface extends utils.Interface {
146
151
  functionFragment: "pyIndexCurrent",
147
152
  data: BytesLike
148
153
  ): Result;
154
+ decodeFunctionResult(
155
+ functionFragment: "pyIndexLastUpdatedBlock",
156
+ data: BytesLike
157
+ ): Result;
149
158
  decodeFunctionResult(
150
159
  functionFragment: "pyIndexStored",
151
160
  data: BytesLike
@@ -339,6 +348,8 @@ export interface IPYieldToken extends BaseContract {
339
348
  overrides?: Overrides & { from?: string | Promise<string> }
340
349
  ): Promise<ContractTransaction>;
341
350
 
351
+ pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<[BigNumber]>;
352
+
342
353
  pyIndexStored(overrides?: CallOverrides): Promise<[BigNumber]>;
343
354
 
344
355
  redeemDueInterestAndRewards(
@@ -441,6 +452,8 @@ export interface IPYieldToken extends BaseContract {
441
452
  overrides?: Overrides & { from?: string | Promise<string> }
442
453
  ): Promise<ContractTransaction>;
443
454
 
455
+ pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
456
+
444
457
  pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
445
458
 
446
459
  redeemDueInterestAndRewards(
@@ -539,6 +552,8 @@ export interface IPYieldToken extends BaseContract {
539
552
 
540
553
  pyIndexCurrent(overrides?: CallOverrides): Promise<BigNumber>;
541
554
 
555
+ pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
556
+
542
557
  pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
543
558
 
544
559
  redeemDueInterestAndRewards(
@@ -728,6 +743,8 @@ export interface IPYieldToken extends BaseContract {
728
743
  overrides?: Overrides & { from?: string | Promise<string> }
729
744
  ): Promise<BigNumber>;
730
745
 
746
+ pyIndexLastUpdatedBlock(overrides?: CallOverrides): Promise<BigNumber>;
747
+
731
748
  pyIndexStored(overrides?: CallOverrides): Promise<BigNumber>;
732
749
 
733
750
  redeemDueInterestAndRewards(
@@ -826,6 +843,10 @@ export interface IPYieldToken extends BaseContract {
826
843
  overrides?: Overrides & { from?: string | Promise<string> }
827
844
  ): Promise<PopulatedTransaction>;
828
845
 
846
+ pyIndexLastUpdatedBlock(
847
+ overrides?: CallOverrides
848
+ ): Promise<PopulatedTransaction>;
849
+
829
850
  pyIndexStored(overrides?: CallOverrides): Promise<PopulatedTransaction>;
830
851
 
831
852
  redeemDueInterestAndRewards(