@pendle/core-v2 6.3.0 → 6.3.1

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 (610) 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/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  37. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +2 -2
  42. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  44. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  48. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  50. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  52. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  53. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  54. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  56. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.json +2 -2
  58. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
  60. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
  61. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
  62. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
  64. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
  65. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
  66. package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
  67. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
  68. package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +18 -2
  69. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  73. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  74. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  76. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  77. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  78. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  79. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  80. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
  81. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +2 -2
  82. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  83. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  84. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
  85. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
  86. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
  87. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  88. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  89. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  90. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  91. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  92. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  93. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  94. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  95. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  96. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  98. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  99. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  100. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  106. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  115. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +135 -0
  124. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +42 -0
  138. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  140. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +13 -0
  141. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  169. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  170. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  171. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  172. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  173. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  174. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  175. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  176. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  177. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  178. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  179. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  180. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  181. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  182. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  183. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  184. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  185. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  186. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  187. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  188. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  189. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  190. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  191. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  192. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  193. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  194. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  195. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  196. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  197. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  198. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  199. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  200. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  201. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  202. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  203. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +4 -0
  204. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +326 -0
  205. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  206. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  207. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  208. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  209. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  210. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  211. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  212. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  213. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  214. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  215. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  216. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  217. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  218. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  219. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  220. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  221. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  222. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  223. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  224. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  227. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  229. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  230. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  231. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  237. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  238. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  239. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  240. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  241. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  243. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  244. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  245. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  246. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  247. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  248. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  249. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  250. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  251. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  252. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  253. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  254. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  255. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  256. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  257. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +13 -13
  258. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  259. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +150 -12
  260. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  261. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  262. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  263. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  264. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  265. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  266. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  267. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  268. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  269. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  270. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  271. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  272. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  273. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  274. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  275. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  276. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  277. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  278. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  279. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  280. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  281. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  282. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  283. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  284. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  285. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  286. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  287. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  288. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  289. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  290. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  291. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  292. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  293. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  294. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  295. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  296. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  297. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  298. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  299. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  300. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  301. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  302. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  303. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  304. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  305. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  306. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  307. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  308. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  309. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  310. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  311. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  312. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  313. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  314. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  315. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  316. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  317. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  318. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  319. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  320. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  321. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  322. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  323. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  324. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  325. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  326. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  327. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  328. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  329. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  330. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  331. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  332. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.json +171 -0
  333. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  334. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  335. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  336. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  337. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  338. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  339. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  340. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  341. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +15 -17
  342. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +1 -1
  343. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +14 -16
  344. package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +2 -3
  345. package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +9 -12
  346. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +12 -12
  347. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +8 -10
  348. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -12
  349. package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +4 -11
  350. package/contracts/LiquidityMining/PendleMerkleDistributor.sol +11 -13
  351. package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +17 -22
  352. package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +21 -28
  353. package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +31 -27
  354. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +19 -23
  355. package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +7 -8
  356. package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +6 -5
  357. package/contracts/core/Market/MarketMathCore.sol +78 -112
  358. package/contracts/core/Market/OracleLib.sol +34 -41
  359. package/contracts/core/Market/PendleGauge.sol +8 -8
  360. package/contracts/core/Market/PendleMarketFactoryV6Upg.sol +19 -16
  361. package/contracts/core/Market/PendleMarketV6.sol +63 -65
  362. package/contracts/core/RewardManager/RewardManager.sol +8 -8
  363. package/contracts/core/RewardManager/RewardManagerAbstract.sol +6 -5
  364. package/contracts/core/StandardizedYield/PYIndex.sol +2 -2
  365. package/contracts/core/YieldContracts/InterestManagerYT.sol +8 -9
  366. package/contracts/core/YieldContracts/PendlePrincipalToken.sol +4 -8
  367. package/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol +15 -12
  368. package/contracts/core/YieldContracts/PendleYieldToken.sol +54 -41
  369. package/contracts/core/erc20/PendleERC20.sol +9 -6
  370. package/contracts/core/libraries/ArrayLib.sol +11 -13
  371. package/contracts/core/libraries/BaseSplitCodeFactory.sol +22 -29
  372. package/contracts/core/libraries/BoringOwnableUpgradeableV2.sol +2 -1
  373. package/contracts/core/libraries/Errors.sol +2 -4
  374. package/contracts/core/libraries/ExpiryUtilsLib.sol +10 -10
  375. package/contracts/core/libraries/StringLib.sol +13 -13
  376. package/contracts/core/libraries/TokenHelper.sol +3 -3
  377. package/contracts/core/libraries/math/LogExpMath.sol +77 -67
  378. package/contracts/cross-chain/FixedPricePTAMM.sol +38 -39
  379. package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +1 -1
  380. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +1 -1
  381. package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +15 -12
  382. package/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol +21 -24
  383. package/contracts/interfaces/ILayerZeroEndpoint.sol +5 -3
  384. package/contracts/interfaces/IPActionCallbackV3.sol +1 -1
  385. package/contracts/interfaces/IPActionInfoStatic.sol +1 -3
  386. package/contracts/interfaces/IPActionMarketAuxStatic.sol +11 -15
  387. package/contracts/interfaces/IPActionMarketCoreStatic.sol +58 -109
  388. package/contracts/interfaces/IPActionMintRedeemStatic.sol +21 -26
  389. package/contracts/interfaces/IPActionMiscV3.sol +24 -44
  390. package/contracts/interfaces/IPActionSimple.sol +24 -43
  391. package/contracts/interfaces/IPActionVePendleStatic.sol +4 -5
  392. package/contracts/interfaces/IPAllActionTypeV3.sol +14 -16
  393. package/contracts/interfaces/IPAllActionV3.sol +4 -4
  394. package/contracts/interfaces/IPAllEventsV3.sol +5 -21
  395. package/contracts/interfaces/IPBridgedPrincipalToken.sol +2 -2
  396. package/contracts/interfaces/IPCommonSYFactory.sol +3 -6
  397. package/contracts/interfaces/IPExchangeRateOracleApp.sol +44 -17
  398. package/contracts/interfaces/IPFeeDistributorV2.sol +13 -16
  399. package/contracts/interfaces/IPFixedPricePTAMM.sol +22 -34
  400. package/contracts/interfaces/IPGovernanceProxy.sol +2 -6
  401. package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -3
  402. package/contracts/interfaces/IPLimitRouter.sol +16 -16
  403. package/contracts/interfaces/IPMarket.sol +25 -35
  404. package/contracts/interfaces/IPMarketFactory.sol +9 -16
  405. package/contracts/interfaces/IPMerkleDistributor.sol +6 -10
  406. package/contracts/interfaces/IPMsgSendEndpoint.sol +7 -12
  407. package/contracts/interfaces/IPMultiTokenMerkleDistributor.sol +6 -12
  408. package/contracts/interfaces/IPPYLpOracle.sol +1 -4
  409. package/contracts/interfaces/IPRouterStatic.sol +3 -3
  410. package/contracts/interfaces/IPVotingController.sol +4 -4
  411. package/contracts/interfaces/IPVotingEscrowMainchain.sol +1 -1
  412. package/contracts/interfaces/IPYieldContractFactory.sol +3 -5
  413. package/contracts/interfaces/IPYieldToken.sol +8 -11
  414. package/contracts/interfaces/IPYieldTokenV2.sol +8 -11
  415. package/contracts/interfaces/IStandardizedYield.sol +16 -17
  416. package/contracts/limit/LimitMathCore.sol +38 -56
  417. package/contracts/limit/LimitRouterBase.sol +66 -88
  418. package/contracts/limit/PendleLimitRouter.sol +11 -7
  419. package/contracts/offchain-helpers/AddressProvider.sol +1 -1
  420. package/contracts/offchain-helpers/AutomateReady.sol +2 -2
  421. package/contracts/offchain-helpers/BalanceReader.sol +21 -9
  422. package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +5 -7
  423. package/contracts/offchain-helpers/Broadcaster.sol +3 -3
  424. package/contracts/offchain-helpers/BytesLib.sol +3 -5
  425. package/contracts/offchain-helpers/EmptyUUPS.sol +2 -2
  426. package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +5 -8
  427. package/contracts/offchain-helpers/LegacyNFTHelper.sol +1 -5
  428. package/contracts/offchain-helpers/LimitBackendHelperV2.sol +12 -12
  429. package/contracts/offchain-helpers/Multicall2.sol +9 -7
  430. package/contracts/offchain-helpers/PendleExchangeRateOracle.sol +4 -8
  431. package/contracts/offchain-helpers/PendleFeeSetter.sol +149 -0
  432. package/contracts/offchain-helpers/PendleGovernanceProxy.sol +7 -10
  433. package/contracts/offchain-helpers/PendleLPWrapper.sol +12 -3
  434. package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +2 -2
  435. package/contracts/offchain-helpers/PendleMulticallV1.sol +7 -7
  436. package/contracts/offchain-helpers/PendleMulticallV2.sol +13 -12
  437. package/contracts/offchain-helpers/PendleOffchainStorage.sol +1 -1
  438. package/contracts/offchain-helpers/PendleWstETHPriceFeed.sol +4 -2
  439. package/contracts/offchain-helpers/SimulateHelper.sol +7 -6
  440. package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +13 -32
  441. package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +7 -11
  442. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +16 -35
  443. package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +15 -35
  444. package/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol +12 -13
  445. package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +1 -4
  446. package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
  447. package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +12 -9
  448. package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +60 -91
  449. package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +103 -190
  450. package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +26 -26
  451. package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +3 -3
  452. package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +8 -10
  453. package/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol +100 -40
  454. package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +18 -9
  455. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +118 -52
  456. package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +2 -3
  457. package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +12 -12
  458. package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +17 -20
  459. package/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol +15 -19
  460. package/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol +7 -6
  461. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +13 -9
  462. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +20 -21
  463. package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +4 -7
  464. package/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol +2 -2
  465. package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol +13 -10
  466. package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol +13 -10
  467. package/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol +6 -5
  468. package/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol +1 -1
  469. package/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol +3 -3
  470. package/contracts/router/ActionAddRemoveLiqV3.sol +55 -150
  471. package/contracts/router/ActionCallbackV3.sol +20 -13
  472. package/contracts/router/ActionMiscV3.sol +54 -78
  473. package/contracts/router/ActionSimple.sol +76 -128
  474. package/contracts/router/ActionSwapPTV3.sol +7 -19
  475. package/contracts/router/ActionSwapYTV3.sol +8 -20
  476. package/contracts/router/PendleRouterV4.sol +1 -1
  477. package/contracts/router/Reflector.sol +15 -21
  478. package/contracts/router/base/ActionBase.sol +61 -105
  479. package/contracts/router/base/ActionDelegateBase.sol +39 -38
  480. package/contracts/router/base/CallbackHelper.sol +21 -19
  481. package/contracts/router/math/ApproxStateLib.sol +28 -28
  482. package/contracts/router/math/MarketApproxEstimateLib.sol +11 -13
  483. package/contracts/router/math/MarketApproxLibOnchain.sol +47 -24
  484. package/contracts/router/math/MarketApproxLibV2.sol +63 -44
  485. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +191 -55
  486. package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +34 -48
  487. package/contracts/router/swap-aggregator/PendleSwap.sol +26 -28
  488. package/deployments/1-offchain-helper.json +2 -1
  489. package/deployments/10-offchain-helper.json +2 -1
  490. package/deployments/146-offchain-helper.json +2 -1
  491. package/deployments/42161-offchain-helper.json +2 -1
  492. package/deployments/5000-offchain-helper.json +2 -1
  493. package/deployments/56-offchain-helper.json +2 -1
  494. package/deployments/80094-offchain-helper.json +2 -1
  495. package/deployments/8453-offchain-helper.json +2 -1
  496. package/deployments/9745-offchain-helper.json +2 -1
  497. package/deployments/999-offchain-helper.json +2 -1
  498. package/package.json +3 -5
  499. package/typechain-types/ActionCrossChain.ts +161 -0
  500. package/typechain-types/BasePendleBridgedPrincipalToken.ts +1689 -0
  501. package/typechain-types/IOKXDexRouter.ts +99 -0
  502. package/typechain-types/IPActionCrossChain.ts +161 -0
  503. package/typechain-types/IPExchangeRateOracleApp.ts +83 -0
  504. package/typechain-types/IPLimitRouter.ts +69 -0
  505. package/typechain-types/IPMarket.ts +13 -0
  506. package/typechain-types/LimitBackendHelper.ts +287 -0
  507. package/typechain-types/PendleBridgedPrincipalToken_18Decimals.ts +1689 -0
  508. package/typechain-types/PendleBridgedPrincipalToken_6Decimals.ts +1689 -0
  509. package/typechain-types/PendleBridgedPrincipalToken_8Decimals.ts +1689 -0
  510. package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +13 -19
  511. package/typechain-types/PendleExchangeRateOracleApp.ts +73 -9
  512. package/typechain-types/PendleFeeSetter.ts +522 -0
  513. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  514. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  515. package/typechain-types/factories/ActionCrossChain__factory.ts +152 -0
  516. package/typechain-types/factories/ActionDelegateBase__factory.ts +1 -1
  517. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  518. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  519. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  520. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  521. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  522. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  523. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  524. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  525. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  526. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  527. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  528. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  529. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  530. package/typechain-types/factories/BasePendleBridgedPrincipalToken__factory.ts +1548 -0
  531. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  532. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  533. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  534. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  535. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  536. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  537. package/typechain-types/factories/Errors__factory.ts +17 -1
  538. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  539. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  540. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  541. package/typechain-types/factories/IOKXDexRouter__factory.ts +171 -0
  542. package/typechain-types/factories/{IMarketSweed__factory.ts → IPActionCrossChain__factory.ts} +22 -61
  543. package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +135 -0
  544. package/typechain-types/factories/IPLimitRouter__factory.ts +42 -0
  545. package/typechain-types/factories/IPMarket__factory.ts +13 -0
  546. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  547. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  548. package/typechain-types/factories/LimitBackendHelper__factory.ts +232 -0
  549. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  550. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  551. package/typechain-types/factories/OverfillMathLib__factory.ts +1 -1
  552. package/typechain-types/factories/PendleBridgedPrincipalToken_18Decimals__factory.ts +1652 -0
  553. package/typechain-types/factories/PendleBridgedPrincipalToken_6Decimals__factory.ts +1650 -0
  554. package/typechain-types/factories/PendleBridgedPrincipalToken_8Decimals__factory.ts +1650 -0
  555. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1 -1
  556. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  557. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  558. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  559. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  560. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  561. package/typechain-types/factories/PendleCrossChainOracleBaseApp_Init__factory.ts +13 -13
  562. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  563. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +150 -19
  564. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  565. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  566. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  567. package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
  568. package/typechain-types/factories/PendleFeeSetter__factory.ts +395 -0
  569. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
  570. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
  571. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  572. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  573. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  574. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  575. package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +1 -1
  576. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  577. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  578. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  579. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  580. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  581. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  582. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  583. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  584. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  585. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
  586. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  587. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  588. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  589. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  590. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  591. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  592. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  593. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  594. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  595. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
  596. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  597. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  598. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  599. package/typechain-types/factories/Reflector__factory.ts +1 -1
  600. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  601. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  602. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  603. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  604. package/typechain-types/hardhat.d.ts +27 -27
  605. package/typechain-types/index.ts +6 -6
  606. package/typechain-types/IMarketSweed.ts +0 -203
  607. package/typechain-types/LimitMathCore.ts +0 -102
  608. package/typechain-types/MarketSweed.ts +0 -255
  609. package/typechain-types/factories/LimitMathCore__factory.ts +0 -87
  610. package/typechain-types/factories/MarketSweed__factory.ts +0 -385
