@pendle/core-v2 6.4.4-swaphubtest → 6.5.0

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 (509) 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/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +4 -0
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +401 -0
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +4 -0
  27. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +733 -0
  28. package/build/artifacts/contracts/StPendle.sol/RoundDataLib.dbg.json +4 -0
  29. package/build/artifacts/contracts/StPendle.sol/RoundDataLib.json +10 -0
  30. package/build/artifacts/contracts/StPendle.sol/StPendle.dbg.json +4 -0
  31. package/build/artifacts/contracts/StPendle.sol/StPendle.json +228 -0
  32. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +0 -51
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +4 -0
  39. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +618 -0
  40. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +4 -0
  41. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +1157 -0
  42. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  46. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  54. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +3 -3
  62. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  69. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  70. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  71. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  72. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  73. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  74. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  75. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  76. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -51
  118. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +47 -12
  120. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -19
  129. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +4 -0
  147. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.json +351 -0
  148. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  159. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  160. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  161. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  162. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  163. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  164. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  172. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +4 -0
  173. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.json +30 -0
  174. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  179. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  183. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  185. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  186. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  189. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  191. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  205. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  209. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  212. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  214. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  216. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  219. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  220. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  221. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  222. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  223. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  224. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  225. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  227. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  229. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  231. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  236. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  238. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  239. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  241. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  242. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  243. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  244. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  245. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  246. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  247. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  248. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  249. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  250. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  252. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  253. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  254. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  255. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  257. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  259. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  260. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  261. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  262. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  263. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  264. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  265. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  266. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  267. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  268. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  269. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  270. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  271. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  272. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  273. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  274. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  275. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  276. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  278. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  280. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.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/PendleGaugeControllerUpg.sol +112 -0
  322. package/contracts/LiquidityMining/sPendle/StakedPendle.sol +129 -0
  323. package/contracts/StPendle.sol +121 -0
  324. package/contracts/core/Market/PendleGauge.sol +1 -76
  325. package/contracts/core/Market/{PendleMarketFactoryV6Upg.sol → PendleMarketFactoryV7Upg.sol} +3 -6
  326. package/contracts/core/Market/{PendleMarketV6.sol → PendleMarketV7.sol} +16 -16
  327. package/contracts/core/libraries/Errors.sol +1 -1
  328. package/contracts/core/libraries/math/PMath.sol +5 -0
  329. package/contracts/interfaces/IPGauge.sol +0 -6
  330. package/contracts/interfaces/IPGaugeController.sol +16 -3
  331. package/contracts/interfaces/IPMarket.sol +12 -0
  332. package/contracts/interfaces/IPStakedPendle.sol +69 -0
  333. package/contracts/offchain-helpers/BalanceReader.sol +11 -1
  334. package/contracts/offchain-helpers/MarketSweed.sol +46 -54
  335. package/contracts/offchain-helpers/PendleMerkleDepositor.sol +5 -6
  336. package/contracts/router/ActionCrossChain.sol +14 -18
  337. package/contracts/router/Reflector.sol +19 -2
  338. package/deployments/1-core.json +3 -2
  339. package/deployments/10-core.json +1 -1
  340. package/deployments/130-core.json +2 -1
  341. package/deployments/146-core.json +1 -1
  342. package/deployments/42161-core.json +1 -1
  343. package/deployments/5000-core.json +1 -1
  344. package/deployments/56-core.json +1 -1
  345. package/deployments/80094-core.json +1 -1
  346. package/deployments/8453-core.json +1 -1
  347. package/deployments/9745-core.json +4 -3
  348. package/deployments/999-core.json +6 -6
  349. package/package.json +2 -2
  350. package/typechain-types/ERC20Upgradeable.ts +426 -0
  351. package/typechain-types/IERC20MetadataUpgradeable.ts +339 -0
  352. package/typechain-types/IERC20Upgradeable.ts +300 -0
  353. package/typechain-types/ILegacyMarket.ts +93 -0
  354. package/typechain-types/IPGauge.ts +7 -81
  355. package/typechain-types/IPGaugeController.ts +91 -47
  356. package/typechain-types/IPMarket.ts +0 -19
  357. package/typechain-types/IPStakedPendle.ts +558 -0
  358. package/typechain-types/PendleGauge.ts +0 -63
  359. package/typechain-types/{PendleGaugeControllerBaseUpg.ts → PendleGaugeControllerUpg.ts} +82 -171
  360. package/typechain-types/{PendleMarketFactoryV6Upg.ts → PendleMarketFactoryV7Upg.ts} +5 -18
  361. package/typechain-types/{PendleMarketV6.ts → PendleMarketV7.ts} +10 -29
  362. package/typechain-types/StPendle.ts +362 -0
  363. package/typechain-types/StakedPendle.ts +1058 -0
  364. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  365. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  366. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  367. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  368. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  369. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  370. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  371. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  372. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  373. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  374. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  375. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  376. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  377. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  378. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  379. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  380. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  381. package/typechain-types/factories/ERC20Upgradeable__factory.ts +347 -0
  382. package/typechain-types/factories/Errors__factory.ts +2 -2
  383. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  384. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  385. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  386. package/typechain-types/factories/IERC20MetadataUpgradeable__factory.ts +252 -0
  387. package/typechain-types/factories/{IPGaugeControllerMainchain__factory.ts → IERC20Upgradeable__factory.ts} +90 -83
  388. package/typechain-types/factories/ILegacyMarket__factory.ts +42 -0
  389. package/typechain-types/factories/IPGaugeController__factory.ts +47 -12
  390. package/typechain-types/factories/IPGauge__factory.ts +0 -51
  391. package/typechain-types/factories/IPMarket__factory.ts +0 -19
  392. package/typechain-types/factories/IPStakedPendle__factory.ts +366 -0
  393. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  394. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  395. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  396. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  397. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  398. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  399. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  400. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  401. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  402. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  403. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  404. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  405. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  406. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +463 -0
  407. package/typechain-types/factories/PendleGauge__factory.ts +0 -51
  408. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  409. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  410. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  411. package/typechain-types/factories/PendleMarketFactoryV7Upg__factory.ts +710 -0
  412. package/typechain-types/factories/PendleMarketV7__factory.ts +1233 -0
  413. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +1 -1
  414. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  415. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  416. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  417. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  418. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  419. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  420. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  421. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  422. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  423. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  424. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  425. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  426. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  427. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  428. package/typechain-types/factories/Reflector__factory.ts +1 -1
  429. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  430. package/typechain-types/factories/StPendle__factory.ts +260 -0
  431. package/typechain-types/factories/StakedPendle__factory.ts +785 -0
  432. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  433. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  434. package/typechain-types/hardhat.d.ts +69 -132
  435. package/typechain-types/index.ts +20 -32
  436. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +0 -4
  437. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +0 -451
  438. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  439. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +0 -557
  440. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  441. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +0 -547
  442. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +0 -4
  443. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +0 -1311
  444. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +0 -4
  445. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +0 -764
  446. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +0 -4
  447. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +0 -636
  448. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +0 -4
  449. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +0 -1181
  450. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +0 -4
  451. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +0 -170
  452. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +0 -4
  453. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +0 -1214
  454. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +0 -4
  455. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +0 -1176
  456. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  457. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -598
  458. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +0 -4
  459. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +0 -1026
  460. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +0 -4
  461. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +0 -124
  462. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +0 -4
  463. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +0 -183
  464. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +0 -4
  465. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -380
  466. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +0 -4
  467. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +0 -262
  468. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +0 -164
  469. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +0 -42
  470. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +0 -36
  471. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +0 -304
  472. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +0 -301
  473. package/contracts/cross-chain/swap-hub/DepositBox.sol +0 -66
  474. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +0 -178
  475. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +0 -274
  476. package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +0 -204
  477. package/contracts/interfaces/IPCrossChainSwapHub.sol +0 -147
  478. package/contracts/interfaces/IPDepositBox.sol +0 -22
  479. package/contracts/interfaces/IPGaugeControllerMainchain.sol +0 -8
  480. package/contracts/interfaces/IPVotingController.sol +0 -43
  481. package/contracts/offchain-helpers/Broadcaster.sol +0 -48
  482. package/typechain-types/Broadcaster.ts +0 -455
  483. package/typechain-types/DepositBox.ts +0 -260
  484. package/typechain-types/IPCrossChainSwapHub.ts +0 -882
  485. package/typechain-types/IPDepositBox.ts +0 -213
  486. package/typechain-types/IPGaugeControllerMainchain.ts +0 -319
  487. package/typechain-types/IPVotingController.ts +0 -534
  488. package/typechain-types/PendleCrossChainSwapHub.ts +0 -1119
  489. package/typechain-types/PendleFeeDistributor.ts +0 -746
  490. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +0 -778
  491. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +0 -770
  492. package/typechain-types/PendleVotingControllerUpg.ts +0 -1731
  493. package/typechain-types/SwapHubBase.ts +0 -1094
  494. package/typechain-types/VotingControllerStorageUpg.ts +0 -984
  495. package/typechain-types/factories/Broadcaster__factory.ts +0 -317
  496. package/typechain-types/factories/DepositBox__factory.ts +0 -222
  497. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +0 -1041
  498. package/typechain-types/factories/IPDepositBox__factory.ts +0 -136
  499. package/typechain-types/factories/IPVotingController__factory.ts +0 -395
  500. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +0 -1287
  501. package/typechain-types/factories/PendleFeeDistributor__factory.ts +0 -671
  502. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +0 -470
  503. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +0 -648
  504. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +0 -638
  505. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +0 -732
  506. package/typechain-types/factories/PendleMarketV6__factory.ts +0 -1261
  507. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +0 -1391
  508. package/typechain-types/factories/SwapHubBase__factory.ts +0 -1188
  509. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +0 -783
