@pendle/core-v2 6.4.4-swaphubtest → 6.5.0-swaphubtest

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 (500) 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 +457 -0
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +4 -0
  28. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +733 -0
  29. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  31. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  33. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.json +0 -51
  35. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +4 -0
  36. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +618 -0
  37. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +4 -0
  38. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +1157 -0
  39. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  43. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  47. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  49. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  51. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +3 -3
  59. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  66. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  67. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  68. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +4 -0
  69. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +170 -0
  70. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +4 -0
  71. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +124 -0
  72. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  73. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  74. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  75. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +1 -1
  76. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +302 -511
  77. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +1 -1
  78. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +301 -501
  79. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  80. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  81. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +265 -478
  117. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +4 -0
  119. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.json +108 -0
  120. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -51
  128. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +102 -11
  130. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -19
  139. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +4 -0
  157. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.json +351 -0
  158. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  169. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  170. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  171. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  172. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  173. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  174. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +4 -0
  183. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.json +30 -0
  184. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  186. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  189. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  193. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  195. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  205. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  207. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
  209. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  216. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  219. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  220. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  222. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  223. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  224. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  225. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  227. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  232. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  233. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  234. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  235. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  236. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  237. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  238. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  247. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  248. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  249. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  250. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  252. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  253. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  254. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  255. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  257. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  259. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  260. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  261. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  262. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  263. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  264. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  265. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  266. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  267. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  268. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  269. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  270. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  271. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  272. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  273. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  274. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  275. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  276. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  277. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  278. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  279. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  280. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  281. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  282. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  283. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  284. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  285. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  286. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  287. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  288. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  289. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  290. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  291. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  292. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +2 -2
  293. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  294. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  295. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  296. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  297. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  298. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  299. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  300. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  301. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  302. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  303. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  304. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  305. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  306. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  307. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  309. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  311. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  313. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  314. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  316. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  318. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  320. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  322. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  324. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  326. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  329. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  330. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  331. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  333. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol +122 -0
  334. package/contracts/LiquidityMining/sPendle/StakedPendle.sol +129 -0
  335. package/contracts/core/Market/PendleGauge.sol +1 -76
  336. package/contracts/core/Market/{PendleMarketFactoryV6Upg.sol → PendleMarketFactoryV7Upg.sol} +3 -6
  337. package/contracts/core/Market/{PendleMarketV6.sol → PendleMarketV7.sol} +16 -16
  338. package/contracts/core/libraries/Errors.sol +1 -1
  339. package/contracts/core/libraries/TokenHelper.sol +6 -2
  340. package/contracts/core/libraries/math/PMath.sol +5 -0
  341. package/contracts/cross-chain/deposit-box/DepositBoxFactory.sol +44 -0
  342. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +37 -114
  343. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +82 -172
  344. package/contracts/interfaces/IPCrossChainSwapHub.sol +34 -73
  345. package/contracts/interfaces/IPDepositBoxFactory.sol +19 -0
  346. package/contracts/interfaces/IPGauge.sol +0 -6
  347. package/contracts/interfaces/IPGaugeController.sol +20 -3
  348. package/contracts/interfaces/IPMarket.sol +12 -0
  349. package/contracts/interfaces/IPStakedPendle.sol +69 -0
  350. package/contracts/offchain-helpers/BalanceReader.sol +11 -1
  351. package/contracts/offchain-helpers/MarketSweed.sol +46 -54
  352. package/contracts/offchain-helpers/PendleMerkleDepositor.sol +5 -6
  353. package/contracts/router/ActionCrossChain.sol +14 -18
  354. package/contracts/router/Reflector.sol +19 -2
  355. package/deployments/1-core.json +3 -2
  356. package/deployments/10-core.json +1 -1
  357. package/deployments/130-core.json +2 -1
  358. package/deployments/146-core.json +1 -1
  359. package/deployments/42161-core.json +1 -1
  360. package/deployments/5000-core.json +1 -1
  361. package/deployments/56-core.json +1 -1
  362. package/deployments/80094-core.json +1 -1
  363. package/deployments/8453-core.json +1 -1
  364. package/deployments/9745-core.json +4 -3
  365. package/deployments/999-core.json +6 -6
  366. package/package.json +1 -1
  367. package/typechain-types/DepositBoxFactory.ts +226 -0
  368. package/typechain-types/ERC20Upgradeable.ts +426 -0
  369. package/typechain-types/IERC20MetadataUpgradeable.ts +339 -0
  370. package/typechain-types/IERC20Upgradeable.ts +300 -0
  371. package/typechain-types/ILegacyMarket.ts +93 -0
  372. package/typechain-types/IPCrossChainSwapHub.ts +183 -409
  373. package/typechain-types/IPDepositBoxFactory.ts +226 -0
  374. package/typechain-types/IPGauge.ts +7 -81
  375. package/typechain-types/IPGaugeController.ts +168 -38
  376. package/typechain-types/IPMarket.ts +0 -19
  377. package/typechain-types/IPStakedPendle.ts +558 -0
  378. package/typechain-types/PendleCrossChainSwapHub.ts +226 -434
  379. package/typechain-types/PendleGauge.ts +0 -63
  380. package/typechain-types/PendleGaugeControllerUpg.ts +686 -0
  381. package/typechain-types/PendleMarketFactoryV7Upg.ts +760 -0
  382. package/typechain-types/PendleMarketV7.ts +1229 -0
  383. package/typechain-types/StakedPendle.ts +1058 -0
  384. package/typechain-types/SwapHubBase.ts +225 -433
  385. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  386. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  387. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  388. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  389. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  390. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  391. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  392. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  393. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  394. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  395. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  396. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  397. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  398. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  399. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  400. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  401. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  402. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  403. package/typechain-types/factories/DepositBoxFactory__factory.ts +189 -0
  404. package/typechain-types/factories/DepositBox__factory.ts +1 -1
  405. package/typechain-types/factories/ERC20Upgradeable__factory.ts +347 -0
  406. package/typechain-types/factories/Errors__factory.ts +2 -2
  407. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  408. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  409. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  410. package/typechain-types/factories/IERC20MetadataUpgradeable__factory.ts +252 -0
  411. package/typechain-types/factories/IERC20Upgradeable__factory.ts +209 -0
  412. package/typechain-types/factories/ILegacyMarket__factory.ts +42 -0
  413. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +264 -477
  414. package/typechain-types/factories/IPDepositBoxFactory__factory.ts +123 -0
  415. package/typechain-types/factories/IPGaugeController__factory.ts +102 -11
  416. package/typechain-types/factories/IPGauge__factory.ts +0 -51
  417. package/typechain-types/factories/IPMarket__factory.ts +0 -19
  418. package/typechain-types/factories/IPStakedPendle__factory.ts +366 -0
  419. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  420. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  421. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  422. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  423. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  424. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  425. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  426. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  427. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  428. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  429. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +304 -517
  430. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  431. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  432. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  433. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  434. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +519 -0
  435. package/typechain-types/factories/PendleGauge__factory.ts +0 -51
  436. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  437. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  438. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  439. package/typechain-types/factories/PendleMarketFactoryV7Upg__factory.ts +710 -0
  440. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  441. package/typechain-types/factories/PendleMarketV7__factory.ts +1233 -0
  442. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +1 -1
  443. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  444. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  445. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  446. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  447. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  448. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  449. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  450. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  451. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  452. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  453. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  454. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  455. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  456. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  457. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  458. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  459. package/typechain-types/factories/Reflector__factory.ts +1 -1
  460. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  461. package/typechain-types/factories/StakedPendle__factory.ts +785 -0
  462. package/typechain-types/factories/SwapHubBase__factory.ts +300 -500
  463. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  464. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  465. package/typechain-types/hardhat.d.ts +87 -87
  466. package/typechain-types/index.ts +24 -24
  467. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +0 -4
  468. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +0 -451
  469. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
  470. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +0 -557
  471. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
  472. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +0 -547
  473. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +0 -4
  474. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +0 -1311
  475. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +0 -4
  476. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +0 -764
  477. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +0 -4
  478. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +0 -636
  479. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +0 -4
  480. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +0 -1181
  481. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +0 -4
  482. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +0 -170
  483. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
  484. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -598
  485. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +0 -4
  486. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +0 -183
  487. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +0 -4
  488. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -380
  489. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +0 -4
  490. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +0 -262
  491. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +0 -164
  492. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +0 -42
  493. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +0 -36
  494. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +0 -304
  495. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +0 -301
  496. package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +0 -204
  497. package/contracts/interfaces/IPGaugeControllerMainchain.sol +0 -8
  498. package/contracts/interfaces/IPVotingController.sol +0 -43
  499. package/contracts/offchain-helpers/Broadcaster.sol +0 -48
  500. /package/contracts/cross-chain/{swap-hub → deposit-box}/DepositBox.sol +0 -0
