@pendle/core-v2 6.3.0 → 6.3.1-pendle-merkle-transfer

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 (392) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
  7. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
  8. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  9. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  41. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  48. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  52. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +18 -2
  60. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  66. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  67. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  68. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  69. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  70. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  71. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  72. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  73. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  74. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  80. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +135 -0
  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/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  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/IPLimitRouterCallback.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  153. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  154. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  155. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  156. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  157. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  158. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  159. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  161. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  165. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  166. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  167. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  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/Multicall2.sol/Multicall2.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  182. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  184. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +4 -0
  185. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +102 -0
  186. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  193. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  197. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  206. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  208. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  214. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  215. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  216. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  217. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  218. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  219. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  220. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  221. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  223. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  224. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +13 -13
  225. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  226. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +150 -12
  227. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  228. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  229. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  230. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  231. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  232. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  233. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  234. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  235. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  236. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  237. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  238. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  239. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  241. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  242. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  243. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  244. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  245. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  246. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  247. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  248. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  249. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  250. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  251. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  252. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  253. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  254. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  255. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  257. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  258. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  259. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  260. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  261. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  262. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  264. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  266. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  267. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  268. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  269. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  270. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  271. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  273. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  275. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  277. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  278. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  279. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  282. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  283. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  286. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  287. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  288. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  289. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  290. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  291. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  292. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  293. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  294. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  295. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  296. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  297. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  298. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  299. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  300. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  301. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  302. package/contracts/core/libraries/Errors.sol +1 -0
  303. package/contracts/interfaces/IPExchangeRateOracleApp.sol +28 -0
  304. package/contracts/offchain-helpers/PendleMerkleDepositor.sol +64 -0
  305. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +4 -3
  306. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +86 -28
  307. package/package.json +2 -2
  308. package/typechain-types/ActionCrossChain.ts +161 -0
  309. package/typechain-types/BasePendleBridgedPrincipalToken.ts +1689 -0
  310. package/typechain-types/IPActionCrossChain.ts +161 -0
  311. package/typechain-types/IPExchangeRateOracleApp.ts +83 -0
  312. package/typechain-types/LimitBackendHelper.ts +287 -0
  313. package/typechain-types/PendleBridgedPrincipalToken_18Decimals.ts +1689 -0
  314. package/typechain-types/PendleBridgedPrincipalToken_6Decimals.ts +1689 -0
  315. package/typechain-types/PendleBridgedPrincipalToken_8Decimals.ts +1689 -0
  316. package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +13 -19
  317. package/typechain-types/PendleExchangeRateOracleApp.ts +73 -9
  318. package/typechain-types/PendleFeeSetter.ts +522 -0
  319. package/typechain-types/PendleMerkleDepositor.ts +171 -0
  320. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  321. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  322. package/typechain-types/factories/ActionCrossChain__factory.ts +152 -0
  323. package/typechain-types/factories/ActionDelegateBase__factory.ts +1 -1
  324. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  325. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  326. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  327. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  328. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  329. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  330. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  331. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  332. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  333. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  334. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  335. package/typechain-types/factories/BasePendleBridgedPrincipalToken__factory.ts +1548 -0
  336. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  337. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  338. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  339. package/typechain-types/factories/Errors__factory.ts +17 -1
  340. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  341. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  342. package/typechain-types/factories/{IMarketSweed__factory.ts → IPActionCrossChain__factory.ts} +22 -61
  343. package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +135 -0
  344. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  345. package/typechain-types/factories/LimitBackendHelper__factory.ts +232 -0
  346. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  347. package/typechain-types/factories/OverfillMathLib__factory.ts +1 -1
  348. package/typechain-types/factories/PendleBridgedPrincipalToken_18Decimals__factory.ts +1652 -0
  349. package/typechain-types/factories/PendleBridgedPrincipalToken_6Decimals__factory.ts +1650 -0
  350. package/typechain-types/factories/PendleBridgedPrincipalToken_8Decimals__factory.ts +1650 -0
  351. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  352. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  353. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  354. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  355. package/typechain-types/factories/PendleCrossChainOracleBaseApp_Init__factory.ts +13 -13
  356. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +150 -19
  357. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  358. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  359. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  360. package/typechain-types/factories/PendleFeeSetter__factory.ts +395 -0
  361. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  362. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  363. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  364. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  365. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  366. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +1 -1
  367. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  368. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +164 -0
  369. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  370. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  371. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  372. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  373. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  374. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  375. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  376. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  377. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  378. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  379. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  380. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  381. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  382. package/typechain-types/factories/Reflector__factory.ts +1 -1
  383. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  384. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  385. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  386. package/typechain-types/hardhat.d.ts +18 -27
  387. package/typechain-types/index.ts +4 -6
  388. package/typechain-types/IMarketSweed.ts +0 -203
  389. package/typechain-types/LimitMathCore.ts +0 -102
  390. package/typechain-types/MarketSweed.ts +0 -255
  391. package/typechain-types/factories/LimitMathCore__factory.ts +0 -87
  392. package/typechain-types/factories/MarketSweed__factory.ts +0 -385
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLibOnchain",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibOnchain.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bdac815aee4957526dbaf4139a1d47f754a46f1cdbe4ce2835840b5c365c55ac64736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220bdac815aee4957526dbaf4139a1d47f754a46f1cdbe4ce2835840b5c365c55ac64736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220031c510981b502d60ba5b1f3934101962acde4384986b70db1cce4bb29351c8e64736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220031c510981b502d60ba5b1f3934101962acde4384986b70db1cce4bb29351c8e64736f6c634300081e0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtInLibV2",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibV2.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122049cf3d35ceb1875cb2342df2b6c47f396f34930179c3cd7531222018ee36ef5264736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea264697066735822122049cf3d35ceb1875cb2342df2b6c47f396f34930179c3cd7531222018ee36ef5264736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220b9411669949952bc3d222b143604e8eb3c07ffbf8bf4679b748b7428b0d726db64736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220b9411669949952bc3d222b143604e8eb3c07ffbf8bf4679b748b7428b0d726db64736f6c634300081e0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -3,8 +3,8 @@
3
3
  "contractName": "MarketApproxPtOutLibV2",
