@pendle/core-v2 6.7.0 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) 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/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +2 -2
  13. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  14. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  15. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  16. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  17. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  18. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
  19. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  20. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
  21. package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  22. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  23. package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
  24. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
  25. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
  26. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  27. package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
  28. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
  29. package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.json +2 -2
  30. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +1 -1
  31. package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +2 -2
  32. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  33. package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
  34. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
  35. package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
  36. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +1 -1
  38. package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +2 -2
  39. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +1 -1
  40. package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +5 -5
  41. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  42. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  44. package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
  45. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
  46. package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.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/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  70. package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
  71. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
  72. package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
  73. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  74. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  75. package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
  76. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
  77. package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
  78. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.dbg.json +1 -1
  79. package/build/artifacts/contracts/cross-chain/FixedPricePTAMMV2.sol/FixedPricePTAMMV2.json +2 -2
  80. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.dbg.json +4 -0
  81. package/build/artifacts/contracts/cross-chain/OFTPTSwapper.sol/OFTPTSwapper.json +99 -0
  82. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +1 -1
  83. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +2 -2
  84. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +1 -1
  85. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +2 -2
  86. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.dbg.json +1 -1
  87. package/build/artifacts/contracts/cross-chain/factory/PendleBridgePTFactory.sol/PendleBridgePTFactory.json +2 -2
  88. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.dbg.json +1 -1
  89. package/build/artifacts/contracts/cross-chain/funder/BridgeFunder.sol/BridgeFunder.json +2 -2
  90. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.dbg.json +1 -1
  91. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterAltImpl.sol/OFTAdapterAltImpl.json +2 -2
  92. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
  93. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +2 -2
  94. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.dbg.json +1 -1
  95. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFT.sol/PendleOFT.json +2 -2
  96. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.dbg.json +1 -1
  97. package/build/artifacts/contracts/cross-chain/oftImpl/pendleOft/PendleOFTAlt.sol/PendleOFTAlt.json +2 -2
  98. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
  99. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
  100. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.dbg.json +1 -1
  101. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalTokenAlt.sol/PendleBridgedPrincipalTokenAlt.json +2 -2
  102. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +1 -1
  103. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +2 -2
  104. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +1 -1
  105. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  106. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  107. package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
  108. package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.dbg.json +4 -0
  113. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarket.json +578 -0
  114. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.dbg.json +4 -0
  115. package/build/artifacts/contracts/interfaces/IMoneyMarket.sol/IMoneyMarketEvents.json +160 -0
  116. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.dbg.json +4 -0
  117. package/build/artifacts/contracts/interfaces/IMoneyMarketView.sol/IMoneyMarketView.json +238 -0
  118. package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
  125. package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
  137. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
  138. package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
  139. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.dbg.json +4 -0
  140. package/build/artifacts/contracts/interfaces/IPBridgeDataVerifier.sol/IPBridgeDataVerifier.json +81 -0
  141. package/build/artifacts/contracts/interfaces/IPBridgeFunder.sol/IPBridgeFunder.dbg.json +1 -1
  142. package/build/artifacts/contracts/interfaces/IPBridgePTFactory.sol/IPBridgePTFactory.dbg.json +1 -1
  143. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
  144. package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
  145. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
  146. package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
  147. package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
  148. package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
  149. package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
  150. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +1 -1
  151. package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +1 -1
  152. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +1 -1
  153. package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
  154. package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
  155. package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
  156. package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
  157. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
  158. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMMV2.sol/IPFixedPricePTAMMV2.dbg.json +1 -1
  159. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
  160. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  161. package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
  162. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  163. package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
  164. package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
  165. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
  166. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
  167. package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
  168. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.dbg.json +4 -0
  169. package/build/artifacts/contracts/interfaces/IPLoopPositionBox.sol/IPLoopPositionBox.json +170 -0
  170. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.dbg.json +4 -0
  171. package/build/artifacts/contracts/interfaces/IPLoopPositionBoxFactory.sol/IPLoopPositionBoxFactory.json +377 -0
  172. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  173. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  174. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  175. package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
  176. package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
  177. package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
  178. package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
  179. package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
  180. package/build/artifacts/contracts/interfaces/IPOFTPTSwapper.sol/IPOFTPTSwapper.dbg.json +4 -0
  181. package/build/artifacts/contracts/interfaces/{IPSwapHelper.sol/IPSwapHelper.json → IPOFTPTSwapper.sol/IPOFTPTSwapper.json} +2 -2
  182. package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
  183. package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
  184. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.dbg.json +4 -0
  185. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooper.json +2476 -0
  186. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.dbg.json +4 -0
  187. package/build/artifacts/contracts/interfaces/IPPTLooper.sol/IPPTLooperEIP712Types.json +10 -0
  188. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.dbg.json +4 -0
  189. package/build/artifacts/contracts/interfaces/IPPTLooperView.sol/IPPTLooperView.json +209 -0
  190. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
  191. package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
  192. package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
  193. package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
  194. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.dbg.json +4 -0
  195. package/build/artifacts/contracts/interfaces/IPPostPtLoopStateChecker.sol/IPPostPtLoopStateChecker.json +29 -0
  196. package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
  197. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  198. package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
  199. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
  200. package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +1 -1
  201. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.dbg.json +4 -0
  202. package/build/artifacts/contracts/interfaces/IPStaticQuoter.sol/IPStaticQuoter.json +55 -0
  203. package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
  204. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  205. package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
  206. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  207. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  208. package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
  209. package/build/artifacts/contracts/interfaces/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
  210. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  211. package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
  212. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  213. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  214. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
  215. package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
  216. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  217. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  218. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  219. package/build/artifacts/contracts/limit/helpers/MintSyHelper.sol/MintSyHelper.dbg.json +1 -1
  220. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
  221. package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
  222. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
  223. package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
  224. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
  225. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
  226. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
  227. package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
  228. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
  229. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.json +2 -2
  230. package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.dbg.json +1 -1
  231. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
  232. package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
  233. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
  234. package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +2 -2
  235. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
  236. package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
  237. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  238. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  239. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
  240. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
  241. package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
  242. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  243. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  244. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  245. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  246. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
  247. package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.json +2 -2
  248. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  249. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  250. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
  251. package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
  252. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
  253. package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
  254. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
  255. package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
  256. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  257. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  258. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  259. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  260. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +1 -1
  261. package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
  262. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
  263. package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.json +2 -2
  264. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
  265. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
  266. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
  267. package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
  268. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
  269. package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
  270. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.dbg.json +1 -1
  271. package/build/artifacts/contracts/offchain-helpers/PendleProxyAdmin.sol/PendleProxyAdmin.json +2 -2
  272. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
  273. package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
  274. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
  275. package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
  276. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
  277. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
  278. package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.json +2 -2
  279. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  280. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  281. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
  282. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
  283. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  284. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  285. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  286. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  287. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
  288. package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
  289. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
  290. package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
  291. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
  292. package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
  293. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
  294. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
  295. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
  296. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
  297. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
  298. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
  299. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
  300. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
  301. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
  302. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
  303. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
  304. package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
  305. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
  306. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
  307. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
  308. package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
  309. package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
  310. package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
  311. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
  312. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
  313. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
  314. package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
  315. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
  316. package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
  317. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
  318. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
  319. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
  320. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
  321. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
  322. package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
  323. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
  324. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
  325. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
  326. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
  327. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
  328. package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
  329. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
  330. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
  331. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
  332. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
  333. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
  334. package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
  335. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
  336. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.json +2 -2
  337. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
  338. package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
  339. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
  340. package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
  341. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
  342. package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
  343. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
  344. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
  345. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.json +2 -2
  346. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
  347. package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.json +2 -2
  348. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
  349. package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
  350. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  351. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  352. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  353. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  354. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  355. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.dbg.json +4 -0
  356. package/build/artifacts/contracts/pt-looping/BridgeDataVerifier.sol/BridgeDataVerifier.json +405 -0
  357. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.dbg.json +4 -0
  358. package/build/artifacts/contracts/pt-looping/PTLooperBase.sol/PTLooperBase.json +2626 -0
  359. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.dbg.json +4 -0
  360. package/build/artifacts/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol/PTLooperEIP712TypesEncodeDataLib.json +10 -0
  361. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.dbg.json +4 -0
  362. package/build/artifacts/contracts/pt-looping/PendlePTLooper.sol/PendlePTLooper.json +2660 -0
  363. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.dbg.json +4 -0
  364. package/build/artifacts/contracts/pt-looping/PendlePTLooperView.sol/PendlePTLooperView.json +334 -0
  365. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.dbg.json +4 -0
  366. package/build/artifacts/contracts/pt-looping/PostPtLoopStateChecker.sol/PostPtLoopStateChecker.json +79 -0
  367. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.dbg.json +4 -0
  368. package/build/artifacts/contracts/pt-looping/StaticStableQuoter.sol/StaticStableQuoter.json +233 -0
  369. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.dbg.json +4 -0
  370. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBox.sol/LoopPositionBox.json +198 -0
  371. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.dbg.json +4 -0
  372. package/build/artifacts/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol/LoopPositionBoxFactory.json +555 -0
  373. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.dbg.json +4 -0
  374. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarket.sol/BaseMoneyMarket.json +604 -0
  375. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.dbg.json +4 -0
  376. package/build/artifacts/contracts/pt-looping/money-market/BaseMoneyMarketView.sol/BaseMoneyMarketView.json +264 -0
  377. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.dbg.json +4 -0
  378. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol/AaveMMPayloadLib.json +10 -0
  379. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.dbg.json +4 -0
  380. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol/AaveMoneyMarket.json +659 -0
  381. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.dbg.json +4 -0
  382. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol/AaveMoneyMarketView.json +355 -0
  383. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.dbg.json +4 -0
  384. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol/AaveDataTypes.json +10 -0
  385. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.dbg.json +4 -0
  386. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol/IAToken.json +246 -0
  387. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.dbg.json +4 -0
  388. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol/IAaveOracle.json +120 -0
  389. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +4 -0
  390. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol/IAaveRewardsController.json +724 -0
  391. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.dbg.json +4 -0
  392. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol/IPool.json +1600 -0
  393. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.dbg.json +4 -0
  394. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol/IPoolAddressesProvider.json +507 -0
  395. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.dbg.json +4 -0
  396. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol/IPoolDataProviderV3.json +577 -0
  397. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.dbg.json +4 -0
  398. package/build/artifacts/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol/IPriceOracleGetter.json +56 -0
  399. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.dbg.json +4 -0
  400. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol/MorphoBlueMoneyMarket.json +633 -0
  401. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.dbg.json +4 -0
  402. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol/MorphoBlueMoneyMarketView.json +298 -0
  403. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.dbg.json +4 -0
  404. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IIrm.json +234 -0
  405. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.dbg.json +4 -0
  406. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol/IMorpho.json +1033 -0
  407. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.dbg.json +4 -0
  408. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol/IMorphoOracle.json +24 -0
  409. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.dbg.json +4 -0
  410. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol/MathLib.json +10 -0
  411. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.dbg.json +4 -0
  412. package/build/artifacts/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol/SharesMathLib.json +10 -0
  413. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.dbg.json +4 -0
  414. package/build/artifacts/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol/IBungeeSORInbox.json +143 -0
  415. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  416. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  417. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  418. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  419. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  420. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  421. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  422. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  423. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
  424. package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
  425. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  426. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  427. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  428. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  429. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
  430. package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
  431. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  432. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  433. package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
  434. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  435. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  436. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  437. package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  438. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
  439. package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
  440. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
  441. package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
  442. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
  443. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
  444. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
  445. package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
  446. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
  447. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
  448. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
  449. package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
  450. package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
  451. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  452. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  453. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
  454. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
  455. package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
  456. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  457. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  458. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  459. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  460. package/contracts/cross-chain/{PendleSwapHelper.sol → OFTPTSwapper.sol} +4 -3
  461. package/contracts/interfaces/IMoneyMarket.sol +60 -0
  462. package/contracts/interfaces/IMoneyMarketView.sol +42 -0
  463. package/contracts/interfaces/IPBridgeDataVerifier.sol +23 -0
  464. package/contracts/interfaces/IPLoopPositionBox.sol +38 -0
  465. package/contracts/interfaces/IPLoopPositionBoxFactory.sol +37 -0
  466. package/contracts/interfaces/{IPSwapHelper.sol → IPOFTPTSwapper.sol} +1 -1
  467. package/contracts/interfaces/IPPTLooper.sol +301 -0
  468. package/contracts/interfaces/IPPTLooperView.sol +35 -0
  469. package/contracts/interfaces/IPPostPtLoopStateChecker.sol +8 -0
  470. package/contracts/interfaces/IPStaticQuoter.sol +13 -0
  471. package/contracts/pt-looping/BridgeDataVerifier.sol +158 -0
  472. package/contracts/pt-looping/PTLooperBase.sol +236 -0
  473. package/contracts/pt-looping/PTLooperEIP712TypesEncodeDataLib.sol +210 -0
  474. package/contracts/pt-looping/PendlePTLooper.sol +318 -0
  475. package/contracts/pt-looping/PendlePTLooperView.sol +42 -0
  476. package/contracts/pt-looping/PostPtLoopStateChecker.sol +79 -0
  477. package/contracts/pt-looping/StaticStableQuoter.sol +46 -0
  478. package/contracts/pt-looping/loop-position-box/LoopPositionBox.sol +85 -0
  479. package/contracts/pt-looping/loop-position-box/LoopPositionBoxFactory.sol +123 -0
  480. package/contracts/pt-looping/money-market/BaseMoneyMarket.sol +129 -0
  481. package/contracts/pt-looping/money-market/BaseMoneyMarketView.sol +123 -0
  482. package/contracts/pt-looping/money-market/implementations/aave/AaveMMPayloadLib.sol +16 -0
  483. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarket.sol +123 -0
  484. package/contracts/pt-looping/money-market/implementations/aave/AaveMoneyMarketView.sol +200 -0
  485. package/contracts/pt-looping/money-market/implementations/aave/dependencies/AaveDataTypes.sol +259 -0
  486. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAToken.sol +8 -0
  487. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveOracle.sol +33 -0
  488. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IAaveRewardsController.sol +68 -0
  489. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPool.sol +664 -0
  490. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolAddressesProvider.sol +227 -0
  491. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPoolDataProviderV3.sol +228 -0
  492. package/contracts/pt-looping/money-market/implementations/aave/dependencies/IPriceOracleGetter.sol +32 -0
  493. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarket.sol +123 -0
  494. package/contracts/pt-looping/money-market/implementations/morpho/MorphoBlueMoneyMarketView.sol +66 -0
  495. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorpho.sol +300 -0
  496. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/IMorphoOracle.sol +14 -0
  497. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/MathLib.sol +35 -0
  498. package/contracts/pt-looping/money-market/implementations/morpho/dependencies/SharesMathLib.sol +42 -0
  499. package/contracts/pt-looping/vendor/bungee/IBungeeInbox.sol +36 -0
  500. package/contracts/router/swap-aggregator/OKXScaleHelper.sol +4 -1
  501. package/deployments/1-core.json +4 -1
  502. package/deployments/130-core.json +2 -1
  503. package/deployments/143-core.json +2 -1
  504. package/deployments/42161-core.json +2 -1
  505. package/deployments/4217-core.json +5 -1
  506. package/deployments/43114-core.json +2 -1
  507. package/deployments/56-core.json +2 -1
  508. package/deployments/57073-core.json +2 -1
  509. package/deployments/747474-core.json +2 -1
  510. package/deployments/8453-core.json +2 -1
  511. package/deployments/9745-core.json +2 -1
  512. package/deployments/999-core.json +2 -1
  513. package/package.json +2 -1
  514. package/typechain-types/AaveMoneyMarket.ts +147 -290
  515. package/typechain-types/AaveMoneyMarketView.ts +0 -13
  516. package/typechain-types/BaseMoneyMarket.ts +147 -271
  517. package/typechain-types/BridgeDataVerifier.ts +564 -0
  518. package/typechain-types/IBungeeSORInbox.ts +192 -0
  519. package/typechain-types/IMoneyMarket.ts +124 -282
  520. package/typechain-types/IMoneyMarketEvents.ts +31 -56
  521. package/typechain-types/IPBridgeDataVerifier.ts +148 -0
  522. package/typechain-types/IPLoopPositionBox.ts +0 -13
  523. package/typechain-types/IPLoopPositionBoxFactory.ts +5 -39
  524. package/typechain-types/IPOFTPTSwapper.ts +161 -0
  525. package/typechain-types/IPPTLooper.ts +658 -695
  526. package/typechain-types/IPPTLooperView.ts +56 -251
  527. package/typechain-types/IPPostPtLoopStateChecker.ts +106 -0
  528. package/typechain-types/IPStaticQuoter.ts +132 -0
  529. package/typechain-types/IPool.ts +8 -8
  530. package/typechain-types/IPoolDataProviderV3.ts +76 -8
  531. package/typechain-types/LoopPositionBox.ts +25 -38
  532. package/typechain-types/LoopPositionBoxFactory.ts +17 -51
  533. package/typechain-types/MorphoBlueMoneyMarket.ts +141 -286
  534. package/typechain-types/MorphoBlueMoneyMarketView.ts +0 -21
  535. package/typechain-types/OFTPTSwapper.ts +161 -0
  536. package/typechain-types/PTLooperBase.ts +671 -708
  537. package/typechain-types/PendlePTLooper.ts +671 -708
  538. package/typechain-types/PendlePTLooperView.ts +71 -266
  539. package/typechain-types/PostPtLoopStateChecker.ts +151 -0
  540. package/typechain-types/StaticStableQuoter.ts +395 -0
  541. package/typechain-types/factories/AaveMoneyMarketView__factory.ts +1 -23
  542. package/typechain-types/factories/AaveMoneyMarket__factory.ts +265 -267
  543. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  544. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  545. package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
  546. package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
  547. package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
  548. package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
  549. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  550. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  551. package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
  552. package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
  553. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  554. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  555. package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
  556. package/typechain-types/factories/AddressCast__factory.ts +1 -1
  557. package/typechain-types/factories/AddressProvider__factory.ts +1 -1
  558. package/typechain-types/factories/BalanceReader__factory.ts +1 -1
  559. package/typechain-types/factories/BaseMoneyMarket__factory.ts +264 -244
  560. package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
  561. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
  562. package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
  563. package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
  564. package/typechain-types/factories/BridgeDataVerifier__factory.ts +463 -0
  565. package/typechain-types/factories/BridgeFunder__factory.ts +1 -1
  566. package/typechain-types/factories/DVNOptions__factory.ts +1 -1
  567. package/typechain-types/factories/DepositBoxFactory__factory.ts +1 -1
  568. package/typechain-types/factories/DepositBox__factory.ts +1 -1
  569. package/typechain-types/factories/ERC1967Proxy__factory.ts +1 -1
  570. package/typechain-types/factories/ERC20Upgradeable__factory.ts +1 -1
  571. package/typechain-types/factories/ERC20__factory.ts +1 -1
  572. package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
  573. package/typechain-types/factories/Errors__factory.ts +1 -1
  574. package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
  575. package/typechain-types/factories/ExecutorOptions__factory.ts +1 -1
  576. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  577. package/typechain-types/factories/FixedPricePTAMMV2__factory.ts +1 -1
  578. package/typechain-types/factories/IBungeeSORInbox__factory.ts +158 -0
  579. package/typechain-types/factories/IMoneyMarketEvents__factory.ts +11 -61
  580. package/typechain-types/factories/IMoneyMarket__factory.ts +250 -256
  581. package/typechain-types/factories/IPBridgeDataVerifier__factory.ts +100 -0
  582. package/typechain-types/factories/IPLoopPositionBoxFactory__factory.ts +8 -32
  583. package/typechain-types/factories/IPLoopPositionBox__factory.ts +0 -13
  584. package/typechain-types/factories/IPOFTPTSwapper__factory.ts +114 -0
  585. package/typechain-types/factories/IPPTLooperView__factory.ts +94 -201
  586. package/typechain-types/factories/IPPTLooper__factory.ts +1030 -1043
  587. package/typechain-types/factories/IPPostPtLoopStateChecker__factory.ts +48 -0
  588. package/typechain-types/factories/IPStaticQuoter__factory.ts +70 -0
  589. package/typechain-types/factories/IPoolDataProviderV3__factory.ts +39 -1
  590. package/typechain-types/factories/IPool__factory.ts +2 -2
  591. package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
  592. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  593. package/typechain-types/factories/LoopPositionBoxFactory__factory.ts +26 -50
  594. package/typechain-types/factories/LoopPositionBox__factory.ts +11 -35
  595. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  596. package/typechain-types/factories/MorphoBlueMoneyMarketView__factory.ts +1 -14
  597. package/typechain-types/factories/MorphoBlueMoneyMarket__factory.ts +257 -250
  598. package/typechain-types/factories/Multicall2__factory.ts +1 -1
  599. package/typechain-types/factories/NonceManager__factory.ts +1 -1
  600. package/typechain-types/factories/OFTAdapterAltImpl__factory.ts +1 -1
  601. package/typechain-types/factories/OFTAdapterImpl__factory.ts +1 -1
  602. package/typechain-types/factories/OFTAdapter__factory.ts +0 -11
  603. package/typechain-types/factories/OFTPTSwapper__factory.ts +149 -0
  604. package/typechain-types/factories/OptionsBuilder__factory.ts +1 -1
  605. package/typechain-types/factories/OracleLib__factory.ts +1 -1
  606. package/typechain-types/factories/PTLooperBase__factory.ts +1122 -1135
  607. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  608. package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
  609. package/typechain-types/factories/PendleBoringSolvBTCOneracle__factory.ts +1 -1
  610. package/typechain-types/factories/PendleBridgePTFactory__factory.ts +1 -1
  611. package/typechain-types/factories/PendleBridgedPrincipalTokenAlt__factory.ts +1 -1
  612. package/typechain-types/factories/PendleBridgedPrincipalToken__factory.ts +1 -1
  613. package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
  614. package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
  615. package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
  616. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  617. package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
  618. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1 -1
  619. package/typechain-types/factories/PendleERC20__factory.ts +1 -1
  620. package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
  621. package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
  622. package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
  623. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  624. package/typechain-types/factories/PendleFeeSetter__factory.ts +1 -1
  625. package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +1 -1
  626. package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
  627. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  628. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  629. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  630. package/typechain-types/factories/PendleLinearDiscountOracleWrapper__factory.ts +1 -1
  631. package/typechain-types/factories/PendleLpLinearDiscountOracleFactory__factory.ts +1 -1
  632. package/typechain-types/factories/PendleLpLinearDiscountOracle__factory.ts +1 -1
  633. package/typechain-types/factories/PendleMarketFactoryV7Upg__factory.ts +1 -1
  634. package/typechain-types/factories/PendleMarketV7__factory.ts +1 -1
  635. package/typechain-types/factories/PendleMerkleDepositor__factory.ts +1 -1
  636. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  637. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  638. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  639. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  640. package/typechain-types/factories/PendleMulticallOwnerV1__factory.ts +1 -1
  641. package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
  642. package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
  643. package/typechain-types/factories/PendleOFTAlt__factory.ts +1 -1
  644. package/typechain-types/factories/PendleOFT__factory.ts +1 -1
  645. package/typechain-types/factories/PendleOffchainStorage__factory.ts +1 -1
  646. package/typechain-types/factories/PendlePTLooperView__factory.ts +100 -207
  647. package/typechain-types/factories/PendlePTLooper__factory.ts +1132 -1136
  648. package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
  649. package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
  650. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  651. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  652. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  653. package/typechain-types/factories/PendleProxyAdmin__factory.ts +1 -1
  654. package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
  655. package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
  656. package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
  657. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
  658. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  659. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  660. package/typechain-types/factories/PendleSwapHelper__factory.ts +1 -1
  661. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  662. package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
  663. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  664. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  665. package/typechain-types/factories/PostPtLoopStateChecker__factory.ts +141 -0
  666. package/typechain-types/factories/ProxyAdmin__factory.ts +1 -1
  667. package/typechain-types/factories/Reflector__factory.ts +1 -1
  668. package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
  669. package/typechain-types/factories/SimulateHelper__factory.ts +1 -1
  670. package/typechain-types/factories/StakedPendle__factory.ts +1 -1
  671. package/typechain-types/factories/StaticStableQuoter__factory.ts +286 -0
  672. package/typechain-types/factories/SupplyCapReader__factory.ts +1 -1
  673. package/typechain-types/factories/TransparentUpgradeableProxy__factory.ts +1 -1
  674. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
  675. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
  676. package/typechain-types/hardhat.d.ts +360 -0
  677. package/typechain-types/index.ts +80 -0
  678. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.dbg.json +0 -4
  679. package/build/artifacts/contracts/cross-chain/PendleSwapHelper.sol/PendleSwapHelper.json +0 -99
  680. package/build/artifacts/contracts/interfaces/IPSwapHelper.sol/IPSwapHelper.dbg.json +0 -4