@@ -1,274 +1,184 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.30;
3
3
 
4
- import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";
5
4
  import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
6
5
  import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";
7
6
  import {BoringOwnableUpgradeableV2} from "../../core/libraries/BoringOwnableUpgradeableV2.sol";
8
7
  import {TokenHelper} from "../../core/libraries/TokenHelper.sol";
9
8
  import {IPCrossChainSwapHub} from "../../interfaces/IPCrossChainSwapHub.sol";
10
9
  import {ApprovedCall, IPDepositBox} from "../../interfaces/IPDepositBox.sol";
11
- import {DepositBox} from "./DepositBox.sol";
10
+ import {IPDepositBoxFactory} from "../../interfaces/IPDepositBoxFactory.sol";
12
11
 
13
12
  abstract contract SwapHubBase is IPCrossChainSwapHub, EIP712Upgradeable, BoringOwnableUpgradeableV2, TokenHelper {
14
13
  // forgefmt: disable-next-item
15
- bytes32 internal constant WITHDRAW_TOKEN_MESSAGE_TYPEHASH = keccak256(
16
- "WithdrawTokenMessage("
14
+ bytes32 internal constant BOX_PERMIT_TYPEHASH = keccak256(
15
+ "BoxPermit("
17
16
  "address owner,"
18
17
  "uint32 boxId,"
19
18
  "uint256 expiry,"
20
- "uint256 nonce,"
21
- //
19
+ "uint256 requestId,"
20
+ "uint256 nonce"
21
+ ")"
22
+ );
23
+
24
+ // forgefmt: disable-next-item
25
+ bytes32 internal constant WITHDRAW_TOKEN_MESSAGE_TYPEHASH = keccak256(
26
+ "WithdrawTokenMessage("
27
+ "BoxPermit permit,"
22
28
  "address token,"
23
29
  "uint256 amountWithdraw,"
24
30
  "uint256 amountFee"
25
31
  ")"
32
+ "BoxPermit("
33
+ "address owner,"
34
+ "uint32 boxId,"
35
+ "uint256 expiry,"
36
+ "uint256 requestId,"
37
+ "uint256 nonce"
38
+ ")"
26
39
  );
27
40
 
28
41
  // forgefmt: disable-next-item
29
42
  bytes32 internal constant BRIDGE_TOKEN_MESSAGE_TYPEHASH = keccak256(
30
43
  "BridgeTokenMessage("
31
- "address owner,"
32
- "uint32 boxId,"
33
- "uint256 expiry,"
34
- "uint256 nonce,"
35
- //
44
+ "BoxPermit permit,"
36
45
  "address token,"
37
46
  "uint256 amountBridge,"
38
47
  "uint256 amountFee,"
39
- "bool pullFromOwner,"
40
48
  //
41
49
  "address bridgeExtRouter,"
42
50
  "address bridgeApprove,"
43
51
  "bytes bridgeCalldata"
44
52
  ")"
53
+ "BoxPermit("
54
+ "address owner,"
55
+ "uint32 boxId,"
56
+ "uint256 expiry,"
57
+ "uint256 requestId,"
58
+ "uint256 nonce"
59
+ ")"
45
60
  );
46
61
 
47
62
  // forgefmt: disable-next-item
48
63
  bytes32 internal constant SWAP_TOKEN_MESSAGE_TYPEHASH = keccak256(
49
64
  "SwapTokenMessage("
50
- "address owner,"
51
- "uint32 boxId,"
52
- "uint256 expiry,"
53
- "uint256 nonce,"
54
- //
65
+ "BoxPermit permit,"
55
66
  "address tokenSpent,"
56
67
  "uint256 amountSpent,"
57
- "uint256 amountFee,"
58
68
  "address tokenReceived,"
59
69
  "uint256 minReceived,"
60
- "bool pullFromOwner,"
61
- "bool sendToOwner,"
62
70
  //
63
71
  "address swapExtRouter,"
64
72
  "address swapApprove,"
65
73
  "bytes swapCalldata"
66
74
  ")"
67
- );
68
-
69
- // forgefmt: disable-next-item
70
- bytes32 internal constant BUY_CROSS_CHAIN_PT_MESSAGE_TYPEHASH = keccak256(
71
- "BuyCrossChainPtMessage("
75
+ "BoxPermit("
72
76
  "address owner,"
73
77
  "uint32 boxId,"
74
78
  "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"
79
+ "uint256 requestId,"
80
+ "uint256 nonce"
89
81
  ")"
90
82
  );
91
83
 
92
84
  address public immutable TREASURY;
85
+ IPDepositBoxFactory public immutable DEPOSIT_BOX_FACTORY;
93
86
 
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;
87
+ address public executor;
88
+ address public proposer;
89
+ mapping(uint256 requestId => uint256 nonce) public requestNonce;
101
90
 
102
- constructor(address treasury_, address beaconProxyCodeContract_, address depositBoxBeacon_) {
91
+ constructor(address treasury_, address depositBoxFactory_) {
103
92
  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_, "")));
93
+ DEPOSIT_BOX_FACTORY = IPDepositBoxFactory(depositBoxFactory_);
108
94
  }
