@pendle/core-v2 6.3.2 → 6.3.3-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 (346) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  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/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  22. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  24. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  27. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  31. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  47. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  48. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  50. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  51. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +4 -0
  52. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +170 -0
  53. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +4 -0
  54. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +1214 -0
  55. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +4 -0
  56. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +1176 -0
  57. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  58. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  59. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  60. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  61. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  62. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  63. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  64. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  65. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  66. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  67. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.dbg.json +4 -0
  68. package/build/artifacts/contracts/interfaces/IPActionCrossChain.sol/IPActionCrossChain.json +99 -0
  69. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  70. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  71. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  72. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  73. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  74. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +88 -0
  82. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +4 -0
  96. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +1026 -0
  97. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +4 -0
  98. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +124 -0
  99. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  145. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  146. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  147. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  148. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  149. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  150. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  151. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  152. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  153. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  154. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  155. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  156. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  157. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  158. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  166. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +4 -0
  168. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +102 -0
  169. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  170. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  171. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  172. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  173. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +4 -0
  175. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +102 -0
  176. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  189. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  191. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  203. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  204. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  205. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  206. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  207. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  208. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  209. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  210. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  211. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  212. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  213. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  214. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  215. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  216. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  217. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  218. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  219. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  220. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  221. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  222. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  224. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  225. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  226. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  227. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  228. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  229. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  230. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +4 -0
  231. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +99 -0
  232. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  233. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  234. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  235. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  236. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  237. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  238. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  239. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  240. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  241. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  242. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  243. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  244. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  245. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  247. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  249. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  250. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  251. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  253. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  254. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  255. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  256. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  257. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  258. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  259. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  260. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  261. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  262. package/contracts/cross-chain/swap-hub/DepositBox.sol +66 -0
  263. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +178 -0
  264. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +274 -0
  265. package/contracts/interfaces/IPActionCrossChain.sol +14 -0
  266. package/contracts/interfaces/IPAllActionV3.sol +3 -1
  267. package/contracts/interfaces/IPCrossChainSwapHub.sol +147 -0
  268. package/contracts/interfaces/IPDepositBox.sol +22 -0
  269. package/contracts/offchain-helpers/PendleAPIFeeDepositor.sol +33 -0
  270. package/contracts/offchain-helpers/PendleMerkleDepositor.sol +64 -0
  271. package/contracts/router/ActionCrossChain.sol +63 -0
  272. package/deployments/1-core.json +4 -3
  273. package/deployments/10-core.json +4 -3
  274. package/deployments/146-core.json +4 -3
  275. package/deployments/42161-core.json +4 -3
  276. package/deployments/42161-offchain-helper.json +2 -1
  277. package/deployments/5000-core.json +4 -3
  278. package/deployments/56-core.json +4 -3
  279. package/deployments/80094-core.json +4 -3
  280. package/deployments/8453-core.json +4 -3
  281. package/deployments/9745-core.json +4 -3
  282. package/deployments/999-core.json +4 -3
  283. package/package.json +1 -1
  284. package/typechain-types/ActionCrossChain.ts +161 -0
  285. package/typechain-types/DepositBox.ts +260 -0
  286. package/typechain-types/IPActionCrossChain.ts +161 -0
  287. package/typechain-types/IPAllActionV3.ts +54 -0
  288. package/typechain-types/IPCrossChainSwapHub.ts +882 -0
  289. package/typechain-types/IPDepositBox.ts +213 -0
  290. package/typechain-types/PendleAPIFeeDepositor.ts +181 -0
  291. package/typechain-types/PendleCrossChainSwapHub.ts +1119 -0
  292. package/typechain-types/PendleMerkleDepositor.ts +171 -0
  293. package/typechain-types/SwapHubBase.ts +1094 -0
  294. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  295. package/typechain-types/factories/ActionCrossChain__factory.ts +152 -0
  296. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  297. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  298. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  299. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  300. package/typechain-types/factories/DepositBox__factory.ts +222 -0
  301. package/typechain-types/factories/IPActionCrossChain__factory.ts +114 -0
  302. package/typechain-types/factories/IPAllActionV3__factory.ts +88 -0
  303. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +1041 -0
  304. package/typechain-types/factories/IPDepositBox__factory.ts +136 -0
  305. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  306. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +164 -0
  307. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  308. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1287 -0
  309. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  310. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +164 -0
  311. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  312. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  313. package/typechain-types/factories/Reflector__factory.ts +1 -1
  314. package/typechain-types/factories/SwapHubBase__factory.ts +1188 -0
  315. package/typechain-types/hardhat.d.ts +90 -36
  316. package/typechain-types/index.ts +18 -8
  317. package/typechain-types/ActionDelegateBase.ts +0 -57
  318. package/typechain-types/EIP712.ts +0 -135
  319. package/typechain-types/ERC20Permit.ts +0 -586
  320. package/typechain-types/IERC5267.ts +0 -135
  321. package/typechain-types/IPMarketFactoryV3.ts +0 -321
  322. package/typechain-types/IPMarketV3.ts +0 -1068
  323. package/typechain-types/LimitMathCore.ts +0 -102
  324. package/typechain-types/OverfillMathLib.ts +0 -81
  325. package/typechain-types/PendleERC20Permit.ts +0 -508
  326. package/typechain-types/PendleERC20PermitUpg.ts +0 -517
  327. package/typechain-types/PendleERC20Upg.ts +0 -348
  328. package/typechain-types/PendleMarketFactoryV3.ts +0 -719
  329. package/typechain-types/PendleMarketV3.ts +0 -1195
  330. package/typechain-types/PendleYieldContractFactory.ts +0 -801
  331. package/typechain-types/ShortStrings.ts +0 -57
  332. package/typechain-types/factories/ActionDelegateBase__factory.ts +0 -80
  333. package/typechain-types/factories/EIP712__factory.ts +0 -85
  334. package/typechain-types/factories/ERC20Permit__factory.ts +0 -433
  335. package/typechain-types/factories/IERC5267__factory.ts +0 -72
  336. package/typechain-types/factories/IPMarketFactoryV3__factory.ts +0 -217
  337. package/typechain-types/factories/IPMarketV3__factory.ts +0 -845
  338. package/typechain-types/factories/LimitMathCore__factory.ts +0 -87
  339. package/typechain-types/factories/OverfillMathLib__factory.ts +0 -77
  340. package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -389
  341. package/typechain-types/factories/PendleERC20Permit__factory.ts +0 -470
  342. package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
  343. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +0 -714
  344. package/typechain-types/factories/PendleMarketV3__factory.ts +0 -1211
  345. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +0 -674
  346. package/typechain-types/factories/ShortStrings__factory.ts +0 -77
