@pendle/core-v2 6.3.1 → 6.3.2-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 (543) 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 +2 -2
  22. package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  24. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  25. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  26. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  27. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  28. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  32. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  33. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  34. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  36. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  38. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +2 -2
  41. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  43. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  47. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  48. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  50. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  54. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  56. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  58. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  60. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  62. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
  64. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  66. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
  67. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  69. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  74. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  75. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  76. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  77. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +2 -2
  78. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  79. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
  80. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  81. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  82. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  83. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  84. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  87. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  88. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  89. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +0 -42
  116. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -13
  119. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  131. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  132. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  133. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  134. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  135. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  136. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  137. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  138. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  139. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  140. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  141. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  142. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  143. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  144. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  145. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  146. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  147. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  148. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  149. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  150. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  151. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  152. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  153. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  154. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  155. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  156. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  157. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  158. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  159. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  161. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  162. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  163. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  164. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  165. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  166. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  167. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  168. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  169. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +4 -0
  170. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +102 -0
  171. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  172. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  173. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  174. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  175. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  177. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  178. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  179. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  181. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  183. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  184. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  185. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  186. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  187. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  188. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  189. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  190. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  191. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  192. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  193. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  194. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  195. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  196. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  197. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  201. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  203. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  204. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  205. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  207. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  209. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  211. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  213. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  214. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  215. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  216. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  217. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  218. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  219. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  220. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  221. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  222. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  223. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  224. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  225. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  226. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  227. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  228. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  229. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  230. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  231. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  232. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  233. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  234. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  235. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  236. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  237. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  238. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  239. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  240. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  241. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  242. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  243. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  244. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  245. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  246. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  247. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  248. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  249. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  250. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  251. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  252. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  253. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  254. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  255. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  256. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  257. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  258. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  259. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  260. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  261. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  262. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  263. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  264. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  265. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  266. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  267. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  268. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  269. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  270. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  271. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  272. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  273. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  274. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  275. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  276. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  277. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  278. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.json +0 -171
  279. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  280. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  281. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  282. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  283. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  284. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  285. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  286. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  287. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +17 -15
  288. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +1 -1
  289. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +16 -14
  290. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +3 -2
  291. package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +12 -9
  292. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +12 -12
  293. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +10 -8
  294. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +12 -6
  295. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +11 -4
  296. package/contracts/LiquidityMining/PendleMerkleDistributor.sol +13 -11
  297. package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +22 -17
  298. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +28 -21
  299. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +27 -31
  300. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +23 -19
  301. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +8 -7
  302. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +5 -6
  303. package/contracts/core/Market/MarketMathCore.sol +112 -78
  304. package/contracts/core/Market/OracleLib.sol +41 -34
  305. package/contracts/core/Market/PendleGauge.sol +8 -8
  306. package/contracts/core/Market/PendleMarketFactoryV6Upg.sol +16 -19
  307. package/contracts/core/Market/PendleMarketV6.sol +65 -63
  308. package/contracts/core/RewardManager/RewardManager.sol +8 -8
  309. package/contracts/core/RewardManager/RewardManagerAbstract.sol +5 -6
  310. package/contracts/core/StandardizedYield/PYIndex.sol +2 -2
  311. package/contracts/core/YieldContracts/InterestManagerYT.sol +9 -8
  312. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +8 -4
  313. package/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol +12 -15
  314. package/contracts/core/YieldContracts/PendleYieldToken.sol +41 -54
  315. package/contracts/core/erc20/PendleERC20.sol +6 -9
  316. package/contracts/core/libraries/ArrayLib.sol +13 -11
  317. package/contracts/core/libraries/BaseSplitCodeFactory.sol +29 -22
  318. package/contracts/core/libraries/BoringOwnableUpgradeableV2.sol +1 -2
  319. package/contracts/core/libraries/Errors.sol +4 -1
  320. package/contracts/core/libraries/ExpiryUtilsLib.sol +10 -10
  321. package/contracts/core/libraries/StringLib.sol +13 -13
  322. package/contracts/core/libraries/TokenHelper.sol +3 -3
  323. package/contracts/core/libraries/math/LogExpMath.sol +67 -77
  324. package/contracts/cross-chain/FixedPricePTAMM.sol +39 -38
  325. package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +1 -1
  326. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +1 -1
  327. package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +12 -15
  328. package/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol +24 -21
  329. package/contracts/interfaces/ILayerZeroEndpoint.sol +3 -5
  330. package/contracts/interfaces/IPActionCallbackV3.sol +1 -1
  331. package/contracts/interfaces/IPActionInfoStatic.sol +3 -1
  332. package/contracts/interfaces/IPActionMarketAuxStatic.sol +15 -11
  333. package/contracts/interfaces/IPActionMarketCoreStatic.sol +109 -58
  334. package/contracts/interfaces/IPActionMintRedeemStatic.sol +26 -21
  335. package/contracts/interfaces/IPActionMiscV3.sol +44 -24
  336. package/contracts/interfaces/IPActionSimple.sol +43 -24
  337. package/contracts/interfaces/IPActionVePendleStatic.sol +5 -4
  338. package/contracts/interfaces/IPAllActionTypeV3.sol +16 -14
  339. package/contracts/interfaces/IPAllActionV3.sol +4 -4
  340. package/contracts/interfaces/IPAllEventsV3.sol +21 -5
  341. package/contracts/interfaces/IPBridgedPrincipalToken.sol +2 -2
  342. package/contracts/interfaces/IPCommonSYFactory.sol +6 -3
  343. package/contracts/interfaces/IPExchangeRateOracleApp.sol +26 -25
  344. package/contracts/interfaces/IPFeeDistributorV2.sol +16 -13
  345. package/contracts/interfaces/IPFixedPricePTAMM.sol +34 -22
  346. package/contracts/interfaces/IPGovernanceProxy.sol +6 -2
  347. package/contracts/interfaces/IPInterestManagerYTV2.sol +3 -4
  348. package/contracts/interfaces/IPLimitRouter.sol +16 -16
  349. package/contracts/interfaces/IPMarket.sol +35 -25
  350. package/contracts/interfaces/IPMarketFactory.sol +16 -9
  351. package/contracts/interfaces/IPMerkleDistributor.sol +10 -6
  352. package/contracts/interfaces/IPMsgSendEndpoint.sol +12 -7
  353. package/contracts/interfaces/IPMultiTokenMerkleDistributor.sol +12 -6
  354. package/contracts/interfaces/IPPYLpOracle.sol +4 -1
  355. package/contracts/interfaces/IPRouterStatic.sol +3 -3
  356. package/contracts/interfaces/IPVotingController.sol +4 -4
  357. package/contracts/interfaces/IPVotingEscrowMainchain.sol +1 -1
  358. package/contracts/interfaces/IPYieldContractFactory.sol +5 -3
  359. package/contracts/interfaces/IPYieldToken.sol +11 -8
  360. package/contracts/interfaces/IPYieldTokenV2.sol +11 -8
  361. package/contracts/interfaces/IStandardizedYield.sol +17 -16
  362. package/contracts/limit/LimitMathCore.sol +56 -38
  363. package/contracts/limit/LimitRouterBase.sol +88 -66
  364. package/contracts/limit/PendleLimitRouter.sol +7 -11
  365. package/contracts/offchain-helpers/AddressProvider.sol +1 -1
  366. package/contracts/offchain-helpers/AutomateReady.sol +2 -2
  367. package/contracts/offchain-helpers/BalanceReader.sol +9 -21
  368. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +7 -5
  369. package/contracts/offchain-helpers/Broadcaster.sol +3 -3
  370. package/contracts/offchain-helpers/BytesLib.sol +5 -3
  371. package/contracts/offchain-helpers/EmptyUUPS.sol +2 -2
  372. package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +8 -5
  373. package/contracts/offchain-helpers/LegacyNFTHelper.sol +5 -1
  374. package/contracts/offchain-helpers/LimitBackendHelperV2.sol +12 -12
  375. package/contracts/offchain-helpers/Multicall2.sol +7 -9
  376. package/contracts/offchain-helpers/PendleExchangeRateOracle.sol +8 -4
  377. package/contracts/offchain-helpers/PendleGovernanceProxy.sol +10 -7
  378. package/contracts/offchain-helpers/PendleLPWrapper.sol +3 -12
  379. package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +2 -2
  380. package/contracts/offchain-helpers/PendleMerkleDepositor.sol +64 -0
  381. package/contracts/offchain-helpers/PendleMulticallV1.sol +7 -7
  382. package/contracts/offchain-helpers/PendleMulticallV2.sol +12 -13
  383. package/contracts/offchain-helpers/PendleOffchainStorage.sol +1 -1
  384. package/contracts/offchain-helpers/PendleWstETHPriceFeed.sol +2 -4
  385. package/contracts/offchain-helpers/SimulateHelper.sol +6 -7
  386. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +32 -13
  387. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +11 -7
  388. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +35 -16
  389. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +35 -15
  390. package/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol +13 -12
  391. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +4 -1
  392. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  393. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +9 -12
  394. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +91 -60
  395. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +190 -103
  396. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +26 -26
  397. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +3 -3
  398. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +10 -8
  399. package/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol +40 -100
  400. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +6 -14
  401. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +47 -55
  402. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +3 -2
  403. package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +12 -12
  404. package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +20 -17
  405. package/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol +19 -15
  406. package/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol +6 -7
  407. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +9 -13
  408. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +21 -20
  409. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +7 -4
  410. package/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol +2 -2
  411. package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol +10 -13
  412. package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol +10 -13
  413. package/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol +5 -6
  414. package/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol +1 -1
  415. package/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol +3 -3
  416. package/contracts/router/ActionAddRemoveLiqV3.sol +150 -55
  417. package/contracts/router/ActionCallbackV3.sol +13 -20
  418. package/contracts/router/ActionMiscV3.sol +78 -54
  419. package/contracts/router/ActionSimple.sol +128 -76
  420. package/contracts/router/ActionSwapPTV3.sol +19 -7
  421. package/contracts/router/ActionSwapYTV3.sol +20 -8
  422. package/contracts/router/PendleRouterV4.sol +1 -1
  423. package/contracts/router/Reflector.sol +21 -15
  424. package/contracts/router/base/ActionBase.sol +105 -61
  425. package/contracts/router/base/ActionDelegateBase.sol +38 -39
  426. package/contracts/router/base/CallbackHelper.sol +19 -21
  427. package/contracts/router/math/ApproxStateLib.sol +28 -28
  428. package/contracts/router/math/MarketApproxEstimateLib.sol +13 -11
  429. package/contracts/router/math/MarketApproxLibOnchain.sol +24 -47
  430. package/contracts/router/math/MarketApproxLibV2.sol +44 -63
  431. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +55 -191
  432. package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +48 -34
  433. package/contracts/router/swap-aggregator/PendleSwap.sol +28 -26
  434. package/deployments/1-core.json +2 -1
  435. package/deployments/1-offchain-helper.json +1 -2
  436. package/deployments/10-core.json +2 -1
  437. package/deployments/10-offchain-helper.json +1 -2
  438. package/deployments/146-core.json +2 -1
  439. package/deployments/146-offchain-helper.json +1 -2
  440. package/deployments/42161-core.json +2 -1
  441. package/deployments/42161-offchain-helper.json +1 -2
  442. package/deployments/5000-core.json +2 -1
  443. package/deployments/5000-offchain-helper.json +1 -2
  444. package/deployments/56-core.json +2 -1
  445. package/deployments/56-offchain-helper.json +1 -2
  446. package/deployments/80094-core.json +2 -1
  447. package/deployments/80094-offchain-helper.json +1 -2
  448. package/deployments/8453-core.json +2 -1
  449. package/deployments/8453-offchain-helper.json +1 -2
  450. package/deployments/9745-core.json +2 -1
  451. package/deployments/9745-offchain-helper.json +1 -2
  452. package/deployments/999-core.json +2 -1
  453. package/deployments/999-offchain-helper.json +1 -2
  454. package/package.json +4 -2
  455. package/typechain-types/IOKXDexRouter.ts +0 -99
  456. package/typechain-types/IPLimitRouter.ts +0 -69
  457. package/typechain-types/IPMarket.ts +0 -13
  458. package/typechain-types/PendleMerkleDepositor.ts +171 -0
  459. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  460. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  461. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  462. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  463. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  464. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  465. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  466. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  467. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  468. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  469. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  470. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  471. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  472. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  473. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  474. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  475. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  476. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  477. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  478. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  479. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  480. package/typechain-types/factories/Errors__factory.ts +1 -1
  481. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  482. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  483. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  484. package/typechain-types/factories/IOKXDexRouter__factory.ts +0 -171
  485. package/typechain-types/factories/IPLimitRouter__factory.ts +0 -42
  486. package/typechain-types/factories/IPMarket__factory.ts +0 -13
  487. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  488. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  489. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  490. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  491. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1 -1
  492. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  493. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  494. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  495. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  496. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  497. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  498. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  499. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  500. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  501. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  502. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  503. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  504. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  505. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  506. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  507. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  508. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  509. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +1 -1
  510. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  511. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +164 -0
  512. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  513. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  514. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  515. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  516. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  517. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  518. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  519. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  520. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
  521. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  522. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  523. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  524. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  525. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  526. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  527. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  528. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  529. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  530. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  531. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  532. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  533. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  534. package/typechain-types/factories/Reflector__factory.ts +1 -1
  535. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  536. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  537. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  538. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  539. package/typechain-types/hardhat.d.ts +9 -18
  540. package/typechain-types/index.ts +2 -4
  541. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +0 -4
  542. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +0 -326
  543. package/contracts/offchain-helpers/PendleFeeSetter.sol +0 -149