109
95
 
110
96
  modifier onlyExecutor() {
111
- require(isExecutor[msg.sender], "SwapHub: caller is not executor");
97
+ require(msg.sender == executor, Unauthorized());
112
98
  _;
113
99
  }
114
100
 
115
- function setExecutor(address executor, bool isExecutor_) external onlyOwner {
116
- isExecutor[executor] = isExecutor_;
117
- emit SetExecutor(executor, isExecutor_);
101
+ function setExecutor(address executor_) external onlyOwner {
102
+ executor = executor_;
103
+ emit SetExecutor(executor);
118
104
  }
119
105
 
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;
106
+ function setProposer(address proposer_) external onlyOwner {
107
+ proposer = proposer_;
108
+ emit SetProposer(proposer);
128
109
  }
129
110
 
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);
111
+ function hashBoxPermit(BoxPermit memory permit) public pure returns (bytes32) {
112
+ return keccak256(
113
+ abi.encode(BOX_PERMIT_TYPEHASH, permit.owner, permit.boxId, permit.expiry, permit.requestId, permit.nonce)
114
+ );
140
115
  }
141
116
 
142
- function hashTypedData(WithdrawTokenMessage memory message) public view returns (bytes32) {
117
+ function hashTypedData(WithdrawTokenMessage memory ms) public view returns (bytes32) {
143
118
  return _hashTypedDataV4(
144
119
  keccak256(
145
120
  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
121
+ WITHDRAW_TOKEN_MESSAGE_TYPEHASH, hashBoxPermit(ms.permit), ms.token, ms.amountWithdraw, ms.amountFee
155
122
  )
156
123
  )
157
124
  );
158
125
  }
