@pendle/core-v2 6.2.1 → 6.2.2-sweed

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 (513) 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/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +13 -0
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +20 -2
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +20 -2
  15. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +6 -24
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  37. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +19 -0
  39. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +4 -0
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +636 -0
  41. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +4 -0
  42. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +1181 -0
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  47. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +28 -2
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +4 -0
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +608 -0
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +28 -2
  55. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +15 -2
  57. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +27 -2
  64. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  68. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  69. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  71. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  72. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  73. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  74. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  75. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  76. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  77. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  78. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  79. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +4 -0
  84. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.json +141 -0
  85. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +282 -0
  116. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +19 -0
  122. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +58 -0
  133. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +81 -19
  135. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +26 -0
  150. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.json +13 -0
  158. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +26 -0
  160. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  166. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  167. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  168. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  169. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  170. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  171. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  172. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  179. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +4 -0
  191. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +333 -0
  192. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +15 -2
  197. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  205. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  207. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +7 -2
  211. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  214. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  216. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  219. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  220. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  226. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  228. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  232. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  233. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  234. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  235. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  236. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +4 -0
  238. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +533 -0
  239. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +4 -0
  240. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +889 -0
  241. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +4 -0
  242. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +84 -0
  243. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +4 -0
  244. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +24 -0
  245. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  246. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  247. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  248. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  249. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  250. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  251. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  252. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  253. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  254. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  255. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  257. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  259. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  260. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  261. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  262. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  263. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +4 -0
  264. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.json +81 -0
  265. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +4 -0
  266. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +121 -0
  267. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  268. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  269. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  270. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  271. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  272. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  273. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  274. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  275. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  276. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  277. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  278. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  280. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  282. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  284. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  286. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  288. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  290. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  291. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  292. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  294. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  295. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  296. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  297. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  298. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  299. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  300. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  301. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  302. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  303. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  304. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  305. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  306. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  307. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  309. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  311. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  313. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  318. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  320. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  321. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +6 -2
  322. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +12 -2
  323. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +9 -1
  324. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +10 -14
  325. package/contracts/core/Market/PendleGauge.sol +2 -0
  326. package/contracts/core/Market/{v3/PendleMarketFactoryV3.sol → PendleMarketFactoryV6Upg.sol} +18 -14
  327. package/contracts/core/Market/{v3/PendleMarketV3.sol → PendleMarketV6.sol} +48 -13
  328. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +6 -0
  329. package/contracts/core/YieldContracts/{PendleYieldContractFactory.sol → PendleYieldContractFactoryUpg.sol} +10 -13
  330. package/contracts/core/YieldContracts/PendleYieldToken.sol +6 -0
  331. package/contracts/core/erc20/PendleERC20.sol +12 -0
  332. package/contracts/core/libraries/Errors.sol +7 -0
  333. package/contracts/core/libraries/StringLib.sol +12 -0
  334. package/contracts/interfaces/IMarketSweed.sol +23 -0
  335. package/contracts/interfaces/IPExchangeRateOracleApp.sol +86 -0
  336. package/contracts/interfaces/IPGauge.sol +4 -3
  337. package/contracts/interfaces/IPMarket.sol +8 -2
  338. package/contracts/interfaces/IPMarketFactory.sol +22 -10
  339. package/contracts/interfaces/IPPrincipalToken.sol +4 -0
  340. package/contracts/interfaces/IPYieldContractFactory.sol +2 -0
  341. package/contracts/interfaces/IPYieldToken.sol +4 -0
  342. package/contracts/offchain-helpers/MarketSweed.sol +239 -0
  343. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +10 -10
  344. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +6 -6
  345. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +3 -3
  346. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +23 -0
  347. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +160 -0
  348. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +25 -0
  349. package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +36 -0
  350. package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +9 -0
  351. package/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol +29 -0
  352. package/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol +30 -0
  353. package/deployments/1-core.json +3 -2
  354. package/deployments/10-core.json +3 -2
  355. package/deployments/146-core.json +3 -2
  356. package/deployments/42161-core.json +3 -2
  357. package/deployments/43114-core.json +19 -2
  358. package/deployments/5000-core.json +3 -2
  359. package/deployments/56-core.json +3 -2
  360. package/deployments/80094-core.json +3 -2
  361. package/deployments/8453-core.json +3 -2
  362. package/deployments/9745-core.json +3 -2
  363. package/deployments/999-core.json +3 -2
  364. package/package.json +2 -1
  365. package/typechain-types/ActionDelegateBase.ts +57 -0
  366. package/typechain-types/ExchangeRateMsgCodec.ts +89 -0
  367. package/typechain-types/{MarketSwapNSeed.ts → IMarketSweed.ts} +35 -54
  368. package/typechain-types/IPExchangeRateOracleApp.ts +352 -0
  369. package/typechain-types/IPGauge.ts +19 -0
  370. package/typechain-types/IPMarket.ts +76 -0
  371. package/typechain-types/IPMarketFactory.ts +146 -46
  372. package/typechain-types/IPPrincipalToken.ts +34 -0
  373. package/typechain-types/IPYieldContractFactory.ts +13 -0
  374. package/typechain-types/IPYieldToken.ts +34 -0
  375. package/typechain-types/LimitMathCore.ts +102 -0
  376. package/typechain-types/MarketSweed.ts +255 -0
  377. package/typechain-types/OAppCoreUpgradeable.ts +320 -0
  378. package/typechain-types/OAppOptionsType3Upgradeable.ts +319 -0
  379. package/typechain-types/OAppReceiverUpgradeable.ts +498 -0
  380. package/typechain-types/OAppSenderUpgradeable.ts +320 -0
  381. package/typechain-types/OAppUpgradeable.ts +498 -0
  382. package/typechain-types/{BoringOwnableUpgradeable__deprecated.ts → OwnableUpgradeable.ts} +23 -53
  383. package/typechain-types/PendleCommonPoolDeployHelperV2.ts +7 -1
  384. package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +662 -0
  385. package/typechain-types/PendleERC20.ts +21 -0
  386. package/typechain-types/PendleExchangeRateOracleApp.ts +1012 -0
  387. package/typechain-types/PendleExchangeRateOracleV2.ts +142 -0
  388. package/typechain-types/PendleGauge.ts +19 -0
  389. package/typechain-types/PendleGaugeControllerBaseUpg.ts +19 -0
  390. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +19 -0
  391. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +19 -0
  392. package/typechain-types/PendleLPWrapper.ts +21 -0
  393. package/typechain-types/PendleLinearDiscountOracleWrapper.ts +150 -0
  394. package/typechain-types/{PendleMarketFactory.ts → PendleMarketFactoryV6Upg.ts} +114 -247
  395. package/typechain-types/{PendleMarket.ts → PendleMarketV6.ts} +78 -37
  396. package/typechain-types/PendlePrincipalToken.ts +34 -0
  397. package/typechain-types/PendleSparkLinearDiscountOracleFactoryWrapper.ts +216 -0
  398. package/typechain-types/PendleVotingControllerUpg.ts +18 -48
  399. package/typechain-types/PendleYieldContractFactoryUpg.ts +820 -0
  400. package/typechain-types/PendleYieldToken.ts +34 -0
  401. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  402. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  403. package/typechain-types/factories/ActionDelegateBase__factory.ts +80 -0
  404. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  405. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  406. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  407. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  408. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  409. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  410. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  411. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  412. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  413. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  414. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  415. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  416. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  417. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  418. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  419. package/typechain-types/factories/Errors__factory.ts +26 -1
  420. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +81 -0
  421. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  422. package/typechain-types/factories/IMarketSweed__factory.ts +153 -0
  423. package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +301 -0
  424. package/typechain-types/factories/IPGauge__factory.ts +19 -0
  425. package/typechain-types/factories/IPMarketFactory__factory.ts +81 -19
  426. package/typechain-types/factories/IPMarket__factory.ts +58 -0
  427. package/typechain-types/factories/IPPrincipalToken__factory.ts +26 -0
  428. package/typechain-types/factories/IPYieldContractFactory__factory.ts +13 -0
  429. package/typechain-types/factories/IPYieldToken__factory.ts +26 -0
  430. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  431. package/typechain-types/factories/LimitMathCore__factory.ts +87 -0
  432. package/typechain-types/factories/MarketSweed__factory.ts +385 -0
  433. package/typechain-types/factories/OAppCoreUpgradeable__factory.ts +228 -0
  434. package/typechain-types/factories/OAppOptionsType3Upgradeable__factory.ts +219 -0
  435. package/typechain-types/factories/OAppReceiverUpgradeable__factory.ts +399 -0
  436. package/typechain-types/factories/OAppSenderUpgradeable__factory.ts +248 -0
  437. package/typechain-types/factories/OAppUpgradeable__factory.ts +411 -0
  438. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  439. package/typechain-types/factories/{BoringOwnableUpgradeable__deprecated__factory.ts → OwnableUpgradeable__factory.ts} +11 -40
  440. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  441. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  442. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  443. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +6 -1
  444. package/typechain-types/factories/PendleCrossChainOracleBaseApp_Init__factory.ts +554 -0
  445. package/typechain-types/factories/PendleERC20__factory.ts +14 -1
  446. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +958 -0
  447. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +165 -0
  448. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  449. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  450. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +13 -0
  451. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +23 -1
  452. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +23 -1
  453. package/typechain-types/factories/PendleGauge__factory.ts +19 -0
  454. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  455. package/typechain-types/factories/PendleLPWrapper__factory.ts +14 -1
  456. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  457. package/typechain-types/factories/PendleLinearDiscountOracleWrapper__factory.ts +145 -0
  458. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +732 -0
  459. package/typechain-types/factories/PendleMarketV6__factory.ts +1261 -0
  460. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  461. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  462. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  463. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  464. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  465. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  466. package/typechain-types/factories/PendlePrincipalToken__factory.ts +27 -1
  467. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  468. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  469. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  470. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +193 -0
  471. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  472. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +5 -23
  473. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  474. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +692 -0
  475. package/typechain-types/factories/PendleYieldToken__factory.ts +27 -1
  476. package/typechain-types/factories/Reflector__factory.ts +1 -1
  477. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  478. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  479. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  480. package/typechain-types/hardhat.d.ts +161 -8
  481. package/typechain-types/index.ts +36 -2
  482. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +0 -4
  483. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +0 -610
  484. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +0 -4
  485. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +0 -1131
  486. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
  487. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -590
  488. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
  489. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +0 -394
  490. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +0 -4
  491. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +0 -370
  492. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +0 -4
  493. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +0 -246
  494. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +0 -4
  495. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.json +0 -202
  496. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +0 -4
  497. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.json +0 -833
  498. package/contracts/core/erc20/PendleERC20Permit.sol +0 -80
  499. package/contracts/core/erc20/PendleERC20PermitUpg.sol +0 -82
  500. package/contracts/core/erc20/PendleERC20Upg.sol +0 -334
  501. package/contracts/interfaces/IPMarketFactoryV3.sol +0 -33
  502. package/contracts/interfaces/IPMarketV3.sol +0 -8
  503. package/typechain-types/I1inchAggregationRouterV6.ts +0 -337
  504. package/typechain-types/IGenericSwapExactAmountIn.ts +0 -161
  505. package/typechain-types/IPendleCommonPoolDeployHelperV2.ts +0 -391
  506. package/typechain-types/LimitBackendHelper.ts +0 -287
  507. package/typechain-types/factories/I1inchAggregationRouterV6__factory.ts +0 -233
  508. package/typechain-types/factories/IGenericSwapExactAmountIn__factory.ts +0 -100
  509. package/typechain-types/factories/IPendleCommonPoolDeployHelperV2__factory.ts +0 -447
  510. package/typechain-types/factories/LimitBackendHelper__factory.ts +0 -232
  511. package/typechain-types/factories/MarketSwapNSeed__factory.ts +0 -287
  512. package/typechain-types/factories/PendleMarketFactory__factory.ts +0 -748
  513. package/typechain-types/factories/PendleMarket__factory.ts +0 -1212
