@pendle/core-v2 6.1.0-cross-chain-pt → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (512) 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/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
  9. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  10. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  11. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  13. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
  14. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  15. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
  16. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  17. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  18. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  19. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  20. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  21. package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +127 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +83 -0
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  34. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  35. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  36. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  37. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  39. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
  44. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +9 -9
  46. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  50. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  55. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  56. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
  57. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  59. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  60. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  61. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
  62. package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
  63. package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +1 -1
  64. package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  67. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  69. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
  73. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +13 -2
  76. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  78. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  79. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  80. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  81. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  82. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  83. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  84. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  85. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  86. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  87. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  88. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +160 -27
  89. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  90. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +91 -2
  91. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  92. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +2 -2
  93. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +4 -0
  94. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +1573 -0
  95. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  96. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  97. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  98. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  99. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +4 -0
  101. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.json +99 -0
  102. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.json +48 -4
  137. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  141. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +13 -0
  148. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  170. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  171. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  172. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +32 -0
  173. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  181. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  182. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  183. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  184. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  185. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.json +18 -0
  186. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  187. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +33 -2
  188. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  189. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  198. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  199. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  200. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  201. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  202. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  203. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  204. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  205. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  206. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  207. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  208. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  209. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  210. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  211. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
  213. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  215. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  216. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  217. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  219. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  220. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  221. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  222. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  223. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  224. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  225. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  227. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  229. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  231. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  237. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.json +2 -2
  238. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  239. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  240. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  241. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  242. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  254. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  256. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  257. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  258. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  260. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  262. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  264. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  268. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  269. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  270. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  271. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  272. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  273. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  274. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  275. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  276. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  277. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  278. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  279. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  280. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  281. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  282. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  283. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  284. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  285. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  286. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  287. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  288. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  289. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  290. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  291. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +4 -0
  292. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.json +24 -0
  293. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +4 -0
  294. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.json +168 -0
  295. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +4 -0
  296. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.json +71 -0
  297. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  298. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  299. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  300. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  301. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  302. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  303. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  304. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  305. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +13 -2
  306. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  307. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  308. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  309. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +13 -2
  310. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  311. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +13 -2
  312. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  313. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  314. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +13 -2
  316. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  317. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +13 -2
  318. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  320. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  322. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  324. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +15 -3
  326. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  328. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  329. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  330. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  331. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  333. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  334. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  335. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  336. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  337. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  338. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  339. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  340. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  341. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  342. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  343. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  344. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  345. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  346. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  347. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  348. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  349. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +26 -4
  350. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +32 -1
  351. package/contracts/core/libraries/Errors.sol +1 -0
  352. package/contracts/cross-chain/FixedPricePTAMM.sol +56 -18
  353. package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +7 -2
  354. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +19 -39
  355. package/contracts/interfaces/ILPWrapper.sol +16 -0
  356. package/contracts/interfaces/IPFixedPricePTAMM.sol +18 -5
  357. package/contracts/interfaces/IPLimitRouter.sol +2 -0
  358. package/contracts/interfaces/IPVotingController.sol +4 -0
  359. package/contracts/limit/LimitRouterBase.sol +7 -2
  360. package/contracts/limit/PendleLimitRouter.sol +10 -0
  361. package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +1 -1
  362. package/contracts/offchain-helpers/PendleLPWrapper.sol +2 -1
  363. package/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol +65 -0
  364. package/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol +20 -0
  365. package/contracts/router/ActionAddRemoveLiqV3.sol +2 -0
  366. package/contracts/router/ActionMiscV3.sol +2 -0
  367. package/contracts/router/ActionSimple.sol +2 -0
  368. package/contracts/router/ActionSwapPTV3.sol +2 -0
  369. package/contracts/router/ActionSwapYTV3.sol +2 -0
  370. package/contracts/router/base/ActionBase.sol +16 -8
  371. package/contracts/router/base/ActionDelegateBase.sol +2 -0
  372. package/deployments/1-core.json +5 -1
  373. package/deployments/10-core.json +11 -3
  374. package/deployments/146-core.json +4 -2
  375. package/deployments/42161-core.json +4 -1
  376. package/deployments/43114-core.json +5 -0
  377. package/deployments/5000-core.json +3 -1
  378. package/deployments/56-core.json +3 -1
  379. package/deployments/80094-core.json +3 -1
  380. package/deployments/8453-core.json +3 -1
  381. package/deployments/999-core.json +4 -1
  382. package/package.json +1 -1
  383. package/typechain-types/ActionDelegateBase.ts +57 -0
  384. package/typechain-types/ERC1967UpgradeUpgradeable.ts +106 -0
  385. package/typechain-types/FixedPricePTAMM.ts +230 -52
  386. package/typechain-types/IBeaconUpgradeable.ts +87 -0
  387. package/typechain-types/IERC1822ProxiableUpgradeable.ts +87 -0
  388. package/typechain-types/IERC1967Upgradeable.ts +97 -0
  389. package/typechain-types/ILPWrapper.ts +224 -0
  390. package/typechain-types/IPFixedPricePTAMM.ts +77 -23
  391. package/typechain-types/IPLimitRouter.ts +17 -0
  392. package/typechain-types/IPVotingController.ts +24 -0
  393. package/typechain-types/LPExpiry.ts +81 -0
  394. package/typechain-types/LimitRouterBase.ts +24 -2
  395. package/typechain-types/PendleBridgedPrincipalToken.ts +1688 -0
  396. package/typechain-types/PendleLimitRouter.ts +58 -2
  397. package/typechain-types/PendleLpLinearDiscountOracle.ts +262 -0
  398. package/typechain-types/PendleLpLinearDiscountOracleFactory.ts +142 -0
  399. package/typechain-types/PendlePTOFTAdapterFactory.ts +125 -0
  400. package/typechain-types/PendleVotingControllerUpg.ts +139 -0
  401. package/typechain-types/UUPSUpgradeable.ts +9 -0
  402. package/typechain-types/VotingControllerStorageUpg.ts +69 -0
  403. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +19 -3
  404. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  405. package/typechain-types/factories/ActionDelegateBase__factory.ts +80 -0
  406. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  407. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  408. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  409. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  410. package/typechain-types/factories/ActionMiscV3__factory.ts +19 -3
  411. package/typechain-types/factories/ActionSimple__factory.ts +19 -3
  412. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  413. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  414. package/typechain-types/factories/ActionSwapPTV3__factory.ts +19 -3
  415. package/typechain-types/factories/ActionSwapYTV3__factory.ts +19 -3
  416. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  417. package/typechain-types/factories/AddressCast__factory.ts +1 -1
  418. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  419. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  420. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  421. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  422. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  423. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  424. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  425. package/typechain-types/factories/ERC1967Proxy__factory.ts +1 -1
  426. package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  427. package/typechain-types/factories/ERC20__factory.ts +1 -1
  428. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  429. package/typechain-types/factories/Errors__factory.ts +12 -1
  430. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  431. package/typechain-types/factories/FixedPricePTAMM__factory.ts +158 -25
  432. package/typechain-types/factories/IBeaconUpgradeable__factory.ts +39 -0
  433. package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  434. package/typechain-types/factories/IERC1967Upgradeable__factory.ts +71 -0
  435. package/typechain-types/factories/ILPWrapper__factory.ts +111 -0
  436. package/typechain-types/factories/IPFixedPricePTAMM__factory.ts +48 -4
  437. package/typechain-types/factories/IPLimitRouter__factory.ts +13 -0
  438. package/typechain-types/factories/IPVotingController__factory.ts +32 -0
  439. package/typechain-types/factories/LPExpiry__factory.ts +36 -0
  440. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  441. package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
  442. package/typechain-types/factories/LimitRouterBase__factory.ts +18 -0
  443. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  444. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  445. package/typechain-types/factories/OFTAdapterImpl__factory.ts +1 -1
  446. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  447. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  448. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  449. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1673 -0
  450. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  451. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  452. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  453. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  454. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  455. package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
  456. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  457. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  458. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  459. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  460. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  461. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  462. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  463. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  464. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  465. package/typechain-types/factories/PendleLimitRouter__factory.ts +32 -1
  466. package/typechain-types/factories/PendleLpLinearDiscountOracleFactory__factory.ts +134 -0
  467. package/typechain-types/factories/PendleLpLinearDiscountOracle__factory.ts +248 -0
  468. package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
  469. package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
  470. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  471. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  472. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  473. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  474. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  475. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  476. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  477. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  478. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +90 -1
  479. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  480. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  481. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  482. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  483. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  484. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  485. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  486. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  487. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  488. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  489. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +126 -1
  490. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  491. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
  492. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  493. package/typechain-types/factories/Reflector__factory.ts +1 -1
  494. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  495. package/typechain-types/factories/ShortStrings__factory.ts +1 -1
  496. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  497. package/typechain-types/factories/SupplyCapReader__factory.ts +1 -1
  498. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +1 -1
  499. package/typechain-types/factories/UUPSUpgradeable__factory.ts +13 -0
  500. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +83 -0
  501. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  502. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  503. package/typechain-types/hardhat.d.ts +94 -31
  504. package/typechain-types/index.ts +22 -10
  505. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.dbg.json +0 -4
  506. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.json +0 -1527
  507. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.dbg.json +0 -4
  508. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.json +0 -1558
  509. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.dbg.json +0 -4
  510. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.json +0 -1558
  511. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.dbg.json +0 -4
  512. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.json +0 -1558