159
126
 
160
- function hashTypedData(BridgeTokenMessage memory message) public view returns (bytes32) {
127
+ function hashTypedData(BridgeTokenMessage memory ms) public view returns (bytes32) {
161
128
  return _hashTypedDataV4(
162
129
  keccak256(
163
130
  abi.encode(
164
131
  BRIDGE_TOKEN_MESSAGE_TYPEHASH,
165
- message.owner,
166
- message.boxId,
167
- message.expiry,
168
- message.nonce,
132
+ hashBoxPermit(ms.permit),
133
+ ms.token,
134
+ ms.amountBridge,
135
+ ms.amountFee,
169
136
  //
170
- message.token,
171
- message.amountBridge,
172
- message.amountFee,
173
- message.pullFromOwner,
174
- //
175
- message.bridgeExtRouter,
176
- message.bridgeApprove,
177
- keccak256(message.bridgeCalldata)
137
+ ms.bridgeExtRouter,
138
+ ms.bridgeApprove,
139
+ keccak256(ms.bridgeCalldata)
178
140
  )
179
141
  )
180
142
  );
181
143
  }
182
144
 
183
- function hashTypedData(SwapTokenMessage memory message) public view returns (bytes32) {
145
+ function hashTypedData(SwapTokenMessage memory ms) public view returns (bytes32) {
184
146
  return _hashTypedDataV4(
185
147
  keccak256(
186
148
  abi.encode(
187
149
  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,
150
+ hashBoxPermit(ms.permit),
151
+ ms.tokenSpent,
152
+ ms.amountSpent,
153
+ ms.tokenReceived,
154
+ ms.minReceived,
200
155
  //
201
- message.swapExtRouter,
202
- message.swapApprove,
203
- keccak256(message.swapCalldata)
156
+ ms.swapExtRouter,
157
+ ms.swapApprove,
158
+ keccak256(ms.swapCalldata)
204
159
  )
205
160
  )
206
161
  );
207
162
  }
208
163
 
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
- );
164
+ function _verifyProposerSig(
165
+ uint256 expiry,
166
+ uint256 requestId,
167
+ uint256 nonce,
168
+ bytes32 messageHash,
169
+ bytes memory signature
170
+ ) internal {
171
+ require(expiry > block.timestamp, MessageExpired());
172
+ require(SignatureChecker.isValidSignatureNow(proposer, messageHash, signature), InvalidSignature());
173
+ require(requestNonce[requestId] + 1 == nonce, InvalidNonce());
174
+ requestNonce[requestId] = nonce;
234
175
  }
235
176
 
236
- function _verifyOwnerSig(address owner, uint256 expiry, uint256 nonce, bytes32 messageHash, bytes memory signature)
177
+ function _checkBoxPermit(BoxPermit memory permit, bytes32 messageHash, bytes memory signature)
237
178
  internal
179
+ returns (IPDepositBox)
238
180
  {
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)));
181
+ _verifyProposerSig(permit.expiry, permit.requestId, permit.nonce, messageHash, signature);
182
+ return DEPOSIT_BOX_FACTORY.deployDepositBox(permit.owner, permit.boxId);
273
183
  }
