@pendle/core-v2 6.5.0 → 6.6.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 (395) hide show
  1. package/LICENSE +12 -82
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  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/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +58 -2
  10. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  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/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +2 -2
  23. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +2 -2
  29. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  37. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  39. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  52. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  53. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  54. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +4 -0
  55. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +170 -0
  56. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +4 -0
  57. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +124 -0
  58. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  60. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  61. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +4 -0
  62. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +1005 -0
  63. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +4 -0
  64. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +976 -0
  65. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  66. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  67. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  68. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  69. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +4 -0
  102. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +813 -0
  103. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +4 -0
  104. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +124 -0
  105. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +4 -0
  106. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.json +108 -0
  107. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +56 -0
  116. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +231 -0
  123. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  154. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  155. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  156. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  157. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.json +226 -21
  158. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  159. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +228 -23
  160. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  169. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  172. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  173. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  175. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  177. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  179. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  185. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  186. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  201. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  206. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  214. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  216. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  218. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  219. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  220. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  226. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  227. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  228. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  229. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  230. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  231. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  232. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  233. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  235. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  236. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  238. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  239. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  241. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  242. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  243. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  244. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  245. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  246. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  247. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  248. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  249. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  250. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  254. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  255. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  256. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  257. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +2 -2
  258. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  259. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  260. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  262. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  264. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  266. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  268. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  270. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  271. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  272. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  273. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  275. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  276. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  279. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  282. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  284. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  286. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  288. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  290. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  291. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  292. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  294. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  295. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  296. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  297. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol +12 -2
  298. package/contracts/core/libraries/TokenHelper.sol +6 -2
  299. package/contracts/cross-chain/deposit-box/DepositBox.sol +66 -0
  300. package/contracts/cross-chain/deposit-box/DepositBoxFactory.sol +44 -0
  301. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +101 -0
  302. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +184 -0
  303. package/contracts/interfaces/IPCrossChainSwapHub.sol +108 -0
  304. package/contracts/interfaces/IPDepositBox.sol +22 -0
  305. package/contracts/interfaces/IPDepositBoxFactory.sol +19 -0
  306. package/contracts/interfaces/IPGaugeController.sol +7 -3
  307. package/contracts/interfaces/IPLimitRouter.sol +7 -0
  308. package/contracts/limit/LimitRouterBase.sol +2 -11
  309. package/contracts/limit/PendleLimitRouter.sol +23 -1
  310. package/deployments/1-core.json +10 -6
  311. package/deployments/10-core.json +8 -4
  312. package/deployments/130-core.json +8 -2
  313. package/deployments/143-core.json +18 -0
  314. package/deployments/146-core.json +8 -4
  315. package/deployments/42161-core.json +8 -4
  316. package/deployments/43114-core.json +5 -2
  317. package/deployments/43114-offchain-helper.json +3 -0
  318. package/deployments/5000-core.json +8 -4
  319. package/deployments/56-core.json +8 -4
  320. package/deployments/57073-core.json +18 -0
  321. package/deployments/747474-core.json +18 -0
  322. package/deployments/80094-core.json +8 -4
  323. package/deployments/8453-core.json +8 -4
  324. package/deployments/9745-core.json +7 -3
  325. package/deployments/999-core.json +7 -3
  326. package/package.json +2 -2
  327. package/typechain-types/DepositBox.ts +260 -0
  328. package/typechain-types/DepositBoxFactory.ts +226 -0
  329. package/typechain-types/IPCrossChainSwapHub.ts +656 -0
  330. package/typechain-types/IPDepositBox.ts +213 -0
  331. package/typechain-types/IPDepositBoxFactory.ts +226 -0
  332. package/typechain-types/IPGaugeController.ts +86 -0
  333. package/typechain-types/IPLimitRouter.ts +83 -0
  334. package/typechain-types/LimitRouterBase.ts +79 -46
  335. package/typechain-types/PendleCrossChainSwapHub.ts +911 -0
  336. package/typechain-types/PendleGaugeControllerUpg.ts +86 -0
  337. package/typechain-types/PendleLimitRouter.ts +79 -46
  338. package/typechain-types/SwapHubBase.ts +886 -0
  339. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  340. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  341. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  342. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  343. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  344. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  345. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  346. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  347. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  348. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  349. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  350. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  351. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  352. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  353. package/typechain-types/factories/DepositBoxFactory__factory.ts +189 -0
  354. package/typechain-types/factories/DepositBox__factory.ts +222 -0
  355. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  356. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  357. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +828 -0
  358. package/typechain-types/factories/IPDepositBoxFactory__factory.ts +123 -0
  359. package/typechain-types/factories/IPDepositBox__factory.ts +136 -0
  360. package/typechain-types/factories/IPGaugeController__factory.ts +56 -0
  361. package/typechain-types/factories/IPLimitRouter__factory.ts +231 -0
  362. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  363. package/typechain-types/factories/LimitRouterBase__factory.ts +226 -21
  364. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  365. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  366. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  367. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1074 -0
  368. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  369. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  370. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +57 -1
  371. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  372. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  373. package/typechain-types/factories/PendleLimitRouter__factory.ts +227 -22
  374. package/typechain-types/factories/PendleMarketV7__factory.ts +1 -1
  375. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  376. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  377. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  378. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  379. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  380. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  381. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  382. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  383. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  384. package/typechain-types/factories/Reflector__factory.ts +1 -1
  385. package/typechain-types/factories/StakedPendle__factory.ts +1 -1
  386. package/typechain-types/factories/SwapHubBase__factory.ts +988 -0
  387. package/typechain-types/hardhat.d.ts +72 -9
  388. package/typechain-types/index.ts +14 -2
  389. package/build/artifacts/contracts/StPendle.sol/RoundDataLib.dbg.json +0 -4
  390. package/build/artifacts/contracts/StPendle.sol/RoundDataLib.json +0 -10
  391. package/build/artifacts/contracts/StPendle.sol/StPendle.dbg.json +0 -4
  392. package/build/artifacts/contracts/StPendle.sol/StPendle.json +0 -228
  393. package/contracts/StPendle.sol +0 -121
  394. package/typechain-types/StPendle.ts +0 -362
  395. package/typechain-types/factories/StPendle__factory.ts +0 -260