@@ -0,0 +1,160 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../base/PendleCrossChainOracleBaseApp_Init.sol";
5
+ import {ILayerZeroEndpointV2} from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
6
+ import "../../../interfaces/IPExchangeRateOracleApp.sol";
7
+ import {IStandardizedYield} from "../../../interfaces/IStandardizedYield.sol";
8
+ import {ExchangeRateMsgCodec} from "../libraries/ExchangeRateMsgCodec.sol";
9
+ import {Errors} from "../../../core/libraries/Errors.sol";
10
+
11
+ /**
12
+ * @title PendleExchangeRateOracleApp
13
+ * @notice Cross-chain oracle for Pendle exchange rates using LayerZero
14
+ */
15
+ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPExchangeRateOracleApp {
16
+ using ExchangeRateMsgCodec for bytes;
17
+ using ExchangeRateMsgCodec for bytes32;
18
+
19
+ uint32 public immutable eid;
20
+ mapping(uint32 srcEid => mapping(bytes32 source => ExchangeRateData)) private feedData;
21
+
22
+ address public allowedSender;
23
+
24
+ modifier validateDstEid(uint32 dstEid) {
25
+ if (dstEid == eid) revert Errors.InvalidDestinationEid();
26
+ _;
27
+ }
28
+
29
+ modifier onlyOwnerOrAllowedSender() {
30
+ require(msg.sender == owner() || msg.sender == allowedSender, "Not authorized");
31
+ _;
32
+ }
33
+
34
+ constructor(
35
+ address _endpoint,
36
+ address payable _refundAddress
37
+ ) PendleCrossChainOracleBaseApp_Init(_endpoint, _refundAddress) {
38
+ _disableInitializers();
39
+ eid = ILayerZeroEndpointV2(_endpoint).eid();
40
+ }
41
+
42
+ function initialize(address _owner, address _delegate, address _allowedSender) external initializer {
43
+ __PendleCrossChainOracleBaseApp_initialize(_owner, _delegate);
44
+ _setAllowedSender(_allowedSender);
45
+ }
46
+
47
+ /// @inheritdoc IPExchangeRateOracleApp
48
+ function quoteSendExchangeRate(
49
+ SendExchangeRateParam calldata sendParam,
50
+ bool payInLzToken
51
+ ) external view returns (MessagingFee memory fee) {
52
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
53
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
54
+
55
+ fee = _quote(sendParam.dstEid, message, options, payInLzToken);
56
+ }
57
+
58
+ /// @inheritdoc IPExchangeRateOracleApp
59
+ function sendExchangeRate(
60
+ SendExchangeRateParam calldata sendParam,
61
+ MessagingFee calldata fee
62
+ )
63
+ external
64
+ payable
65
+ onlyOwnerOrAllowedSender
66
+ validateDstEid(sendParam.dstEid)
67
+ returns (MessagingReceipt memory receipt)
68
+ {
69
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
70
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
71
+
72
+ receipt = _lzSend(sendParam.dstEid, message, options, fee, refundAddress);
73
+
74
+ emit ExchangeRateSent(receipt.guid, sendParam.dstEid, sendParam.exchangeRateSource, exchangeRate);
75
+ }
76
+
77
+ /// @inheritdoc IPExchangeRateOracleApp
78
+ function getExchangeRate(
79
+ uint32 _srcEid,
80
+ bytes32 exchangeRateSource
81
+ ) external view returns (ExchangeRateData memory exchangeRateData) {
82
+ if (_srcEid == eid) {
83
+ uint256 exchangeRate = _getExchangeRateFromSource(exchangeRateSource.bytes32ToAddress());
84
+ return ExchangeRateData(exchangeRate, block.timestamp);
85
+ }
86
+
87
+ exchangeRateData = feedData[_srcEid][exchangeRateSource];
88
+
89
+ if (exchangeRateData.updatedAt == 0) revert Errors.FeedNotInitialized();
90
+ }
91
+
92
+ function _lzReceive(
93
+ Origin calldata _origin,
94
+ bytes32 _guid,
95
+ bytes calldata _message,
96
+ address /*_executor*/,
97
+ bytes calldata /*_extraData*/
98
+ ) internal override {
99
+ (bytes32 exchangeRateSource, uint256 exchangeRate, uint256 updatedAt) = _message.decodeMessage();
100
+
101
+ bool rateAccepted = _updateExchangeRate(_origin.srcEid, exchangeRateSource, exchangeRate, updatedAt);
102
+
103
+ emit ExchangeRateReceived(_guid, _origin.srcEid, exchangeRateSource, exchangeRate, updatedAt, rateAccepted);
104
+ }
105
+
106
+ function _buildMsgAndOptions(
107
+ SendExchangeRateParam calldata sendParam,
108
+ uint256 exchangeRate
109
+ ) internal view returns (bytes memory message, bytes memory options) {
110
+ uint16 msgType;
111
+
112
+ (msgType, message) = ExchangeRateMsgCodec.encodeExchangeRateMessage(
113
+ sendParam.exchangeRateSource,
114
+ exchangeRate,
115
+ block.timestamp
116
+ );
117
+
118
+ options = combineOptions(sendParam.dstEid, msgType, sendParam.extraOptions);
119
+ }
120
+
121
+ function _getExchangeRateFromSource(address exchangeRateSource) internal view returns (uint256) {
122
+ try IStandardizedYield(exchangeRateSource).exchangeRate() returns (uint256 exchangeRate) {
123
+ return exchangeRate;
124
+ } catch (bytes memory revertData) {
125
+ uint256 length = revertData.length;
126
+ if (length != 0) {
127
+ assembly {
128
+ revert(add(revertData, 32), length)
129
+ }
130
+ }
131
+ revert Errors.ExchangeRateCallFailed();
132
+ }
133
+ }
134
+
135
+ function _updateExchangeRate(
136
+ uint32 _srcEid,
137
+ bytes32 exchangeRateSource,
138
+ uint256 exchangeRate,
139
+ uint256 updatedAt
140
+ ) internal returns (bool rateAccepted) {
141
+ ExchangeRateData storage currentFeedData = feedData[_srcEid][exchangeRateSource];
142
+
143
+ if (updatedAt > currentFeedData.updatedAt) {
144
+ rateAccepted = true;
145
+ currentFeedData.exchangeRate = exchangeRate;
146
+ currentFeedData.updatedAt = updatedAt;
147
+ }
148
+ }
149
+
150
+ // ====== Admin functions ======
151
+
152
+ function setAllowedSender(address _allowedSender) external onlyOwner {
153
+ _setAllowedSender(_allowedSender);
154
+ }
155
+
156
+ function _setAllowedSender(address _allowedSender) internal {
157
+ allowedSender = _allowedSender;
158
+ emit AllowedSenderSet(_allowedSender);
159
+ }
160
+ }
@@ -0,0 +1,25 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPExchangeRateOracle} from "../../../interfaces/IPExchangeRateOracle.sol";
5
+ import {IPExchangeRateOracleApp} from "../../../interfaces/IPExchangeRateOracleApp.sol";
6
+
7
+ contract PendleExchangeRateOracleV2 is IPExchangeRateOracle {
8
+ address public immutable exchangeRateOracleApp;
9
+ uint32 public immutable srcEid;
10
+ bytes32 public immutable exchangeRateSource;
11
+
12
+ constructor(address _exchangeRateOracleApp, uint32 _srcEid, bytes32 _exchangeRateSource) {
13
+ exchangeRateOracleApp = _exchangeRateOracleApp;
14
+ srcEid = _srcEid;
15
+ exchangeRateSource = _exchangeRateSource;
16
+ }
17
+
18
+ function getExchangeRate() external view returns (uint256) {
19
+ IPExchangeRateOracleApp.ExchangeRateData memory exchangeRateData = IPExchangeRateOracleApp(
20
+ exchangeRateOracleApp
21
+ ).getExchangeRate(srcEid, exchangeRateSource);
22
+
23
+ return exchangeRateData.exchangeRate;
24
+ }
25
+ }
@@ -0,0 +1,36 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {Errors} from "../../../core/libraries/Errors.sol";
5
+
6
+ library ExchangeRateMsgCodec {
7
+ uint16 public constant SEND_EXCHANGE_RATE = 1;
8
+
9
+ function encodeExchangeRateMessage(
10
+ address exchangeRateSource,
11
+ uint256 exchangeRate,
12
+ uint256 updatedAt
13
+ ) internal pure returns (uint16 msgType, bytes memory message) {
14
+ msgType = SEND_EXCHANGE_RATE;
15
+ message = abi.encode(msgType, exchangeRateSource, exchangeRate, updatedAt);
16
+ }
17
+
18
+ function decodeMessage(
19
+ bytes calldata message
20
+ ) internal pure returns (bytes32 exchangeRateSource, uint256 exchangeRate, uint256 updatedAt) {
21
+ uint16 msgType;
22
+ (msgType, exchangeRateSource, exchangeRate, updatedAt) = abi.decode(
23
+ message,
24
+ (uint16, bytes32, uint256, uint256)
25
+ );
26
+ if (msgType != SEND_EXCHANGE_RATE) revert Errors.InvalidMsgType();
27
+ }
28
+
29
+ function addressToBytes32(address _addr) internal pure returns (bytes32) {
30
+ return bytes32(uint256(uint160(_addr)));
31
+ }
32
+
33
+ function bytes32ToAddress(bytes32 _b) internal pure returns (address) {
34
+ return address(uint160(uint256(_b)));
35
+ }
36
+ }
@@ -46,6 +46,7 @@ library PendleLpOracleLib {
46
46
  uint32 duration,
47
47
  uint256 pyIndex
48
48
  ) private view returns (uint256 lpToAssetRateRaw) {
49
+ _checkMarketReentrancy(market);
49
50
  MarketState memory state = market.readState(address(0));
50
51
 
51
52
  int256 totalHypotheticalAsset;
@@ -83,4 +84,12 @@ library PendleLpOracleLib {
83
84
  int256 rateLastTrade = MarketMathCore._getExchangeRateFromImpliedRate(state.lastLnImpliedRate, timeToExpiry);
84
85
  rateHypTrade = (rateLastTrade + rateOracle) / 2;
85
86
  }
87
+
88
+ function _checkMarketReentrancy(IPMarket market) internal view {
89
+ try market.reentrancyGuardEntered() returns (bool entered) {
90
+ require(entered == false, "ReentrancyGuard: reentrant call");
91
+ } catch {
92
+ return;
93
+ }
94
+ }
86
95
  }