@@ -6,16 +6,16 @@ import "../../interfaces/IPMarketFactory.sol";
6
6
  import "../../interfaces/IPMarketSwapCallback.sol";
7
7
 
8
8
  import "../erc20/PendleERC20.sol";
9
- import "./PendleGauge.sol";
10
- import "./OracleLib.sol";
11
9
  import "../libraries/StringLib.sol";
10
+ import "./OracleLib.sol";
11
+ import "./PendleGauge.sol";
12
12
 
13
13
  /**
14
- Invariance to maintain:
15
- - Internal balances totalPt & totalSy not interfered by people transferring tokens in directly
16
- - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
17
- guaranteed by address(0) & address(this) check in each updateForTwo function
18
- */
14
+ * Invariance to maintain:
15
+ * - Internal balances totalPt & totalSy not interfered by people transferring tokens in directly
16
+ * - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
17
+ * guaranteed by address(0) & address(this) check in each updateForTwo function
18
+ */
19
19
  contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
20
20
  using PMath for uint256;
21
21
  using PMath for int256;
@@ -23,7 +23,7 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
23
23
  using SafeERC20 for IERC20;
24
24
  using PYIndexLib for IPYieldToken;
25
25
  using PYIndexLib for PYIndex;
26
- using OracleLib for OracleLib.Observation[65535];
26
+ using OracleLib for OracleLib.Observation[65_535];
27
27
  using StringLib for string;