@@ -3,16 +3,21 @@ pragma solidity ^0.8.19;
3
3
 
4
4
  import {IPFixedPricePTAMM, IPFixedPricePTAMMSwapCallback} from "../interfaces/IPFixedPricePTAMM.sol";
5
5
  import {IPChainlinkOracleEssential} from "../interfaces/IPChainlinkOracleEssential.sol";
6
- import {IPBridgedPrincipalToken} from "../interfaces/IPBridgedPrincipalToken.sol";
7
6
 
8
- import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
9
7
  import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol";
10
8
 
11
9
  import {PMath} from "../core/libraries/math/PMath.sol";
12
10
  import {BoringOwnableUpgradeableV2} from "../core/libraries/BoringOwnableUpgradeableV2.sol";
13
11
  import {TokenHelper} from "../core/libraries/TokenHelper.sol";
14
-
15
- contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, ReentrancyGuardUpgradeable, TokenHelper {
12
+ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
13
+
14
+ contract FixedPricePTAMM is
15
+ IPFixedPricePTAMM,
16
+ BoringOwnableUpgradeableV2,
17
+ ReentrancyGuardUpgradeable,
18
+ TokenHelper,
19
+ UUPSUpgradeable
20
+ {
16
21
  // cast index-erc7201 "pendle.FixedPricePTAMM.storage"
17
22
  uint256 internal constant STORAGE_SLOT = 0xbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe5249000;
18
23
 
@@ -29,10 +34,18 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
29
34
 
30
35
  function initialize(address _owner) external initializer {
31
36
  __BoringOwnableV2_init(_owner);
37
+ __UUPSUpgradeable_init();
38
+ }
39
+
40
+ struct OracleData {
41
+ address oracle;
42
+ // @notice This can be seen as the price at maturity.
43
+ // @notice This can help with decimals conversion.
44
+ uint256 multiplier;
32
45
  }
33
46
 
34
47
  struct Storage {
35
- mapping(address PT => mapping(address token => address oracle)) priceOracle;
48
+ mapping(address PT => mapping(address token => OracleData)) priceOracle;
36
49
  mapping(address token => uint256) totalToken;
37
50
  }
38
51
 
@@ -42,15 +55,38 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
42
55
  }
43
56
  }