4
4
  "sourceName": "contracts/router/math/MarketApproxLibV2.sol",
5
5
  "abi": [],
6
- "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dbc17b419b5e9a7b3c2284d5c2a6be5d088b1930b974ac93eebb0ec433ae1bd564736f6c634300081e0033",
7
- "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220dbc17b419b5e9a7b3c2284d5c2a6be5d088b1930b974ac93eebb0ec433ae1bd564736f6c634300081e0033",
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208ce236ebc90378ce6272547d6b8246f558f435087476c218949dc85b9b444c4a64736f6c634300081e0033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208ce236ebc90378ce6272547d6b8246f558f435087476c218949dc85b9b444c4a64736f6c634300081e0033",
8
8
  "linkReferences": {},
9
9
  "deployedLinkReferences": {}
10
10
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f66bca3892b8b601398dc2ff0232dd42.json"
3
+ "buildInfo": "../../../../build-info/3885fcad17d5d083318ce76e68576b1f.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f66bca3892b8b601398dc2ff0232dd42.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/f66bca3892b8b601398dc2ff0232dd42.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../../build-info/17470210bc2f6afd1b36400a5f62bed2.json"
3
+ "buildInfo": "../../../../build-info/01047a60dd1943ee35a2c614296739c7.json"
4
4
  }
@@ -187,4 +187,5 @@ library Errors {
187
187
  error ExchangeRateCallFailed();
188
188
  error InvalidDestinationEid();
189
189
  error InvalidMsgType();
190
+ error NotEnoughNativeFee(uint256 msgValue, uint256 totalFee);
190
191
  }
@@ -67,6 +67,19 @@ interface IPExchangeRateOracleApp {
67
67
  bool payInLzToken
68
68
  ) external view returns (MessagingFee memory fee);
69
69
 