@@ -0,0 +1,200 @@
1
+ //SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.20;
3
+
4
+ import {IERC20Metadata as IERC20} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ import {IAaveRewardsController} from "./dependencies/IAaveRewardsController.sol";
7
+ import {IPool} from "./dependencies/IPool.sol";
8
+ import {IPoolAddressesProvider} from "./dependencies/IPoolAddressesProvider.sol";
9
+ import {IPoolDataProviderV3} from "./dependencies/IPoolDataProviderV3.sol";
10
+ import {IAaveOracle} from "./dependencies/IAaveOracle.sol";
11
+ import {AaveDataTypes} from "./dependencies/AaveDataTypes.sol";
12
+
13
+ import {IPLoopPositionBox, BoxData} from "../../../../interfaces/IPLoopPositionBox.sol";
14
+ import {PMath} from "../../../../core/libraries/math/PMath.sol";
15
+ import {BaseMoneyMarketView, Reward} from "../../BaseMoneyMarketView.sol";
16
+ import {AaveMMPayloadLib} from "./AaveMMPayloadLib.sol";
17
+ import {TokenHelper} from "../../../../core/libraries/TokenHelper.sol";
18
+
19
+ contract AaveMoneyMarketView is BaseMoneyMarketView, TokenHelper {
20
+ using PMath for uint256;
21
+
22
+ uint256 internal constant RAY = 1e27;
23
+ /// @dev Aave returns LTV / liquidation thresholds in bps (×1e4); scale to WAD (×1e18).
24
+ uint256 internal constant BPS_TO_WAD = 1e14;
25
+ /// @dev Aave returns *annualized* reserve rates in RAY (×1e27); scale to WAD (÷1e9). `_rates`
26
+ /// then feeds the annual WAD rate to `_apy` with `perSeconds = 365 days` for compounding.
27
+ uint256 internal constant RAY_TO_WAD = 1e9;
28
+
29
+ IPoolAddressesProvider public immutable poolAddressesProvider;
30
+ IAaveRewardsController public immutable rewardsController;
31
+
32
+ constructor(
33
+ string memory _moneyMarketName,
34
+ address _ptLooper,
35
+ address _poolAddressesProvider,
36
+ address _rewardsController
37
+ ) BaseMoneyMarketView(_moneyMarketName, _ptLooper) {
38
+ poolAddressesProvider = IPoolAddressesProvider(_poolAddressesProvider);
39
+ rewardsController = IAaveRewardsController(_rewardsController);
40
+ }
41
+
42
+ function pool() public view virtual returns (IPool) {
43
+ return poolAddressesProvider.getPool();
44
+ }
45
+
46
+ function dataProvider() public view virtual returns (IPoolDataProviderV3) {
47
+ return poolAddressesProvider.getPoolDataProvider();
48
+ }
49
+
50
+ function oracle() public view virtual returns (IAaveOracle) {
51
+ return poolAddressesProvider.getPriceOracle();
52
+ }
53
+
54
+ // ========== IMoneyMarketView ==========
55
+
56
+ function _moneyMarketBalances(IPLoopPositionBox box, BoxData memory bd)
57
+ internal
58
+ virtual
59
+ override
60
+ returns (uint256 mmPtBalance, uint256 mmDebtBalance)
61
+ {
62
+ address account = box.SPOKE_MONEY_MARKET();
63
+ IPoolDataProviderV3 dp = dataProvider();
64
+ (mmPtBalance,,,,,,,,) = dp.getUserReserveData(bd.spokePt, account);
65
+ (,, mmDebtBalance,,,,,,) = dp.getUserReserveData(bd.spokeDebtToken, account);
66
+ }
67
+
68
+ function _thresholds(IPLoopPositionBox, BoxData memory bd)
69
+ internal
70
+ view
71
+ virtual
72
+ override
73
+ returns (uint256 ltv, uint256 liquidationThreshold)
74
+ {
75
+ (uint8 eModeCategoryId,) = AaveMMPayloadLib.unwrap(bd.mmPayload);
76
+
77
+ if (eModeCategoryId == 0) {
78
+ (, ltv, liquidationThreshold,,,,,,,) = dataProvider().getReserveConfigurationData(bd.spokePt);
79
+ } else {
80
+ (, ltv, liquidationThreshold) = pool().getEModeCategoryData(eModeCategoryId);
81
+ }
82
+
83
+ ltv *= BPS_TO_WAD;
84
+ liquidationThreshold *= BPS_TO_WAD;
85
+ }
86
+
87
+ function _liquidity(IPLoopPositionBox, BoxData memory bd)
88
+ internal
89
+ view
90
+ virtual
91
+ override
92
+ returns (uint256 borrowing, uint256 lending)
93
+ {
94
+ IPoolDataProviderV3 dp = dataProvider();
95
+ IPool _pool = pool();
96
+ AaveDataTypes.ReserveData memory prd = _pool.getReserveData(IERC20(bd.spokePt));
97
+
98
+ // calculate lending
99
+ {
100
+ (, uint256 supplyCap) = _getScaledReserveCap(dp, bd.spokePt);
101
+ if (supplyCap == 0) {
102
+ lending = IERC20(bd.spokePt).totalSupply(); // Infinite supply cap
103
+ } else {
104
+ uint256 currentSupply = (prd.aTokenAddress.scaledTotalSupply() + prd.accruedToTreasury)
105
+ * _pool.getReserveNormalizedIncome(IERC20(bd.spokePt)) / RAY;
106
+ lending = supplyCap.subMax0(currentSupply);
107
+ }
108
+ }
109
+
110
+ // calculate borrowing
111
+ {
112
+ (uint256 borrowCap,) = _getScaledReserveCap(dp, bd.spokeDebtToken);
113
+ uint256 maxBorrowable =
114
+ borrowCap == 0 ? type(uint256).max : borrowCap.subMax0(dp.getTotalDebt(bd.spokeDebtToken));
115
+
116
+ borrowing = PMath.min(maxBorrowable, dp.getVirtualUnderlyingBalance(bd.spokeDebtToken));
117
+
118
+ uint256 debtCeiling = dp.getDebtCeiling(bd.spokePt);
119
+ if (debtCeiling > 0) {
120
+ IAaveOracle _oracle = oracle();
121
+ require(address(_oracle.BASE_CURRENCY()) == address(0), "Oracle base currency must be USD");
122
+
123
+ uint256 unscaledAvail = debtCeiling - prd.isolationModeTotalDebt;
124
+ uint256 available = unscaledAvail * _oracle.BASE_CURRENCY_UNIT() / (10 ** dp.getDebtCeilingDecimals());
125
+ uint256 debtPrice = _oracle.getAssetPrice(IERC20(bd.spokeDebtToken));
126
+ borrowing = PMath.min(borrowing, available * 10 ** IERC20(bd.spokeDebtToken).decimals() / debtPrice);
127
+ }
128
+ }
129
+ }
130
+
131
+ function _rates(IPLoopPositionBox, BoxData memory bd)
132
+ internal
133
+ view
134
+ virtual
135
+ override
136
+ returns (uint256 borrowing, uint256 lending)
137
+ {
138
+ IPool _pool = pool();
139
+ borrowing = _apy({
140
+ rate: _pool.getReserveData(IERC20(bd.spokeDebtToken)).currentVariableBorrowRate / RAY_TO_WAD,
141
+ perSeconds: 365 days
142
+ });
143
+ lending = _apy({ //
144
+ rate: _pool.getReserveData(IERC20(bd.spokePt)).currentLiquidityRate / RAY_TO_WAD,
145
+ perSeconds: 365 days
146
+ });
147
+ }
148
+
149
+ function _rewards(IPLoopPositionBox box, BoxData memory bd)
150
+ internal
151
+ virtual
152
+ override
153
+ returns (Reward[] memory borrowing, Reward[] memory lending)
154
+ {
155
+ if (address(rewardsController) != address(0)) {
156
+ address account = box.SPOKE_MONEY_MARKET();
157
+ borrowing = _asRewards(account, bd.spokeDebtToken, true);
158
+ lending = _asRewards(account, bd.spokePt, false);
159
+ }
160
+ }
161
+
162
+ // ========== Internal helpers ==========
163
+
164
+ function _asRewards(address account, address underlying, bool borrowing)
165
+ internal
166
+ view
167
+ returns (Reward[] memory res)
168
+ {
169
+ (address aTokenAddress,, address variableDebtTokenAddress) =
170
+ dataProvider().getReserveTokensAddresses(underlying);
171
+ address asset = borrowing ? variableDebtTokenAddress : aTokenAddress;
172
+
173
+ address[] memory assetArr = new address[](1);
174
+ assetArr[0] = asset;
175
+
176
+ address[] memory rewardTokens = rewardsController.getRewardsByAsset(asset);
177
+ res = new Reward[](rewardTokens.length);
178
+
179
+ for (uint256 i = 0; i < rewardTokens.length; i++) {
180
+ res[i].token = rewardTokens[i];
181
+ res[i].claimable = rewardsController.getUserRewards(assetArr, account, rewardTokens[i]);
182
+ }
183
+ }
184
+
185
+ function _getScaledReserveCap(IPoolDataProviderV3 dp, address asset)
186
+ internal
187
+ view
188
+ virtual
189
+ returns (
190
+ uint256, /* borrowCap */
191
+ uint256 /* supplyCap */
192
+ )
193
+ {
194
+ (uint256 borrowCap, uint256 supplyCap) = dp.getReserveCaps(asset);
195
+ if (borrowCap == 0 && supplyCap == 0) return (0, 0);
196
+
197
+ uint256 scale = 10 ** IERC20(asset).decimals();
198
+ return (borrowCap * scale, supplyCap * scale);
199
+ }
200
+ }
@@ -0,0 +1,259 @@
1
+ // SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.4;
3
+
4
+ import "./IAToken.sol";
5
+
6
+ library AaveDataTypes {
7
+ struct ReserveData {
8
+ //stores the reserve configuration
9
+ ReserveConfigurationMap configuration;
10
+ //the liquidity index. Expressed in ray
11
+ uint128 liquidityIndex;
12
+ //the current supply rate. Expressed in ray
13
+ uint128 currentLiquidityRate;
14
+ //variable borrow index. Expressed in ray
15
+ uint128 variableBorrowIndex;
16
+ //the current variable borrow rate. Expressed in ray
17
+ uint128 currentVariableBorrowRate;
18
+ //the current stable borrow rate. Expressed in ray
19
+ uint128 currentStableBorrowRate;
20
+ //timestamp of last update
21
+ uint40 lastUpdateTimestamp;
22
+ //the id of the reserve. Represents the position in the list of the active reserves
23
+ uint16 id;
24
+ //aToken address
25
+ IAToken aTokenAddress;
26
+ //stableDebtToken address
27
+ IERC20 stableDebtTokenAddress;
28
+ //variableDebtToken address
29
+ IERC20 variableDebtTokenAddress;
30
+ //address of the interest rate strategy
31
+ address interestRateStrategyAddress;
32
+ //the current treasury balance, scaled
33
+ uint128 accruedToTreasury;
34
+ //the outstanding unbacked aTokens minted through the bridging feature
35
+ uint128 unbacked;
36
+ //the outstanding debt borrowed against this asset in isolation mode
37
+ uint128 isolationModeTotalDebt;
38
+ }
39
+
40
+ struct ReserveConfigurationMap {
41
+ //bit 0-15: LTV
42
+ //bit 16-31: Liq. threshold
43
+ //bit 32-47: Liq. bonus
44
+ //bit 48-55: Decimals
45
+ //bit 56: reserve is active
46
+ //bit 57: reserve is frozen
47
+ //bit 58: borrowing is enabled
48
+ //bit 59: stable rate borrowing enabled
49
+ //bit 60: asset is paused
50
+ //bit 61: borrowing in isolation mode is enabled
51
+ //bit 62-63: reserved
52
+ //bit 64-79: reserve factor
53
+ //bit 80-115 borrow cap in whole tokens, borrowCap == 0 => no cap
54
+ //bit 116-151 supply cap in whole tokens, supplyCap == 0 => no cap
55
+ //bit 152-167 liquidation protocol fee
56
+ //bit 168-175 eMode category
57
+ //bit 176-211 unbacked mint cap in whole tokens, unbackedMintCap == 0 => minting disabled
58
+ //bit 212-251 debt ceiling for isolation mode with (ReserveConfiguration::DEBT_CEILING_DECIMALS) decimals
59
+ //bit 252-255 unused
60
+ uint256 data;
61
+ }
62
+
63
+ struct UserConfigurationMap {
64
+ /**
65
+ * @dev Bitmap of the users collaterals and borrows. It is divided in pairs of bits, one pair per asset.
66
+ * The first bit indicates if an asset is used as collateral by the user, the second whether an
67
+ * asset is borrowed by the user.
68
+ */
69
+ uint256 data;
70
+ }
71
+
72
+ enum InterestRateMode {
73
+ NONE,
74
+ STABLE,
75
+ VARIABLE
76
+ }
77
+
78
+ struct ReserveCache {
79
+ uint256 currScaledVariableDebt;
80
+ uint256 nextScaledVariableDebt;
81
+ uint256 currPrincipalStableDebt;
82
+ uint256 currAvgStableBorrowRate;
83
+ uint256 currTotalStableDebt;
84
+ uint256 nextAvgStableBorrowRate;
85
+ uint256 nextTotalStableDebt;
86
+ uint256 currLiquidityIndex;
87
+ uint256 nextLiquidityIndex;
88
+ uint256 currVariableBorrowIndex;
89
+ uint256 nextVariableBorrowIndex;
90
+ uint256 currLiquidityRate;
91
+ uint256 currVariableBorrowRate;
92
+ uint256 reserveFactor;
93
+ ReserveConfigurationMap reserveConfiguration;
94
+ address aTokenAddress;
95
+ address stableDebtTokenAddress;
96
+ address variableDebtTokenAddress;
97
+ uint40 reserveLastUpdateTimestamp;
98
+ uint40 stableDebtLastUpdateTimestamp;
99
+ }
100
+
101
+ struct ExecuteLiquidationCallParams {
102
+ uint256 reservesCount;
103
+ uint256 debtToCover;
104
+ address collateral;
105
+ address debtAsset;
106
+ address user;
107
+ bool receiveAToken;
108
+ address priceOracle;
109
+ uint8 userEModeCategory;
110
+ address priceOracleSentinel;
111
+ }
112
+
113
+ struct ExecuteSupplyParams {
114
+ address asset;
115
+ uint256 amount;
116
+ address onBehalfOf;
117
+ uint16 referralCode;
118
+ }
119
+
120
+ struct ExecuteBorrowParams {
121
+ address asset;
122
+ address user;
123
+ address onBehalfOf;
124
+ uint256 amount;
125
+ InterestRateMode interestRateMode;
126
+ uint16 referralCode;
127
+ bool releaseUnderlying;
128
+ uint256 maxStableRateBorrowSizePercent;
129
+ uint256 reservesCount;
130
+ address oracle;
131
+ uint8 userEModeCategory;
132
+ address priceOracleSentinel;
133
+ }
134
+
135
+ struct ExecuteRepayParams {
136
+ address asset;
137
+ uint256 amount;
138
+ InterestRateMode interestRateMode;
139
+ address onBehalfOf;
140
+ bool useATokens;
141
+ }
142
+
143
+ struct ExecuteWithdrawParams {
144
+ address asset;
145
+ uint256 amount;
146
+ address to;
147
+ uint256 reservesCount;
148
+ address oracle;
149
+ uint8 userEModeCategory;
150
+ }
151
+
152
+ struct ExecuteSetUserEModeParams {
153
+ uint256 reservesCount;
154
+ address oracle;
155
+ uint8 categoryId;
156
+ }
157
+
158
+ struct FinalizeTransferParams {
159
+ address asset;
160
+ address from;
161
+ address to;
162
+ uint256 amount;
163
+ uint256 balanceFromBefore;
164
+ uint256 balanceToBefore;
165
+ uint256 reservesCount;
166
+ address oracle;
167
+ uint8 fromEModeCategory;
168
+ }
169
+
170
+ struct FlashloanParams {
171
+ address receiverAddress;
172
+ address[] assets;
173
+ uint256[] amounts;
174
+ uint256[] interestRateModes;
175
+ address onBehalfOf;
176
+ bytes params;
177
+ uint16 referralCode;
178
+ uint256 flashLoanPremiumToProtocol;
179
+ uint256 flashLoanPremiumTotal;
180
+ uint256 maxStableRateBorrowSizePercent;
181
+ uint256 reservesCount;
182
+ address addressesProvider;
183
+ uint8 userEModeCategory;
184
+ bool isAuthorizedFlashBorrower;
185
+ }
186
+
187
+ struct FlashloanSimpleParams {
188
+ address receiverAddress;
189
+ address asset;
190
+ uint256 amount;
191
+ bytes params;
192
+ uint16 referralCode;
193
+ uint256 flashLoanPremiumToProtocol;
194
+ uint256 flashLoanPremiumTotal;
195
+ }
196
+
197
+ struct FlashLoanRepaymentParams {
198
+ uint256 amount;
199
+ uint256 totalPremium;
200
+ uint256 flashLoanPremiumToProtocol;
201
+ address asset;
202
+ address receiverAddress;
203
+ uint16 referralCode;
204
+ }
205
+
206
+ struct CalculateUserAccountDataParams {
207
+ UserConfigurationMap userConfig;
208
+ uint256 reservesCount;
209
+ address user;
210
+ address oracle;
211
+ uint8 userEModeCategory;
212
+ }
213
+
214
+ struct ValidateBorrowParams {
215
+ ReserveCache reserveCache;
216
+ UserConfigurationMap userConfig;
217
+ address asset;
218
+ address userAddress;
219
+ uint256 amount;
220
+ InterestRateMode interestRateMode;
221
+ uint256 maxStableLoanPercent;
222
+ uint256 reservesCount;
223
+ address oracle;
224
+ uint8 userEModeCategory;
225
+ address priceOracleSentinel;
226
+ bool isolationModeActive;
227
+ address isolationModeCollateralAddress;
228
+ uint256 isolationModeDebtCeiling;
229
+ }
230
+
231
+ struct ValidateLiquidationCallParams {
232
+ ReserveCache debtReserveCache;
233
+ uint256 totalDebt;
234
+ uint256 healthFactor;
235
+ address priceOracleSentinel;
236
+ }
237
+
238
+ struct CalculateInterestRatesParams {
239
+ uint256 unbacked;
240
+ uint256 liquidityAdded;
241
+ uint256 liquidityTaken;
242
+ uint256 totalStableDebt;
243
+ uint256 totalVariableDebt;
244
+ uint256 averageStableBorrowRate;
245
+ uint256 reserveFactor;
246
+ address reserve;
247
+ address aToken;
248
+ }
249
+
250
+ struct InitReserveParams {
251
+ address asset;
252
+ address aTokenAddress;
253
+ address stableDebtAddress;
254
+ address variableDebtAddress;
255
+ address interestRateStrategyAddress;
256
+ uint16 reservesCount;
257
+ uint16 maxNumberReserves;
258
+ }
259
+ }
@@ -0,0 +1,8 @@
1
+ // SPDX-License-Identifier: BUSL-1.1
2
+ pragma solidity ^0.8.4;
3
+
4
+ import {IERC20Metadata as IERC20} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
5
+
6
+ interface IAToken is IERC20 {
7
+ function scaledTotalSupply() external view returns (uint256);
8
+ }
@@ -0,0 +1,33 @@
1
+ // SPDX-License-Identifier: AGPL-3.0
2
+ pragma solidity ^0.8.4;
3
+
4
+ import {IPriceOracleGetter, IERC20} from "./IPriceOracleGetter.sol";
5
+ import {IPoolAddressesProvider} from "./IPoolAddressesProvider.sol";
6
+
7
+ interface IAaveOracle is IPriceOracleGetter {
8
+ /**
9
+ * @notice Returns the PoolAddressesProvider
10
+ * @return The address of the PoolAddressesProvider contract
11
+ */
12
+ function ADDRESSES_PROVIDER() external view returns (IPoolAddressesProvider);
13
+
14
+ /**
15
+ * @notice Returns a list of prices from a list of assets addresses
16
+ * @param assets The list of assets addresses
17
+ * @return The prices of the given assets
18
+ */
19
+ function getAssetsPrices(IERC20[] calldata assets) external view returns (uint256[] memory);
20
+
21
+ /**
22
+ * @notice Returns the address of the source for an asset address
23
+ * @param asset The address of the asset
24
+ * @return The address of the source
25
+ */
26
+ function getSourceOfAsset(IERC20 asset) external view returns (address);
27
+
28
+ /**
29
+ * @notice Returns the address of the fallback oracle
30
+ * @return The address of the fallback oracle
31
+ */
32
+ function getFallbackOracle() external view returns (address);
33
+ }
@@ -0,0 +1,68 @@
1
+ //SPDX-License-Identifier: MIT
2
+ pragma solidity ^0.8.10;
3
+
4
+ import {IERC20Metadata as IERC20} from "@openzeppelin/contracts/interfaces/IERC20Metadata.sol";
5
+
6
+ interface IAaveRewardsController {
7
+ struct RewardsConfigInput {
8
+ uint88 emissionPerSecond;
9
+ uint256 totalSupply;
10
+ uint32 distributionEnd;
11
+ address asset;
12
+ address reward;
13
+ address transferStrategy;
14
+ address rewardOracle;
15
+ }
16
+
17
+ struct RewardsData {
18
+ uint256 index;
19
+ uint256 emissionsPerSecond;
20
+ uint256 indexLastUpdated;
21
+ uint256 distributionEnd;
22
+ }
23
+
24
+ function EMISSION_MANAGER() external view returns (address);
25
+ function REVISION() external view returns (uint256);
26
+ function claimAllRewards(IERC20[] memory assets, address to)
27
+ external
28
+ returns (address[] memory rewardsList, uint256[] memory claimedAmounts);
29
+ function claimAllRewardsOnBehalf(address[] memory assets, address user, address to)
30
+ external
31
+ returns (address[] memory rewardsList, uint256[] memory claimedAmounts);
32
+ function claimAllRewardsToSelf(address[] memory assets)
33
+ external
34
+ returns (address[] memory rewardsList, uint256[] memory claimedAmounts);
35
+ function claimRewards(address[] memory assets, uint256 amount, address to, address reward)
36
+ external
37
+ returns (uint256);
38
+ function claimRewardsOnBehalf(address[] memory assets, uint256 amount, address user, address to, address reward)
39
+ external
40
+ returns (uint256);
41
+ function claimRewardsToSelf(address[] memory assets, uint256 amount, address reward) external returns (uint256);
42
+ function configureAssets(RewardsConfigInput[] memory config) external;
43
+ function getAllUserRewards(address[] memory assets, address user)
44
+ external
45
+ view
46
+ returns (address[] memory rewardsList, uint256[] memory unclaimedAmounts);
47
+ function getAssetDecimals(address asset) external view returns (uint8);
48
+ function getAssetIndex(address asset, address reward) external view returns (uint256, uint256);
49
+ function getClaimer(address user) external view returns (address);
50
+ function getDistributionEnd(address asset, address reward) external view returns (uint256);
51
+ function getEmissionManager() external view returns (address);
52
+ // function getRewardOracle(IERC20 reward) external view returns (IAggregatorV2V3); // not used
53
+ function getRewardsByAsset(address asset) external view returns (address[] memory);
54
+ function getRewardsData(address asset, address reward) external view returns (RewardsData memory);
55
+ function getRewardsList() external view returns (address[] memory);
56
+ function getTransferStrategy(address reward) external view returns (address);
57
+ function getUserAccruedRewards(address user, address reward) external view returns (uint256);
58
+ function getUserAssetIndex(address user, address asset, address reward) external view returns (uint256);
59
+ function getUserRewards(address[] memory assets, address user, address reward) external view returns (uint256);
60
+ function handleAction(address user, uint256 totalSupply, uint256 userBalance) external;
61
+ function initialize(address) external;
62
+ function setClaimer(address user, address caller) external;
63
+ function setDistributionEnd(address asset, address reward, uint32 newDistributionEnd) external;
64
+ function setEmissionPerSecond(address asset, address[] memory rewards, uint88[] memory newEmissionsPerSecond)
65
+ external;
66
+ function setRewardOracle(address reward, address rewardOracle) external;
67
+ function setTransferStrategy(address reward, address transferStrategy) external;
68
+ }