@@ -0,0 +1,44 @@
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
+
6
+ import {IPDepositBox} from "../../interfaces/IPDepositBox.sol";
7
+ import {IPDepositBoxFactory} from "../../interfaces/IPDepositBoxFactory.sol";
8
+ import {DepositBox} from "./DepositBox.sol";
9
+
10
+ contract DepositBoxFactory is IPDepositBoxFactory {
11
+ /// @dev creation code of OpenZeppelin's BeaconProxy
12
+ address public immutable BEACON_PROXY_CODE_CONTRACT;
13
+ address public immutable DEPOSIT_BOX_BEACON;
14
+ bytes32 public immutable DEPOSIT_BOX_CODE_HASH;
15
+
16
+ constructor(address beaconProxyCodeContract_, address depositBoxBeacon_) {
17
+ BEACON_PROXY_CODE_CONTRACT = beaconProxyCodeContract_;
18
+ DEPOSIT_BOX_BEACON = depositBoxBeacon_;
19
+ DEPOSIT_BOX_CODE_HASH =
20
+ keccak256(abi.encodePacked(beaconProxyCodeContract_.code, abi.encode(depositBoxBeacon_, "")));
21
+ }
22
+
23
+ function computeDepositBox(address owner, uint32 boxId)
24
+ public
25
+ view
26
+ returns (address box, bytes32 salt, bool deployed)
27
+ {
28
+ salt = keccak256(abi.encode(owner, boxId));
29
+ box = Create2.computeAddress(salt, DEPOSIT_BOX_CODE_HASH);
30
+ deployed = box.code.length > 0;
31
+ }
32
+
33
+ function deployDepositBox(address owner, uint32 boxId) external returns (IPDepositBox) {
34
+ (address box, bytes32 salt, bool deployed) = computeDepositBox(owner, boxId);
35
+ if (deployed) {
36
+ return IPDepositBox(box);
37
+ }
38
+
39
+ bytes memory bytecode = abi.encodePacked(BEACON_PROXY_CODE_CONTRACT.code, abi.encode(DEPOSIT_BOX_BEACON, ""));
40
+ assert(Create2.deploy(0, salt, bytecode) == box);
41
+ DepositBox(payable(box)).initialize(owner, boxId);
42
+ return IPDepositBox(box);
43
+ }
44
+ }
@@ -0,0 +1,101 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.30;
3
+
4
+ import {ApprovedCall, IPDepositBox} from "../../interfaces/IPDepositBox.sol";
5
+ import {SwapHubBase} from "./SwapHubBase.sol";
6
+
7
+ contract PendleCrossChainSwapHub is SwapHubBase {
8
+ constructor(address treasury_, address depositBoxFactory_) SwapHubBase(treasury_, depositBoxFactory_) {
9
+ _disableInitializers();
10
+ }
11
+
12
+ function initialize(address _owner) external initializer {
13
+ __EIP712_init("Pendle Cross Chain Swap Hub", "1");
14
+ __BoringOwnableV2_init(_owner);
15
+ }
16
+
17
+ function withdrawToken(WithdrawTokenMessage memory ms, bytes memory sig) external onlyExecutor {
18
+ IPDepositBox box = _checkBoxPermit(ms.permit, hashTypedData(ms), sig);
19
+ _payTreasury(box, ms.token, ms.amountFee);
20
+ _withdrawToken(ms, box);
21
+
22
+ emit WithdrawToken(
23
+ ms.permit.owner,
24
+ ms.permit.boxId,
25
+ ms.permit.requestId,
26
+ ms.permit.nonce,
27
+ ms.token,
28
+ ms.amountWithdraw,
29
+ ms.amountFee
30
+ );
31
+ }
32
+
33
+ function bridgeToken(BridgeTokenMessage memory ms, bytes memory sig) external payable onlyExecutor {
34
+ IPDepositBox box = _checkBoxPermit(ms.permit, hashTypedData(ms), sig);
35
+ _payTreasury(box, ms.token, ms.amountFee);
36
+ _bridgeToken(ms, box, msg.value);
37
+
38
+ emit BridgeToken(
39
+ ms.permit.owner,
40
+ ms.permit.boxId,
41
+ ms.permit.requestId,
42
+ ms.permit.nonce,
43
+ ms.bridgeExtRouter,
44
+ ms.token,
45
+ ms.amountBridge,
46
+ ms.amountFee
47
+ );
48
+ }
49
+
50
+ function swapToken(SwapTokenMessage memory ms, bytes memory sig) external onlyExecutor {
51
+ IPDepositBox box = _checkBoxPermit(ms.permit, hashTypedData(ms), sig);
52
+ // swapToken does not pay treasury
53
+
54
+ uint256 netTokenReceived = _swapToken(ms, box);
55
+ require(netTokenReceived >= ms.minReceived, InsufficientTokenReceived());
56
+
57
+ emit SwapToken(
58
+ ms.permit.owner,
59
+ ms.permit.boxId,
60
+ ms.permit.requestId,
61
+ ms.permit.nonce,
62
+ ms.tokenSpent,
63
+ ms.amountSpent,
64
+ ms.tokenReceived,
65
+ netTokenReceived
66
+ );
67
+ }
68
+
69
+ function _payTreasury(IPDepositBox box, address token, uint256 amount) internal {
70
+ box.withdrawTo(TREASURY, token, amount);
71
+ }
72
+
73
+ function _withdrawToken(WithdrawTokenMessage memory ms, IPDepositBox box) internal {
74
+ box.withdrawTo(ms.permit.owner, ms.token, ms.amountWithdraw);
75
+ }
76
+
77
+ function _bridgeToken(BridgeTokenMessage memory ms, IPDepositBox box, uint256 nativeFee) internal {
78
+ ApprovedCall memory call = ApprovedCall({
79
+ token: ms.token,
80
+ amount: ms.amountBridge,
81
+ approveTo: ms.bridgeApprove,
82
+ callTo: ms.bridgeExtRouter,
83
+ data: ms.bridgeCalldata
84
+ });
85
+ box.approveAndCall{value: nativeFee}(call, msg.sender);
86
+ }
87
+
88
+ function _swapToken(SwapTokenMessage memory ms, IPDepositBox box) internal returns (uint256 rawTokenReceived) {
89
+ ApprovedCall memory call = ApprovedCall({
90
+ token: ms.tokenSpent,
91
+ amount: ms.amountSpent,
92
+ approveTo: ms.swapApprove,
93
+ callTo: ms.swapExtRouter,
94
+ data: ms.swapCalldata
95
+ });
96
+
97
+ uint256 preBalance = _balanceOf(address(box), ms.tokenReceived);
98
+ box.approveAndCall(call, address(box));
99
+ rawTokenReceived = _balanceOf(address(box), ms.tokenReceived) - preBalance;
100
+ }
101
+ }
@@ -0,0 +1,184 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.30;
3
+
4
+ import {SignatureChecker} from "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
5
+ import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";
6
+ import {BoringOwnableUpgradeableV2} from "../../core/libraries/BoringOwnableUpgradeableV2.sol";
7
+ import {TokenHelper} from "../../core/libraries/TokenHelper.sol";
8
+ import {IPCrossChainSwapHub} from "../../interfaces/IPCrossChainSwapHub.sol";
9
+ import {IPDepositBox} from "../../interfaces/IPDepositBox.sol";
10
+ import {IPDepositBoxFactory} from "../../interfaces/IPDepositBoxFactory.sol";
11
+
12
+ abstract contract SwapHubBase is IPCrossChainSwapHub, EIP712Upgradeable, BoringOwnableUpgradeableV2, TokenHelper {
13
+ // forgefmt: disable-next-item
14
+ bytes32 internal constant BOX_PERMIT_TYPEHASH = keccak256(
15
+ "BoxPermit("
16
+ "address owner,"
17
+ "uint32 boxId,"
18
+ "uint256 expiry,"
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,"
28
+ "address token,"
29
+ "uint256 amountWithdraw,"
30
+ "uint256 amountFee"
31
+ ")"
32
+ "BoxPermit("
33
+ "address owner,"
34
+ "uint32 boxId,"
35
+ "uint256 expiry,"
36
+ "uint256 requestId,"
37
+ "uint256 nonce"
38
+ ")"
39
+ );
40
+
41
+ // forgefmt: disable-next-item
42
+ bytes32 internal constant BRIDGE_TOKEN_MESSAGE_TYPEHASH = keccak256(
43
+ "BridgeTokenMessage("
44
+ "BoxPermit permit,"
45
+ "address token,"
46
+ "uint256 amountBridge,"
47
+ "uint256 amountFee,"
48
+ //
49
+ "address bridgeExtRouter,"
50
+ "address bridgeApprove,"
51
+ "bytes bridgeCalldata"
52
+ ")"
53
+ "BoxPermit("
54
+ "address owner,"
55
+ "uint32 boxId,"
56
+ "uint256 expiry,"
57
+ "uint256 requestId,"
58
+ "uint256 nonce"
59
+ ")"
60
+ );
61
+
62
+ // forgefmt: disable-next-item
63
+ bytes32 internal constant SWAP_TOKEN_MESSAGE_TYPEHASH = keccak256(
64
+ "SwapTokenMessage("
65
+ "BoxPermit permit,"
66
+ "address tokenSpent,"
67
+ "uint256 amountSpent,"
68
+ "address tokenReceived,"
69
+ "uint256 minReceived,"
70
+ //
71
+ "address swapExtRouter,"
72
+ "address swapApprove,"
73
+ "bytes swapCalldata"
74
+ ")"
75
+ "BoxPermit("
76
+ "address owner,"
77
+ "uint32 boxId,"
78
+ "uint256 expiry,"
79
+ "uint256 requestId,"
80
+ "uint256 nonce"
81
+ ")"
82
+ );
83
+
84
+ address public immutable TREASURY;
85
+ IPDepositBoxFactory public immutable DEPOSIT_BOX_FACTORY;
86
+
87
+ address public executor;
88
+ address public proposer;
89
+ mapping(uint256 requestId => uint256 nonce) public requestNonce;
90
+
91
+ constructor(address treasury_, address depositBoxFactory_) {
92
+ TREASURY = treasury_;
93
+ DEPOSIT_BOX_FACTORY = IPDepositBoxFactory(depositBoxFactory_);
94
+ }
95
+
96
+ modifier onlyExecutor() {
97
+ require(msg.sender == executor, Unauthorized());
98
+ _;
99
+ }
100
+
101
+ function setExecutor(address executor_) external onlyOwner {
102
+ executor = executor_;
103
+ emit SetExecutor(executor);
104
+ }
105
+
106
+ function setProposer(address proposer_) external onlyOwner {
107
+ proposer = proposer_;
108
+ emit SetProposer(proposer);
109
+ }
110
+
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
+ );
115
+ }
116
+
117
+ function hashTypedData(WithdrawTokenMessage memory ms) public view returns (bytes32) {
118
+ return _hashTypedDataV4(
119
+ keccak256(
120
+ abi.encode(
121
+ WITHDRAW_TOKEN_MESSAGE_TYPEHASH, hashBoxPermit(ms.permit), ms.token, ms.amountWithdraw, ms.amountFee
122
+ )
123
+ )
124
+ );
125
+ }
126
+
127
+ function hashTypedData(BridgeTokenMessage memory ms) public view returns (bytes32) {
128
+ return _hashTypedDataV4(
129
+ keccak256(
130
+ abi.encode(
131
+ BRIDGE_TOKEN_MESSAGE_TYPEHASH,
132
+ hashBoxPermit(ms.permit),
133
+ ms.token,
134
+ ms.amountBridge,
135
+ ms.amountFee,
136
+ //
137
+ ms.bridgeExtRouter,
138
+ ms.bridgeApprove,
139
+ keccak256(ms.bridgeCalldata)
140
+ )
141
+ )
142
+ );
143
+ }
144
+
145
+ function hashTypedData(SwapTokenMessage memory ms) public view returns (bytes32) {
146
+ return _hashTypedDataV4(
147
+ keccak256(
148
+ abi.encode(
149
+ SWAP_TOKEN_MESSAGE_TYPEHASH,
150
+ hashBoxPermit(ms.permit),
151
+ ms.tokenSpent,
152
+ ms.amountSpent,
153
+ ms.tokenReceived,
154
+ ms.minReceived,
155
+ //
156
+ ms.swapExtRouter,
157
+ ms.swapApprove,
158
+ keccak256(ms.swapCalldata)
159
+ )
160
+ )
161
+ );
162
+ }
163
+
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] == nonce, InvalidNonce());
174
+ requestNonce[requestId] = nonce + 1;
175
+ }
176
+
177
+ function _checkBoxPermit(BoxPermit memory permit, bytes32 messageHash, bytes memory signature)
178
+ internal
179
+ returns (IPDepositBox)
180
+ {
181
+ _verifyProposerSig(permit.expiry, permit.requestId, permit.nonce, messageHash, signature);
182
+ return DEPOSIT_BOX_FACTORY.deployDepositBox(permit.owner, permit.boxId);
183
+ }
184
+ }
@@ -0,0 +1,108 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ interface IPCrossChainSwapHub {
5
+ error InsufficientTokenReceived();
6
+ error InvalidNonce();
7
+ error InvalidSignature();
8
+ error MessageExpired();
9
+ error Unauthorized();
10
+
11
+ struct BoxPermit {
12
+ address owner;
13
+ uint32 boxId;
14
+ uint256 expiry;
15
+ uint256 requestId;
16
+ uint256 nonce;
17
+ }
18
+
19
+ struct WithdrawTokenMessage {
20
+ BoxPermit permit;
21
+ address token;
22
+ uint256 amountWithdraw;
23
+ uint256 amountFee;
24
+ }
25
+
26
+ struct BridgeTokenMessage {
27
+ BoxPermit permit;
28
+ address token;
29
+ uint256 amountBridge;
30
+ uint256 amountFee;
31
+ //
32
+ address bridgeExtRouter;
33
+ address bridgeApprove;
34
+ bytes bridgeCalldata;
35
+ }
36
+
37
+ struct SwapTokenMessage {
38
+ BoxPermit permit;
39
+ address tokenSpent;
40
+ uint256 amountSpent;
41
+ address tokenReceived;
42
+ uint256 minReceived;
43
+ //
44
+ address swapExtRouter;
45
+ address swapApprove;
46
+ bytes swapCalldata;
47
+ }
48
+
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
+ );
58
+
59
+ event BridgeToken(
60
+ address owner,
61
+ uint32 boxId,
62
+ uint256 requestId,
63
+ uint256 nonce,
64
+ address bridgeExtRouter,
65
+ address token,
66
+ uint256 amountBridge,
67
+ uint256 amountFee
68
+ );
69
+
70
+ event SwapToken(
71
+ address owner,
72
+ uint32 boxId,
73
+ uint256 requestId,
74
+ uint256 nonce,
75
+ address tokenSpent,
76
+ uint256 amountSpent,
77
+ address tokenReceived,
78
+ uint256 netTokenReceived
79
+ );
80
+
81
+ event SetExecutor(address executor);
82
+
83
+ event SetProposer(address proposer);
84
+
85
+ function executor() external view returns (address);
86
+
87
+ function proposer() external view returns (address);
88
+
89
+ function setExecutor(address executor) external;
90
+
91
+ function setProposer(address proposer) external;
92
+
93
+ function requestNonce(uint256 requestId) external view returns (uint256);
94
+
95
+ function hashBoxPermit(BoxPermit memory permit) external view returns (bytes32);
96
+
97
+ function hashTypedData(WithdrawTokenMessage memory message) external view returns (bytes32);
98
+
99
+ function hashTypedData(BridgeTokenMessage memory message) external view returns (bytes32);
100
+
101
+ function hashTypedData(SwapTokenMessage memory message) external view returns (bytes32);
102
+
103
+ function withdrawToken(WithdrawTokenMessage memory message, bytes memory signature) external;
104
+
105
+ function bridgeToken(BridgeTokenMessage memory message, bytes memory signature) external payable;
106
+
107
+ function swapToken(SwapTokenMessage memory message, bytes memory signature) external;
108
+ }
@@ -0,0 +1,22 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ struct ApprovedCall {
5
+ address token;
6
+ uint256 amount;
7
+ address approveTo;
8
+ address callTo;
9
+ bytes data;
10
+ }
11
+
12
+ interface IPDepositBox {
13
+ function MANAGER() external view returns (address);
14
+
15
+ function OWNER() external view returns (address);
16
+
17
+ function BOX_ID() external view returns (uint32);
18
+
19
+ function withdrawTo(address to, address token, uint256 amount) external;
20
+
21
+ function approveAndCall(ApprovedCall memory call, address nativeRefund) external payable returns (bytes memory);
22
+ }
@@ -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
+ }
@@ -12,6 +12,8 @@ interface IPGaugeController {
12
12
 
13
13
  event UpdateMarketRewardV2(address indexed market, uint128 pendlePerSec, uint128 incentiveEndsAt);
14
14
 
15
+ event WhitelistMarketSet(address indexed market, bool isWhitelisted);
16
+
15
17
  function setRewardDatas(
16
18
  address[] calldata markets,
17
19
  uint128[] calldata pendlePerSecs,
@@ -24,10 +26,12 @@ interface IPGaugeController {
24
26
 
25
27
  function redeemMarketReward() external;
26
28
 
27
- function rewardData(
28
- address market
29
- )
29
+ function rewardData(address market)
30
30
  external
31
31
  view
32
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;
33
37
  }
@@ -71,6 +71,9 @@ interface IPLimitRouter is IPLimitOrderType {
71
71
  uint128 remaining;
72
72
  }
73
73
 
74
+ // event added on 11/3/2026
75
+ event OrderPreSigned(bytes32 indexed orderHash, Order order);
76
+
74
77
  event OrderCanceled(address indexed maker, bytes32 indexed orderHash);
75
78
 
76
79
  event OrderForceCanceled(bytes32 indexed orderHash);
@@ -104,6 +107,10 @@ interface IPLimitRouter is IPLimitOrderType {
104
107
 
105
108
  function hashOrder(Order memory order) external view returns (bytes32);
106
109
 
110
+ function preSignSingle(Order calldata order) external;
111
+
112
+ function preSignBatch(Order[] calldata order) external;
113
+
107
114
  function cancelSingle(Order calldata order) external;
108
115
 
109
116
  function cancelBatch(Order[] calldata orders) external;
@@ -42,15 +42,10 @@ abstract contract LimitRouterBase is
42
42
 
43
43
  mapping(bytes32 => OrderStatus) internal _status;
44
44
 
45
- address public ownerHelper;
45
+ address private __deprecated__ownerHelper;
46
46
 
47
47
  uint256[99] private __gap;
48
48
 
49
- modifier onlyHelperAndOwner() {
50
- require(msg.sender == ownerHelper || msg.sender == owner, "not allowed");
51
- _;
52
- }
53
-
54
49
  constructor(address _WNATIVE) {
55
50
  WNATIVE = _WNATIVE;
56
51
  }
@@ -460,14 +455,10 @@ abstract contract LimitRouterBase is
460
455
  feeRecipient = _feeRecipient;
461
456
  }
462
457
 
463
- function setOwnerHelper(address _helper) public onlyOwner {
464
- ownerHelper = _helper;
465
- }
466
-
467
458
  /// @dev if zero fees are intended, it must be explicitly allowed again
468
459
  function setLnFeeRateRoots(address[] memory YTs, uint256[] memory lnFeeRateRoots, bool allowZeroFees)
469
460
  public
470
- onlyHelperAndOwner
461
+ onlyOwner
471
462
  {
472
463
  uint256 len = YTs.length;
473
464
  require(len == lnFeeRateRoots.length, "LOP: length mismatch");
@@ -6,11 +6,33 @@ import "./LimitRouterBase.sol";
6
6
 
7
7
  contract PendleLimitRouter is LimitRouterBase {
8
8
  using Address for address;
9
+ using PMath for uint256;
9
10
 
10
11
  constructor(address _WNATIVE) LimitRouterBase(_WNATIVE) {
11
12
  _disableInitializers();
12
13
  }
13
14
 
15
+ /// @notice Pre-sign multiple orders on-chain by setting remaining amount to makingAmount
16
+ function preSignBatch(Order[] calldata orders) external {
17
+ for (uint256 i = 0; i < orders.length; ++i) {
18
+ preSignSingle(orders[i]);
19
+ }
20
+ }
21
+
22
+ /// @notice Pre-sign order by setting remaining amount to makingAmount
23
+ /// @dev Allow bypassing EIP-712 signature validation during fill
24
+ function preSignSingle(Order calldata order) public {
25
+ require(order.maker == msg.sender, "LOP: Access denied");
26
+ require(order.nonce >= nonce[order.maker], "LOP: invalid nonce");
27
+ require(block.timestamp < order.expiry && order.expiry < IPYieldToken(order.YT).expiry(), "LOP: invalid expiry");
28
+
29
+ bytes32 orderHash = hashOrder(order);
30
+ require(_status[orderHash].remaining == _ORDER_DOES_NOT_EXIST, "LOP: already exist");
31
+ _status[orderHash].remaining = (order.makingAmount + 1).Uint128();
32
+
33
+ emit OrderPreSigned(orderHash, order);
34
+ }
35
+
14
36
  /// @notice Cancels multiple orders by setting remaining amount to zero
15
37
  function cancelBatch(Order[] calldata orders) external {
16
38
  for (uint256 i = 0; i < orders.length; ++i) {
@@ -30,7 +52,7 @@ contract PendleLimitRouter is LimitRouterBase {
30
52
  }
31
53
 
32
54
  /// @dev auto skip cancelled orders to avoid race conditions
33
- function forceCancel(bytes32[] calldata orderHashes) public onlyHelperAndOwner {
55
+ function forceCancel(bytes32[] calldata orderHashes) public onlyOwner {
34
56
  for (uint256 i = 0; i < orderHashes.length; ++i) {
35
57
  if (_status[orderHashes[i]].remaining == _ORDER_FILLED) continue;
36
58
 
@@ -50,20 +50,16 @@
50
50
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
53
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
53
54
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
58
- "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
59
58
  "sPendle": "0x999999999991E178D52Cd95AFd4b00d066664144",
60
59
  "senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
61
- "votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
62
60
  "gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
63
61
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
64
62
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
65
- "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
66
- "feeDistributorV2": "0x8C237520a8E14D658170A633D96F8e80764433b9",
67
63
  "lpWrapperFactory": "0x12930Bd944bb34B0A21CCc2E7d32a6834Bd58e19",
68
64
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
69
65
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
@@ -71,5 +67,13 @@
71
67
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
72
68
  "ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
73
69
  },
74
- "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
70
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4",
71
+ "deprecated": {
72
+ "vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
73
+ "feeDistributor": "0xd7b34a6fDCb2A7ceD2115FF7f5fdD72aa6aA4dE2",
74
+ "feeDistributorV2": "0x8C237520a8E14D658170A633D96F8e80764433b9",
75
+ "votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0"
76
+ },
77
+ "crossChainSwapHub": "0xd41c99760f4A7e27E736ED25cd6915110948Ea8a",
78
+ "depositBoxFactory": "0x15Ff9D268ef3300a3fcCe5DE4bc4326316c5dD6D"
75
79
  }
@@ -50,13 +50,12 @@
50
50
  "commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
53
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
53
54
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
58
58
  "receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
59
- "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
60
59
  "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
61
60
  "expiredRedeemer": "0x8267fdabd1b8C8645138f2dE5B0fe24988DC9820",
62
61
  "lpWrapperFactory": "0xeCfEB97D7F070DA5b93c5DC274183F1D7f68532F",
@@ -66,5 +65,10 @@
66
65
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
67
66
  "ptOftAdapterFactory": "0x45Dd4aEcc425b01bf98C567407aB4a4fF3C7d349"
68
67
  },
69
- "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
70
- }
68
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4",
69
+ "deprecated": {
70
+ "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18"
71
+ },
72
+ "crossChainSwapHub": "0xd41c99760f4A7e27E736ED25cd6915110948Ea8a",
73
+ "depositBoxFactory": "0x15Ff9D268ef3300a3fcCe5DE4bc4326316c5dD6D"
74
+ }