70
+ /**
71
+ * @dev Quote the fees required for batch sendExchangeRate execution
72
+ * @param sendParams Array of parameters for each sendExchangeRate operation.
73
+ * @param payInLzTokens Array of flags indicating whether each call pays in LZ token.
74
+ * @return fees Array of fees for each operation in the batch
75
+ * - nativeFee: the fee paid in native token for each operation
76
+ * - lzTokenFee: the fee paid in lzToken for each operation
77
+ */
78
+ function quoteSendExchangeRateBatch(
79
+ SendExchangeRateParam[] calldata sendParams,
80
+ bool[] calldata payInLzTokens
81
+ ) external view returns (MessagingFee[] memory fees);
82
+
70
83
  /**
71
84
  * @dev Execute sending exchange rate to another chain
72
85
  * @param sendParam The parameters required for the operation
@@ -80,6 +93,21 @@ interface IPExchangeRateOracleApp {
80
93
  MessagingFee calldata fee
81
94
  ) external payable returns (MessagingReceipt memory receipt);
82
95
 
96
+ /**
97
+ * @dev Execute batch sending of exchange rates in a single transaction
98
+ * @param sendParams Array of parameters for each operation.
99
+ * @param fees Array of calculated fees for each operation. Retrieve via quoteSendExchangeRateBatch() for estimation
100
+ * - nativeFee: the fee paid in native token for each operation
101
+ * - lzTokenFee: the fee paid in lzToken for each operation
102
+ * @return receipts Array of message receipts for each send operation, contains guid, nonce and the actual fee required
103
+ * @notice msg.value must equal or exceed sum of all fees[i].nativeFee. Excess refunded to refundAddress
104
+ * @notice If any operation fails, entire batch reverts
105
+ */
106
+ function sendExchangeRateBatch(
107
+ SendExchangeRateParam[] calldata sendParams,
108
+ MessagingFee[] calldata fees
109
+ ) external payable returns (MessagingReceipt[] memory receipts);
110
+
83
111
  // ====== Admin functions ======
84
112
 
85
113
  function setAllowedSender(address _allowedSender) external;
@@ -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
+ }
@@ -3,14 +3,15 @@ pragma solidity ^0.8.0;
3
3
 
4
4
  import {OAppUpgradeable, Origin, MessagingFee, MessagingReceipt} from "@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol";
5
5
  import {OAppOptionsType3Upgradeable} from "@layerzerolabs/oapp-evm-upgradeable/contracts/oapp/libs/OAppOptionsType3Upgradeable.sol";
6
+ import {ILayerZeroEndpointV2} from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
6
7
 
