@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
@@ -1,178 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.30;
3
-
4
- import {
5
- IOFT,
6
- MessagingFee,
7
- MessagingReceipt,
8
- OFTReceipt,
9
- SendParam
10
- } from "@layerzerolabs/oft-evm/contracts/interfaces/IOFT.sol";
11
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
12
- import {ApprovedCall, IPDepositBox} from "../../interfaces/IPDepositBox.sol";
13
- import {SwapHubBase} from "./SwapHubBase.sol";
14
-
15
- contract PendleCrossChainSwapHub is SwapHubBase {
16
- constructor(address treasury_, address beaconProxyCodeContract_, address depositBoxBeacon_)
17
- SwapHubBase(treasury_, beaconProxyCodeContract_, depositBoxBeacon_)
18
- {
19
- _disableInitializers();
20
- }
21
-
22
- function initialize(address _owner) external initializer {
23
- __EIP712_init("Pendle Cross Chain Swap Hub", "1");
24
- __BoringOwnableV2_init(_owner);
25
- }
26
-
27
- function withdrawToken(WithdrawTokenMessage memory ms, bytes memory sig) external onlyExecutor {
28
- _verifyOwnerSig(ms.owner, ms.expiry, ms.nonce, hashTypedData(ms), sig);
29
-
30
- IPDepositBox box = _checkAndDeployBox(ms.owner, ms.boxId);
31
- _payTreasury(box, ms.token, ms.amountFee);
32
- _withdrawToken(ms, box);
33
-
34
- emit WithdrawToken(ms.owner, ms.boxId, ms.token, ms.amountWithdraw, ms.amountFee);
35
- }
36
-
37
- function bridgeToken(BridgeTokenMessage memory ms, bytes memory sig) external payable onlyExecutor {
38
- _verifyOwnerSig(ms.owner, ms.expiry, ms.nonce, hashTypedData(ms), sig);
39
-
40
- IPDepositBox box = _checkAndDeployBox(ms.owner, ms.boxId);
41
- _pullToken(ms.pullFromOwner, box, ms.owner, ms.token, ms.amountBridge + ms.amountFee);
42
- _payTreasury(box, ms.token, ms.amountFee);
43
- _bridgeToken(ms, box, msg.value);
44
-
45
- emit BridgeToken(
46
- ms.owner, ms.boxId, ms.bridgeExtRouter, ms.token, ms.amountBridge, ms.amountFee, ms.pullFromOwner
47
- );
48
- }
49
-
50
- function swapToken(SwapTokenMessage memory ms, bytes memory sig) external onlyExecutor {
51
- _verifyOwnerSig(ms.owner, ms.expiry, ms.nonce, hashTypedData(ms), sig);
52
-
53
- IPDepositBox box = _checkAndDeployBox(ms.owner, ms.boxId);
54
- _pullToken(ms.pullFromOwner, box, ms.owner, ms.tokenSpent, ms.amountSpent + ms.amountFee);
55
- _payTreasury(box, ms.tokenSpent, ms.amountFee);
56
-
57
- uint256 netTokenReceived = _swapToken(ms, box);
58
- require(netTokenReceived >= ms.minReceived, InsufficientTokenReceived());
59
-
60
- emit SwapToken(
61
- ms.owner,
62
- ms.boxId,
63
- ms.tokenSpent,
64
- ms.amountSpent,
65
- ms.amountFee,
66
- ms.tokenReceived,
67
- netTokenReceived,
68
- ms.pullFromOwner,
69
- ms.sendToOwner
70
- );
71
- }
72
-
73
- function buyCrossChainPt(BuyCrossChainPtMessage memory ms, bytes memory sig) external payable onlyExecutor {
74
- _verifyOwnerSig(ms.owner, ms.expiry, ms.nonce, hashTypedData(ms), sig);
75
-
76
- IPDepositBox box = _checkAndDeployBox(ms.owner, ms.boxId);
77
- _pullToken(ms.pullFromOwner, box, ms.owner, ms.tokenSpent, ms.amountSpent + ms.amountFee);
78
- _payTreasury(box, ms.tokenSpent, ms.amountFee);
79
-
80
- address pt = IOFT(ms.ptAdapter).token();
81
- uint256 netPtReceived = _buyPtAndBridge(ms, box, pt, msg.value, msg.sender);
82
- require(netPtReceived >= ms.minPtReceived, InsufficientTokenReceived());
83
-
84
- emit BuyCrossChainPt(
85
- ms.owner,
86
- ms.boxId,
87
- ms.tokenSpent,
88
- ms.amountSpent,
89
- ms.amountFee,
90
- ms.ptAdapter,
91
- pt,
92
- netPtReceived,
93
- ms.pullFromOwner
94
- );
95
- }
96
-
97
- function _pullToken(bool pullFromOwner, IPDepositBox box, address owner, address token, uint256 amount) internal {
98
- if (pullFromOwner) {
99
- _transferFrom(IERC20(token), owner, address(box), amount);
100
- }
101
- }
102
-
103
- function _payTreasury(IPDepositBox box, address token, uint256 amount) internal {
104
- box.withdrawTo(TREASURY, token, amount);
105
- }
106
-
107
- function _withdrawToken(WithdrawTokenMessage memory ms, IPDepositBox box) internal {
108
- box.withdrawTo(ms.owner, ms.token, ms.amountWithdraw);
109
- }
110
-
111
- function _bridgeToken(BridgeTokenMessage memory ms, IPDepositBox box, uint256 nativeFee) internal {
112
- ApprovedCall memory call = ApprovedCall({
113
- token: ms.token,
114
- amount: ms.amountBridge,
115
- approveTo: ms.bridgeApprove,
116
- callTo: ms.bridgeExtRouter,
117
- data: ms.bridgeCalldata
118
- });
119
- box.approveAndCall{value: nativeFee}(call, msg.sender);
120
- }
121
-
122
- function _swapToken(SwapTokenMessage memory ms, IPDepositBox box) internal returns (uint256 rawTokenReceived) {
123
- rawTokenReceived = _swapFromBox({
124
- box: box,
125
- tokenSpent: ms.tokenSpent,
126
- amountSpent: ms.amountSpent,
127
- tokenReceived: ms.tokenReceived,
128
- swapExtRouter: ms.swapExtRouter,
129
- swapApprove: ms.swapApprove,
130
- swapCalldata: ms.swapCalldata,
131
- receiver: ms.sendToOwner ? ms.owner : address(box)
132
- });
133
- }
134
-
135
- function _buyPtAndBridge(
136
- BuyCrossChainPtMessage memory ms,
137
- IPDepositBox box,
138
- address pt,
139
- uint256 nativeFee,
140
- address nativeRefund
141
- ) internal returns (uint256 netPtReceived) {
142
- require(ms.receiver == _addressToBytes32(ms.owner), InvalidReceiver());
143
-
144
- uint256 rawPtReceived = _swapFromBox({
145
- box: box,
146
- tokenSpent: ms.tokenSpent,
147
- amountSpent: ms.amountSpent,
148
- tokenReceived: pt,
149
- swapExtRouter: ms.swapExtRouter,
150
- swapApprove: ms.swapApprove,
151
- swapCalldata: ms.swapCalldata,
152
- receiver: address(box)
153
- });
154
-
155
- SendParam memory sendParam = SendParam({
156
- dstEid: ms.dstEid,
157
- to: ms.receiver,
158
- amountLD: rawPtReceived,
159
- minAmountLD: 0,
160
- extraOptions: "",
161
- composeMsg: "",
162
- oftCmd: ""
163
- });
164
- MessagingFee memory sendFee = MessagingFee({nativeFee: nativeFee, lzTokenFee: 0});
165
- ApprovedCall memory call = ApprovedCall({
166
- token: pt,
167
- amount: rawPtReceived,
168
- approveTo: ms.ptAdapter,
169
- callTo: ms.ptAdapter,
170
- data: abi.encodeCall(IOFT.send, (sendParam, sendFee, nativeRefund))
171
- });
172
- (, OFTReceipt memory oftReceipt) =
173
- abi.decode(box.approveAndCall{value: nativeFee}(call, nativeRefund), (MessagingReceipt, OFTReceipt));
174
- netPtReceived = oftReceipt.amountReceivedLD;
175
- }
176
-
177
- receive() external payable {}
178
- }
@@ -1,274 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.30;
3
-
4
- import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
5
- import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
6
- import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";
7
- import {BoringOwnableUpgradeableV2} from "../../core/libraries/BoringOwnableUpgradeableV2.sol";
8
- import {TokenHelper} from "../../core/libraries/TokenHelper.sol";
9
- import {IPCrossChainSwapHub} from "../../interfaces/IPCrossChainSwapHub.sol";
10
- import {ApprovedCall, IPDepositBox} from "../../interfaces/IPDepositBox.sol";
11
- import {DepositBox} from "./DepositBox.sol";
12
-
13
- abstract contract SwapHubBase is IPCrossChainSwapHub, EIP712Upgradeable, BoringOwnableUpgradeableV2, TokenHelper {
14
- // forgefmt: disable-next-item
15
- bytes32 internal constant WITHDRAW_TOKEN_MESSAGE_TYPEHASH = keccak256(
16
- "WithdrawTokenMessage("
17
- "address owner,"
18
- "uint32 boxId,"
19
- "uint256 expiry,"
20
- "uint256 nonce,"
21
- //
22
- "address token,"
23
- "uint256 amountWithdraw,"
24
- "uint256 amountFee"
25
- ")"
26
- );
27
-
28
- // forgefmt: disable-next-item
29
- bytes32 internal constant BRIDGE_TOKEN_MESSAGE_TYPEHASH = keccak256(
30
- "BridgeTokenMessage("
31
- "address owner,"
32
- "uint32 boxId,"
33
- "uint256 expiry,"
34
- "uint256 nonce,"
35
- //
36
- "address token,"
37
- "uint256 amountBridge,"
38
- "uint256 amountFee,"
39
- "bool pullFromOwner,"
40
- //
41
- "address bridgeExtRouter,"
42
- "address bridgeApprove,"
43
- "bytes bridgeCalldata"
44
- ")"
45
- );
46
-
47
- // forgefmt: disable-next-item
48
- bytes32 internal constant SWAP_TOKEN_MESSAGE_TYPEHASH = keccak256(
49
- "SwapTokenMessage("
50
- "address owner,"
51
- "uint32 boxId,"
52
- "uint256 expiry,"
53
- "uint256 nonce,"
54
- //
55
- "address tokenSpent,"
56
- "uint256 amountSpent,"
57
- "uint256 amountFee,"
58
- "address tokenReceived,"
59
- "uint256 minReceived,"
60
- "bool pullFromOwner,"
61
- "bool sendToOwner,"
62
- //
63
- "address swapExtRouter,"
64
- "address swapApprove,"
65
- "bytes swapCalldata"
66
- ")"
67
- );
68
-
69
- // forgefmt: disable-next-item
70
- bytes32 internal constant BUY_CROSS_CHAIN_PT_MESSAGE_TYPEHASH = keccak256(
71
- "BuyCrossChainPtMessage("
72
- "address owner,"
73
- "uint32 boxId,"
74
- "uint256 expiry,"
75
- "uint256 nonce,"
76
- //
77
- "address tokenSpent,"
78
- "uint256 amountSpent,"
79
- "uint256 amountFee,"
80
- "address ptAdapter,"
81
- "uint256 minPtReceived,"
82
- "uint32 dstEid,"
83
- "bytes32 receiver,"
84
- "bool pullFromOwner,"
85
- //
86
- "address swapExtRouter,"
87
- "address swapApprove,"
88
- "bytes swapCalldata"
89
- ")"
90
- );
91
-
92
- address public immutable TREASURY;
93
-
94
- /// @dev creation code of OpenZeppelin's BeaconProxy
95
- address public immutable BEACON_PROXY_CODE_CONTRACT;
96
- address public immutable DEPOSIT_BOX_BEACON;
97
- bytes32 public immutable DEPOSIT_BOX_CODE_HASH;
98
-
99
- mapping(address owner => uint256 nonce) public ownerNonce;
100
- mapping(address executor => bool) public isExecutor;
101
-
102
- constructor(address treasury_, address beaconProxyCodeContract_, address depositBoxBeacon_) {
103
- TREASURY = treasury_;
104
- BEACON_PROXY_CODE_CONTRACT = beaconProxyCodeContract_;
105
- DEPOSIT_BOX_BEACON = depositBoxBeacon_;
106
- DEPOSIT_BOX_CODE_HASH =
107
- keccak256(abi.encodePacked(beaconProxyCodeContract_.code, abi.encode(depositBoxBeacon_, "")));
108
- }
109
-
110
- modifier onlyExecutor() {
111
- require(isExecutor[msg.sender], "SwapHub: caller is not executor");
112
- _;
113
- }
114
-
115
- function setExecutor(address executor, bool isExecutor_) external onlyOwner {
116
- isExecutor[executor] = isExecutor_;
117
- emit SetExecutor(executor, isExecutor_);
118
- }
119
-
120
- function computeDepositBox(address owner, uint32 boxId)
121
- public
122
- view
123
- returns (address box, bytes32 salt, bool deployed)
124
- {
125
- salt = keccak256(abi.encode(owner, boxId));
126
- box = Create2.computeAddress(salt, DEPOSIT_BOX_CODE_HASH);
127
- deployed = box.code.length > 0;
128
- }
129
-
130
- function _checkAndDeployBox(address owner, uint32 boxId) internal returns (IPDepositBox) {
131
- (address box, bytes32 salt, bool deployed) = computeDepositBox(owner, boxId);
132
- if (deployed) {
133
- return IPDepositBox(box);
134
- }
135
-
136
- bytes memory bytecode = abi.encodePacked(BEACON_PROXY_CODE_CONTRACT.code, abi.encode(DEPOSIT_BOX_BEACON, ""));
137
- assert(Create2.deploy(0, salt, bytecode) == box);
138
- DepositBox(payable(box)).initialize(owner, boxId);
139
- return IPDepositBox(box);
140
- }
141
-
142
- function hashTypedData(WithdrawTokenMessage memory message) public view returns (bytes32) {
143
- return _hashTypedDataV4(
144
- keccak256(
145
- abi.encode(
146
- WITHDRAW_TOKEN_MESSAGE_TYPEHASH,
147
- message.owner,
148
- message.boxId,
149
- message.expiry,
150
- message.nonce,
151
- //
152
- message.token,
153
- message.amountWithdraw,
154
- message.amountFee
155
- )
156
- )
157
- );
158
- }
159
-
160
- function hashTypedData(BridgeTokenMessage memory message) public view returns (bytes32) {
161
- return _hashTypedDataV4(
162
- keccak256(
163
- abi.encode(
164
- BRIDGE_TOKEN_MESSAGE_TYPEHASH,
165
- message.owner,
166
- message.boxId,
167
- message.expiry,
168
- message.nonce,
169
- //
170
- message.token,
171
- message.amountBridge,
172
- message.amountFee,
173
- message.pullFromOwner,
174
- //
175
- message.bridgeExtRouter,
176
- message.bridgeApprove,
177
- keccak256(message.bridgeCalldata)
178
- )
179
- )
180
- );
181
- }
182
-
183
- function hashTypedData(SwapTokenMessage memory message) public view returns (bytes32) {
184
- return _hashTypedDataV4(
185
- keccak256(
186
- abi.encode(
187
- SWAP_TOKEN_MESSAGE_TYPEHASH,
188
- message.owner,
189
- message.boxId,
190
- message.expiry,
191
- message.nonce,
192
- //
193
- message.tokenSpent,
194
- message.amountSpent,
195
- message.amountFee,
196
- message.tokenReceived,
197
- message.minReceived,
198
- message.pullFromOwner,
199
- message.sendToOwner,
200
- //
201
- message.swapExtRouter,
202
- message.swapApprove,
203
- keccak256(message.swapCalldata)
204
- )
205
- )
206
- );
207
- }
208
-
209
- function hashTypedData(BuyCrossChainPtMessage memory message) public view returns (bytes32) {
210
- return _hashTypedDataV4(
211
- keccak256(
212
- abi.encode(
213
- BUY_CROSS_CHAIN_PT_MESSAGE_TYPEHASH,
214
- message.owner,
215
- message.boxId,
216
- message.expiry,
217
- message.nonce,
218
- //
219
- message.tokenSpent,
220
- message.amountSpent,
221
- message.amountFee,
222
- message.ptAdapter,
223
- message.minPtReceived,
224
- message.dstEid,
225
- message.receiver,
226
- message.pullFromOwner,
227
- //
228
- message.swapExtRouter,
229
- message.swapApprove,
230
- keccak256(message.swapCalldata)
231
- )
232
- )
233
- );
234
- }
235
-
236
- function _verifyOwnerSig(address owner, uint256 expiry, uint256 nonce, bytes32 messageHash, bytes memory signature)
237
- internal
238
- {
239
- require(SignatureChecker.isValidSignatureNow(owner, messageHash, signature), InvalidSignature());
240
- require(expiry > block.timestamp, MessageExpired());
241
- require(ownerNonce[owner] < nonce, InvalidNonce());
242
- ownerNonce[owner] = nonce;
243
- }
244
-
245
- function _swapFromBox(
246
- IPDepositBox box,
247
- address tokenSpent,
248
- uint256 amountSpent,
249
- address tokenReceived,
250
- address swapExtRouter,
251
- address swapApprove,
252
- bytes memory swapCalldata,
253
- address receiver
254
- ) internal returns (uint256 rawTokenReceived) {
255
- // forgefmt: disable-next-item
256
- ApprovedCall memory call = ApprovedCall({
257
- token: tokenSpent,
258
- amount: amountSpent,
259
- approveTo: swapApprove,
260
- callTo: swapExtRouter,
261
- data: swapCalldata
262
- });
263
-
264
- uint256 preBalance = _selfBalance(tokenReceived);
265
- box.approveAndCall(call, address(box));
266
- rawTokenReceived = _selfBalance(tokenReceived) - preBalance;
267
-
268
- _transferOut(tokenReceived, receiver, rawTokenReceived);
269
- }
270
-
271
- function _addressToBytes32(address addr) internal pure returns (bytes32) {
272
- return bytes32(uint256(uint160(addr)));
273
- }
274
- }
@@ -1,204 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.17;
3
-
4
- import "../../LiquidityMining/libraries/VeHistoryLib.sol";
5
- import "../../LiquidityMining/libraries/WeekMath.sol";
6
- import "../../core/libraries/ArrayLib.sol";
7
- import "../../core/libraries/BoringOwnableUpgradeableV2.sol";
8
- import "../../core/libraries/Errors.sol";
9
- import "../../interfaces/IPFeeDistributor.sol";
10
- import "../../interfaces/IPVotingController.sol";
11
- import "../../interfaces/IPVotingEscrowMainchain.sol";
12
- import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
13
- import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
14
-
15
- contract PendleFeeDistributor is UUPSUpgradeable, BoringOwnableUpgradeableV2, IPFeeDistributor {
16
- using SafeERC20 for IERC20;
17
- using VeBalanceLib for VeBalance;
18
- using ArrayLib for uint256[];
19
-
20
- address public immutable votingController;
21
- address public immutable vePendle;
22
- address public immutable token;
23
-
24
- address[] public allPools;
25
-
26
- // [pool] => lastFundedWeek
27
- mapping(address => uint256) public lastFundedWeek;
28
-
29
- // [pool, user] => UserInfo
30
- mapping(address => mapping(address => UserInfo)) public userInfo;
31
-
32
- // [pool, epoch] => [fee]
33
- mapping(address => mapping(uint256 => uint256)) public fees;
34
-
35
- modifier ensureValidPool(address pool) {
36
- if (lastFundedWeek[pool] == 0) revert Errors.FDInvalidPool(pool);
37
- _;
38
- }
39
-
40
- constructor(address _votingController, address _vePendle, address _rewardToken) initializer {
41
- votingController = _votingController;
42
- vePendle = _vePendle;
43
- token = _rewardToken;
44
- }
45
-
46
- function addPool(address pool, uint256 _startWeek) external onlyOwner {
47
- if (!WeekMath.isValidWTime(_startWeek) || _startWeek == 0) revert Errors.FDInvalidStartEpoch(_startWeek);
48
-
49
- if (lastFundedWeek[pool] != 0) revert Errors.FDPoolAlreadyExists(pool);
50
-
51
- lastFundedWeek[pool] = _startWeek - WeekMath.WEEK;
52
- allPools.push(pool);
53
-
54
- emit PoolAdded(pool, _startWeek);
55
- }
56
-
57
- function getAllPools() external view returns (address[] memory) {
58
- return allPools;
59
- }
60
-
61
- function fund(
62
- address[] calldata pools,
63
- uint256[][] calldata wTimes,
64
- uint256[][] calldata amounts,
65
- uint256 totalAmountToFund
66
- ) external onlyOwner {
67
- uint256 length = pools.length;
68
- if (wTimes.length != length || amounts.length != length) revert Errors.ArrayLengthMismatch();
69
-
70
- uint256 totalFunded = 0;
71
- for (uint256 i = 0; i < length; ++i) {
72
- _fund(pools[i], wTimes[i], amounts[i]);
73
- totalFunded += amounts[i].sum();
74
- }
75
-
76
- if (totalFunded != totalAmountToFund) {
77
- revert Errors.FDTotalAmountFundedNotMatch(totalFunded, totalAmountToFund);
78
- }
79
-
80
- IERC20(token).transferFrom(msg.sender, address(this), totalFunded);
81
- }
82
-
83
- function _fund(address pool, uint256[] calldata wTimes, uint256[] calldata amounts) internal ensureValidPool(pool) {
84
- if (wTimes.length != amounts.length) revert Errors.FDEpochLengthMismatch();
85
-
86
- uint256 lastFunded = lastFundedWeek[pool];
87
-
88
- uint256 curWeek = WeekMath.getCurrentWeekStart();
89
-
90
- for (uint256 i = 0; i < amounts.length; ++i) {
91
- uint256 wTime = wTimes[i];
92
- uint256 amount = amounts[i];
93
-
94
- if (wTime != lastFunded + WeekMath.WEEK) revert Errors.FDInvalidWTimeFund(lastFunded, wTime);
95
-
96
- fees[pool][wTime] += amount;
97
- lastFunded += WeekMath.WEEK;
98
-
99
- emit UpdateFee(pool, wTime, amount);
100
- }
101
-
102
- if (lastFunded >= curWeek) revert Errors.FDInvalidWTimeFund(lastFunded, curWeek);
103
-
104
- lastFundedWeek[pool] = lastFunded;
105
- }
106
-
107
- function claimReward(address user, address[] calldata pools) external returns (uint256[] memory amountRewardOut) {
108
- amountRewardOut = new uint256[](pools.length);
109
- for (uint256 i = 0; i < pools.length;) {
110
- amountRewardOut[i] = _accumulateUserReward(pools[i], user);
111
- unchecked {
112
- i++;
113
- }
114
- }
115
- IERC20(token).safeTransfer(user, amountRewardOut.sum());
116
- }
117
-
118
- function getAllActivePools() external view returns (address[] memory) {
119
- return allPools;
120
- }
121
-
122
- function _accumulateUserReward(address pool, address user)
123
- internal
124
- ensureValidPool(pool)
125
- returns (uint256 totalReward)
126
- {
127
- uint256 length = _getUserCheckpointLength(pool, user);
128
- if (length == 0) return 0;
129
-
130
- uint256 lastWeek = lastFundedWeek[pool];
131
- uint256 curWeek = userInfo[pool][user].firstUnclaimedWeek;
132
- uint256 iter = userInfo[pool][user].iter;
133
-
134
- if (curWeek > lastWeek) return 0; // nothing to account
135
-
136
- Checkpoint memory checkpoint = _getUserCheckpointAt(pool, user, iter);
137
- Checkpoint memory nextCheckpoint = checkpoint;
138
-
139
- if (curWeek == 0) curWeek = checkpoint.timestamp + WeekMath.WEEK;
140
-
141
- while (curWeek <= lastWeek) {
142
- // we have at most one checkpoint per week
143
- if (iter + 1 < length) {
144
- if (nextCheckpoint.timestamp == checkpoint.timestamp) {
145
- // next have been assigned to current checkpoint, so we need to get the next one
146
- nextCheckpoint = _getUserCheckpointAt(pool, user, iter + 1);
147
- }
148
-
149
- if (nextCheckpoint.timestamp < curWeek) {
150
- iter++;
151
- checkpoint = nextCheckpoint;
152
- }
153
- // Important invariant: checkpoint[iter] < curWeek <= checkpoint[iter+1]
154
- }
155
-
156
- // assert(checkpoint.timestamp < curWeek); should always hold
157
-
158
- uint256 userShare = checkpoint.value.getValueAt(uint128(curWeek));
159
- if (userShare != 0) {
160
- uint256 totalShare = _getPoolTotalSharesAt(pool, uint128(curWeek));
161
- // userShare != 0 => totalShare != 0
162
- uint256 amountRewardOut = (userShare * fees[pool][curWeek]) / totalShare;
163
- totalReward += amountRewardOut;
164
- emit ClaimReward(pool, user, curWeek, amountRewardOut);
165
- }
166
-
167
- curWeek += WeekMath.WEEK;
168
- }
169
-
170
- userInfo[pool][user] = UserInfo({firstUnclaimedWeek: uint128(curWeek), iter: uint128(iter)});
171
- }
172
-
173
- function _getPoolTotalSharesAt(address pool, uint128 wTime) internal view returns (uint256) {
174
- if (pool == vePendle) {
175
- return IPVotingEscrowMainchain(vePendle).totalSupplyAt(wTime);
176
- } else {
177
- return IPVotingController(votingController).getPoolTotalVoteAt(pool, wTime);
178
- }
179
- }
180
-
181
- function _getUserCheckpointAt(address pool, address user, uint256 index) internal view returns (Checkpoint memory) {
182
- if (pool == vePendle) {
183
- return IPVotingEscrowMainchain(vePendle).getUserHistoryAt(user, index);
184
- } else {
185
- return IPVotingController(votingController).getUserPoolHistoryAt(user, pool, index);
186
- }
187
- }
188
-
189
- function _getUserCheckpointLength(address pool, address user) internal view returns (uint256) {
190
- if (pool == vePendle) {
191
- return IPVotingEscrowMainchain(vePendle).getUserHistoryLength(user);
192
- } else {
193
- return IPVotingController(votingController).getUserPoolHistoryLength(user, pool);
194
- }
195
- }
196
-
197
- function initialize(address _owner) external initializer {
198
- __BoringOwnableV2_init(_owner);
199
- }
200
-
201
- // ----------------- upgrade-related -----------------
202
-
203
- function _authorizeUpgrade(address) internal override onlyOwner {}
204
- }