274
184
  }
@@ -5,30 +5,29 @@ interface IPCrossChainSwapHub {
5
5
  error InsufficientTokenReceived();
6
6
  error InvalidNonce();
7
7
  error InvalidSignature();
8
- error InvalidReceiver();
9
8
  error MessageExpired();
9
+ error Unauthorized();
10
10
 
11
- struct WithdrawTokenMessage {
11
+ struct BoxPermit {
12
12
  address owner;
13
13
  uint32 boxId;
14
14
  uint256 expiry;
15
+ uint256 requestId;
15
16
  uint256 nonce;
16
- //
17
+ }
18
+
19
+ struct WithdrawTokenMessage {
20
+ BoxPermit permit;
17
21
  address token;
18
22
  uint256 amountWithdraw;
19
23
  uint256 amountFee;
20
24
  }
21
25
 
22
26
  struct BridgeTokenMessage {
23
- address owner;
24
- uint32 boxId;
25
- uint256 expiry;
26
- uint256 nonce;
27
- //
27
+ BoxPermit permit;
28
28
  address token;
29
29
  uint256 amountBridge;
30
30
  uint256 amountFee;
31
- bool pullFromOwner;
32
31
  //
33
32
  address bridgeExtRouter;
34
33
  address bridgeApprove;
@@ -36,96 +35,64 @@ interface IPCrossChainSwapHub {
36
35
  }
37
36
 
38
37
  struct SwapTokenMessage {
39
- address owner;
40
- uint32 boxId;
41
- uint256 expiry;
42
- uint256 nonce;
43
- //
38
+ BoxPermit permit;
44
39
  address tokenSpent;
45
40
  uint256 amountSpent;
46
- uint256 amountFee;
47
41
  address tokenReceived;
48
42
  uint256 minReceived;
49
- bool pullFromOwner;
50
- bool sendToOwner;
51
- //
52
- address swapExtRouter;
53
- address swapApprove;
54
- bytes swapCalldata;
55
- }
56
-
57
- struct BuyCrossChainPtMessage {
58
- address owner;
59
- uint32 boxId;
60
- uint256 expiry;
61
- uint256 nonce;
62
- //
63
- address tokenSpent;
64
- uint256 amountSpent;
65
- uint256 amountFee;
66
- address ptAdapter;
67
- uint256 minPtReceived;
68
- uint32 dstEid;
69
- bytes32 receiver;
70
- bool pullFromOwner;
71
43
  //
72
44
  address swapExtRouter;
73
45
  address swapApprove;
74
46
  bytes swapCalldata;
75
47
  }
76
48
 
77
- event WithdrawToken(address indexed owner, uint32 boxId, address token, uint256 amountWithdraw, uint256 amountFee);
49
+ event WithdrawToken(
50
+ address owner,
51
+ uint32 boxId,
52
+ uint256 requestId,
53
+ uint256 nonce,
54
+ address token,
55
+ uint256 amountWithdraw,
56
+ uint256 amountFee
57
+ );
78
58
 
79
59
  event BridgeToken(
80
- address indexed owner,
60
+ address owner,
81
61
  uint32 boxId,
62
+ uint256 requestId,
63
+ uint256 nonce,
82
64
  address bridgeExtRouter,
83
65
  address token,
84
66
  uint256 amountBridge,
85
- uint256 amountFee,
86
- bool pullFromOwner
67
+ uint256 amountFee
87
68
  );
88
69
 
89
70
  event SwapToken(
90
- address indexed owner,
71
+ address owner,
91
72
  uint32 boxId,
73
+ uint256 requestId,
74
+ uint256 nonce,
92
75
  address tokenSpent,
93
76
  uint256 amountSpent,
94
- uint256 amountFee,
95
77
  address tokenReceived,
96
- uint256 netTokenReceived,
97
- bool pullFromOwner,
98
- bool sendToOwner
78
+ uint256 netTokenReceived
99
79
  );
100
80
 
101
- event BuyCrossChainPt(
102
- address indexed owner,
103
- uint32 boxId,
104
- address tokenSpent,
105
- uint256 amountSpent,
106
- uint256 amountFee,
107
- address ptAdapter,
108
- address pt,
109
- uint256 netPtReceived,
110
- bool pullFromOwner
111
- );
81
+ event SetExecutor(address executor);
112
82
 
113
- event SetExecutor(address indexed executor, bool isExecutor);
83
+ event SetProposer(address proposer);
114
84
 
115
- function BEACON_PROXY_CODE_CONTRACT() external view returns (address);
85
+ function executor() external view returns (address);
116
86
 
117
- function DEPOSIT_BOX_BEACON() external view returns (address);
87
+ function proposer() external view returns (address);
118
88
 
119
- function DEPOSIT_BOX_CODE_HASH() external view returns (bytes32);
89
+ function setExecutor(address executor) external;
120
90
 
121
- function ownerNonce(address owner) external view returns (uint256);
91
+ function setProposer(address proposer) external;
122
92
 
123
- function isExecutor(address executor) external view returns (bool);
93
+ function requestNonce(uint256 requestId) external view returns (uint256);
124
94
 
125
- function computeDepositBox(address owner, uint32 boxId)
126
- external
127
- view
128
- returns (address box, bytes32 salt, bool deployed);
95
+ function hashBoxPermit(BoxPermit memory permit) external view returns (bytes32);
129
96
 
130
97
  function hashTypedData(WithdrawTokenMessage memory message) external view returns (bytes32);
131
98
 
@@ -133,15 +100,9 @@ interface IPCrossChainSwapHub {
133
100
 
134
101
  function hashTypedData(SwapTokenMessage memory message) external view returns (bytes32);
135
102
 
136
- function hashTypedData(BuyCrossChainPtMessage memory message) external view returns (bytes32);
137
-
138
103
  function withdrawToken(WithdrawTokenMessage memory message, bytes memory signature) external;
139
104
 
140
105
  function bridgeToken(BridgeTokenMessage memory message, bytes memory signature) external payable;
141
106
 
142
107
  function swapToken(SwapTokenMessage memory message, bytes memory signature) external;
143
-
144
- function buyCrossChainPt(BuyCrossChainPtMessage memory message, bytes memory signature) external payable;
145
-
146
- function setExecutor(address executor, bool isExecutor) external;
147
108
  }
@@ -0,0 +1,19 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {IPDepositBox} from "./IPDepositBox.sol";
5
+
6
+ interface IPDepositBoxFactory {
7
+ function computeDepositBox(address owner, uint32 boxId)
8
+ external
9
+ view
10
+ returns (address box, bytes32 salt, bool deployed);
11
+
12
+ function deployDepositBox(address owner, uint32 boxId) external returns (IPDepositBox box);
13
+
14
+ function BEACON_PROXY_CODE_CONTRACT() external view returns (address);
15
+
16
+ function DEPOSIT_BOX_BEACON() external view returns (address);
17
+
18
+ function DEPOSIT_BOX_CODE_HASH() external view returns (bytes32);
19
+ }
@@ -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,34 @@ 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
+ event WhitelistMarketSet(address indexed market, bool isWhitelisted);
16
+
17
+ function setRewardDatas(
18
+ address[] calldata markets,
19
+ uint128[] calldata pendlePerSecs,
20
+ uint128[] calldata incentiveEndsAts
21
+ ) external;
12
22
 
13
23
  function withdrawPendle(uint256 amount) external;
14
24
 
15
- function pendle() external returns (address);
25
+ function pendle() external view returns (address);
16
26
 
17
27
  function redeemMarketReward() external;
18
28
 
19
- function rewardData(address pool) external view returns (uint128 pendlePerSec, uint128, uint128, uint128);
29
+ function rewardData(address market)
30
+ external
31
+ view
32
+ returns (uint128 pendlePerSec, uint128 accumulatedPendle, uint128 lastUpdated, uint128 incentiveEndsAt);
33
+
34
+ function isWhitelisted(address market) external view returns (bool);
35
+
36
+ function whitelistMarkets(address[] memory markets, bool _isWhitelisted) external;
20
37
  }
@@ -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
  }