44
57
 
45
- function priceOracle(address PT, address token) public view returns (IPChainlinkOracleEssential) {
46
- address res = $().priceOracle[PT][token];
47
- if (res == address(0)) revert OracleNotSet(PT, token);
48
- return IPChainlinkOracleEssential(res);
58
+ function priceOracle(
59
+ address PT,
60
+ address token
61
+ ) public view returns (IPChainlinkOracleEssential oracle, uint256 multiplier) {
62
+ oracle = IPChainlinkOracleEssential($().priceOracle[PT][token].oracle);
63
+ multiplier = $().priceOracle[PT][token].multiplier;
64
+
65
+ if (address(oracle) == address(0)) revert OracleNotSet(PT, token);
66
+ }
67
+
68
+ function previewSwapPtForExactToken(
69
+ address PT,
70
+ address token,
71
+ uint256 exactTokenOut
72
+ ) public view returns (uint256 amountPtIn) {
73
+ (IPChainlinkOracleEssential oracle, uint256 multiplier) = priceOracle(PT, token);
74
+ (, int256 rawPrice, , , ) = oracle.latestRoundData();
75
+
76
+ // ceil(exactTokenOut / (rawPrice * multiplier))
77
+ return (exactTokenOut * PMath.ONE * PMath.ONE).rawDivUp(rawPrice.Uint() * multiplier);
49
78
  }
50
79
 
51
- function getPtToTokenPrice(address PT, address token) public view returns (uint256) {
52
- (, int256 ptPrice, , , ) = priceOracle(PT, token).latestRoundData();
53
- return ptPrice.Uint();
80
+ function previewSwapExactPtForToken(
81
+ address PT,
82
+ uint256 exactPtIn,
83
+ address token
84
+ ) public view returns (uint256 amountTokenOut) {
85
+ (IPChainlinkOracleEssential oracle, uint256 multiplier) = priceOracle(PT, token);
86
+ (, int256 rawPrice, , , ) = oracle.latestRoundData();
87
+
88
+ // exactPtIn * rawPrice * multiplier
89
+ return (exactPtIn * rawPrice.Uint() * multiplier) / (PMath.ONE * PMath.ONE);
54
90
  }
55
91
 
56
92
  function swapPtForExactToken(
@@ -59,8 +95,8 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
59
95
  address token,
60
96
  uint256 exactTokenOut,
61
97
  bytes calldata data
62
- ) external payable nonReentrant returns (uint256 netPtIn) {
63
- netPtIn = exactTokenOut.divDown(getPtToTokenPrice(PT, token));
98
+ ) external nonReentrant returns (uint256 netPtIn) {
99
+ netPtIn = previewSwapPtForExactToken(PT, token, exactTokenOut);
64
100
  _swap(receiver, PT, netPtIn, token, exactTokenOut, data);
65
101
  }
66
102
 
@@ -70,8 +106,8 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
70
106
  uint256 exactPtIn,
71
107
  address token,
72
108
  bytes calldata data
73
- ) external payable nonReentrant returns (uint256 netTokenOut) {
74
- netTokenOut = exactPtIn.mulDown(getPtToTokenPrice(PT, token));
109
+ ) external nonReentrant returns (uint256 netTokenOut) {
110
+ netTokenOut = previewSwapExactPtForToken(PT, exactPtIn, token);
75
111
  _swap(receiver, PT, exactPtIn, token, netTokenOut, data);
76
112
  }
77
113
 
@@ -102,8 +138,8 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
102
138
 
103
139
  // Admin functions
104
140
 
105
- function setPriceOracle(address PT, address token, address _priceOracle) external onlyOwner {
106
- $().priceOracle[PT][token] = _priceOracle;
141
+ function setPriceOracle(address PT, address token, address _priceOracle, uint256 _multiplier) external onlyOwner {
142
+ $().priceOracle[PT][token] = OracleData(_priceOracle, _multiplier);
107
143
  emit PriceOracleUpdated(PT, token, _priceOracle);
108
144
  }
109
145
 
@@ -118,4 +154,6 @@ contract FixedPricePTAMM is IPFixedPricePTAMM, BoringOwnableUpgradeableV2, Reent
118
154
  $().totalToken[token] -= amount;
119
155
  emit Unseeded(token, amount);
120
156
  }
157
+
158
+ function _authorizeUpgrade(address) internal override onlyOwner {}
121
159
  }