@@ -0,0 +1,147 @@
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 InvalidReceiver();
9
+ error MessageExpired();
10
+
11
+ struct WithdrawTokenMessage {
12
+ address owner;
13
+ uint32 boxId;
14
+ uint256 expiry;
15
+ uint256 nonce;
16
+ //
17
+ address token;
18
+ uint256 amountWithdraw;
19
+ uint256 amountFee;
20
+ }
21
+
22
+ struct BridgeTokenMessage {
23
+ address owner;
24
+ uint32 boxId;
25
+ uint256 expiry;
26
+ uint256 nonce;
27
+ //
28
+ address token;
29
+ uint256 amountBridge;
30
+ uint256 amountFee;
31
+ bool pullFromOwner;
32
+ //
33
+ address bridgeExtRouter;
34
+ address bridgeApprove;
35
+ bytes bridgeCalldata;
36
+ }
37
+
38
+ struct SwapTokenMessage {
39
+ address owner;
40
+ uint32 boxId;
41
+ uint256 expiry;
42
+ uint256 nonce;
43
+ //
44
+ address tokenSpent;
45
+ uint256 amountSpent;
46
+ uint256 amountFee;
47
+ address tokenReceived;
48
+ 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
+ //
72
+ address swapExtRouter;
73
+ address swapApprove;
74
+ bytes swapCalldata;
75
+ }
76
+
77
+ event WithdrawToken(address indexed owner, uint32 boxId, address token, uint256 amountWithdraw, uint256 amountFee);
78
+
79
+ event BridgeToken(
80
+ address indexed owner,
81
+ uint32 boxId,
82
+ address bridgeExtRouter,
83
+ address token,
84
+ uint256 amountBridge,
85
+ uint256 amountFee,
86
+ bool pullFromOwner
87
+ );
88
+
89
+ event SwapToken(
90
+ address indexed owner,
91
+ uint32 boxId,
92
+ address tokenSpent,
93
+ uint256 amountSpent,
94
+ uint256 amountFee,
95
+ address tokenReceived,
96
+ uint256 netTokenReceived,
97
+ bool pullFromOwner,
98
+ bool sendToOwner
99
+ );
100
+
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
+ );
112
+
113
+ event SetExecutor(address indexed executor, bool isExecutor);
114
+
115
+ function BEACON_PROXY_CODE_CONTRACT() external view returns (address);
116
+
117
+ function DEPOSIT_BOX_BEACON() external view returns (address);
118
+
119
+ function DEPOSIT_BOX_CODE_HASH() external view returns (bytes32);
120
+
121
+ function ownerNonce(address owner) external view returns (uint256);
122
+
123
+ function isExecutor(address executor) external view returns (bool);
124
+
125
+ function computeDepositBox(address owner, uint32 boxId)
126
+ external
127
+ view
128
+ returns (address box, bytes32 salt, bool deployed);
129
+
130
+ function hashTypedData(WithdrawTokenMessage memory message) external view returns (bytes32);
131
+
132
+ function hashTypedData(BridgeTokenMessage memory message) external view returns (bytes32);
133
+
134
+ function hashTypedData(SwapTokenMessage memory message) external view returns (bytes32);
135
+
136
+ function hashTypedData(BuyCrossChainPtMessage memory message) external view returns (bytes32);
137
+
138
+ function withdrawToken(WithdrawTokenMessage memory message, bytes memory signature) external;
139
+
140
+ function bridgeToken(BridgeTokenMessage memory message, bytes memory signature) external payable;
141
+
142
+ 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
+ }
@@ -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,33 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "../core/libraries/TokenHelper.sol";
5
+
6
+ contract PendleAPIFeeDepositor is TokenHelper {
7
+ event DepositReceived(address indexed account, address token, uint256 amount);
8
+
9
+ address public immutable treasury;
10
+
11
+ mapping(address token => mapping(address account => uint256 amount)) public totalDeposit;
12
+
13
+ constructor(address _treasury) {
14
+ treasury = _treasury;
15
+ }
16
+
17
+ function deposit(address token, uint256 amount) external payable {
18
+ uint256 amountNative = token == NATIVE ? amount : 0;
19
+
20
+ require(amount != 0, "zero amount");
21
+ require(amountNative == msg.value, "msg.value mismatch");
22
+
23
+ totalDeposit[token][msg.sender] += amount;
24
+
25
+ if (amountNative != 0) {
26
+ _transferOut(token, treasury, amountNative);
27
+ } else {
28
+ _transferFrom(IERC20(token), msg.sender, treasury, amount);
29
+ }
30
+
31
+ emit DepositReceived(msg.sender, token, amount);
32
+ }
33
+ }
@@ -0,0 +1,64 @@
1
+ // SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.0;
3
+
4
+ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
5
+
6
+ contract PendleMerkleDepositor {
7
+ using SafeERC20 for IERC20;
8
+
9
+ event MerkleDeposit(bytes32 indexed campaignId, address indexed from, address indexed token, uint256 amount);
10
+
11
+ address public constant NATIVE = address(0);
12
+ address public immutable merkleDistributor;
13
+
14
+ constructor(address _merkleDistributor) {
15
+ merkleDistributor = _merkleDistributor;
16
+ }
17
+
18
+ /// @notice The `tokens` array must be sorted in strictly ascending order with no duplicates.
19
+ function depositToMerkleCampaign(
20
+ bytes32 campaignId,
21
+ address[] calldata tokens,
22
+ uint256[] calldata amounts
23
+ ) external payable {
24
+ uint256 length = tokens.length;
25
+
26
+ require(length != 0, "PMD: empty array");
27
+ require(length == amounts.length, "PMD: array length mismatch");
28
+
29
+ uint256 amountNative;
30
+ for (uint256 i = 0; i < length; ++i) {
31
+ if (i != length - 1) require(_lt(tokens[i], tokens[i + 1]), "PMD: invalid tokens order");
32
+ if (tokens[i] == NATIVE) amountNative = amounts[i];
33
+ }
34
+
35
+ require(amountNative == msg.value, "PMD: msg.value mismatch");
36
+
37
+ for (uint256 i = 0; i < length; ++i) {
38
+ if (amounts[i] != 0) {
39
+ uint256 preBalance = _tokenBalance(tokens[i], merkleDistributor);
40
+ _transferFrom(tokens[i], msg.sender, merkleDistributor, amounts[i]);
41
+ uint256 amountDeposited = _tokenBalance(tokens[i], merkleDistributor) - preBalance;
42
+
43
+ emit MerkleDeposit(campaignId, msg.sender, tokens[i], amountDeposited);
44
+ }
45
+ }
46
+ }
47
+
48
+ function _tokenBalance(address token, address account) internal view returns (uint256) {
49
+ return token == NATIVE ? account.balance : IERC20(token).balanceOf(account);
50
+ }
51
+
52
+ function _transferFrom(address token, address from, address to, uint256 amount) internal {
53
+ if (token == NATIVE) {
54
+ (bool success, ) = to.call{value: amount}("");
55
+ require(success, "PMD: eth send failed");
56
+ } else {
57
+ IERC20(token).safeTransferFrom(from, to, amount);
58
+ }
59
+ }
60
+
61
+ function _lt(address token0, address token1) internal pure returns (bool) {
62
+ return token0 < token1;
63
+ }
64
+ }
@@ -0,0 +1,63 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity ^0.8.0;
3
+
4
+ import {ActionBase} from "./base/ActionBase.sol";
5
+ import {TokenOutput, IPActionCrossChain} from "../interfaces/IPActionCrossChain.sol";
6
+ import {IPFixedPricePTAMM} from "../interfaces/IPFixedPricePTAMM.sol";
7
+ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
8
+ import {SwapType, IPSwapAggregator} from "./swap-aggregator/IPSwapAggregator.sol";
9
+
10
+ contract ActionCrossChain is ActionBase, IPActionCrossChain {
11
+ function swapWithFixedPricePTAMM(
12
+ address receiver,
13
+ address fixedPricePTAMM,
14
+ address PT,
15
+ uint256 exactPtIn,
16
+ TokenOutput calldata out
17
+ ) external returns (uint256 netTokenOut) {
18
+ _transferFrom(IERC20(PT), msg.sender, fixedPricePTAMM, exactPtIn);
19
+ uint256 tokenOut = IPFixedPricePTAMM(fixedPricePTAMM).swapExactPtForToken(
20
+ __swapDestination(receiver, out),
21
+ PT,
22
+ exactPtIn,
23
+ out.tokenRedeemSy,
24
+ EMPTY_BYTES
25
+ );
26
+ return __handleTokenOutput(receiver, tokenOut, out);
27
+ }
28
+
29
+ /// @notice __swapDestination and __handleTokenOutput provide an alternative way to implement __redeemSyToToken
30
+ /// ```solidity
31
+ /// SwapType swapType = out.swapData.swapType;
32
+ /// address redeemSyReceiver = __swapDestination(receiver, out);
33
+ /// uint256 netTokenRedeemed = __redeemSy(redeemSyReceiver, SY, netSyIn, out, doPull);
34
+ /// return __handleTokenOutput(receiver, netTokenRedeemed, out);
35
+ /// ```
36
+ /// We keep the old implementation of __redeemSyToToken as a stable implementation
37
+ function __swapDestination(address receiver, TokenOutput calldata out) internal view returns (address) {
38
+ SwapType swapType = out.swapData.swapType;
39
+ if (swapType == SwapType.NONE) return receiver;
40
+ else if (swapType == SwapType.ETH_WETH) return address(this);
41
+ else return out.pendleSwap;
42
+ }
43
+
44
+ /// @dev The caller must ensure that the address returned by `__swapDestination(...)` has `netTokenRedeemSy` amount of `out.tokenRedeemSy` tokens before calling this function.
45
+ function __handleTokenOutput(
46
+ address receiver,
47
+ uint256 netTokenRedeemSy,
48
+ TokenOutput calldata out
49
+ ) internal returns (uint256 netTokenOut) {
50
+ SwapType swapType = out.swapData.swapType;
51
+ if (swapType == SwapType.NONE) netTokenOut = netTokenRedeemSy;
52
+ else if (swapType == SwapType.ETH_WETH) {
53
+ netTokenOut = netTokenRedeemSy; // ETH:WETH is 1:1
54
+ _wrap_unwrap_ETH(out.tokenRedeemSy, out.tokenOut, netTokenOut);
55
+ _transferOut(out.tokenOut, receiver, netTokenOut);
56
+ } else {
57
+ IPSwapAggregator(out.pendleSwap).swap(out.tokenRedeemSy, netTokenRedeemSy, out.swapData);
58
+ netTokenOut = _selfBalance(out.tokenOut);
59
+ _transferOut(out.tokenOut, receiver, netTokenOut);
60
+ }
61
+ if (netTokenOut < out.minTokenOut) revert("Slippage: INSUFFICIENT_TOKEN_OUT");
62
+ }
63
+ }
@@ -51,7 +51,7 @@
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
53
53
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
54
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
@@ -69,5 +69,6 @@
69
69
  "cross-chain": {
70
70
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
71
71
  "ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
72
- }
73
- }
72
+ },
73
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
74
+ }
@@ -51,7 +51,7 @@
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
53
53
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee",
54
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
@@ -65,5 +65,6 @@
65
65
  "cross-chain": {
66
66
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
67
67
  "ptOftAdapterFactory": "0x45Dd4aEcc425b01bf98C567407aB4a4fF3C7d349"
68
- }
69
- }
68
+ },
69
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
70
+ }
@@ -47,7 +47,7 @@
47
47
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
48
48
  "externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