7
8
  abstract contract PendleCrossChainOracleBaseApp_Init is OAppUpgradeable, OAppOptionsType3Upgradeable {
8
- address payable public immutable refundAddress;
9
+ uint32 public immutable eid;
9
10
 
10
11
  uint256[100] private __gap;
11
12
 
12
- constructor(address _endpoint, address payable _refundAddress) OAppUpgradeable(_endpoint) {
13
- refundAddress = _refundAddress;
13
+ constructor(address _endpoint) OAppUpgradeable(_endpoint) {
14
+ eid = ILayerZeroEndpointV2(_endpoint).eid();
14
15
  }
15
16
 
16
17
  function __PendleCrossChainOracleBaseApp_initialize(
@@ -2,7 +2,6 @@
2
2
  pragma solidity ^0.8.0;
3
3
 
4
4
  import "../base/PendleCrossChainOracleBaseApp_Init.sol";
5
- import {ILayerZeroEndpointV2} from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
6
5
  import "../../../interfaces/IPExchangeRateOracleApp.sol";
7
6
  import {IStandardizedYield} from "../../../interfaces/IStandardizedYield.sol";
8
7
  import {ExchangeRateMsgCodec} from "../libraries/ExchangeRateMsgCodec.sol";
@@ -16,27 +15,17 @@ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPEx
16
15
  using ExchangeRateMsgCodec for bytes;
17
16
  using ExchangeRateMsgCodec for bytes32;
18
17
 
19
- uint32 public immutable eid;
20
18
  mapping(uint32 srcEid => mapping(bytes32 source => ExchangeRateData)) private feedData;
21
19
 
22
20
  address public allowedSender;
23
21
 
24
- modifier validateDstEid(uint32 dstEid) {
25
- if (dstEid == eid) revert Errors.InvalidDestinationEid();
26
- _;
27
- }
28
-
29
22
  modifier onlyOwnerOrAllowedSender() {
30
23
  require(msg.sender == owner() || msg.sender == allowedSender, "Not authorized");
31
24
  _;
32
25
  }
33
26
 
34
- constructor(
35
- address _endpoint,
36
- address payable _refundAddress
37
- ) PendleCrossChainOracleBaseApp_Init(_endpoint, _refundAddress) {
27
+ constructor(address _endpoint) PendleCrossChainOracleBaseApp_Init(_endpoint) {
38
28
  _disableInitializers();
39
- eid = ILayerZeroEndpointV2(_endpoint).eid();
40
29
  }
41
30
 
42
31
  function initialize(address _owner, address _delegate, address _allowedSender) external initializer {
@@ -44,34 +33,52 @@ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPEx
44
33
  _setAllowedSender(_allowedSender);
45
34
  }
46
35
 
36
+ /// @inheritdoc IPExchangeRateOracleApp
37
+ function quoteSendExchangeRateBatch(
38
+ SendExchangeRateParam[] calldata sendParams,
39
+ bool[] calldata payInLzTokens
40
+ ) external view returns (MessagingFee[] memory fees) {
41
+ if (sendParams.length != payInLzTokens.length) revert Errors.ArrayLengthMismatch();
42
+
43
+ uint256 length = sendParams.length;
44
+ fees = new MessagingFee[](length);
45
+
46
+ for (uint256 i = 0; i < length; ++i) {
47
+ fees[i] = _quoteSendExchangeRate(sendParams[i], payInLzTokens[i]);
48
+ }
49
+ }
50
+
47
51
  /// @inheritdoc IPExchangeRateOracleApp
48
52
  function quoteSendExchangeRate(
49
53
  SendExchangeRateParam calldata sendParam,
50
54
  bool payInLzToken
51
55
  ) external view returns (MessagingFee memory fee) {
52
- uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
53
- (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
56
+ return _quoteSendExchangeRate(sendParam, payInLzToken);
57
+ }
54
58
 
55
- fee = _quote(sendParam.dstEid, message, options, payInLzToken);
59
+ /// @inheritdoc IPExchangeRateOracleApp
60
+ function sendExchangeRateBatch(
61
+ SendExchangeRateParam[] calldata sendParams,
62
+ MessagingFee[] calldata fees
63
+ ) external payable onlyOwnerOrAllowedSender returns (MessagingReceipt[] memory receipts) {
64
+ if (sendParams.length != fees.length) revert Errors.ArrayLengthMismatch();
65
+ _validateNativeFees(fees);
66
+
67
+ uint256 length = sendParams.length;
68
+ receipts = new MessagingReceipt[](length);
69
+
70
+ for (uint256 i = 0; i < length; ++i) {
71
+ receipts[i] = _sendExchangeRate(sendParams[i], fees[i]);
72
+ }
56
73
  }
57
74
 
58
75
  /// @inheritdoc IPExchangeRateOracleApp
59
76
  function sendExchangeRate(
60
77
  SendExchangeRateParam calldata sendParam,
61
78
  MessagingFee calldata fee
62
- )
63
- external
64
- payable
65
- onlyOwnerOrAllowedSender
66
- validateDstEid(sendParam.dstEid)
67
- returns (MessagingReceipt memory receipt)
68
- {
69
- uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
70
- (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
71
-
72
- receipt = _lzSend(sendParam.dstEid, message, options, fee, refundAddress);
73
-
74
- emit ExchangeRateSent(receipt.guid, sendParam.dstEid, sendParam.exchangeRateSource, exchangeRate);
79
+ ) external payable onlyOwnerOrAllowedSender returns (MessagingReceipt memory receipt) {
80
+ _validateNativeFee(fee);
81
+ return _sendExchangeRate(sendParam, fee);
75
82
  }
76
83
 
77
84
  /// @inheritdoc IPExchangeRateOracleApp
@@ -89,6 +96,30 @@ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPEx
89
96
  if (exchangeRateData.updatedAt == 0) revert Errors.FeedNotInitialized();
90
97
  }
91
98
 
99
+ function _quoteSendExchangeRate(
100
+ SendExchangeRateParam calldata sendParam,
101
+ bool payInLzToken
102
+ ) internal view returns (MessagingFee memory fee) {
103
+ _validateDstEid(sendParam.dstEid);
104
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
105
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
106
+
107
+ fee = _quote(sendParam.dstEid, message, options, payInLzToken);
108
+ }
109
+
110
+ function _sendExchangeRate(
111
+ SendExchangeRateParam calldata sendParam,
112
+ MessagingFee calldata fee
113
+ ) internal returns (MessagingReceipt memory receipt) {
114
+ _validateDstEid(sendParam.dstEid);
115
+ uint256 exchangeRate = _getExchangeRateFromSource(sendParam.exchangeRateSource);
116
+ (bytes memory message, bytes memory options) = _buildMsgAndOptions(sendParam, exchangeRate);
117
+
118
+ receipt = _lzSend(sendParam.dstEid, message, options, fee, msg.sender);
119
+
120
+ emit ExchangeRateSent(receipt.guid, sendParam.dstEid, sendParam.exchangeRateSource, exchangeRate);
121
+ }
122
+
92
123
  function _lzReceive(
93
124
  Origin calldata _origin,
94
125
  bytes32 _guid,
@@ -147,6 +178,33 @@ contract PendleExchangeRateOracleApp is PendleCrossChainOracleBaseApp_Init, IPEx
147
178
  }
148
179
  }
149
180
 
181
+ function _validateDstEid(uint32 dstEid) internal view {
182
+ if (dstEid == eid) revert Errors.InvalidDestinationEid();
183
+ }
184
+
185
+ /**
186
+ * @dev Override of base _payNative function.
187
+ * The original implementation enforced msg.value == _nativeFee, which is incompatible with
188
+ * batching multiple messages. Fee checks are performed by _validateNativeFees / _validateNativeFee,
189
+ * so this implementation simply returns the provided native fee.
190
+ */
191
+ function _payNative(uint256 _nativeFee) internal pure override returns (uint256 nativeFee) {
192
+ return _nativeFee;
193
+ }
194
+
195
+ function _validateNativeFees(MessagingFee[] calldata fees) internal {
196
+ uint256 totalFee = 0;
197
+ for (uint256 i = 0; i < fees.length; ++i) {
198
+ totalFee += fees[i].nativeFee;
199
+ }
200
+
201
+ if (totalFee != msg.value) revert Errors.NotEnoughNativeFee(msg.value, totalFee);
202
+ }
203
+
204
+ function _validateNativeFee(MessagingFee calldata fee) internal {
205
+ if (fee.nativeFee != msg.value) revert Errors.NotEnoughNativeFee(msg.value, fee.nativeFee);
206
+ }
207
+
150
208
  // ====== Admin functions ======
151
209
 
152
210
  function setAllowedSender(address _allowedSender) external onlyOwner {
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.0",
5
+ "version": "6.3.1-pendle-merkle-transfer",
6
6
  "homepage": "https://pendle.finance",
7
7
  "keywords": [
8
8
  "pendle",
@@ -57,4 +57,4 @@
57
57
  "publishConfig": {
58
58
  "access": "public"
59
59
  }
60
- }
60
+ }
@@ -0,0 +1,161 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import { FunctionFragment, Result } from "@ethersproject/abi";
17
+ import { Listener, Provider } from "@ethersproject/providers";
18
+ import type {
19
+ TypedEventFilter,
20
+ TypedEvent,
21
+ TypedListener,
22
+ OnEvent,
23
+ } from "./common";
24
+
25
+ export type SwapDataStruct = {
26
+ swapType: BigNumberish;
27
+ extRouter: string;
28
+ extCalldata: BytesLike;
29
+ needScale: boolean;
30
+ };
31
+
32
+ export type SwapDataStructOutput = [number, string, string, boolean] & {
33
+ swapType: number;
34
+ extRouter: string;
35
+ extCalldata: string;
36
+ needScale: boolean;
37
+ };
38
+
39
+ export type TokenOutputStruct = {
40
+ tokenOut: string;
41
+ minTokenOut: BigNumberish;
42
+ tokenRedeemSy: string;
43
+ pendleSwap: string;
44
+ swapData: SwapDataStruct;
45
+ };
46
+
47
+ export type TokenOutputStructOutput = [
48
+ string,
49
+ BigNumber,
50
+ string,
51
+ string,
52
+ SwapDataStructOutput
53
+ ] & {
54
+ tokenOut: string;
55
+ minTokenOut: BigNumber;
56
+ tokenRedeemSy: string;
57
+ pendleSwap: string;
58
+ swapData: SwapDataStructOutput;
59
+ };
60
+
61
+ export interface ActionCrossChainInterface extends utils.Interface {
62
+ contractName: "ActionCrossChain";
63
+ functions: {
64
+ "swapWithFixedPricePTAMM(address,address,address,uint256,(address,uint256,address,address,(uint8,address,bytes,bool)))": FunctionFragment;
65
+ };
66
+
67
+ encodeFunctionData(
68
+ functionFragment: "swapWithFixedPricePTAMM",
69
+ values: [string, string, string, BigNumberish, TokenOutputStruct]
70
+ ): string;
71
+
72
+ decodeFunctionResult(
73
+ functionFragment: "swapWithFixedPricePTAMM",
74
+ data: BytesLike
75
+ ): Result;
76
+
77
+ events: {};
78
+ }
79
+
80
+ export interface ActionCrossChain extends BaseContract {
81
+ contractName: "ActionCrossChain";
82
+ connect(signerOrProvider: Signer | Provider | string): this;
83
+ attach(addressOrName: string): this;
84
+ deployed(): Promise<this>;
85
+
86
+ interface: ActionCrossChainInterface;
87
+
88
+ queryFilter<TEvent extends TypedEvent>(
89
+ event: TypedEventFilter<TEvent>,
90
+ fromBlockOrBlockhash?: string | number | undefined,
91
+ toBlock?: string | number | undefined
92
+ ): Promise<Array<TEvent>>;
93
+
94
+ listeners<TEvent extends TypedEvent>(
95
+ eventFilter?: TypedEventFilter<TEvent>
96
+ ): Array<TypedListener<TEvent>>;
97
+ listeners(eventName?: string): Array<Listener>;
98
+ removeAllListeners<TEvent extends TypedEvent>(
99
+ eventFilter: TypedEventFilter<TEvent>
100
+ ): this;
101
+ removeAllListeners(eventName?: string): this;
102
+ off: OnEvent<this>;
103
+ on: OnEvent<this>;
104
+ once: OnEvent<this>;
105
+ removeListener: OnEvent<this>;
106
+
107
+ functions: {
108
+ swapWithFixedPricePTAMM(
109
+ receiver: string,
110
+ fixedPricePTAMM: string,
111
+ PT: string,
112
+ exactPtIn: BigNumberish,
113
+ out: TokenOutputStruct,
114
+ overrides?: Overrides & { from?: string | Promise<string> }
115
+ ): Promise<ContractTransaction>;
116
+ };
117
+
118
+ swapWithFixedPricePTAMM(
119
+ receiver: string,
120
+ fixedPricePTAMM: string,
121
+ PT: string,
122
+ exactPtIn: BigNumberish,
123
+ out: TokenOutputStruct,
124
+ overrides?: Overrides & { from?: string | Promise<string> }
125
+ ): Promise<ContractTransaction>;
126
+
127
+ callStatic: {
128
+ swapWithFixedPricePTAMM(
129
+ receiver: string,
130
+ fixedPricePTAMM: string,
131
+ PT: string,
132
+ exactPtIn: BigNumberish,
133
+ out: TokenOutputStruct,
134
+ overrides?: CallOverrides
135
+ ): Promise<BigNumber>;
136
+ };
137
+
138
+ filters: {};
139
+
140
+ estimateGas: {
141
+ swapWithFixedPricePTAMM(
142
+ receiver: string,
143
+ fixedPricePTAMM: string,
144
+ PT: string,
145
+ exactPtIn: BigNumberish,
146
+ out: TokenOutputStruct,
147
+ overrides?: Overrides & { from?: string | Promise<string> }
148
+ ): Promise<BigNumber>;
149
+ };
150
+
151
+ populateTransaction: {
152
+ swapWithFixedPricePTAMM(
153
+ receiver: string,
154
+ fixedPricePTAMM: string,
155
+ PT: string,
156
+ exactPtIn: BigNumberish,
157
+ out: TokenOutputStruct,
158
+ overrides?: Overrides & { from?: string | Promise<string> }
159
+ ): Promise<PopulatedTransaction>;
160
+ };
161
+ }