@@ -3,9 +3,11 @@ pragma solidity ^0.8.0;
3
3
 
4
4
  import {IPPTOFTAdapterFactory} from "../../../interfaces/IPPTOFTAdapterFactory.sol";
5
5
  import {BoringOwnableUpgradeableV2} from "../../../core/libraries/BoringOwnableUpgradeableV2.sol";
6
- import {OFTAdapterImpl} from "../..//oftImpl/hub/OFTAdapterImpl.sol";
6
+ import {OFTAdapterImpl} from "../../oftImpl/hub/OFTAdapterImpl.sol";
7
7
 
8
- contract PendlePTOFTAdapterFactory is IPPTOFTAdapterFactory, BoringOwnableUpgradeableV2 {
8
+ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
9
+
10
+ contract PendlePTOFTAdapterFactory is IPPTOFTAdapterFactory, BoringOwnableUpgradeableV2, UUPSUpgradeable {
9
11
  error PTOFTAdapterExisted(address pt);
10
12
 
11
13
  address internal immutable _lzEndpoint;
@@ -17,6 +19,7 @@ contract PendlePTOFTAdapterFactory is IPPTOFTAdapterFactory, BoringOwnableUpgrad
17
19
 
18
20
  function initialize(address _owner) external initializer {
19
21
  __BoringOwnableV2_init(_owner);
22
+ __UUPSUpgradeable_init();
20
23
  }
21
24
 
22
25
  mapping(address pt => address) public ptAdapter;
@@ -30,4 +33,6 @@ contract PendlePTOFTAdapterFactory is IPPTOFTAdapterFactory, BoringOwnableUpgrad
30
33
 
31
34
  return ptAdapter[pt] = address(adapter);
32
35
  }
36
+
37
+ function _authorizeUpgrade(address) internal override onlyOwner {}
33
38
  }
@@ -6,56 +6,36 @@ import {OFT, OFTCore, IOFT} from "@layerzerolabs/oft-evm/contracts/OFT.sol";
6
6
  import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
7
7
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
8
8
 
9
- abstract contract BasePendleBridgedPrincipalToken is IPBridgedPrincipalToken, OFT {
9
+ contract PendleBridgedPrincipalToken is IPBridgedPrincipalToken, OFT {
10
10
  uint256 public immutable expiry;
11
+ uint8 internal immutable LOCAL_DECIMALS;
12
+ uint8 internal immutable SHARED_DECIMALS;
11
13
 
12
14
  constructor(
13
15
  string memory _name,
14
16
  string memory _symbol,
15
17
  address _lzEndpoint,
16
18
  address _delegate,
17
- uint256 _expiry
19
+ uint256 _expiry,
20
+ uint8 _localDecimals,
21
+ uint8 _sharedDecimals,
22
+ address initialOwner
18
23
  ) OFT(_name, _symbol, _lzEndpoint, _delegate) {
19
24
  expiry = _expiry;
20
- }
21
- }
22
-
23
- /**
24
- * The below contracts only overrides the `decimals()` and `sharedDecimals()` function
25
- * - For Pendle PT, the decimals are based on the underlying asset. So we need
26
- * to set the decimals correctly at **deployment**.
27
- * - For technical reason, in OFT's constructor, the `decimals()` function was
28
- * invoked.
29
- * (https://github.com/LayerZero-Labs/devtools/blob/feb000c1717ee89f965996cc9ab5a8a75effbcab/packages/oft-evm/contracts/OFT.sol#L25)
30
- * - The current best way to do this is to hard-code the decimals in the contracts.
31
- */
32
-
33
- // prettier-ignore
34
- contract PendleBridgedPrincipalToken_18Decimals is BasePendleBridgedPrincipalToken {
35
- constructor(string memory _name, string memory _symbol, address _lzEndpoint, address _delegate, uint256 _expiry)
36
- BasePendleBridgedPrincipalToken(_name, _symbol, _lzEndpoint, _delegate, _expiry)
37
- {}
38
-
39
- function decimals() public pure override(ERC20, IERC20Metadata) returns (uint8) { return 18; }
40
- function sharedDecimals() public pure override(OFTCore, IOFT) returns (uint8) { return 6; }
41
- }
25
+ _transferOwnership(initialOwner);
42
26
 
43
- // prettier-ignore
44
- contract PendleBridgedPrincipalToken_6Decimals is BasePendleBridgedPrincipalToken {
45
- constructor(string memory _name, string memory _symbol, address _lzEndpoint, address _delegate, uint256 _expiry)
46
- BasePendleBridgedPrincipalToken(_name, _symbol, _lzEndpoint, _delegate, _expiry)
47
- {}
27
+ LOCAL_DECIMALS = _localDecimals;
28
+ SHARED_DECIMALS = _sharedDecimals;
48
29
 
49
- function decimals() public pure override(ERC20, IERC20Metadata) returns (uint8) { return 6; }
50
- function sharedDecimals() public pure override(OFTCore, IOFT) returns (uint8) { return 6; }
51
- }
30
+ // override decimalConversionRate set in OFTCore constructor
31
+ decimalConversionRate = 10 ** (LOCAL_DECIMALS - SHARED_DECIMALS);
32
+ }
52
33
 