49
49
  "experimental": {
50
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
50
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
51
51
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
52
52
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
53
53
  },
@@ -56,5 +56,6 @@
56
56
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
57
57
  "cross-chain": {
58
58
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
59
- }
60
- }
59
+ },
60
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
61
+ }
@@ -51,7 +51,7 @@
51
51
  "syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
52
52
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
53
53
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
54
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
@@ -66,5 +66,6 @@
66
66
  "cross-chain": {
67
67
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870",
68
68
  "ptOftAdapterFactory": "0x4F215b3F8a6E056Ff293E6818F3f501B5F4787D7"
69
- }
70
- }
69
+ },
70
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
71
+ }
@@ -8,5 +8,6 @@
8
8
  "limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
9
9
  "checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
10
10
  "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
11
- "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
11
+ "feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81",
12
+ "apiDeposit": "0x0B554A6B0E6E69aCAE26cF522aa8eA6f833B6C48"
12
13
  }
@@ -53,7 +53,7 @@
53
53
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
54
54
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
55
55
  "experimental": {
56
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
56
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
57
57
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
58
58
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
59
59
  },
@@ -62,5 +62,6 @@
62
62
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
63
63
  "cross-chain": {
64
64
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
65
- }
66
- }
65
+ },
66
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
67
+ }
@@ -51,7 +51,7 @@
51
51
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
52
52
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
53
53
  "experimental": {
54
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
54
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
55
55
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
56
56
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
57
57
  },