@@ -392,10 +392,6 @@ declare module "hardhat/types/runtime" {
392
392
  name: "IPActionCallbackV3",
393
393
  signerOrOptions?: ethers.Signer | FactoryOptions
394
394
  ): Promise<Contracts.IPActionCallbackV3__factory>;
395
- getContractFactory(
396
- name: "IPActionCrossChain",
397
- signerOrOptions?: ethers.Signer | FactoryOptions
398
- ): Promise<Contracts.IPActionCrossChain__factory>;
399
395
  getContractFactory(
400
396
  name: "IPActionInfoStatic",
401
397
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -840,6 +836,10 @@ declare module "hardhat/types/runtime" {
840
836
  name: "PendleLPWrapperFactory",
841
837
  signerOrOptions?: ethers.Signer | FactoryOptions
842
838
  ): Promise<Contracts.PendleLPWrapperFactory__factory>;
839
+ getContractFactory(
840
+ name: "PendleMerkleDepositor",
841
+ signerOrOptions?: ethers.Signer | FactoryOptions
842
+ ): Promise<Contracts.PendleMerkleDepositor__factory>;
843
843
  getContractFactory(
844
844
  name: "PendleMulticallOwnerV1",
845
845
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -992,10 +992,6 @@ declare module "hardhat/types/runtime" {
992
992
  name: "ActionCallbackV3",
993
993
  signerOrOptions?: ethers.Signer | FactoryOptions
994
994
  ): Promise<Contracts.ActionCallbackV3__factory>;
995
- getContractFactory(
996
- name: "ActionCrossChain",
997
- signerOrOptions?: ethers.Signer | FactoryOptions
998
- ): Promise<Contracts.ActionCrossChain__factory>;
999
995
  getContractFactory(
1000
996
  name: "ActionMiscV3",
1001
997
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -1528,11 +1524,6 @@ declare module "hardhat/types/runtime" {
1528
1524
  address: string,
1529
1525
  signer?: ethers.Signer
1530
1526
  ): Promise<Contracts.IPActionCallbackV3>;
1531
- getContractAt(
1532
- name: "IPActionCrossChain",
1533
- address: string,
1534
- signer?: ethers.Signer
1535
- ): Promise<Contracts.IPActionCrossChain>;
1536
1527
  getContractAt(
1537
1528
  name: "IPActionInfoStatic",
1538
1529
  address: string,
@@ -2088,6 +2079,11 @@ declare module "hardhat/types/runtime" {
2088
2079
  address: string,
2089
2080
  signer?: ethers.Signer
2090
2081
  ): Promise<Contracts.PendleLPWrapperFactory>;
2082
+ getContractAt(
2083
+ name: "PendleMerkleDepositor",
2084
+ address: string,
2085
+ signer?: ethers.Signer
2086
+ ): Promise<Contracts.PendleMerkleDepositor>;
2091
2087
  getContractAt(
2092
2088
  name: "PendleMulticallOwnerV1",
2093
2089
  address: string,
@@ -2278,11 +2274,6 @@ declare module "hardhat/types/runtime" {
2278
2274
  address: string,
2279
2275
  signer?: ethers.Signer
2280
2276
  ): Promise<Contracts.ActionCallbackV3>;
2281
- getContractAt(
2282
- name: "ActionCrossChain",
2283
- address: string,
2284
- signer?: ethers.Signer
2285
- ): Promise<Contracts.ActionCrossChain>;
2286
2277
  getContractAt(
2287
2278
  name: "ActionMiscV3",
2288
2279
  address: string,
@@ -94,7 +94,6 @@ export type { ILPWrapper } from "./ILPWrapper";
94
94
  export type { IOwnable } from "./IOwnable";
95
95
  export type { IPActionAddRemoveLiqV3 } from "./IPActionAddRemoveLiqV3";
96
96
  export type { IPActionCallbackV3 } from "./IPActionCallbackV3";
97
- export type { IPActionCrossChain } from "./IPActionCrossChain";
98
97
  export type { IPActionInfoStatic } from "./IPActionInfoStatic";
99
98
  export type { IPActionMarketAuxStatic } from "./IPActionMarketAuxStatic";
100
99
  export type { IPActionMarketCoreStatic } from "./IPActionMarketCoreStatic";
@@ -206,6 +205,7 @@ export type { PendleFeeSetter } from "./PendleFeeSetter";
206
205
  export type { PendleGovernanceProxy } from "./PendleGovernanceProxy";
207
206
  export type { PendleLPWrapper } from "./PendleLPWrapper";
208
207
  export type { PendleLPWrapperFactory } from "./PendleLPWrapperFactory";
208
+ export type { PendleMerkleDepositor } from "./PendleMerkleDepositor";
209
209
  export type { PendleMulticallOwnerV1 } from "./PendleMulticallOwnerV1";
210
210
  export type { PendleMulticallV1 } from "./PendleMulticallV1";
211
211
  export type { PendleMulticallV2 } from "./PendleMulticallV2";
@@ -244,7 +244,6 @@ export type { PendleLinearDiscountOracleWrapper } from "./PendleLinearDiscountOr
244
244
  export type { PendleSparkLinearDiscountOracleFactoryWrapper } from "./PendleSparkLinearDiscountOracleFactoryWrapper";
245
245
  export type { ActionAddRemoveLiqV3 } from "./ActionAddRemoveLiqV3";
246
246
  export type { ActionCallbackV3 } from "./ActionCallbackV3";
247
- export type { ActionCrossChain } from "./ActionCrossChain";
248
247
  export type { ActionMiscV3 } from "./ActionMiscV3";
249
248
  export type { ActionSimple } from "./ActionSimple";
250
249
  export type { ActionStorageV4 } from "./ActionStorageV4";
@@ -353,7 +352,6 @@ export { ILPWrapper__factory } from "./factories/ILPWrapper__factory";
353
352
  export { IOwnable__factory } from "./factories/IOwnable__factory";
354
353
  export { IPActionAddRemoveLiqV3__factory } from "./factories/IPActionAddRemoveLiqV3__factory";
355
354
  export { IPActionCallbackV3__factory } from "./factories/IPActionCallbackV3__factory";
356
- export { IPActionCrossChain__factory } from "./factories/IPActionCrossChain__factory";
357
355
  export { IPActionInfoStatic__factory } from "./factories/IPActionInfoStatic__factory";
358
356
  export { IPActionMarketAuxStatic__factory } from "./factories/IPActionMarketAuxStatic__factory";
359
357
  export { IPActionMarketCoreStatic__factory } from "./factories/IPActionMarketCoreStatic__factory";
@@ -465,6 +463,7 @@ export { PendleFeeSetter__factory } from "./factories/PendleFeeSetter__factory";
465
463
  export { PendleGovernanceProxy__factory } from "./factories/PendleGovernanceProxy__factory";
466
464
  export { PendleLPWrapper__factory } from "./factories/PendleLPWrapper__factory";
467
465
  export { PendleLPWrapperFactory__factory } from "./factories/PendleLPWrapperFactory__factory";
466
+ export { PendleMerkleDepositor__factory } from "./factories/PendleMerkleDepositor__factory";
468
467
  export { PendleMulticallOwnerV1__factory } from "./factories/PendleMulticallOwnerV1__factory";
469
468
  export { PendleMulticallV1__factory } from "./factories/PendleMulticallV1__factory";
470
469
  export { PendleMulticallV2__factory } from "./factories/PendleMulticallV2__factory";
@@ -503,7 +502,6 @@ export { PendleLinearDiscountOracleWrapper__factory } from "./factories/PendleLi
503
502
  export { PendleSparkLinearDiscountOracleFactoryWrapper__factory } from "./factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory";
504
503
  export { ActionAddRemoveLiqV3__factory } from "./factories/ActionAddRemoveLiqV3__factory";
505
504
  export { ActionCallbackV3__factory } from "./factories/ActionCallbackV3__factory";
506
- export { ActionCrossChain__factory } from "./factories/ActionCrossChain__factory";
507
505
  export { ActionMiscV3__factory } from "./factories/ActionMiscV3__factory";
508
506
  export { ActionSimple__factory } from "./factories/ActionSimple__factory";
509
507
  export { ActionStorageV4__factory } from "./factories/ActionStorageV4__factory";
@@ -1,4 +0,0 @@
1
- {
2
- "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/6ea27d52a23f03f42490045ba736f4e3.json"
4
- }
@@ -1,326 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PendleFeeSetter",
4
- "sourceName": "contracts/offchain-helpers/PendleFeeSetter.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_router",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_limitRouter",
16
- "type": "address"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "_govProxy",
21
- "type": "address"
22
- }
23
- ],
24
- "stateMutability": "nonpayable",
25
- "type": "constructor"
26
- },
27
- {
28
- "anonymous": false,
29
- "inputs": [
30
- {
31
- "indexed": false,
32
- "internalType": "uint128",
33
- "name": "impliedRateToFeeFactor",
34
- "type": "uint128"
35
- },
36
- {
37
- "indexed": false,
38
- "internalType": "uint128",
39
- "name": "routerLnFeeToLimitLnFeeFactor",
40
- "type": "uint128"
41
- }
42
- ],
43
- "name": "FeeFactorSet",
44
- "type": "event"
45
- },
46
- {
47
- "anonymous": false,
48
- "inputs": [
49
- {
50
- "indexed": false,
51
- "internalType": "uint8",
52
- "name": "version",
53
- "type": "uint8"
54
- }
55
- ],
56
- "name": "Initialized",
57
- "type": "event"
58
- },
59
- {
60
- "anonymous": false,
61
- "inputs": [
62
- {
63
- "indexed": true,
64
- "internalType": "address",
65
- "name": "previousOwner",
66
- "type": "address"
67
- },
68
- {
69
- "indexed": true,
70
- "internalType": "address",
71
- "name": "newOwner",
72
- "type": "address"
73
- }
74
- ],
75
- "name": "OwnershipTransferred",
76
- "type": "event"
77
- },
78
- {
79
- "anonymous": false,
80
- "inputs": [
81
- {
82
- "indexed": true,
83
- "internalType": "address",
84
- "name": "setter",
85
- "type": "address"
86
- }
87
- ],
88
- "name": "SetterSet",
89
- "type": "event"
90
- },
91
- {
92
- "inputs": [],
93
- "name": "claimOwnership",
94
- "outputs": [],
95
- "stateMutability": "nonpayable",
96
- "type": "function"
97
- },
98
- {
99
- "inputs": [],
100
- "name": "govProxy",
101
- "outputs": [
102
- {
103
- "internalType": "contract IPGovernanceProxy",
104
- "name": "",
105
- "type": "address"
106
- }
107
- ],
108
- "stateMutability": "view",
109
- "type": "function"
110
- },
111
- {
112
- "inputs": [],
113
- "name": "impliedRateToFeeFactor",
114
- "outputs": [
115
- {
116
- "internalType": "uint128",
117
- "name": "",
118
- "type": "uint128"
119
- }
120
- ],
121
- "stateMutability": "view",
122
- "type": "function"
123
- },
124
- {
125
- "inputs": [
126
- {
127
- "internalType": "address",
128
- "name": "_owner",
129
- "type": "address"
130
- },
131
- {
132
- "internalType": "uint128",
133
- "name": "_impliedRateToFeeFactor",
134
- "type": "uint128"
135
- },
136
- {
137
- "internalType": "uint128",
138
- "name": "_routerLnFeeToLimitLnFeeFactor",
139
- "type": "uint128"
140
- }
141
- ],
142
- "name": "initialize",
143
- "outputs": [],
144
- "stateMutability": "nonpayable",
145
- "type": "function"
146
- },
147
- {
148
- "inputs": [],
149
- "name": "limitRouter",
150
- "outputs": [
151
- {
152
- "internalType": "contract IPLimitRouter",
153
- "name": "",
154
- "type": "address"
155
- }
156
- ],
157
- "stateMutability": "view",
158
- "type": "function"
159
- },
160
- {
161
- "inputs": [],
162
- "name": "owner",
163
- "outputs": [
164
- {
165
- "internalType": "address",
166
- "name": "",
167
- "type": "address"
168
- }
169
- ],
170
- "stateMutability": "view",
171
- "type": "function"
172
- },
173
- {
174
- "inputs": [],
175
- "name": "pendingOwner",
176
- "outputs": [
177
- {
178
- "internalType": "address",
179
- "name": "",
180
- "type": "address"
181
- }
182
- ],
183
- "stateMutability": "view",
184
- "type": "function"
185
- },
186
- {
187
- "inputs": [
188
- {
189
- "internalType": "address[]",
190
- "name": "markets",
191
- "type": "address[]"
192
- }
193
- ],
194
- "name": "readFeesAndImpliedRate",
195
- "outputs": [
196
- {
197
- "internalType": "uint256[]",
198
- "name": "routerLnFeeRateRoots",
199
- "type": "uint256[]"
200
- },
201
- {
202
- "internalType": "uint256[]",
203
- "name": "limitLnFeeRateRoots",
204
- "type": "uint256[]"
205
- },
206
- {
207
- "internalType": "uint256[]",
208
- "name": "lnImpliedRates",
209
- "type": "uint256[]"
210
- }
211
- ],
212
- "stateMutability": "view",
213
- "type": "function"
214
- },
215
- {
216
- "inputs": [],
217
- "name": "router",
218
- "outputs": [
219
- {
220
- "internalType": "address",
221
- "name": "",
222
- "type": "address"
223
- }
224
- ],
225
- "stateMutability": "view",
226
- "type": "function"
227
- },
228
- {
229
- "inputs": [],
230
- "name": "routerLnFeeToLimitLnFeeFactor",
231
- "outputs": [
232
- {
233
- "internalType": "uint128",
234
- "name": "",
235
- "type": "uint128"
236
- }
237
- ],
238
- "stateMutability": "view",
239
- "type": "function"
240
- },
241
- {
242
- "inputs": [
243
- {
244
- "internalType": "uint128",
245
- "name": "_impliedRateToFeeFactor",
246
- "type": "uint128"
247
- },
248
- {
249
- "internalType": "uint128",
250
- "name": "_routerLnFeeToLimitLnFeeFactor",
251
- "type": "uint128"
252
- }
253
- ],
254
- "name": "setFeeFactors",
255
- "outputs": [],
256
- "stateMutability": "nonpayable",
257
- "type": "function"
258
- },
259
- {
260
- "inputs": [
261
- {
262
- "internalType": "address[]",
263
- "name": "markets",
264
- "type": "address[]"
265
- }
266
- ],
267
- "name": "setFees",
268
- "outputs": [],
269
- "stateMutability": "nonpayable",
270
- "type": "function"
271
- },
272
- {
273
- "inputs": [
274
- {
275
- "internalType": "address",
276
- "name": "_setter",
277
- "type": "address"
278
- }
279
- ],
280
- "name": "setSetter",
281
- "outputs": [],
282
- "stateMutability": "nonpayable",
283
- "type": "function"
284
- },
285
- {
286
- "inputs": [],
287
- "name": "setter",
288
- "outputs": [
289
- {
290
- "internalType": "address",
291
- "name": "",
292
- "type": "address"
293
- }
294
- ],
295
- "stateMutability": "view",
296
- "type": "function"
297
- },
298
- {
299
- "inputs": [
300
- {
301
- "internalType": "address",
302
- "name": "newOwner",
303
- "type": "address"
304
- },
305
- {
306
- "internalType": "bool",
307
- "name": "direct",
308
- "type": "bool"
309
- },
310
- {
311
- "internalType": "bool",
312
- "name": "renounce",
313
- "type": "bool"
314
- }
315
- ],
316
- "name": "transferOwnership",
317
- "outputs": [],
318
- "stateMutability": "nonpayable",
319
- "type": "function"
320
- }
321
- ],
322
- "bytecode": "0x60e060405234801561000f575f5ffd5b5060405161238f38038061238f83398101604081905261002e9161013a565b610036610053565b6001600160a01b0392831660805290821660a0521660c05261017a565b600154600160a81b900460ff16156100c15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff9081161461011d576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b0381168114610135575f5ffd5b919050565b5f5f5f6060848603121561014c575f5ffd5b6101558461011f565b92506101636020850161011f565b91506101716040850161011f565b90509250925092565b60805160a05160c0516121c16101ce5f395f8181610138015261080401525f81816101af015281816107570152610d1201525f81816102250152818161068a01528181610bba0152610ed001526121c15ff3fe608060405234801561000f575f5ffd5b50600436106100c3575f3560e01c8063078dfbe7146100c75780633758361b146100dc5780633f3108f7146100ef5780634e71e0c8146101185780636de6ad0b146101205780637a36fd94146101335780638da5cb5b1461015a578063ad0d913c1461016c578063cb6b449e14610197578063df699830146101aa578063e30c3978146101d1578063e81a184f146101e4578063e9a4213c146101fe578063f887ea4014610220578063f99aa03d14610247575b5f5ffd5b6100da6100d5366004611aca565b61025a565b005b6100da6100ea366004611b9b565b61035c565b603354610102906001600160a01b031681565b60405161010f9190611c39565b60405180910390f35b6100da61089a565b6100da61012e366004611c63565b610942565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b5f54610102906001600160a01b031681565b60325461017f906001600160801b031681565b6040516001600160801b03909116815260200161010f565b6100da6101a5366004611c9c565b610a78565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b600154610102906001600160a01b031681565b60325461017f90600160801b90046001600160801b031681565b61021161020c366004611b9b565b610aaf565b60405161010f93929190611d07565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b6100da610255366004611d3f565b610dde565b5f546001600160a01b0316331461028c5760405162461bcd60e51b815260040161028390611d5a565b60405180910390fd5b811561033a576001600160a01b0383161515806102a65750805b6102ea5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610283565b5f80546040516001600160a01b03808716939216915f51602061216c5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6033546001600160a01b031633148061037e57505f546001600160a01b031633145b6103c05760405162461bcd60e51b81526020600482015260136024820152723737ba1039b2ba3a32b91037b91037bbb732b960691b6044820152606401610283565b80515f6103ce826001611da3565b6001600160401b038111156103e5576103e5611b0c565b60405190808252806020026020018201604052801561043157816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816104035790505b5090505f826001600160401b0381111561044d5761044d611b0c565b604051908082528060200260200182016040528015610476578160200160208202803683370190505b5090505f836001600160401b0381111561049257610492611b0c565b6040519080825280602002602001820160405280156104bb578160200160208202803683370190505b506032549091506001600160801b0380821691600160801b9004165f5b86811015610754575f8882815181106104f3576104f3611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610536573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055a9190611dca565b925050505f5f61058486868d878151811061057757610577611db6565b6020026020010151610e50565b915091508288858151811061059b5761059b611db6565b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106105ce576105ce611db6565b6020026020010181815250508a84815181106105ec576105ec611db6565b60200260200101516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106539190611e1f565b89858151811061066557610665611db6565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008b85815181106106bb576106bb611db6565b60200260200101516106cc84610ff0565b6040516001600160a01b0393841660248201529290911660448301526001600160501b0316606482015260840160408051601f198184030181529190526020810180516001600160e01b031663c821db0d60e01b17905289518a908690811061073757610737611db6565b6020026020010151604001819052505050508060010190506104d8565b507f000000000000000000000000000000000000000000000000000000000000000085878151811061078857610788611db6565b60209081029190910101516001600160a01b0390911690526040516107b590859085905f90602401611e3a565b60408051601f198184030181529190526020810180516001600160e01b031663097cf58b60e41b17905285518690889081106107f3576107f3611db6565b6020026020010151604001819052507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45ce972866040518263ffffffff1660e01b815260040161084e9190611ec6565b5f604051808303815f875af1158015610869573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108909190810190611f6b565b5050505050505050565b6001546001600160a01b03163381146108f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610283565b5f80546040516001600160a01b03808516939216915f51602061216c5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff1615808015610968575060018054600160a01b900460ff16105b806109885750303b158015610988575060018054600160a01b900460ff16145b6109eb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610283565b6001805460ff60a01b1916600160a01b1790558015610a18576001805460ff60a81b1916600160a81b1790555b610a2184611008565b610a2b8383611096565b8015610a72576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b5f546001600160a01b03163314610aa15760405162461bcd60e51b815260040161028390611d5a565b610aab8282611096565b5050565b60608060605f84519050806001600160401b03811115610ad157610ad1611b0c565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b509350806001600160401b03811115610b1557610b15611b0c565b604051908082528060200260200182016040528015610b3e578160200160208202803683370190505b509250806001600160401b03811115610b5957610b59611b0c565b604051908082528060200260200182016040528015610b82578160200160208202803683370190505b5091505f5b81811015610dd5575f868281518110610ba257610ba2611db6565b60200260200101516001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610bf59190611c39565b61012060405180830381865afa158015610c11573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c359190612070565b90508060c00151868381518110610c4e57610c4e611db6565b602002602001018181525050806101000151848381518110610c7257610c72611db6565b6020026020010181815250505f878381518110610c9157610c91611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610cd4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf89190611dca565b604051632545e4bd60e01b81529093506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632545e4bd9150610d49908490600401611c39565b602060405180830381865afa925050508015610d82575060408051601f3d908101601f19168201909252610d7f918101906120f0565b60015b610daa575f868481518110610d9957610d99611db6565b602002602001018181525050610dcb565b80878581518110610dbd57610dbd611db6565b602002602001018181525050505b5050600101610b87565b50509193909250565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161028390611d5a565b603380546001600160a01b0319166001600160a01b0383169081179091556040517fef4137533708c1185e7c87a07e24a517f3e36549552a38f4b989ecda65ee6625905f90a250565b5f5f5f836001600160a01b031663e4f8b2e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190612107565b6001600160501b031690505f846001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f0b9190611c39565b61012060405180830381865afa158015610f27573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612070565b90505f610f6c610f67610f628461010001516110ef565b611103565b611514565b90505f670de0b6b3a7640000610f8c8a610f86838661212d565b90611521565b610f969190611da3565b90505f610fad610f67610fa8846110ef565b611542565b9050610fb985826115d2565b9650610fd6610fc8888b611521565b66ad566553da1bc3906115d2565b9550848703610fe3575f96505b5050505050935093915050565b5f6001600160501b03821115611004575f5ffd5b5090565b600154600160a81b900460ff166110755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610283565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160801b03828116600160801b91831691820281176032556040805191825260208201929092527f7fae094c28df65ca0db0d359049ee267753fb7799293d619bbbc97c42c5496cc910160405180910390a15050565b5f6001600160ff1b03821115611004575f5ffd5b5f680238fd42c5cf03ffff198212158015611127575068070c1cc73b00c800008213155b6111665760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610283565b5f82121561119c57611179825f03611103565b6a0c097ce7bc90715b34b9f160241b8161119557611195612140565b0592915050565b5f6806f05b59d3b200000083126111d957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61120f565b6803782dace9d9000000831261120b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061120f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261125f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261129b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126112d557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261130f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261134857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126113815768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126113ba576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126113f35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b5f5f821215611004575f5ffd5b5f8061152d8385612154565b670de0b6b3a764000090049150505b92915050565b5f5f82136115825760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610283565b670c7d713b49da0000821380156115a05750670f43fc2c04ee000082125b156115c457670de0b6b3a76400006115b7836115e9565b8161119557611195612140565b61153c82611706565b919050565b5f8183106115e057816115e2565b825b9392505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161162957611629612140565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a76400008212156117455761173d826a0c097ce7bc90715b34b9f160241b8161173757611737612140565b05611706565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b831261178f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126117c6576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261180e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611849576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261188057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126118b757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118ec5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261191757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261194c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611981576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126119b5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126119e9576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d631000008086030281611a1157611a11612140565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114611ab8575f5ffd5b50565b803580151581146115cd575f5ffd5b5f5f5f60608486031215611adc575f5ffd5b8335611ae781611aa4565b9250611af560208501611abb565b9150611b0360408501611abb565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715611b4357611b43611b0c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611b7157611b71611b0c565b604052919050565b5f6001600160401b03821115611b9157611b91611b0c565b5060051b60200190565b5f60208284031215611bab575f5ffd5b81356001600160401b03811115611bc0575f5ffd5b8201601f81018413611bd0575f5ffd5b8035611be3611bde82611b79565b611b49565b8082825260208201915060208360051b850101925086831115611c04575f5ffd5b6020840193505b82841015611c2f578335611c1e81611aa4565b825260209384019390910190611c0b565b9695505050505050565b6001600160a01b0391909116815260200190565b80356001600160801b03811681146115cd575f5ffd5b5f5f5f60608486031215611c75575f5ffd5b8335611c8081611aa4565b9250611c8e60208501611c4d565b9150611b0360408501611c4d565b5f5f60408385031215611cad575f5ffd5b611cb683611c4d565b9150611cc460208401611c4d565b90509250929050565b5f8151808452602084019350602083015f5b82811015611cfd578151865260209586019590910190600101611cdf565b5093949350505050565b606081525f611d196060830186611ccd565b8281036020840152611d2b8186611ccd565b90508281036040840152611c2f8185611ccd565b5f60208284031215611d4f575f5ffd5b81356115e281611aa4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561153c5761153c611d8f565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215611ddc575f5ffd5b8351611de781611aa4565b6020850151909350611df881611aa4565b6040850151909250611e0981611aa4565b809150509250925092565b80516115cd81611aa4565b5f60208284031215611e2f575f5ffd5b81516115e281611aa4565b606080825284519082018190525f9060208601906080840190835b81811015611e7c5783516001600160a01b0316835260209384019390920191600101611e55565b50508381036020850152611e908187611ccd565b925050508215156040830152949350505050565b5f5b83811015611ebe578181015183820152602001611ea6565b50505f910152565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611f5f57603f19878603018452815160018060a01b0381511686526020810151602087015260408101519050606060408701528051806060880152611f3c816080890160208501611ea4565b601f01601f19169590950160800194506020938401939190910190600101611eec565b50929695505050505050565b5f60208284031215611f7b575f5ffd5b81516001600160401b03811115611f90575f5ffd5b8201601f81018413611fa0575f5ffd5b8051611fae611bde82611b79565b8082825260208201915060208360051b850101925086831115611fcf575f5ffd5b602084015b838110156120655780516001600160401b03811115611ff1575f5ffd5b8501603f81018913612001575f5ffd5b60208101516001600160401b0381111561201d5761201d611b0c565b612030601f8201601f1916602001611b49565b8181526040838301018b1015612044575f5ffd5b612055826020830160408601611ea4565b8552505060209283019201611fd4565b509695505050505050565b5f610120828403128015612082575f5ffd5b5061208b611b20565b8251815260208084015190820152604080840151908201526120af60608401611e14565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100928301519281019290925250919050565b5f60208284031215612100575f5ffd5b5051919050565b5f60208284031215612117575f5ffd5b81516001600160501b03811681146115e2575f5ffd5b8181038181111561153c5761153c611d8f565b634e487b7160e01b5f52601260045260245ffd5b808202811582820484141761153c5761153c611d8f56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122026d2baff0703dd7927e4aeb82b4361ff81c7a9f66e8a761170c8358630f257ed64736f6c634300081e0033",
323
- "deployedBytecode": "0x608060405234801561000f575f5ffd5b50600436106100c3575f3560e01c8063078dfbe7146100c75780633758361b146100dc5780633f3108f7146100ef5780634e71e0c8146101185780636de6ad0b146101205780637a36fd94146101335780638da5cb5b1461015a578063ad0d913c1461016c578063cb6b449e14610197578063df699830146101aa578063e30c3978146101d1578063e81a184f146101e4578063e9a4213c146101fe578063f887ea4014610220578063f99aa03d14610247575b5f5ffd5b6100da6100d5366004611aca565b61025a565b005b6100da6100ea366004611b9b565b61035c565b603354610102906001600160a01b031681565b60405161010f9190611c39565b60405180910390f35b6100da61089a565b6100da61012e366004611c63565b610942565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b5f54610102906001600160a01b031681565b60325461017f906001600160801b031681565b6040516001600160801b03909116815260200161010f565b6100da6101a5366004611c9c565b610a78565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b600154610102906001600160a01b031681565b60325461017f90600160801b90046001600160801b031681565b61021161020c366004611b9b565b610aaf565b60405161010f93929190611d07565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b6100da610255366004611d3f565b610dde565b5f546001600160a01b0316331461028c5760405162461bcd60e51b815260040161028390611d5a565b60405180910390fd5b811561033a576001600160a01b0383161515806102a65750805b6102ea5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610283565b5f80546040516001600160a01b03808716939216915f51602061216c5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6033546001600160a01b031633148061037e57505f546001600160a01b031633145b6103c05760405162461bcd60e51b81526020600482015260136024820152723737ba1039b2ba3a32b91037b91037bbb732b960691b6044820152606401610283565b80515f6103ce826001611da3565b6001600160401b038111156103e5576103e5611b0c565b60405190808252806020026020018201604052801561043157816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816104035790505b5090505f826001600160401b0381111561044d5761044d611b0c565b604051908082528060200260200182016040528015610476578160200160208202803683370190505b5090505f836001600160401b0381111561049257610492611b0c565b6040519080825280602002602001820160405280156104bb578160200160208202803683370190505b506032549091506001600160801b0380821691600160801b9004165f5b86811015610754575f8882815181106104f3576104f3611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610536573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055a9190611dca565b925050505f5f61058486868d878151811061057757610577611db6565b6020026020010151610e50565b915091508288858151811061059b5761059b611db6565b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106105ce576105ce611db6565b6020026020010181815250508a84815181106105ec576105ec611db6565b60200260200101516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106539190611e1f565b89858151811061066557610665611db6565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008b85815181106106bb576106bb611db6565b60200260200101516106cc84610ff0565b6040516001600160a01b0393841660248201529290911660448301526001600160501b0316606482015260840160408051601f198184030181529190526020810180516001600160e01b031663c821db0d60e01b17905289518a908690811061073757610737611db6565b6020026020010151604001819052505050508060010190506104d8565b507f000000000000000000000000000000000000000000000000000000000000000085878151811061078857610788611db6565b60209081029190910101516001600160a01b0390911690526040516107b590859085905f90602401611e3a565b60408051601f198184030181529190526020810180516001600160e01b031663097cf58b60e41b17905285518690889081106107f3576107f3611db6565b6020026020010151604001819052507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45ce972866040518263ffffffff1660e01b815260040161084e9190611ec6565b5f604051808303815f875af1158015610869573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108909190810190611f6b565b5050505050505050565b6001546001600160a01b03163381146108f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610283565b5f80546040516001600160a01b03808516939216915f51602061216c5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff1615808015610968575060018054600160a01b900460ff16105b806109885750303b158015610988575060018054600160a01b900460ff16145b6109eb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610283565b6001805460ff60a01b1916600160a01b1790558015610a18576001805460ff60a81b1916600160a81b1790555b610a2184611008565b610a2b8383611096565b8015610a72576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b5f546001600160a01b03163314610aa15760405162461bcd60e51b815260040161028390611d5a565b610aab8282611096565b5050565b60608060605f84519050806001600160401b03811115610ad157610ad1611b0c565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b509350806001600160401b03811115610b1557610b15611b0c565b604051908082528060200260200182016040528015610b3e578160200160208202803683370190505b509250806001600160401b03811115610b5957610b59611b0c565b604051908082528060200260200182016040528015610b82578160200160208202803683370190505b5091505f5b81811015610dd5575f868281518110610ba257610ba2611db6565b60200260200101516001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610bf59190611c39565b61012060405180830381865afa158015610c11573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c359190612070565b90508060c00151868381518110610c4e57610c4e611db6565b602002602001018181525050806101000151848381518110610c7257610c72611db6565b6020026020010181815250505f878381518110610c9157610c91611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610cd4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf89190611dca565b604051632545e4bd60e01b81529093506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632545e4bd9150610d49908490600401611c39565b602060405180830381865afa925050508015610d82575060408051601f3d908101601f19168201909252610d7f918101906120f0565b60015b610daa575f868481518110610d9957610d99611db6565b602002602001018181525050610dcb565b80878581518110610dbd57610dbd611db6565b602002602001018181525050505b5050600101610b87565b50509193909250565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161028390611d5a565b603380546001600160a01b0319166001600160a01b0383169081179091556040517fef4137533708c1185e7c87a07e24a517f3e36549552a38f4b989ecda65ee6625905f90a250565b5f5f5f836001600160a01b031663e4f8b2e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190612107565b6001600160501b031690505f846001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f0b9190611c39565b61012060405180830381865afa158015610f27573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612070565b90505f610f6c610f67610f628461010001516110ef565b611103565b611514565b90505f670de0b6b3a7640000610f8c8a610f86838661212d565b90611521565b610f969190611da3565b90505f610fad610f67610fa8846110ef565b611542565b9050610fb985826115d2565b9650610fd6610fc8888b611521565b66ad566553da1bc3906115d2565b9550848703610fe3575f96505b5050505050935093915050565b5f6001600160501b03821115611004575f5ffd5b5090565b600154600160a81b900460ff166110755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610283565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160801b03828116600160801b91831691820281176032556040805191825260208201929092527f7fae094c28df65ca0db0d359049ee267753fb7799293d619bbbc97c42c5496cc910160405180910390a15050565b5f6001600160ff1b03821115611004575f5ffd5b5f680238fd42c5cf03ffff198212158015611127575068070c1cc73b00c800008213155b6111665760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610283565b5f82121561119c57611179825f03611103565b6a0c097ce7bc90715b34b9f160241b8161119557611195612140565b0592915050565b5f6806f05b59d3b200000083126111d957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61120f565b6803782dace9d9000000831261120b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061120f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261125f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261129b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126112d557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261130f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261134857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126113815768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126113ba576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126113f35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b5f5f821215611004575f5ffd5b5f8061152d8385612154565b670de0b6b3a764000090049150505b92915050565b5f5f82136115825760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610283565b670c7d713b49da0000821380156115a05750670f43fc2c04ee000082125b156115c457670de0b6b3a76400006115b7836115e9565b8161119557611195612140565b61153c82611706565b919050565b5f8183106115e057816115e2565b825b9392505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161162957611629612140565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a76400008212156117455761173d826a0c097ce7bc90715b34b9f160241b8161173757611737612140565b05611706565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b831261178f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126117c6576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261180e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611849576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261188057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126118b757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118ec5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261191757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261194c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611981576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126119b5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126119e9576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d631000008086030281611a1157611a11612140565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114611ab8575f5ffd5b50565b803580151581146115cd575f5ffd5b5f5f5f60608486031215611adc575f5ffd5b8335611ae781611aa4565b9250611af560208501611abb565b9150611b0360408501611abb565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715611b4357611b43611b0c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611b7157611b71611b0c565b604052919050565b5f6001600160401b03821115611b9157611b91611b0c565b5060051b60200190565b5f60208284031215611bab575f5ffd5b81356001600160401b03811115611bc0575f5ffd5b8201601f81018413611bd0575f5ffd5b8035611be3611bde82611b79565b611b49565b8082825260208201915060208360051b850101925086831115611c04575f5ffd5b6020840193505b82841015611c2f578335611c1e81611aa4565b825260209384019390910190611c0b565b9695505050505050565b6001600160a01b0391909116815260200190565b80356001600160801b03811681146115cd575f5ffd5b5f5f5f60608486031215611c75575f5ffd5b8335611c8081611aa4565b9250611c8e60208501611c4d565b9150611b0360408501611c4d565b5f5f60408385031215611cad575f5ffd5b611cb683611c4d565b9150611cc460208401611c4d565b90509250929050565b5f8151808452602084019350602083015f5b82811015611cfd578151865260209586019590910190600101611cdf565b5093949350505050565b606081525f611d196060830186611ccd565b8281036020840152611d2b8186611ccd565b90508281036040840152611c2f8185611ccd565b5f60208284031215611d4f575f5ffd5b81356115e281611aa4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561153c5761153c611d8f565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215611ddc575f5ffd5b8351611de781611aa4565b6020850151909350611df881611aa4565b6040850151909250611e0981611aa4565b809150509250925092565b80516115cd81611aa4565b5f60208284031215611e2f575f5ffd5b81516115e281611aa4565b606080825284519082018190525f9060208601906080840190835b81811015611e7c5783516001600160a01b0316835260209384019390920191600101611e55565b50508381036020850152611e908187611ccd565b925050508215156040830152949350505050565b5f5b83811015611ebe578181015183820152602001611ea6565b50505f910152565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611f5f57603f19878603018452815160018060a01b0381511686526020810151602087015260408101519050606060408701528051806060880152611f3c816080890160208501611ea4565b601f01601f19169590950160800194506020938401939190910190600101611eec565b50929695505050505050565b5f60208284031215611f7b575f5ffd5b81516001600160401b03811115611f90575f5ffd5b8201601f81018413611fa0575f5ffd5b8051611fae611bde82611b79565b8082825260208201915060208360051b850101925086831115611fcf575f5ffd5b602084015b838110156120655780516001600160401b03811115611ff1575f5ffd5b8501603f81018913612001575f5ffd5b60208101516001600160401b0381111561201d5761201d611b0c565b612030601f8201601f1916602001611b49565b8181526040838301018b1015612044575f5ffd5b612055826020830160408601611ea4565b8552505060209283019201611fd4565b509695505050505050565b5f610120828403128015612082575f5ffd5b5061208b611b20565b8251815260208084015190820152604080840151908201526120af60608401611e14565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100928301519281019290925250919050565b5f60208284031215612100575f5ffd5b5051919050565b5f60208284031215612117575f5ffd5b81516001600160501b03811681146115e2575f5ffd5b8181038181111561153c5761153c611d8f565b634e487b7160e01b5f52601260045260245ffd5b808202811582820484141761153c5761153c611d8f56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122026d2baff0703dd7927e4aeb82b4361ff81c7a9f66e8a761170c8358630f257ed64736f6c634300081e0033",
324
- "linkReferences": {},
325
- "deployedLinkReferences": {}
326
- }
@@ -1,149 +0,0 @@
1
- // SPDX-License-Identifier: GPL-3.0-or-later
2
- pragma solidity ^0.8.0;
3
-
4
- import {IPGovernanceProxy} from "../interfaces/IPGovernanceProxy.sol";
5
- import {IPLimitRouter} from "../interfaces/IPLimitRouter.sol";
6
- import {IPMarket, MarketState} from "../interfaces/IPMarket.sol";
7
- import {IPMarketFactory} from "../interfaces/IPMarketFactory.sol";
8
- import {IPYieldToken} from "../interfaces/IPYieldToken.sol";
9
-
10
- import {BoringOwnableUpgradeableV2} from "../core/libraries/BoringOwnableUpgradeableV2.sol";
11
- import {Errors} from "../core/libraries/Errors.sol";
12
- import {LogExpMath} from "../core/libraries/math/LogExpMath.sol";
13
- import {PMath} from "../core/libraries/math/PMath.sol";
14
-
15
- contract PendleFeeSetter is BoringOwnableUpgradeableV2 {
16
- using PMath for uint256;
17
- using PMath for int256;
18
- using LogExpMath for int256;
19
-
20
- event FeeFactorSet(uint128 impliedRateToFeeFactor, uint128 routerLnFeeToLimitLnFeeFactor);
21
- event SetterSet(address indexed setter);
22
-
23
- uint256 internal constant LIMIT_MAX_LN_FEE_RATE_ROOT = 48_790_164_169_432_003; // ln(1.05)
24
-
25
- address public immutable router;
26
- IPLimitRouter public immutable limitRouter;
27
- IPGovernanceProxy public immutable govProxy;
28
-
29
- uint128 public impliedRateToFeeFactor;
30
- uint128 public routerLnFeeToLimitLnFeeFactor;
31
- address public setter;
32
-
33
- modifier onlyOwnerOrSetter() {
34
- require(msg.sender == setter || msg.sender == owner, "not setter or owner");
35
- _;
36
- }
37
-
38
- constructor(address _router, address _limitRouter, address _govProxy) {
39
- _disableInitializers();
40
- router = _router;
41
- limitRouter = IPLimitRouter(_limitRouter);
42
- govProxy = IPGovernanceProxy(_govProxy);
43
- }
44
-
45
- function initialize(address _owner, uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor)
46
- external
47
- initializer
48
- {
49
- __BoringOwnableV2_init(_owner);
50
- _setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
51
- }
52
-
53
- function setFees(address[] memory markets) external onlyOwnerOrSetter {
54
- uint256 n = markets.length;
55
-
56
- IPGovernanceProxy.Call[] memory calls = new IPGovernanceProxy.Call[](n + 1);
57
-
58
- address[] memory YTs = new address[](n);
59
- uint256[] memory limitLnFeeRateRoots = new uint256[](n);
60
-
61
- uint256 _impliedRateToFeeFactor = impliedRateToFeeFactor;
62
- uint256 _routerLnFeeToLimitLnFeeFactor = routerLnFeeToLimitLnFeeFactor;
63
- for (uint256 i = 0; i < n; ++i) {
64
- (,, IPYieldToken yt) = IPMarket(markets[i]).readTokens();
65
- (uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot) =
66
- _calcFee(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor, markets[i]);
67
-
68
- YTs[i] = address(yt);
69
- limitLnFeeRateRoots[i] = limitLnFeeRateRoot;
70
-
71
- calls[i].target = IPMarket(markets[i]).factory();
72
- calls[i].callData =
73
- abi.encodeCall(IPMarketFactory.setOverriddenFee, (router, markets[i], routerLnFeeRateRoot.Uint80()));
74
- }
75
-
76
- calls[n].target = address(limitRouter);
77
- calls[n].callData = abi.encodeCall(
78
- IPLimitRouter.setLnFeeRateRoots, (YTs, limitLnFeeRateRoots, /* allowZeroFees */ false)
79
- );
80
-
81
- govProxy.aggregateWithScopedAccess(calls);
82
- }
83
-
84
- function _calcFee(uint256 _impliedRateToFeeFactor, uint256 _routerLnFeeToLimitLnFeeFactor, address market)
85
- internal
86
- view
87
- returns (uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot)
88
- {
89
- uint256 marketLnFee = IPMarket(market).getNonOverrideLnFeeRateRoot();
90
- MarketState memory state = IPMarket(market).readState(router);
91
- uint256 impliedRate = state.lastLnImpliedRate.Int().exp().Uint();
92
-
93
- uint256 newFee = (impliedRate - PMath.ONE).mulDown(_impliedRateToFeeFactor) + PMath.ONE;
94
- uint256 newLnFeeRateRoot = newFee.Int().ln().Uint();
95
-
96
- routerLnFeeRateRoot = marketLnFee.min(newLnFeeRateRoot);
97
- limitLnFeeRateRoot = LIMIT_MAX_LN_FEE_RATE_ROOT.min(routerLnFeeRateRoot.mulDown(_routerLnFeeToLimitLnFeeFactor));
98
-
99
- // Fix up `routerLnFeeRateRoot` for this case:
100
- // https://github.com/pendle-finance/pendle-core-v2/blob/6169376d0a8c12030307e3d64d02e84b07ffe4f9/contracts/core/Market/v3/PendleMarketFactoryV3.sol#L131-L135
101
- if (routerLnFeeRateRoot == marketLnFee) routerLnFeeRateRoot = 0;
102
- }
103
-
104
- function readFeesAndImpliedRate(address[] memory markets)
105
- external
106
- view
107
- returns (
108
- uint256[] memory routerLnFeeRateRoots,
109
- uint256[] memory limitLnFeeRateRoots,
110
- uint256[] memory lnImpliedRates
111
- )
112
- {
113
- uint256 n = markets.length;
114
- routerLnFeeRateRoots = new uint256[](n);
115
- limitLnFeeRateRoots = new uint256[](n);
116
- lnImpliedRates = new uint256[](n);
117
-
118
- for (uint256 i = 0; i < n; ++i) {
119
- MarketState memory state = IPMarket(markets[i]).readState(router);
120
- routerLnFeeRateRoots[i] = state.lnFeeRateRoot;
121
- lnImpliedRates[i] = state.lastLnImpliedRate;
122
-
123
- (,, IPYieldToken yt) = IPMarket(markets[i]).readTokens();
124
- try limitRouter.getLnFeeRateRoot(address(yt)) returns (uint256 _fee) {
125
- limitLnFeeRateRoots[i] = _fee;
126
- } catch {
127
- limitLnFeeRateRoots[i] = 0;
128
- }
129
- }
130
- }
131
-
132
- // ============================== Admin functions ==============================
133
-
134
- function setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) external onlyOwner {
135
- _setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
136
- }
137
-
138
- function _setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) internal {
139
- impliedRateToFeeFactor = _impliedRateToFeeFactor;
140
- routerLnFeeToLimitLnFeeFactor = _routerLnFeeToLimitLnFeeFactor;
141
-
142
- emit FeeFactorSet(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
143
- }
144
-
145
- function setSetter(address _setter) external onlyOwner {
146
- setter = _setter;
147
- emit SetterSet(setter);
148
- }
149
- }