53
- // prettier-ignore
54
- contract PendleBridgedPrincipalToken_8Decimals is BasePendleBridgedPrincipalToken {
55
- constructor(string memory _name, string memory _symbol, address _lzEndpoint, address _delegate, uint256 _expiry)
56
- BasePendleBridgedPrincipalToken(_name, _symbol, _lzEndpoint, _delegate, _expiry)
57
- {}
34
+ function decimals() public view override(ERC20, IERC20Metadata) returns (uint8) {
35
+ return LOCAL_DECIMALS;
36
+ }
58
37
 
59
- function decimals() public pure override(ERC20, IERC20Metadata) returns (uint8) { return 8; }
60
- function sharedDecimals() public pure override(OFTCore, IOFT) returns (uint8) { return 6; }
38
+ function sharedDecimals() public view override(OFTCore, IOFT) returns (uint8) {
39
+ return SHARED_DECIMALS;
40
+ }
61
41
  }
@@ -0,0 +1,16 @@
1
+ // SPDX-License-Identifier: SEE LICENSE IN LICENSE
2
+ pragma solidity ^0.8.0;
3
+
4
+ interface ILPWrapper {
5
+ function LP() external view returns (address);
6
+
7
+ function factory() external view returns (address);
8
+
9
+ function isRewardRedemptionDisabled() external view returns (bool);
10
+
11
+ function setRewardRedemptionDisabled(bool _isRewardRedemptionDisabled) external;
12
+
13
+ function wrap(address receiver, uint256 netLpIn) external;
14
+
15
+ function unwrap(address receiver, uint256 netWrapIn) external;
16
+ }
@@ -20,9 +20,22 @@ interface IPFixedPricePTAMM {
20
20
  event Seeded(address indexed token, uint256 amount);
21
21
  event Unseeded(address indexed token, uint256 amount);
22
22
 
23
- function priceOracle(address PT, address token) external view returns (IPChainlinkOracleEssential);
23
+ function priceOracle(
24
+ address PT,
25
+ address token
26
+ ) external view returns (IPChainlinkOracleEssential, uint256 multiplier);
27
+
28
+ function previewSwapPtForExactToken(
29
+ address PT,
30
+ address token,
31
+ uint256 exactTokenOut
32
+ ) external view returns (uint256 amountPtIn);
24
33
 
25
- function getPtToTokenPrice(address PT, address token) external view returns (uint256);
34
+ function previewSwapExactPtForToken(
35
+ address PT,
36
+ uint256 exactPtIn,
37
+ address token
38
+ ) external view returns (uint256 amountTokenOut);
26
39
 
27
40
  function swapPtForExactToken(
28
41
  address receiver,
@@ -30,7 +43,7 @@ interface IPFixedPricePTAMM {
30
43
  address token,
31
44
  uint256 exactTokenOut,
32
45
  bytes calldata data
33
- ) external payable returns (uint256 netPtIn);
46
+ ) external returns (uint256 netPtIn);
34
47
 
35
48
  function swapExactPtForToken(
36
49
  address receiver,
@@ -38,11 +51,11 @@ interface IPFixedPricePTAMM {
38
51
  uint256 exactPtIn,
39
52
  address token,
40
53
  bytes calldata data
41
- ) external payable returns (uint256 netTokenOut);
54
+ ) external returns (uint256 netTokenOut);
42
55
 
43
56
  // Admin functions
44
57
 
45
- function setPriceOracle(address PT, address token, address priceOracle) external;
58
+ function setPriceOracle(address PT, address token, address priceOracle, uint256 multiplier) external;
46
59
 
47
60
  function addFund(address token, uint256 amount) external payable;
48
61
 
@@ -76,6 +76,8 @@ interface IPLimitRouter is IPLimitOrderType {
76
76
 
77
77
  event OrderCanceled(address indexed maker, bytes32 indexed orderHash);
78
78
 
79
+ event OrderForceCanceled(bytes32 indexed orderHash);
80
+
79
81
  event OrderFilledV2(
80
82
  bytes32 indexed orderHash,
81
83
  OrderType indexed orderType,
@@ -16,6 +16,10 @@ interface IPVotingController {
16
16
 
17
17
  event BroadcastResults(uint64 indexed chainId, uint128 indexed wTime, uint128 totalPendlePerSec);
18
18
 
19
+ event SetPoolCaps(address[] pools, uint256[] caps);
20
+
21
+ event SetGlobalCap(uint256 cap);
22
+
19
23
  function applyPoolSlopeChanges(address pool) external;
20
24
 
21
25
  /// @notice deprecated, only kept for compatibility reasons
@@ -485,12 +485,17 @@ abstract contract LimitRouterBase is
485
485
  ownerHelper = _helper;
486
486
  }
487
487
 
488
- function setLnFeeRateRoots(address[] memory YTs, uint256[] memory lnFeeRateRoots) public onlyHelperAndOwner {
488
+ /// @dev if zero fees are intended, it must be explicitly allowed again
489
+ function setLnFeeRateRoots(
490
+ address[] memory YTs,
491
+ uint256[] memory lnFeeRateRoots,
492
+ bool allowZeroFees
493
+ ) public onlyHelperAndOwner {
489
494
  uint256 len = YTs.length;
490
495
  require(len == lnFeeRateRoots.length, "LOP: length mismatch");
491
496
 
492
497
  for (uint256 i = 0; i < len; i++) {
493
- require(lnFeeRateRoots[i] > 0, "LOP: zero fee not allowed");
498
+ require(lnFeeRateRoots[i] > 0 || allowZeroFees, "LOP: zero fee must be allowed explicitly");
494
499
  require(lnFeeRateRoots[i] <= MAX_LN_FEE_RATE_ROOT, "LOP: fee too high");
495
500
 
496
501
  __lnFeeRateRoot[YTs[i]] = lnFeeRateRoots[i];
@@ -29,6 +29,16 @@ contract PendleLimitRouter is LimitRouterBase {
29
29
  emit OrderCanceled(msg.sender, orderHash);
30
30
  }
31
31
 
32
+ /// @dev auto skip cancelled orders to avoid race conditions
33
+ function forceCancel(bytes32[] calldata orderHashes) public onlyHelperAndOwner {
34
+ for (uint256 i = 0; i < orderHashes.length; ++i) {
35
+ if (_status[orderHashes[i]].remaining == _ORDER_FILLED) continue;
36
+
37
+ _status[orderHashes[i]].remaining = _ORDER_FILLED;
38
+ emit OrderForceCanceled(orderHashes[i]);
39
+ }
40
+ }
41
+
32
42
  function orderStatusesRaw(
33
43
  bytes32[] memory orderHashes
34
44
  ) public view returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts) {
@@ -40,7 +40,7 @@ contract ExpiredLpPtRedeemer is TokenHelper, ReentrancyGuardUpgradeable, BoringO
40
40
  uint256 totalPtRedeem = 0;
41
41
 
42
42
  if (netPtIn > 0) {
43
- _transferFrom(PT, msg.sender, address(this), netLpIn);
43
+ _transferFrom(PT, msg.sender, address(this), netPtIn);
44
44
  totalPtRedeem += netPtIn;
45
45
  }
46
46
 
@@ -5,8 +5,9 @@ import "../core/erc20/PendleERC20.sol";
5
5
  import "../core/libraries/TokenHelper.sol";
6
6
  import "../interfaces/IPMarket.sol";
7
7
  import "../interfaces/IPLPWrapperFactory.sol";
8
+ import "../interfaces/ILPWrapper.sol";
8
9
 
9
- contract PendleLPWrapper is PendleERC20, TokenHelper {
10
+ contract PendleLPWrapper is PendleERC20, TokenHelper, ILPWrapper {
10
11
  address public immutable LP;
11
12
  address public immutable factory;
12
13
  bool public isRewardRedemptionDisabled;
@@ -0,0 +1,65 @@
1
+ // SPDX-License-Identifier: SEE LICENSE IN LICENSE
2
+ pragma solidity ^0.8.19;
3
+
4
+ /**
5
+ * @title PendleLpLinearDiscountOracle
6
+ * @notice Oracle for pricing Pendle LP tokens using a linear discount model based on time to maturity
7
+ * @dev Implements Chainlink-compatible price feed interface for LP tokens
8
+ * The oracle calculates LP price by applying a time-based linear discount to the PT component
9
+ */
10
+ contract PendleLpLinearDiscountOracle {
11
+ uint256 private constant SECONDS_PER_YEAR = 365 days;
12
+ uint256 private constant ONE = 1e18;
13
+
14
+ /// @notice The LP token address (Pendle Market)
15
+ address public immutable LP;
16
+
17
+ /// @notice The maturity timestamp of the LP token
18
+ uint256 public immutable maturity;
19
+
20
+ /// @notice Annual discount rate for LP tokens (1e18 = 100%)
21
+ uint256 public immutable baseLpDiscountPerYear;
22
+
23
+ /// @notice Base price multiplier for LP tokens (1e18 = 1x)
24
+ uint256 public immutable lpMaturedPrice;
25
+
26
+ constructor(address _lp, uint256 _baseLpDiscountPerYear, uint256 _lpMaturedPrice) {
27
+ require(_lpMaturedPrice >= 1e18, "invalid price");
28
+
29
+ LP = _lp;
30
+ maturity = LPExpiry(LP).expiry();
31
+ baseLpDiscountPerYear = _baseLpDiscountPerYear;
32
+ lpMaturedPrice = _lpMaturedPrice;
33
+ }
34
+
35
+ function latestRoundData()
36
+ external
37
+ view
38
+ returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound)
39
+ {
40
+ uint256 timeLeft = (maturity > block.timestamp) ? maturity - block.timestamp : 0;
41
+ uint256 lpPrice = getLpPrice(timeLeft);
42
+ return (0, int256(lpPrice), 0, 0, 0);
43
+ }
44
+
45
+ function getLpPrice(uint256 timeLeft) public view returns (uint256) {
46
+ uint256 lpDiscount = getLpDiscount(timeLeft);
47
+ require(lpDiscount <= ONE, "discount overflow");
48
+
49
+ uint256 lpPrice = ((ONE - lpDiscount) * lpMaturedPrice) / ONE;
50
+
51
+ return lpPrice;
52
+ }
53
+
54
+ function getLpDiscount(uint256 timeLeft) public view returns (uint256) {
55
+ return (timeLeft * baseLpDiscountPerYear) / SECONDS_PER_YEAR;
56
+ }
57
+
58
+ function decimals() external pure returns (uint8) {
59
+ return 18;
60
+ }
61
+ }
62
+
63
+ interface LPExpiry {
64
+ function expiry() external view returns (uint256);
65
+ }
@@ -0,0 +1,20 @@
1
+ // SPDX-License-Identifier: SEE LICENSE IN LICENSE
2
+ pragma solidity ^0.8.19;
3
+
4
+ import {PendleLpLinearDiscountOracle} from "./PendleLpLinearDiscountOracle.sol";
5
+
6
+ contract PendleLpLinearDiscountOracleFactory {
7
+ event OracleCreated(address indexed market, uint256 basePtDiscountPerYear, uint256 lpBasePrice, address oracle);
8
+
9
+ /**
10
+ * @notice Creates a new LP linear discount oracle
11
+ * @param market The Pendle Market address (LP token)
12
+ * @param basePtDiscountPerYear Annual discount rate for PT (max: 1e18 = 100%)
13
+ * @param lpBasePrice Base price multiplier for LP (min: 1e18 = 1x)
14
+ * @return res The address of the deployed oracle contract
15
+ */
16
+ function create(address market, uint256 basePtDiscountPerYear, uint256 lpBasePrice) external returns (address res) {
17
+ res = address(new PendleLpLinearDiscountOracle(market, basePtDiscountPerYear, lpBasePrice));
18
+ emit OracleCreated(market, basePtDiscountPerYear, lpBasePrice, res);
19
+ }
20
+ }
@@ -15,6 +15,8 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
15
15
  using PYIndexLib for IPYieldToken;
16
16
  using PYIndexLib for PYIndex;
17
17
 
18
+ constructor(address _dustReceiver) ActionDelegateBase(_dustReceiver) {}
19
+
18
20
  // ------------------ ADD LIQUIDITY DUAL ------------------
19
21
 
20
22
  /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
@@ -8,6 +8,8 @@ import "../interfaces/IPReflector.sol";
8
8
  contract ActionMiscV3 is IPActionMiscV3, ActionBase {
9
9
  uint256 private constant NOT_FOUND = type(uint256).max;
10
10
 
11
+ constructor(address _dustReceiver) ActionBase(_dustReceiver) {}
12
+
11
13
  function mintSyFromToken(
12
14
  address receiver,
13
15
  address SY,
@@ -24,6 +24,8 @@ contract ActionSimple is ActionBase, IPActionSimple {
24
24
  using PYIndexLib for PYIndex;
25
25
  using PMath for uint256;
26
26
 
27
+ constructor(address _dustReceiver) ActionBase(_dustReceiver) {}
28
+
27
29
  // ------------------ SWAP TOKEN FOR PT ------------------
28
30
  /// @notice This function is for internal router use only and should not be called directly.
29
31
  /// @dev Use swapExactTokenForPt from the main router instead.
@@ -8,6 +8,8 @@ import {ActionDelegateBase} from "./base/ActionDelegateBase.sol";
8
8
  contract ActionSwapPTV3 is IPActionSwapPTV3, ActionBase, ActionDelegateBase {
9
9
  using PMath for uint256;
10
10
 
11
+ constructor(address _dustReceiver) ActionDelegateBase(_dustReceiver) {}
12
+
11
13
  // ------------------ SWAP TOKEN FOR PT ------------------
12
14
  /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
13
15
  function swapExactTokenForPt(
@@ -12,6 +12,8 @@ contract ActionSwapYTV3 is CallbackHelper, IPActionSwapYTV3, ActionBase, ActionD
12
12
  using MarketApproxPtOutLibV2 for MarketState;
13
13
  using PYIndexLib for IPYieldToken;
14
14
 
15
+ constructor(address _dustReceiver) ActionDelegateBase(_dustReceiver) {}
16
+
15
17
  // ------------------ SWAP TOKEN FOR YT ------------------
16
18
 
17
19
  /// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
@@ -19,6 +19,11 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
19
19
  using PYIndexLib for PYIndex;
20
20
 
21
21
  bytes internal constant EMPTY_BYTES = abi.encode();
22
+ address internal immutable DUST_RECEIVER;
23
+
24
+ constructor(address _dustReceiver) {
25
+ DUST_RECEIVER = _dustReceiver;
26
+ }
22
27
 
23
28
  // ----------------- MINT REDEEM SY PY -----------------
24
29
 
@@ -158,6 +163,10 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
158
163
  return IPMarket(market).readState(address(this));
159
164
  }
160
165
 
166
+ function _sweepDust(address token) internal {
167
+ _transferOut(token, DUST_RECEIVER, _selfBalance(token));
168
+ }
169
+
161
170
  // ----------------- PT SWAP -----------------
162
171
 
163
172
  function _entry_swapExactPtForSy(address market, LimitOrderData calldata limit) internal view returns (address) {
@@ -184,8 +193,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
184
193
  (netPtLeft, netSyOut, netSyFee, doMarketOrder) = _fillLimit(receiver, PT, netPtLeft, limit);
185
194
  if (doMarketOrder) {
186
195
  _transferOut(address(PT), market, netPtLeft);
187
- } else {
188
- _transferOut(address(PT), receiver, netPtLeft);
189
196
  }
190
197
  }
191
198
 
@@ -200,6 +207,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
200
207
  netSyFee += netSyFeeMarket;
201
208
  }
202
209
 
210
+ _sweepDust(address(PT));
211
+
203
212
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
204
213
  }
205
214
 
@@ -227,8 +236,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
227
236
  (netSyLeft, netPtOut, netSyFee, doMarketOrder) = _fillLimit(receiver, SY, netSyLeft, limit);
228
237
  if (doMarketOrder) {
229
238
  _transferOut(address(SY), market, netSyLeft);
230
- } else {
231
- _transferOut(address(SY), receiver, netSyLeft);
232
239
  }
233
240
  }
234
241
 
@@ -246,6 +253,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
246
253
  netSyFee += netSyFeeMarket;
247
254
  }
248
255
 
256
+ _sweepDust(address(SY));
257
+
249
258
  if (netPtOut < minPtOut) revert("Slippage: INSUFFICIENT_PT_OUT");
250
259
  }
251
260
 
@@ -275,8 +284,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
275
284
  (netYtLeft, netSyOut, netSyFee, doMarketOrder) = _fillLimit(receiver, YT, netYtLeft, limit);
276
285
  if (doMarketOrder) {
277
286
  _transferOut(address(YT), address(YT), netYtLeft);
278
- } else {
279
- _transferOut(address(YT), receiver, netYtLeft);
280
287
  }
281
288
  }
282
289
 
@@ -294,6 +301,8 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
294
301
  netSyOut += SY.balanceOf(receiver) - preSyBalance;
295
302
  }
296
303
 
304
+ _sweepDust(address(YT));
305
+
297
306
  if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
298
307
  }
299
308
 
@@ -322,8 +331,6 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
322
331
  (netSyLeft, netYtOut, netSyFee, doMarketOrder) = _fillLimit(receiver, SY, netSyLeft, limit);
323
332
  if (doMarketOrder) {
324
333
  _transferOut(address(SY), address(YT), netSyLeft);
325
- } else {
326
- _transferOut(address(SY), receiver, netSyLeft);
327
334
  }
328
335
  }
329
336
 
@@ -344,6 +351,7 @@ abstract contract ActionBase is TokenHelper, CallbackHelper, IPLimitOrderType {
344
351
  netYtOut += netYtOutMarket;
345
352
  netSyFee += netSyFeeMarket;
346
353
  }
354
+ _sweepDust(address(SY));
347
355
 
348
356
  if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
349
357
  }
@@ -6,6 +6,8 @@ import {IPActionSimple} from "../../interfaces/IPActionSimple.sol";
6
6
  import {ApproxParams, TokenInput, LimitOrderData} from "../../interfaces/IPAllActionTypeV3.sol";
7
7
 
8
8
  contract ActionDelegateBase is ActionBase {
9
+ constructor(address _dustReceiver) ActionBase(_dustReceiver) {}
10
+
9
11
  function delegateToAddLiquiditySinglePtSimple(
10
12
  address receiver,
11
13
  address market,
@@ -61,5 +61,9 @@
61
61
  "feeDistributorV2": "0x8C237520a8E14D658170A633D96F8e80764433b9",
62
62
  "lpWrapperFactory": "0x12930Bd944bb34B0A21CCc2E7d32a6834Bd58e19",
63
63
  "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
64
- "ptOftAdapterFactory": "0x6f2a9b773778188727cc1f49c57213b1a758555e"
64
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
65
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
66
+ "cross-chain": {
67
+ "ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
68
+ }
65
69
  }
@@ -4,7 +4,7 @@
4
4
  "chainId": 10,
5
5
  "treasury": "0xE972D450ec5b11b99D97760422e0E054Afbc8042",
6
6
  "governance": "0xa06C863fcf17cA6f24AA81aeA75E23953193fF6A",
7
- "devMultisig": "0x79d7a5e8b130eEf1e022b3EDEE4DAF226DC168CA",
7
+ "devMultisig": "0xE6F0489ED91dc27f40f9dbe8f81fccbFC16b9cb1",
8
8
  "pendle": "0xBC7B1Ff1c6989f006a1185318eD4E7b5796e66E1",
9
9
  "lzEndpoint": "0x3c2269811836af69497E5F486A85D7316753cf62",
10
10
  "wrappedNative": "0x4200000000000000000000000000000000000006",
@@ -53,5 +53,13 @@
53
53
  },
54
54
  "receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
55
55
  "vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
56
- "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C"
57
- }
56
+ "gaugeController": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
57
+ "externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F",
58
+ "expiredRedeemer": "0x8267fdabd1b8C8645138f2dE5B0fe24988DC9820",
59
+ "lpWrapperFactory": "0xeCfEB97D7F070DA5b93c5DC274183F1D7f68532F",
60
+ "decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
61
+ "lpLinearDiscountOracleFactory": "0x44fb16d078e9c39b65d6c15e78ede9736a9f2df5",
62
+ "cross-chain": {
63
+ "ptOftAdapterFactory": "0x45Dd4aEcc425b01bf98C567407aB4a4fF3C7d349"
64
+ }
65
+ }