@@ -64,5 +64,6 @@
64
64
  "fixedPricePTAMM": "0x9B5ddD4B59CC26F4f4238DbC774Fb2dC2860Be46",
65
65
  "cross-chain": {
66
66
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
67
- }
68
- }
67
+ },
68
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
69
+ }
@@ -44,7 +44,7 @@
44
44
  "vePendleAirdropDistributor": "0x7f6Ca6aA1F2291992E252Fb8E25348c4861C5C25",
45
45
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
46
46
  "experimental": {
47
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
47
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
48
48
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
49
49
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
50
50
  },
@@ -56,5 +56,6 @@
56
56
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
57
57
  "cross-chain": {
58
58
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
59
- }
60
- }
59
+ },
60
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
61
+ }
@@ -44,7 +44,7 @@
44
44
  "vePendleAirdropDistributor": "0x3942F7B55094250644cFfDa7160226Caa349A38E",
45
45
  "externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
46
46
  "experimental": {
47
- "PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
47
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
48
48
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
49
49
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
50
50
  },
@@ -56,5 +56,6 @@
56
56
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
57
57
  "cross-chain": {
58
58
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
59
- }
60
- }
59
+ },
60
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
61
+ }
@@ -44,7 +44,7 @@
44
44
  "vePendleAirdropDistributor": "0x42c706eab26aA8FAcFa4B3f32902bA872AaA10aC",