@@ -10,10 +10,10 @@ import "../libraries/BaseSplitCodeFactory.sol";
10
10
  import "../libraries/BoringOwnableUpgradeableV2.sol";
11
11
  import "../libraries/Errors.sol";
12
12
 
13
- contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory {
13
+ contract PendleMarketFactoryV7Upg is BoringOwnableUpgradeableV2, IPMarketFactory {
14
14
  using EnumerableSet for EnumerableSet.AddressSet;
15
15
 
16
- uint256 public constant VERSION = 6;
16
+ uint256 public constant VERSION = 7;
17
17
 
18
18
  address public immutable marketCreationCodeContractA;
19
19
  uint256 public immutable marketCreationCodeSizeA;
@@ -21,7 +21,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
21
21
  uint256 public immutable marketCreationCodeSizeB;
22
22
 
23
23
  address public immutable yieldContractFactory;
24
- address public immutable vePendle;
25
24
  address public immutable gaugeController;
26
25
 
27
26
  uint256 public immutable maxLnFeeRateRoot;
@@ -44,7 +43,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
44
43
  uint256 _marketCreationCodeSizeA,
45
44
  address _marketCreationCodeContractB,
46
45
  uint256 _marketCreationCodeSizeB,
47
- address _vePendle,
48
46
  address _gaugeController
49
47
  ) {
50
48
  yieldContractFactory = _yieldContractFactory;
@@ -55,7 +53,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
55
53
  marketCreationCodeContractB = _marketCreationCodeContractB;
56
54
  marketCreationCodeSizeB = _marketCreationCodeSizeB;
57
55
 
58
- vePendle = _vePendle;
59
56
  gaugeController = _gaugeController;
60
57
 
61
58
  _disableInitializers();
@@ -91,7 +88,7 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
91
88
  market = BaseSplitCodeFactory._create2(
92
89
  0,
93
90
  bytes32(block.chainid),
94
- abi.encode(PT, scalarRoot, initialAnchor, lnFeeRateRoot, vePendle, gaugeController),
91
+ abi.encode(PT, scalarRoot, initialAnchor, lnFeeRateRoot, gaugeController),
95
92
  marketCreationCodeContractA,
96
93
  marketCreationCodeSizeA,
97
94
  marketCreationCodeContractB,
@@ -16,7 +16,7 @@ import "./PendleGauge.sol";
16
16
  * - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
17
17
  * guaranteed by address(0) & address(this) check in each updateForTwo function
18
18
  */
19
- contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
19
+ contract PendleMarketV7 is PendleERC20, PendleGauge, IPMarket {
20
20
  using PMath for uint256;
21
21
  using PMath for int256;
22
22
  using MarketMathCore for MarketState;
@@ -44,7 +44,7 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
44
44
  string private constant LP_NAME_PREF = "PLP ";
45
45
  string private constant LP_SYMBOL_PREF = "PLP-";
46
46
 
47
- uint256 public constant VERSION = 6;
47
+ uint256 public constant VERSION = 7;
48
48
 
49
49
  IPPrincipalToken internal immutable PT;
50
50
  IStandardizedYield internal immutable SY;
@@ -66,16 +66,9 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
66
66
  _;
67
67
  }
68
68
 
69
- constructor(
70
- address _PT,
71
- int256 _scalarRoot,
72
- int256 _initialAnchor,
73
- uint80 _lnFeeRateRoot,
74
- address _vePendle,
75
- address _gaugeController
76
- )
69
+ constructor(address _PT, int256 _scalarRoot, int256 _initialAnchor, uint80 _lnFeeRateRoot, address _gaugeController)
77
70
  PendleERC20(_getLPName(_PT), _getLPSymbol(_PT), 18)
78
- PendleGauge(IPPrincipalToken(_PT).SY(), _vePendle, _gaugeController)
71
+ PendleGauge(IPPrincipalToken(_PT).SY(), _gaugeController)
79
72
  {
80
73
  PT = IPPrincipalToken(_PT);
81
74
  SY = IStandardizedYield(PT.SY());
@@ -370,11 +363,11 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
370
363
  PENDLE GAUGE - RELATED
371
364
  //////////////////////////////////////////////////////////////*/
372
365
 
373
- function _stakedBalance(address user) internal view override returns (uint256) {
366
+ function _rewardSharesUser(address user) internal view override returns (uint256) {
374
367
  return balanceOf(user);
375
368
  }
376
369
 
377
- function _totalStaked() internal view override returns (uint256) {
370
+ function _rewardSharesTotal() internal view override returns (uint256) {
378
371
  return totalSupply();
379
372
  }
380
373
 
@@ -386,8 +379,15 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
386
379
  PendleGauge._beforeTokenTransfer(from, to, amount);
387
380
  }
388
381
 
389
- // solhint-disable-next-line ordering
390
- function _afterTokenTransfer(address from, address to, uint256 amount) internal override(PendleERC20, PendleGauge) {
391
- PendleGauge._afterTokenTransfer(from, to, amount);
382
+ /*///////////////////////////////////////////////////////////////
383
+ LEGACY FUNCTIONS
384
+ //////////////////////////////////////////////////////////////*/
385
+
386
+ function totalActiveSupply() external view returns (uint256) {
387
+ return totalSupply();
388
+ }
389
+
390
+ function activeBalance(address user) external view returns (uint256) {
391
+ return balanceOf(user);
392
392
  }
393
393
  }
@@ -138,7 +138,7 @@ library Errors {
138
138
  error VEReceiveOldSupply(uint256 msgTime);
139
139
 
140
140
  error GCNotPendleMarket(address caller);
141
- error GCNotVotingController(address caller);
141
+ error GCNotRewardDataUpdater(address caller);
142
142
 
143
143
  error InvalidWTime(uint256 wTime);
144
144
  error ExpiryInThePast(uint256 expiry);
@@ -211,6 +211,11 @@ library PMath {
211
211
  return uint80(x);
212
212
  }
213
213
 
214
+ function Uint152(uint256 x) internal pure returns (uint152) {
215
+ require(x <= type(uint152).max);
216
+ return uint152(x);
217
+ }
218
+
214
219
  function isAApproxB(uint256 a, uint256 b, uint256 eps) internal pure returns (bool) {
215
220
  return mulDown(b, ONE - eps) <= a && a <= mulDown(b, ONE + eps);
216
221
  }
@@ -3,10 +3,4 @@ pragma solidity ^0.8.0;
3
3
 
4
4
  interface IPGauge {
5
5
  event RedeemRewards(address indexed user, uint256[] rewardsOut);
6
-
7
- event UpdateActiveBalance(address indexed user, uint256 newActiveBalance);
8
-
9
- function totalActiveSupply() external view returns (uint256);
10
-
11
- function activeBalance(address user) external view returns (uint256);
12
6
  }
@@ -4,17 +4,30 @@ pragma solidity ^0.8.0;
4
4
  interface IPGaugeController {
5
5
  event MarketClaimReward(address indexed market, uint256 amount);
6
6
 
7
+ // deprecated from MarketV7 onwards
7
8
  event ReceiveVotingResults(uint128 indexed wTime, address[] markets, uint256[] pendleAmounts);
8
9
 
10
+ // deprecated from MarketV7 onwards
9
11
  event UpdateMarketReward(address indexed market, uint256 pendlePerSec, uint256 incentiveEndsAt);
10
12
 
11
- function fundPendle(uint256 amount) external;
13
+ event UpdateMarketRewardV2(address indexed market, uint128 pendlePerSec, uint128 incentiveEndsAt);
14
+
15
+ function setRewardDatas(
16
+ address[] calldata markets,
17
+ uint128[] calldata pendlePerSecs,
18
+ uint128[] calldata incentiveEndsAts
19
+ ) external;
12
20
 
13
21
  function withdrawPendle(uint256 amount) external;
14
22
 
15
- function pendle() external returns (address);
23
+ function pendle() external view returns (address);
16
24
 
17
25
  function redeemMarketReward() external;
18
26
 
19
- function rewardData(address pool) external view returns (uint128 pendlePerSec, uint128, uint128, uint128);
27
+ function rewardData(
28
+ address market
29
+ )
30
+ external
31
+ view
32
+ returns (uint128 pendlePerSec, uint128 accumulatedPendle, uint128 lastUpdated, uint128 incentiveEndsAt);
20
33
  }
@@ -86,4 +86,16 @@ interface IPMarket is IPGauge, IERC20Metadata {
86
86
  function VERSION() external pure returns (uint256);
87
87
 
88
88
  function reentrancyGuardEntered() external view returns (bool);
89
+
90
+ /*///////////////////////////////////////////////////////////////
91
+ LEGACY FUNCTIONS
92
+ //////////////////////////////////////////////////////////////*/
93
+
94
+ /// @dev Kept for backward compatibility
95
+ /// @dev From version 7, this function returns `totalSupply()`.
96
+ function totalActiveSupply() external view returns (uint256);
97
+
98
+ /// @dev Kept for backward compatibility
99
+ /// @dev From version 7, this function returns `balanceOf(user)`.
100
+ function activeBalance(address user) external view returns (uint256);
89
101
  }
@@ -0,0 +1,69 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.17;
3
+
4
+ import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ interface IPStakedPendle {
7
+ struct Call3 {
8
+ bool allowFailure;
9
+ bytes callData;
10
+ }
11
+
12
+ struct Result {
13
+ bool success;
14
+ bytes returnData;
15
+ }
16
+
17
+ struct UserCooldown {
18
+ uint104 cooldownStart;
19
+ uint152 amount;
20
+ }
21
+
22
+ event CooldownDurationAndFeeUpdated(uint24 newDuration, uint64 instantUnstakeFeeRate);
23
+
24
+ event Staked(address indexed user, uint256 amount);
25
+
26
+ event Unstaked(address indexed user, uint256 amountAfterFee, uint256 fee);
27
+
28
+ event CooldownCanceled(address indexed user, uint256 amount);
29
+
30
+ event CooldownInitiated(address indexed user, uint256 amount, uint256 cooldownStart);
31
+
32
+ event FeeReceiverUpdated(address indexed feeReceiver);
33
+
34
+ // ======== Getters ========
35
+
36
+ function PENDLE() external view returns (address);
37
+
38
+ function cooldownDuration() external view returns (uint24);
39
+
40
+ function instantUnstakeFeeRate() external view returns (uint64);
41
+
42
+ function feeReceiver() external view returns (address);
43
+
44
+ // ======== Staking functions ========
45
+
46
+ function userCooldown(address user) external view returns (uint104 cooldownStart, uint152 amount);
47
+
48
+ function stake(uint256 amount) external;
49
+
50
+ function cooldown(uint256 amount) external;
51
+
52
+ function cancelCooldown() external;
53
+
54
+ // fee-free, after cooldown
55
+ function finalizeCooldown() external returns (uint256 amount);
56
+
57
+ // instant, but with fee
58
+ function instantUnstake(uint256 amount) external returns (uint256 amountAfterFee, uint256 fee);
59
+
60
+ // ======== Misc helper functions =======
61
+
62
+ function multicall(Call3[] calldata calls) external returns (Result[] memory res);
63
+
64
+ // ======== Admin functions ========
65
+
66
+ function setCooldownDurationAndFee(uint24 newDuration, uint64 newInstantUnstakeFeeRate) external;
67
+
68
+ function setFeeReceiver(address newFeeReceiver) external;
69
+ }
@@ -6,6 +6,10 @@ import "../interfaces/IPMarket.sol";
6
6
  import "../interfaces/IStandardizedYield.sol";
7
7
  import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
8
8
 
9
+ interface ILegacyMarket {
10
+ function activeBalance(address user) external view returns (uint256);
11
+ }
12
+
9
13
  contract BalanceReader is UUPSUpgradeable, BoringOwnableUpgradeableV2 {
10
14
  struct UserMarketInfo {
11
15
  uint256 lpBalance;
@@ -44,7 +48,13 @@ contract BalanceReader is UUPSUpgradeable, BoringOwnableUpgradeableV2 {
44
48
  (, IPPrincipalToken PT, IPYieldToken YT) = market.readTokens();
45
49
 
46
50
  info.lpBalance = market.balanceOf(user);
47
- info.lpActiveBalance = market.activeBalance(user);
51
+
52
+ try ILegacyMarket(address(market)).activeBalance(user) returns (uint256 activeBalance) {
53
+ info.lpActiveBalance = activeBalance;
54
+ } catch {
55
+ info.lpActiveBalance = 0;
56
+ }
57
+
48
58
  info.lpRewardsOut = _redeemRewards(market, user);
49
59
 
50
60
  info.ytBalance = YT.balanceOf(user);
@@ -2,10 +2,10 @@
2
2
 
3
3
  pragma solidity ^0.8.17;
4
4
 
5
+ import "../interfaces/IMarketSweed.sol";
5
6
  import "../interfaces/IPMarket.sol";
6
- import "../router/math/MarketApproxLibOnchain.sol";
7
7
  import "../router/base/ActionBase.sol";
8
- import "../interfaces/IMarketSweed.sol";
8
+ import "../router/math/MarketApproxLibOnchain.sol";
9
9
 
10
10
  contract MarketSweed is ActionBase, IMarketSweed {
11
11
  using PMath for uint256;
@@ -40,29 +40,31 @@ contract MarketSweed is ActionBase, IMarketSweed {
40
40
  (netPtOut, netYtOut, guessedAmountPtToSwap) = _swap(receiver, market, tokens, sweedParams);
41
41
 
42
42
  uint256 netYtFromSeed;
43
- (netLpOut, netYtFromSeed, ) = _seed(receiver, market, tokens, _selfBalance(tokens.SY), netPtOut);
43
+ (netLpOut, netYtFromSeed,) = _seed(receiver, market, tokens, _selfBalance(tokens.SY), netPtOut);
44
44
  netYtOut += netYtFromSeed;
45
45
 
46
46
  if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
47
47
  if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
48
48
  }
49
49
 
50
- function mintPYFromToken__noCall(
51
- address YT,
52
- TokenInput calldata input
53
- ) external payable returns (uint256 netPYOut) {
50
+ function mintPYFromToken__noCall(address YT, TokenInput calldata input)
51
+ external
52
+ payable
53
+ returns (uint256 netPYOut)
54
+ {
54
55
  address SY = IPYieldToken(YT).SY();
55
56
  _mintSyFromToken(YT, SY, 1, input);
56
57
  netPYOut = IPYieldToken(YT).mintPY(msg.sender, msg.sender);
57
58
  }
58
59
 
59
- function _seed(
60
- address receiver,
61
- address market,
62
- MarketTokens memory tokens,
63
- uint256 netSyIn,
64
- uint256 netPtIn
65
- ) internal returns (uint256 /*netLpOut*/, uint256 /*netYtOut*/, uint256 /*netSyMintPy*/) {
60
+ function _seed(address receiver, address market, MarketTokens memory tokens, uint256 netSyIn, uint256 netPtIn)
61
+ internal
62
+ returns (
63
+ uint256, /*netLpOut*/
64
+ uint256, /*netYtOut*/
65
+ uint256 /*netSyMintPy*/
66
+ )
67
+ {
66
68
  uint256 netSyMintPy = _calcSyToMintPYSeed(market, tokens, netSyIn, netPtIn);
67
69
 
68
70
  // transfer SY to mint PY
@@ -74,16 +76,14 @@ contract MarketSweed is ActionBase, IMarketSweed {
74
76
  _transferOut(address(tokens.SY), market, netSyAddLiquidity);
75
77
  _transferOut(address(tokens.PT), market, netPtIn);
76
78
 
77
- (uint256 netLpOut, , ) = IPMarket(market).mint(receiver, netSyAddLiquidity, netPYMinted + netPtIn);
79
+ (uint256 netLpOut,,) = IPMarket(market).mint(receiver, netSyAddLiquidity, netPYMinted + netPtIn);
78
80
  return (netLpOut, netPYMinted, netSyMintPy);
79
81
  }
80
82
 
81
- function _swap(
82
- address receiver,
83
- address market,
84
- MarketTokens memory tokens,
85
- ApproxSweedParams memory sweedParams
86
- ) internal returns (uint256 amountPtToAccount, uint256 amountYTToAccount, int256 guessedSwap) {
83
+ function _swap(address receiver, address market, MarketTokens memory tokens, ApproxSweedParams memory sweedParams)
84
+ internal
85
+ returns (uint256 amountPtToAccount, uint256 amountYTToAccount, int256 guessedSwap)
86
+ {
87
87
  PYIndex index = _getPYIndex(market);
88
88
  MarketState memory state = _readMarket(market);
89
89
  MarketPreCompute memory comp = state.getMarketPreCompute(index, block.timestamp);
@@ -94,10 +94,8 @@ contract MarketSweed is ActionBase, IMarketSweed {
94
94
 
95
95
  if (state.lastLnImpliedRate > sweedParams.targetLnImpliedRate) {
96
96
  // Normalize maxPtToSwap
97
- sweedParams.maxPtToSwap = PMath.min(
98
- sweedParams.maxPtToSwap,
99
- MarketApproxPtOutLibOnchain.calcMaxPtOut(comp, state.totalPt)
100
- );
97
+ sweedParams.maxPtToSwap =
98
+ PMath.min(sweedParams.maxPtToSwap, MarketApproxPtOutLibOnchain.calcMaxPtOut(comp, state.totalPt));
101
99
 
102
100
  int256 amountSyToAccount;
103
101
 
@@ -108,10 +106,8 @@ contract MarketSweed is ActionBase, IMarketSweed {
108
106
  IPMarket(market).swapSyForExactPt(address(this), guessedSwap.abs(), EMPTY_BYTES);
109
107
  } else {
110
108
  // Normalize maxPtToSwap
111
- sweedParams.maxPtToSwap = PMath.min(
112
- sweedParams.maxPtToSwap,
113
- MarketApproxPtInLibOnchain.calcSoftMaxPtIn(state, comp)
114
- );
109
+ sweedParams.maxPtToSwap =
110
+ PMath.min(sweedParams.maxPtToSwap, MarketApproxPtInLibOnchain.calcSoftMaxPtIn(state, comp));
115
111
 
116
112
  guessedSwap = _calcAmountPtToSell(state, index, sweedParams);
117
113
 
@@ -128,11 +124,11 @@ contract MarketSweed is ActionBase, IMarketSweed {
128
124
  }
129
125
  }
130
126
 
131
- function _calcAmountPtToBuy(
132
- MarketState memory state,
133
- PYIndex index,
134
- ApproxSweedParams memory sweedParams
135
- ) internal view returns (int256 amountPtToSwapToAccount, int256 amountSyToAccount) {
127
+ function _calcAmountPtToBuy(MarketState memory state, PYIndex index, ApproxSweedParams memory sweedParams)
128
+ internal
129
+ view
130
+ returns (int256 amountPtToSwapToAccount, int256 amountSyToAccount)
131
+ {
136
132
  int256 refAmt = sweedParams.maxPtToSwap.Int();
137
133
  int256 accPtToAccount = 0;
138
134
  MarketState memory localState;
@@ -148,7 +144,7 @@ contract MarketSweed is ActionBase, IMarketSweed {
148
144
 
149
145
  _makeACopyTo(state, localState);
150
146
  // Will not revert. maxPtToBuy should already be normalized
151
- (int256 localAmountSyToAccount, , ) = localState.executeTradeCore(index, guess, block.timestamp);
147
+ (int256 localAmountSyToAccount,,) = localState.executeTradeCore(index, guess, block.timestamp);
152
148
 
153
149
  if (PMath.isAApproxB(localState.lastLnImpliedRate, sweedParams.targetLnImpliedRate, sweedParams.eps)) {
154
150
  return (guess, localAmountSyToAccount);
@@ -161,11 +157,11 @@ contract MarketSweed is ActionBase, IMarketSweed {
161
157
  revert("_calcAmountPtToBuy: failed");
162
158
  }
163
159
 
164
- function _calcAmountPtToSell(
165
- MarketState memory state,
166
- PYIndex index,
167
- ApproxSweedParams memory sweedParams
168
- ) internal view returns (int256 amountPtToSwapToAccount) {
160
+ function _calcAmountPtToSell(MarketState memory state, PYIndex index, ApproxSweedParams memory sweedParams)
161
+ internal
162
+ view
163
+ returns (int256 amountPtToSwapToAccount)
164
+ {
169
165
  int256 refAmt = sweedParams.maxPtToSwap.Int();
170
166
  int256 accPtToAccount = 0;
171
167
  MarketState memory localState;
@@ -195,19 +191,16 @@ contract MarketSweed is ActionBase, IMarketSweed {
195
191
  revert("_calcAmountPtToSell: failed");
196
192
  }
197
193
 
198
- function _calcSyToMintPYSeed(
199
- address market,
200
- MarketTokens memory tokens,
201
- uint256 netSyIn,
202
- uint256 netPtIn
203
- ) internal returns (uint256 /* netSyMintPy */) {
194
+ function _calcSyToMintPYSeed(address market, MarketTokens memory tokens, uint256 netSyIn, uint256 netPtIn)
195
+ internal
196
+ returns (
197
+ uint256 /* netSyMintPy */
198
+ )
199
+ {
204
200
  uint256 netSyMintPy = netSyIn;
205
201
  if (netPtIn > 0) {
206
- (, , uint256 netSyDual, uint256 netPtDual) = _readMarket(market).addLiquidity(
207
- netSyIn,
208
- netPtIn,
209
- block.timestamp
210
- );
202
+ (,, uint256 netSyDual, uint256 netPtDual) =
203
+ _readMarket(market).addLiquidity(netSyIn, netPtIn, block.timestamp);
211
204
  if (netPtDual < netPtIn) {
212
205
  revert("MS: Bought too much PT");
213
206
  }
@@ -217,14 +210,13 @@ contract MarketSweed is ActionBase, IMarketSweed {
217
210
  MarketState memory state = _readMarket(market);
218
211
  PYIndex pyIndex = tokens.YT.newIndex();
219
212
  netSyMintPy =
220
- (netSyMintPy * state.totalPt.Uint()) /
221
- (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
213
+ (netSyMintPy * state.totalPt.Uint()) / (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
222
214
 
223
215
  return netSyMintPy;
224
216
  }
225
217
 
226
218
  function _getPYIndex(address market) internal returns (PYIndex) {
227
- (, , IPYieldToken YT) = IPMarket(market).readTokens();
219
+ (,, IPYieldToken YT) = IPMarket(market).readTokens();
228
220
  return PYIndex.wrap(YT.pyIndexCurrent());
229
221
  }
230
222
 
@@ -16,11 +16,10 @@ contract PendleMerkleDepositor {
16
16
  }
17
17
 
18
18
  /// @notice The `tokens` array must be sorted in strictly ascending order with no duplicates.
19
- function depositToMerkleCampaign(
20
- bytes32 campaignId,
21
- address[] calldata tokens,
22
- uint256[] calldata amounts
23
- ) external payable {
19
+ function depositToMerkleCampaign(bytes32 campaignId, address[] calldata tokens, uint256[] calldata amounts)
20
+ external
21
+ payable
22
+ {
24
23
  uint256 length = tokens.length;
25
24
 
26
25
  require(length != 0, "PMD: empty array");
@@ -51,7 +50,7 @@ contract PendleMerkleDepositor {
51
50
 
52
51
  function _transferFrom(address token, address from, address to, uint256 amount) internal {
53
52
  if (token == NATIVE) {
54
- (bool success, ) = to.call{value: amount}("");
53
+ (bool success,) = to.call{value: amount}("");
55
54
  require(success, "PMD: eth send failed");
56
55
  } else {
57
56
  IERC20(token).safeTransferFrom(from, to, amount);
@@ -1,11 +1,11 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
3
 
4
- import {ActionBase} from "./base/ActionBase.sol";
5
- import {TokenOutput, IPActionCrossChain} from "../interfaces/IPActionCrossChain.sol";
4
+ import {IPActionCrossChain, TokenOutput} from "../interfaces/IPActionCrossChain.sol";
6
5
  import {IPFixedPricePTAMM} from "../interfaces/IPFixedPricePTAMM.sol";
6
+ import {ActionBase} from "./base/ActionBase.sol";
7
+ import {IPSwapAggregator, SwapType} from "./swap-aggregator/IPSwapAggregator.sol";
7
8
  import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
- import {SwapType, IPSwapAggregator} from "./swap-aggregator/IPSwapAggregator.sol";
9
9
 
10
10
  contract ActionCrossChain is ActionBase, IPActionCrossChain {
11
11
  function swapWithFixedPricePTAMM(
@@ -16,13 +16,8 @@ contract ActionCrossChain is ActionBase, IPActionCrossChain {
16
16
  TokenOutput calldata out
17
17
  ) external returns (uint256 netTokenOut) {
18
18
  _transferFrom(IERC20(PT), msg.sender, fixedPricePTAMM, exactPtIn);
19
- uint256 tokenOut = IPFixedPricePTAMM(fixedPricePTAMM).swapExactPtForToken(
20
- __swapDestination(receiver, out),
21
- PT,
22
- exactPtIn,
23
- out.tokenRedeemSy,
24
- EMPTY_BYTES
25
- );
19
+ uint256 tokenOut = IPFixedPricePTAMM(fixedPricePTAMM)
20
+ .swapExactPtForToken(__swapDestination(receiver, out), PT, exactPtIn, out.tokenRedeemSy, EMPTY_BYTES);
26
21
  return __handleTokenOutput(receiver, tokenOut, out);
27
22
  }
28
23
 
@@ -41,15 +36,16 @@ contract ActionCrossChain is ActionBase, IPActionCrossChain {
41
36
  else return out.pendleSwap;
42
37
  }
43
38
 
44
- /// @dev The caller must ensure that the address returned by `__swapDestination(...)` has `netTokenRedeemSy` amount of `out.tokenRedeemSy` tokens before calling this function.
45
- function __handleTokenOutput(
46
- address receiver,
47
- uint256 netTokenRedeemSy,
48
- TokenOutput calldata out
49
- ) internal returns (uint256 netTokenOut) {
39
+ /// @dev The caller must ensure that the address returned by `__swapDestination(...)` has `netTokenRedeemSy` amount
40
+ /// of `out.tokenRedeemSy` tokens before calling this function.
41
+ function __handleTokenOutput(address receiver, uint256 netTokenRedeemSy, TokenOutput calldata out)
42
+ internal
43
+ returns (uint256 netTokenOut)
44
+ {
50
45
  SwapType swapType = out.swapData.swapType;
51
- if (swapType == SwapType.NONE) netTokenOut = netTokenRedeemSy;
52
- else if (swapType == SwapType.ETH_WETH) {
46
+ if (swapType == SwapType.NONE) {
47
+ netTokenOut = netTokenRedeemSy;
48
+ } else if (swapType == SwapType.ETH_WETH) {
53
49
  netTokenOut = netTokenRedeemSy; // ETH:WETH is 1:1
54
50
  _wrap_unwrap_ETH(out.tokenRedeemSy, out.tokenOut, netTokenOut);
55
51
  _transferOut(out.tokenOut, receiver, netTokenOut);
@@ -16,7 +16,7 @@ contract Reflector is TokenHelper, IPReflector {
16
16
  receive() external payable {}
17
17
 
18
18
  function reflect(bytes calldata inputData) external returns (bytes memory result) {
19
- (uint256 value, bytes memory newCalldata) = _getNewCalldata(inputData);
19
+ (uint256 value, bytes memory newCalldata, address receiver, address market) = _getNewCalldata(inputData);
20
20
  bool success;
21
21
 
22
22
  (success, result) = ROUTER.call{value: value}(newCalldata);
@@ -26,9 +26,14 @@ contract Reflector is TokenHelper, IPReflector {
26
26
  revert(add(32, result), mload(result))
27
27
  }
28
28
  }
29
+
30
+ if (market != address(0)) _sweepMarketDustBalance(receiver, market);
29
31
  }
30
32
 
31
- function _getNewCalldata(bytes calldata inputData) internal returns (uint256 value, bytes memory newCalldata) {
33
+ function _getNewCalldata(bytes calldata inputData)
34
+ internal
35
+ returns (uint256 value, bytes memory newCalldata, address receiver, address market)
36
+ {
32
37
  bytes4 selector = bytes4(inputData[:4]);
33
38
  bytes calldata data = inputData[4:];
34
39
 
@@ -48,12 +53,14 @@ contract Reflector is TokenHelper, IPReflector {
48
53
 
49
54
  value = _scaleTokenInputAndGetValue(v5);
50
55
  newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5, v6);
56
+ (receiver, market) = (v1, v2);
51
57
  } else if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleTokenKeepYt.selector) {
52
58
  (address v1, address v2, uint256 v3, uint256 v4, TokenInput memory v5) =
53
59
  abi.decode(data, (address, address, uint256, uint256, TokenInput));
54
60
 
55
61
  value = _scaleTokenInputAndGetValue(v5);
56
62
  newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5);
63
+ (receiver, market) = (v1, v2);
57
64
  } else if (
58
65
  selector == IPActionAddRemoveLiqV3.addLiquiditySingleSy.selector
59
66
  || selector == IPActionSwapPTV3.swapExactSyForPt.selector
@@ -63,11 +70,13 @@ contract Reflector is TokenHelper, IPReflector {
63
70
  abi.decode(data, (address, address, uint256, uint256, ApproxParams, LimitOrderData));
64
71
 
65
72
  newCalldata = abi.encodeWithSelector(selector, v1, v2, _scaleSyInput(v2), v4, v5, v6);
73
+ (receiver, market) = (v1, v2);
66
74
  } else if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleSyKeepYt.selector) {
67
75
  (address v1, address v2,, uint256 v4, uint256 v5) =
68
76
  abi.decode(data, (address, address, uint256, uint256, uint256));
69
77
 
70
78
  newCalldata = abi.encodeWithSelector(selector, v1, v2, _scaleSyInput(v2), v4, v5);
79
+ (receiver, market) = (v1, v2);
71
80
  } else {
72
81
  revert("UNSUPPORTED_SELECTOR");
73
82
  }
@@ -97,4 +106,12 @@ contract Reflector is TokenHelper, IPReflector {
97
106
  approved[address(SY)] = true;
98
107
  }
99
108
  }
109
+
110
+ function _sweepMarketDustBalance(address receiver, address market) internal {
111
+ (IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
112
+
113
+ _transferOut(address(SY), receiver, _selfBalance(SY));
114
+ _transferOut(address(PT), receiver, _selfBalance(PT));
115
+ _transferOut(address(YT), receiver, _selfBalance(YT));
116
+ }
100
117
  }
@@ -46,7 +46,7 @@
46
46
  "poolDeployHelperV2": "0xF642d8Daa026B8aEd6dFE82FACbA2E077AF199E2",
47
47
  "limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
48
48
  "proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
49
- "reflector": "0x73d5DBF81A4f3bFa7b335e6a2d4638D6017a4fA8",
49
+ "reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
50
50
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
@@ -56,6 +56,7 @@
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
58
58
  "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
59
+ "sPendle": "0x999999999991E178D52Cd95AFd4b00d066664144",
59
60
  "senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
60
61
  "votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
61
62
  "gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
@@ -71,4 +72,4 @@
71
72
  "ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
72
73
  },
73
74
  "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
74
- }
75
+ }