28
28
  using StringLib for StringLib.slice;
29
29
 
@@ -59,7 +59,7 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
59
59
 
60
60
  MarketStorage public _storage;
61
61
 
62
- OracleLib.Observation[65535] public observations;
62
+ OracleLib.Observation[65_535] public observations;
63
63
 
64
64
  modifier notExpired() {
65
65
  if (isExpired()) revert Errors.MarketExpired();
@@ -81,9 +81,8 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
81
81
  SY = IStandardizedYield(PT.SY());
82
82
  YT = IPYieldToken(PT.YT());
83
83
 
84
- (_storage.observationCardinality, _storage.observationCardinalityNext) = observations.initialize(
85
- uint32(block.timestamp)
86
- );
84
+ (_storage.observationCardinality, _storage.observationCardinalityNext) =
85
+ observations.initialize(uint32(block.timestamp));
87
86
 
88
87
  if (_scalarRoot <= 0) revert Errors.MarketScalarRootBelowZero(_scalarRoot);
89
88
 
@@ -110,21 +109,18 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
110
109
  * @dev PT and SY should be transferred to this contract prior to calling
111
110
  * @dev will revert if PT is expired
112
111
  */
113
- function mint(
114
- address receiver,
115
- uint256 netSyDesired,
116
- uint256 netPtDesired
117
- ) external nonReentrant notExpired returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
112
+ function mint(address receiver, uint256 netSyDesired, uint256 netPtDesired)
113
+ external
114
+ nonReentrant
115
+ notExpired
116
+ returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed)
117
+ {
118
118
  MarketState memory market = readState(msg.sender);
119
119
  PYIndex index = YT.newIndex();
120
120
 
121
121
  uint256 lpToReserve;
122
122
 
123
- (lpToReserve, netLpOut, netSyUsed, netPtUsed) = market.addLiquidity(
124
- netSyDesired,
125
- netPtDesired,
126
- block.timestamp
127
- );
123
+ (lpToReserve, netLpOut, netSyUsed, netPtUsed) = market.addLiquidity(netSyDesired, netPtDesired, block.timestamp);
128
124
 
129
125
  // initializing the market
130
126
  if (lpToReserve != 0) {
@@ -136,10 +132,12 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
136
132
 
137
133
  _writeState(market);
138
134
 
139
- if (_selfBalance(SY) < market.totalSy.Uint())
135
+ if (_selfBalance(SY) < market.totalSy.Uint()) {
140
136
  revert Errors.MarketInsufficientSyReceived(_selfBalance(SY), market.totalSy.Uint());
141
- if (_selfBalance(PT) < market.totalPt.Uint())
137
+ }
138
+ if (_selfBalance(PT) < market.totalPt.Uint()) {
142
139
  revert Errors.MarketInsufficientPtReceived(_selfBalance(PT), market.totalPt.Uint());
140
+ }
143
141
 
144
142
  emit Mint(receiver, netLpOut, netSyUsed, netPtUsed);
145
143
  }
@@ -148,11 +146,11 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
148
146
  * @notice LP Holders can burn their LP to receive back SY & PT proportionally
149
147
  * to their share of the market
150
148
  */
151
- function burn(
152
- address receiverSy,
153
- address receiverPt,
154
- uint256 netLpToBurn
155
- ) external nonReentrant returns (uint256 netSyOut, uint256 netPtOut) {
149
+ function burn(address receiverSy, address receiverPt, uint256 netLpToBurn)
150
+ external
151
+ nonReentrant
152
+ returns (uint256 netSyOut, uint256 netPtOut)
153
+ {
156
154
  MarketState memory market = readState(msg.sender);
157
155
 
158
156
  _burn(address(this), netLpToBurn);
@@ -171,18 +169,19 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
171
169
  * @notice Pendle Market allows swaps between PT & SY it is holding. This function
172
170
  * aims to swap an exact amount of PT to SY.
173
171
  * @dev steps working of this contract
174
- - The outcome amount of SY will be precomputed by MarketMathLib
175
- - Release the calculated amount of SY to receiver
176
- - Callback to msg.sender if data.length > 0
177
- - Ensure exactPtIn amount of PT has been transferred to this address
172
+ * - The outcome amount of SY will be precomputed by MarketMathLib
173
+ * - Release the calculated amount of SY to receiver
174
+ * - Callback to msg.sender if data.length > 0
175
+ * - Ensure exactPtIn amount of PT has been transferred to this address
178
176
  * @dev will revert if PT is expired
179
177
  * @param data bytes data to be sent in the callback (if any)
180
178
  */
181
- function swapExactPtForSy(
182
- address receiver,
183
- uint256 exactPtIn,
184
- bytes calldata data
185
- ) external nonReentrant notExpired returns (uint256 netSyOut, uint256 netSyFee) {
179
+ function swapExactPtForSy(address receiver, uint256 exactPtIn, bytes calldata data)
180
+ external
181
+ nonReentrant
182
+ notExpired
183
+ returns (uint256 netSyOut, uint256 netSyFee)
184
+ {
186
185
  MarketState memory market = readState(msg.sender);
187
186
  PYIndex index = YT.newIndex();
188
187
 
@@ -198,8 +197,9 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
198
197
  IPMarketSwapCallback(msg.sender).swapCallback(exactPtIn.neg(), netSyOut.Int(), data);
199
198
  }
200
199
 
201
- if (_selfBalance(PT) < market.totalPt.Uint())
200
+ if (_selfBalance(PT) < market.totalPt.Uint()) {
202
201
  revert Errors.MarketInsufficientPtReceived(_selfBalance(PT), market.totalPt.Uint());
202
+ }
203
203
 
204
204
  if (index.syToAsset(netSyFee - netSyToReserve) == 0) {
205
205
  revert Errors.MarketZeroNetLPFee();
@@ -212,17 +212,18 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
212
212
  * @notice Pendle Market allows swaps between PT & SY it is holding. This function
213
213
  * aims to swap SY for an exact amount of PT.
214
214
  * @dev steps working of this function
215
- - The exact outcome amount of PT will be transferred to receiver
216
- - Callback to msg.sender if data.length > 0
217
- - Ensure the calculated required amount of SY is transferred to this address
215
+ * - The exact outcome amount of PT will be transferred to receiver
216
+ * - Callback to msg.sender if data.length > 0
217
+ * - Ensure the calculated required amount of SY is transferred to this address
218
218
  * @dev will revert if PT is expired
219
219
  * @param data bytes data to be sent in the callback (if any)
220
220
  */
221
- function swapSyForExactPt(
222
- address receiver,
223
- uint256 exactPtOut,
224
- bytes calldata data
225
- ) external nonReentrant notExpired returns (uint256 netSyIn, uint256 netSyFee) {
221
+ function swapSyForExactPt(address receiver, uint256 exactPtOut, bytes calldata data)
222
+ external
223
+ nonReentrant
224
+ notExpired
225
+ returns (uint256 netSyIn, uint256 netSyFee)
226
+ {
226
227
  MarketState memory market = readState(msg.sender);
227
228
 
228
229
  PYIndex index = YT.newIndex();
@@ -240,8 +241,9 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
240
241
  }
241
242
 
242
243
  // have received enough SY
243
- if (_selfBalance(SY) < market.totalSy.Uint())
244
+ if (_selfBalance(SY) < market.totalSy.Uint()) {
244
245
  revert Errors.MarketInsufficientSyReceived(_selfBalance(SY), market.totalSy.Uint());
246
+ }
245
247
 
246
248
  if (index.syToAsset(netSyFee - netSyToReserve) == 0) {
247
249
  revert Errors.MarketZeroNetLPFee();
@@ -277,14 +279,13 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
277
279
  //////////////////////////////////////////////////////////////*/
278
280
 
279
281
  function observe(uint32[] memory secondsAgos) external view returns (uint216[] memory lnImpliedRateCumulative) {
280
- return
281
- observations.observe(
282
- uint32(block.timestamp),
283
- secondsAgos,
284
- _storage.lastLnImpliedRate,
285
- _storage.observationIndex,
286
- _storage.observationCardinality
287
- );
282
+ return observations.observe(
283
+ uint32(block.timestamp),
284
+ secondsAgos,
285
+ _storage.lastLnImpliedRate,
286
+ _storage.observationIndex,
287
+ _storage.observationCardinality
288
+ );
288
289
  }
289
290
 
290
291
  function increaseObservationsCardinalityNext(uint16 cardinalityNext) external nonReentrant {
@@ -310,10 +311,8 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
310
311
 
311
312
  uint80 overriddenFee;
312
313
 
313
- (market.treasury, overriddenFee, market.reserveFeePercent) = IPMarketFactory(factory).getMarketConfig(
314
- address(this),
315
- router
316
- );
314
+ (market.treasury, overriddenFee, market.reserveFeePercent) =
315
+ IPMarketFactory(factory).getMarketConfig(address(this), router);
317
316
 
318
317
  market.lnFeeRateRoot = overriddenFee == 0 ? lnFeeRateRoot : overriddenFee;
319
318
  market.scalarRoot = scalarRoot;
@@ -380,11 +379,10 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
380
379
  }
381
380
 
382
381
  // solhint-disable-next-line ordering
383
- function _beforeTokenTransfer(
384
- address from,
385
- address to,
386
- uint256 amount
387
- ) internal override(PendleERC20, PendleGauge) {
382
+ function _beforeTokenTransfer(address from, address to, uint256 amount)
383
+ internal
384
+ override(PendleERC20, PendleGauge)
385
+ {
388
386
  PendleGauge._beforeTokenTransfer(from, to, amount);
389
387
  }
390
388
 
@@ -45,10 +45,8 @@ abstract contract RewardManager is RewardManagerAbstract {
45
45
  if (index == 0) index = INITIAL_REWARD_INDEX;
46
46
  if (totalShares != 0) index += accrued.divDown(totalShares);
47
47
 
48
- rewardState[token] = RewardState({
49
- index: index.Uint128(),
50
- lastBalance: (lastBalance + accrued).Uint128()
51
- });
48
+ rewardState[token] =
49
+ RewardState({index: index.Uint128(), lastBalance: (lastBalance + accrued).Uint128()});
52
50
  indexes[i] = index;
53
51
  }
54
52
  } else {
@@ -60,10 +58,12 @@ abstract contract RewardManager is RewardManagerAbstract {
60
58
 
61
59
  /// @dev this function doesn't need redeemExternal since redeemExternal is bundled in updateRewardIndex
62
60
  /// @dev this function also has to update rewardState.lastBalance
63
- function _doTransferOutRewards(
64
- address user,
65
- address receiver
66
- ) internal virtual override returns (uint256[] memory rewardAmounts) {
61
+ function _doTransferOutRewards(address user, address receiver)
62
+ internal
63
+ virtual
64
+ override
65
+ returns (uint256[] memory rewardAmounts)
66
+ {
67
67
  address[] memory tokens = _getRewardTokens();
68
68
  rewardAmounts = new uint256[](tokens.length);
69
69
  for (uint256 i = 0; i < tokens.length; i++) {
@@ -40,7 +40,8 @@ abstract contract RewardManagerAbstract is IRewardManager, TokenHelper {
40
40
  if (user2 != address(0) && user2 != address(this)) _distributeRewardsPrivate(user2, tokens, indexes);
41
41
  }
42
42
 
43
- // should only be callable from `_updateAndDistributeRewardsForTwo` to guarantee user != address(0) && user != address(this)
43
+ // should only be callable from `_updateAndDistributeRewardsForTwo` to guarantee user != address(0) && user !=
44
+ // address(this)
44
45
  function _distributeRewardsPrivate(address user, address[] memory tokens, uint256[] memory indexes) private {
45
46
  assert(user != address(0) && user != address(this));
46
47
 
@@ -69,10 +70,10 @@ abstract contract RewardManagerAbstract is IRewardManager, TokenHelper {
69
70
 
70
71
  function _redeemExternalReward() internal virtual;
71
72
 
72
- function _doTransferOutRewards(
73
- address user,
74
- address receiver
75
- ) internal virtual returns (uint256[] memory rewardAmounts);
73
+ function _doTransferOutRewards(address user, address receiver)
74
+ internal
75
+ virtual
76
+ returns (uint256[] memory rewardAmounts);
76
77
 
77
78
  function _rewardSharesUser(address user) internal view virtual returns (uint256);
78
79
  }
@@ -1,10 +1,10 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.0;
3
- import "../../interfaces/IPYieldToken.sol";
4
3
  import "../../interfaces/IPPrincipalToken.sol";
4
+ import "../../interfaces/IPYieldToken.sol";
5
5
 
6
- import "./SYUtils.sol";
7
6
  import "../libraries/math/PMath.sol";
7
+ import "./SYUtils.sol";
8
8
 
9
9
  type PYIndex is uint256;
10
10
 
@@ -1,16 +1,16 @@
1
1
  // SPDX-License-Identifier: GPL-3.0-or-later
2
2
  pragma solidity ^0.8.17;
3
3
 
4
- import "../../interfaces/IPYieldToken.sol";
5
- import "../../interfaces/IPPrincipalToken.sol";
6
4
  import "../../interfaces/IPInterestManagerYT.sol";
5
+ import "../../interfaces/IPPrincipalToken.sol";
7
6
  import "../../interfaces/IPYieldContractFactory.sol";
7
+ import "../../interfaces/IPYieldToken.sol";
8
8
 
9
9
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
10
10
 
11
- import "../libraries/math/PMath.sol";
12
- import "../libraries/TokenHelper.sol";
13
11
  import "../StandardizedYield/SYUtils.sol";
12
+ import "../libraries/TokenHelper.sol";
13
+ import "../libraries/math/PMath.sol";
14
14
 
15
15
  /*
16
16
  With YT yielding more SYs overtime, which is allowed to be redeemed by users, the reward distribution should
@@ -40,11 +40,10 @@ abstract contract InterestManagerYT is TokenHelper, IPInterestManagerYT {
40
40
  if (user2 != address(0) && user2 != address(this)) _distributeInterestPrivate(user2, index);
41
41
  }
42
42
 
43
- function _doTransferOutInterest(
44
- address user,
45
- address SY,
46
- address factory
47
- ) internal returns (uint256 interestAmount) {
43
+ function _doTransferOutInterest(address user, address SY, address factory)
44
+ internal
45
+ returns (uint256 interestAmount)
46
+ {
48
47
  address treasury = IPYieldContractFactory(factory).treasury();
49
48
  uint256 feeRate = IPYieldContractFactory(factory).interestFeeRate();
50
49
 
@@ -4,8 +4,8 @@ pragma solidity ^0.8.17;
4
4
  import "../../interfaces/IPPrincipalToken.sol";
5
5
  import "../../interfaces/IPYieldToken.sol";
6
6
 
7
- import "../libraries/MiniHelpers.sol";
8
7
  import "../libraries/Errors.sol";
8
+ import "../libraries/MiniHelpers.sol";
9
9
 
10
10
  import "../erc20/PendleERC20.sol";
11
11
 
@@ -29,13 +29,9 @@ contract PendlePrincipalToken is PendleERC20, Initializable, IPPrincipalToken {
29
29
  _;
30
30
  }
31
31
 
32
- constructor(
33
- address _SY,
34
- string memory _name,
35
- string memory _symbol,
36
- uint8 __decimals,
37
- uint256 _expiry
38
- ) PendleERC20(_name, _symbol, __decimals) {
32
+ constructor(address _SY, string memory _name, string memory _symbol, uint8 __decimals, uint256 _expiry)
33
+ PendleERC20(_name, _symbol, __decimals)
34
+ {
39
35
  SY = _SY;
40
36
  expiry = _expiry;
41
37
  factory = msg.sender;
@@ -28,11 +28,11 @@ import "../../interfaces/IPYieldContractFactory.sol";
28
28
  import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
29
29
  import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
30
30
 
31
- import "../libraries/ExpiryUtilsLib.sol";
32
31
  import "../libraries/BaseSplitCodeFactory.sol";
33
- import "../libraries/MiniHelpers.sol";
34
- import "../libraries/Errors.sol";
35
32
  import "../libraries/BoringOwnableUpgradeableV2.sol";
33
+ import "../libraries/Errors.sol";
34
+ import "../libraries/ExpiryUtilsLib.sol";
35
+ import "../libraries/MiniHelpers.sol";
36
36
  import "../libraries/StringLib.sol";
37
37
 
38
38
  import "./PendlePrincipalToken.sol";
@@ -105,18 +105,19 @@ contract PendleYieldContractFactoryUpg is BoringOwnableUpgradeableV2, IPYieldCon
105
105
  * @notice Create a pair of (PT, YT) from any SY and valid expiry. Anyone can create a yield contract
106
106
  * @dev It's intentional to make expiry an uint32 to guard against fat fingers. uint32.max is year 2106
107
107
  */
108
- function createYieldContract(
109
- address SY,
110
- uint32 expiry,
111
- bool doCacheIndexSameBlock
112
- ) external returns (address PT, address YT) {
113
- if (MiniHelpers.isTimeInThePast(expiry) || expiry % expiryDivisor != 0) revert Errors.YCFactoryInvalidExpiry();
108
+ function createYieldContract(address SY, uint32 expiry, bool doCacheIndexSameBlock)
109
+ external
110
+ returns (address PT, address YT)
111
+ {
112
+ if (MiniHelpers.isTimeInThePast(expiry) || expiry % expiryDivisor != 0) {
113
+ revert Errors.YCFactoryInvalidExpiry();
114
+ }
114
115
 
115
116
  if (getPT[SY][expiry] != address(0)) revert Errors.YCFactoryYieldContractExisted();
116
117
 
117
118
  IStandardizedYield _SY = IStandardizedYield(SY);
118
119
 
119
- (, , uint8 assetDecimals) = _SY.assetInfo();
120
+ (,, uint8 assetDecimals) = _SY.assetInfo();
120
121
 
121
122
  string memory syCoreName = _SY.name().stripPrefix(SY_NAME_PREF);
122
123
  string memory syCoreSymbol = _SY.symbol().stripPrefix(SY_SYMBOL_PREF);
@@ -172,16 +173,18 @@ contract PendleYieldContractFactoryUpg is BoringOwnableUpgradeableV2, IPYieldCon
172
173
  }
173
174
 
174
175
  function setInterestFeeRate(uint128 newInterestFeeRate) public onlyOwner {
175
- if (newInterestFeeRate > maxInterestFeeRate)
176
+ if (newInterestFeeRate > maxInterestFeeRate) {
176
177
  revert Errors.YCFactoryInterestFeeRateTooHigh(newInterestFeeRate, maxInterestFeeRate);
178
+ }
177
179
 
178
180
  interestFeeRate = newInterestFeeRate;
179
181
  emit SetInterestFeeRate(newInterestFeeRate);
180
182
  }
181
183
 
182
184
  function setRewardFeeRate(uint128 newRewardFeeRate) public onlyOwner {
183
- if (newRewardFeeRate > maxRewardFeeRate)
185
+ if (newRewardFeeRate > maxRewardFeeRate) {
184
186
  revert Errors.YCFactoryRewardFeeRateTooHigh(newRewardFeeRate, maxRewardFeeRate);
187
+ }
185
188
 
186
189
  rewardFeeRate = newRewardFeeRate;
187
190
  emit SetRewardFeeRate(newRewardFeeRate);
@@ -3,26 +3,26 @@ pragma solidity ^0.8.17;
3
3
 
4
4
  import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
5
5
 
6
- import "../../interfaces/IStandardizedYield.sol";
7
- import "../../interfaces/IPYieldToken.sol";
8
6
  import "../../interfaces/IPPrincipalToken.sol";
7
+ import "../../interfaces/IPYieldToken.sol";
8
+ import "../../interfaces/IStandardizedYield.sol";
9
9
 
10
- import "../libraries/math/PMath.sol";
11
- import "../libraries/ArrayLib.sol";
12
10
  import "../../interfaces/IPYieldContractFactory.sol";
13
11
  import "../StandardizedYield/SYUtils.sol";
12
+ import "../libraries/ArrayLib.sol";
14
13
  import "../libraries/Errors.sol";
15
14
  import "../libraries/MiniHelpers.sol";
15
+ import "../libraries/math/PMath.sol";
16
16
 
17
17
  import "../RewardManager/RewardManagerAbstract.sol";
18
18
  import "../erc20/PendleERC20.sol";
19
19
  import "./InterestManagerYT.sol";
20
20
 
21
21
  /**
22
- Invariance to maintain:
23
- - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
24
- guaranteed by address(0) & address(this) check in each updateForTwo function
25
- */
22
+ * Invariance to maintain:
23
+ * - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
24
+ * guaranteed by address(0) & address(this) check in each updateForTwo function
25
+ */
26
26
  contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, InterestManagerYT {
27
27
  using PMath for uint256;
28
28
  using SafeERC20 for IERC20;
@@ -87,10 +87,13 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
87
87
  * @notice Tokenize SY into PT + YT of equal qty. Every unit of asset of SY will create 1 PT + 1 YT
88
88
  * @dev SY must be transferred to this contract prior to calling
89
89
  */
90
- function mintPY(
91
- address receiverPT,
92
- address receiverYT
93
- ) external nonReentrant notExpired updateData returns (uint256 amountPYOut) {
90
+ function mintPY(address receiverPT, address receiverYT)
91
+ external
92
+ nonReentrant
93
+ notExpired
94
+ updateData
95
+ returns (uint256 amountPYOut)
96
+ {
94
97
  address[] memory receiverPTs = new address[](1);
95
98
  address[] memory receiverYTs = new address[](1);
96
99
  uint256[] memory amountSyToMints = new uint256[](1);
@@ -113,8 +116,9 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
113
116
  if (receiverYTs.length != length || amountSyToMints.length != length) revert Errors.ArrayLengthMismatch();
114
117
 
115
118
  uint256 totalSyToMint = amountSyToMints.sum();
116
- if (totalSyToMint > _getFloatingSyAmount())
119
+ if (totalSyToMint > _getFloatingSyAmount()) {
117
120
  revert Errors.YieldContractInsufficientSy(totalSyToMint, _getFloatingSyAmount());
121
+ }
118
122
 
119
123
  amountPYOuts = _mintPY(receiverPTs, receiverYTs, amountSyToMints);
120
124
  }
@@ -140,10 +144,12 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
140
144
  * @dev PT/YT must be transferred to this contract prior to calling
141
145
  * @dev fails if unable to redeem the total PY amount in `amountPYToRedeems`
142
146
  */
143
- function redeemPYMulti(
144
- address[] calldata receivers,
145
- uint256[] calldata amountPYToRedeems
146
- ) external nonReentrant updateData returns (uint256[] memory amountSyOuts) {
147
+ function redeemPYMulti(address[] calldata receivers, uint256[] calldata amountPYToRedeems)
148
+ external
149
+ nonReentrant
150
+ updateData
151
+ returns (uint256[] memory amountSyOuts)
152
+ {
147
153
  if (receivers.length != amountPYToRedeems.length) revert Errors.ArrayLengthMismatch();
148
154
  if (receivers.length == 0) revert Errors.ArrayEmpty();
149
155
  amountSyOuts = _redeemPY(receivers, amountPYToRedeems);
@@ -159,11 +165,12 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
159
165
  * time, unless users redeem their dueInterest or redeemPY. Due to this, it is required to
160
166
  * update users' accruedReward STRICTLY BEFORE transferring out their interest.
161
167
  */
162
- function redeemDueInterestAndRewards(
163
- address user,
164
- bool redeemInterest,
165
- bool redeemRewards
166
- ) external nonReentrant updateData returns (uint256 interestOut, uint256[] memory rewardsOut) {
168
+ function redeemDueInterestAndRewards(address user, bool redeemInterest, bool redeemRewards)
169
+ external
170
+ nonReentrant
171
+ updateData
172
+ returns (uint256 interestOut, uint256[] memory rewardsOut)
173
+ {
167
174
  if (!redeemInterest && !redeemRewards) revert Errors.YCNothingToRedeem();
168
175
 
169
176
  // if redeemRewards == true, this line must be here for obvious reason
@@ -274,7 +281,9 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
274
281
  uint256[] memory userRewardOwed
275
282
  )
276
283
  {
277
- if (postExpiry.firstPYIndex == 0) revert Errors.YCPostExpiryDataNotSet();
284
+ if (postExpiry.firstPYIndex == 0) {
285
+ revert Errors.YCPostExpiryDataNotSet();
286
+ }
278
287
 
279
288
  firstPYIndex = postExpiry.firstPYIndex;
280
289
  totalSyInterestForTreasury = postExpiry.totalSyInterestForTreasury;
@@ -289,11 +298,10 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
289
298
  }
290
299
  }
291
300
 
292
- function _mintPY(
293
- address[] memory receiverPTs,
294
- address[] memory receiverYTs,
295
- uint256[] memory amountSyToMints
296
- ) internal returns (uint256[] memory amountPYOuts) {
301
+ function _mintPY(address[] memory receiverPTs, address[] memory receiverYTs, uint256[] memory amountSyToMints)
302
+ internal
303
+ returns (uint256[] memory amountPYOuts)
304
+ {
297
305
  amountPYOuts = new uint256[](amountSyToMints.length);
298
306
 
299
307
  uint256 index = _pyIndexCurrent();
@@ -312,10 +320,10 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
312
320
  return MiniHelpers.isCurrentlyExpired(expiry);
313
321
  }
314
322
 
315
- function _redeemPY(
316
- address[] memory receivers,
317
- uint256[] memory amountPYToRedeems
318
- ) internal returns (uint256[] memory amountSyOuts) {
323
+ function _redeemPY(address[] memory receivers, uint256[] memory amountPYToRedeems)
324
+ internal
325
+ returns (uint256[] memory amountSyOuts)
326
+ {
319
327
  uint256 totalAmountPYToRedeem = amountPYToRedeems.sum();
320
328
  IPPrincipalToken(PT).burnByYT(address(this), totalAmountPYToRedeem);
321
329
  if (!isExpired()) _burn(address(this), totalAmountPYToRedeem);
@@ -342,10 +350,11 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
342
350
  return SYUtils.syToAsset(indexCurrent, amountSy);
343
351
  }
344
352
 
345
- function _calcSyRedeemableFromPY(
346
- uint256 amountPY,
347
- uint256 indexCurrent
348
- ) internal view returns (uint256 syToUser, uint256 syInterestPostExpiry) {
353
+ function _calcSyRedeemableFromPY(uint256 amountPY, uint256 indexCurrent)
354
+ internal
355
+ view
356
+ returns (uint256 syToUser, uint256 syInterestPostExpiry)
357
+ {
349
358
  syToUser = SYUtils.assetToSy(indexCurrent, amountPY);
350
359
  if (isExpired()) {
351
360
  uint256 totalSyRedeemable = SYUtils.assetToSy(postExpiry.firstPYIndex, amountPY);
@@ -415,10 +424,12 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
415
424
  return IStandardizedYield(SY).getRewardTokens();
416
425
  }
417
426
 
418
- function _doTransferOutRewards(
419
- address user,
420
- address receiver
421
- ) internal virtual override returns (uint256[] memory rewardAmounts) {
427
+ function _doTransferOutRewards(address user, address receiver)
428
+ internal
429
+ virtual
430
+ override
431
+ returns (uint256[] memory rewardAmounts)
432
+ {
422
433
  address[] memory tokens = getRewardTokens();
423
434
 
424
435
  if (isExpired()) {
@@ -482,7 +493,9 @@ contract PendleYieldToken is IPYieldToken, PendleERC20, RewardManagerAbstract, I
482
493
  tokens = getRewardTokens();
483
494
  if (isExpired()) {
484
495
  indexes = new uint256[](tokens.length);
485
- for (uint256 i = 0; i < tokens.length; i++) indexes[i] = postExpiry.firstRewardIndex[tokens[i]];
496
+ for (uint256 i = 0; i < tokens.length; i++) {
497
+ indexes[i] = postExpiry.firstRewardIndex[tokens[i]];
498
+ }
486
499
  } else {
487
500
  indexes = IStandardizedYield(SY).rewardIndexesCurrent();
488
501
  }
@@ -160,11 +160,13 @@ contract PendleERC20 is Context, IERC20, IERC20Metadata {
160
160
  * - the caller must have allowance for ``from``'s tokens of at least
161
161
  * `amount`.
162
162
  */
163
- function transferFrom(
164
- address from,
165
- address to,
166
- uint256 amount
167
- ) external virtual override nonReentrant returns (bool) {
163
+ function transferFrom(address from, address to, uint256 amount)
164
+ external
165
+ virtual
166
+ override
167
+ nonReentrant
168
+ returns (bool)
169
+ {
168
170
  address spender = _msgSender();
169
171
  _spendAllowance(from, spender, amount);
170
172
  _transfer(from, to, amount);
@@ -204,7 +206,8 @@ contract PendleERC20 is Context, IERC20, IERC20Metadata {
204
206
  _afterTokenTransfer(from, to, amount);
205
207
  }
206
208
 
207
- /** @dev Creates `amount` tokens and assigns them to `account`, increasing
209
+ /**
210
+ * @dev Creates `amount` tokens and assigns them to `account`, increasing
208
211
  * the total supply.
209
212
  *
210
213
  * Emits a {Transfer} event with `from` set to the zero address.