45
45
  "externalRewardsDistributor": "0x1Cb446fAE25Ae19878f9f71189902e2a6A6A749c",
46
46
  "experimental": {
47
- "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
47
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
48
48
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
49
49
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
50
50
  },
@@ -56,5 +56,6 @@
56
56
  "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
57
57
  "cross-chain": {
58
58
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
59
- }
60
- }
59
+ },
60
+ "merkleDistributor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
61
+ }
@@ -42,7 +42,7 @@
42
42
  "syFactory": "0x5eae07541b334a2cdc1f107788a2069d6c1e73c2",
43
43
  "sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
44
44
  "experimental": {
45
- "PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
45
+ "PendleChainlinkOracleFactory": "0x6502cda86f9110f3655512237C9FF2B9CE247c69",
46
46
  "PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
47
47
  "MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
48
48
  },
@@ -57,5 +57,6 @@
57
57
  "fixedPricePTAMM": "0xF0bF560F01d4196773a5c58A09d6D34b6bba4503",
58
58
  "cross-chain": {
59
59
  "exchangeRateOracle": "0xA914c44E960cC95D996969BDf0ab5D6f4f2B5870"
60
- }
61
- }
60
+ },
61
+ "merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
62
+ }
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pendle/core-v2",
3
3
  "description": "Core smart contracts of Pendle Protocol.",
4
4
  "license": "BUSL-1.1",
5
- "version": "6.3.2",
5
+ "version": "6.3.3-swaphubtest",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",