@@ -0,0 +1,29 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.19;
3
+
4
+ import {IPChainlinkOracleEssential} from "../../interfaces/IPChainlinkOracleEssential.sol";
5
+
6
+ /**
7
+ * Oracle wrapper that updates the `updatedAt` field to the current block timestamp.
8
+ * Intended to use with the Chainlink-compatible oracles that are stateless but with updatedAt field equal to 0.
9
+ */
10
+ contract PendleLinearDiscountOracleWrapper is IPChainlinkOracleEssential {
11
+ IPChainlinkOracleEssential public immutable innerOracle;
12
+
13
+ constructor(address _innerOracle) {
14
+ innerOracle = IPChainlinkOracleEssential(_innerOracle);
15
+ }
16
+
17
+ function latestRoundData()
18
+ external
19
+ view
20
+ returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
21
+ {
22
+ (roundId, answer, startedAt, updatedAt, answeredInRound) = innerOracle.latestRoundData();
23
+ updatedAt = block.timestamp;
24
+ }
25
+
26
+ function decimals() external view returns (uint8) {
27
+ return innerOracle.decimals();
28
+ }
29
+ }
@@ -0,0 +1,30 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.19;
3
+
4
+ import {PendleLinearDiscountOracleWrapper} from "./PendleLinearDiscountOracleWrapper.sol";
5
+ import {PendleSparkLinearDiscountOracleFactory} from "../internal/PendleSparkLinearDiscountOracleFactory.sol";
6
+
7
+ contract PendleSparkLinearDiscountOracleFactoryWrapper {
8
+ event WrapperOracleCreated(address indexed innerOracle, address indexed wrapper);
9
+
10
+ PendleSparkLinearDiscountOracleFactory public immutable innerFactory;
11
+
12
+ constructor(address _innerFactory) {
13
+ innerFactory = PendleSparkLinearDiscountOracleFactory(_innerFactory);
14
+ }
15
+
16
+ function wrap(address innerOracle) public returns (address wrapper) {
17
+ wrapper = address(new PendleLinearDiscountOracleWrapper(innerOracle));
18
+ emit WrapperOracleCreated(innerOracle, wrapper);
19
+ }
20
+
21
+ function createWithPt(address pt, uint256 baseDiscountPerYear) external returns (address wrapper) {
22
+ address innerOracle = innerFactory.createWithPt(pt, baseDiscountPerYear);
23
+ return wrap(innerOracle);
24
+ }
25
+
26
+ function createWithMarket(address market, uint256 baseDiscountPerYear) external returns (address wrapper) {
27
+ address innerOracle = innerFactory.createWithMarket(market, baseDiscountPerYear);
28
+ return wrap(innerOracle);
29
+ }
30
+ }
@@ -48,8 +48,9 @@
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
51
- "beta": {
52
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
51
+ "experimental": {
52
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
53
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
53
54
  },
54
55
  "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
55
56
  "senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
@@ -48,8 +48,9 @@
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
51
- "beta": {
52
- "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee"
51
+ "experimental": {
52
+ "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee",
53
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
53
54
  },
54
55
  "receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
55
56
  "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
@@ -44,8 +44,9 @@
44
44
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
45
45
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
46
46
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
47
- "beta": {
48
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
47
+ "experimental": {
48
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
49
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
49
50
  },
50
51
  "lpWrapperFactory": "0xeCfEB97D7F070DA5b93c5DC274183F1D7f68532F",
51
52
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
@@ -48,8 +48,9 @@
48
48
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
49
49
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
51
- "beta": {
52
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
51
+ "experimental": {
52
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
53
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
53
54
  },
54
55
  "receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
55
56
  "vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
@@ -1,5 +1,22 @@
1
1
  {
2
2
  "deployer": "0x1FcCC097db89A86Bfc474A1028F93958295b1Fb7",
3
- "sparkLinearDiscountOracleFactory": "0x1fbacedf510daa79dfd9b41227a7ba192d5d548d",
4
- "fixedPricePTAMM": "0x4d717868F4Bd14ac8B29Bb6361901e30Ae05e340"
3
+ "network": {
4
+ "chainId": 43114,
5
+ "treasury": "0xCbcb48e22622a3778b6F14C2f5d258Ba026b05e6",
6
+ "governance": "0x7877AdFaDEd756f3248a0EBfe8Ac2E2eF87b75Ac",
7
+ "devMultisig": "0xE6F0489ED91dc27f40f9dbe8f81fccbFC16b9cb1",
8
+ "lzEndpoint": "0x3c2269811836af69497E5F486A85D7316753cf62",
9
+ "wrappedNative": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",
10
+ "initialRewardFee": "50000000000000000",
11
+ "initialInterestFee": "50000000000000000",
12
+ "initialReserveFeePercent": "80",
13
+ "safeWaitTime": 15000,
14
+ "hardwareDeployer": "0xeea6F790F18563E91b18DF00B89d9f79b2E6761F"
15
+ },
16
+ "fixedPricePTAMM": "0x4d717868F4Bd14ac8B29Bb6361901e30Ae05e340",
17
+ "experimental": {
18
+ "sparkLinearDiscountOracleFactory": "0x1fbacedf510daa79dfd9b41227a7ba192d5d548d",
19
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
20
+ },
21
+ "governanceProxy": "0x2aD631F72fB16d91c4953A7f4260A97C2fE2f31e"
5
22
  }
@@ -50,8 +50,9 @@
50
50
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
51
51
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
52
52
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
53
- "beta": {
54
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
53
+ "experimental": {
54
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
55
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
55
56
  },
56
57
  "lpWrapperFactory": "0x6D653C8DAAc8D81c9CE98E038fbF94D7E652e147",
57
58
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
@@ -48,8 +48,9 @@
48
48
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
49
49
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
50
50
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
51
- "beta": {
52
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
51
+ "experimental": {
52
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
53
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
53
54
  },
54
55
  "receiverEndpoint": "0x998CF52b2585e05494BF9F2bF502351a9C7FdA8f",
55
56
  "vePendle": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
@@ -41,8 +41,9 @@
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
42
42
  "vePendleAirdropDistributor": "0x7f6Ca6aA1F2291992E252Fb8E25348c4861C5C25",
43
43
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
44
- "beta": {
45
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
44
+ "experimental": {
45
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
46
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
46
47
  },
47
48
  "receiverEndpoint": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
48
49
  "vePendle": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
@@ -41,8 +41,9 @@
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
42
42
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
43
43
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
44
- "beta": {
45
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd"
44
+ "experimental": {
45
+ "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
46
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
46
47
  },
47
48
  "receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
48
49
  "vePendle": "0x051dcd6a80f11fE68F77Fb0EBdE03853FA96B1fD",
@@ -41,8 +41,9 @@
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
42
42
  "vePendleAirdropDistributor": "0x42c706eab26aA8FAcFa4B3f32902bA872AaA10aC",
43
43
  "externalRewardsDistributor": "0x1Cb446fAE25Ae19878f9f71189902e2a6A6A749c",
44
- "beta": {
45
- "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26"
44
+ "experimental": {
45
+ "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
46
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
46
47
  },
47
48
  "receiverEndpoint": "0x5C3DdC827c40964728336229808E27C6374F07Bf",
48
49
  "vePendle": "0x0d7432A9f5C51fdd2407332D90D9b814827982Bf",
@@ -39,8 +39,9 @@
39
39
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
40
40
  "syFactory": "0x5eae07541b334a2cdc1f107788a2069d6c1e73c2",
41
41
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
42
- "beta": {
43
- "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26"
42
+ "experimental": {
43
+ "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
44
+ "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
44
45
  },
45
46
  "vePendle": "0x1fBaCedf510dAA79dfD9B41227A7ba192d5D548D",
46
47
  "receiverEndpoint": "0xaD511b12F73c145Cf158EB92E4fa256937d952A4",
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": "6.2.1",
5
+ "version": "6.2.2-sweed",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -48,6 +48,7 @@
48
48
  "@chainlink/contracts": "^0.8.0",
49
49
  "@layerzerolabs/lz-evm-protocol-v2": "^3.0.75",
50
50
  "@layerzerolabs/oapp-evm": "^0.3.2",
51
+ "@layerzerolabs/oapp-evm-upgradeable": "^0.1.2",
51
52
  "@layerzerolabs/oft-evm": "^3.1.4",
52
53
  "@openzeppelin/contracts": "4.9.3",
53
54
  "@openzeppelin/contracts-upgradeable": "4.9.3",
@@ -0,0 +1,57 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { BaseContract, Signer, utils } from "ethers";
5
+
6
+ import { Listener, Provider } from "@ethersproject/providers";
7
+ import type {
8
+ TypedEventFilter,
9
+ TypedEvent,
10
+ TypedListener,
11
+ OnEvent,
12
+ } from "./common";
13
+
14
+ export interface ActionDelegateBaseInterface extends utils.Interface {
15
+ contractName: "ActionDelegateBase";
16
+ functions: {};
17
+
18
+ events: {};
19
+ }
20
+
21
+ export interface ActionDelegateBase extends BaseContract {
22
+ contractName: "ActionDelegateBase";
23
+ connect(signerOrProvider: Signer | Provider | string): this;
24
+ attach(addressOrName: string): this;
25
+ deployed(): Promise<this>;
26
+
27
+ interface: ActionDelegateBaseInterface;
28
+
29
+ queryFilter<TEvent extends TypedEvent>(
30
+ event: TypedEventFilter<TEvent>,
31
+ fromBlockOrBlockhash?: string | number | undefined,
32
+ toBlock?: string | number | undefined
33
+ ): Promise<Array<TEvent>>;
34
+
35
+ listeners<TEvent extends TypedEvent>(
36
+ eventFilter?: TypedEventFilter<TEvent>
37
+ ): Array<TypedListener<TEvent>>;
38
+ listeners(eventName?: string): Array<Listener>;
39
+ removeAllListeners<TEvent extends TypedEvent>(
40
+ eventFilter: TypedEventFilter<TEvent>
41
+ ): this;
42
+ removeAllListeners(eventName?: string): this;
43
+ off: OnEvent<this>;
44
+ on: OnEvent<this>;
45
+ once: OnEvent<this>;
46
+ removeListener: OnEvent<this>;
47
+
48
+ functions: {};
49
+
50
+ callStatic: {};
51
+
52
+ filters: {};
53
+
54
+ estimateGas: {};
55
+
56
+ populateTransaction: {};
57
+ }
@@ -0,0 +1,89 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BytesLike,
8
+ CallOverrides,
9
+ PopulatedTransaction,
10
+ Signer,
11
+ utils,
12
+ } from "ethers";
13
+ import { FunctionFragment, Result } from "@ethersproject/abi";
14
+ import { Listener, Provider } from "@ethersproject/providers";
15
+ import type {
16
+ TypedEventFilter,
17
+ TypedEvent,
18
+ TypedListener,
19
+ OnEvent,
20
+ } from "./common";
21
+
22
+ export interface ExchangeRateMsgCodecInterface extends utils.Interface {
23
+ contractName: "ExchangeRateMsgCodec";
24
+ functions: {
25
+ "SEND_EXCHANGE_RATE()": FunctionFragment;
26
+ };
27
+
28
+ encodeFunctionData(
29
+ functionFragment: "SEND_EXCHANGE_RATE",
30
+ values?: undefined
31
+ ): string;
32
+
33
+ decodeFunctionResult(
34
+ functionFragment: "SEND_EXCHANGE_RATE",
35
+ data: BytesLike
36
+ ): Result;
37
+
38
+ events: {};
39
+ }
40
+
41
+ export interface ExchangeRateMsgCodec extends BaseContract {
42
+ contractName: "ExchangeRateMsgCodec";
43
+ connect(signerOrProvider: Signer | Provider | string): this;
44
+ attach(addressOrName: string): this;
45
+ deployed(): Promise<this>;
46
+
47
+ interface: ExchangeRateMsgCodecInterface;
48
+
49
+ queryFilter<TEvent extends TypedEvent>(
50
+ event: TypedEventFilter<TEvent>,
51
+ fromBlockOrBlockhash?: string | number | undefined,
52
+ toBlock?: string | number | undefined
53
+ ): Promise<Array<TEvent>>;
54
+
55
+ listeners<TEvent extends TypedEvent>(
56
+ eventFilter?: TypedEventFilter<TEvent>
57
+ ): Array<TypedListener<TEvent>>;
58
+ listeners(eventName?: string): Array<Listener>;
59
+ removeAllListeners<TEvent extends TypedEvent>(
60
+ eventFilter: TypedEventFilter<TEvent>
61
+ ): this;
62
+ removeAllListeners(eventName?: string): this;
63
+ off: OnEvent<this>;
64
+ on: OnEvent<this>;
65
+ once: OnEvent<this>;
66
+ removeListener: OnEvent<this>;
67
+
68
+ functions: {
69
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<[number]>;
70
+ };
71
+
72
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<number>;
73
+
74
+ callStatic: {
75
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<number>;
76
+ };
77
+
78
+ filters: {};
79
+
80
+ estimateGas: {
81
+ SEND_EXCHANGE_RATE(overrides?: CallOverrides): Promise<BigNumber>;
82
+ };
83
+
84
+ populateTransaction: {
85
+ SEND_EXCHANGE_RATE(
86
+ overrides?: CallOverrides
87
+ ): Promise<PopulatedTransaction>;
88
+ };
89
+ }