@pendle/core-v2 0.9.4-beta → 0.10.2-testnet

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 (360) hide show
  1. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
  2. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
  3. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
  4. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
  5. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
  6. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
  7. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
  8. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
  9. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
  10. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
  11. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
  12. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +7 -2
  13. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
  14. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
  15. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
  16. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
  17. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
  18. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
  19. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +4 -0
  20. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol}/PendleYearnVaultSCY.json +3 -3
  21. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
  22. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
  23. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
  24. package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
  25. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
  26. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json +67 -5
  27. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
  28. package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json +63 -1
  29. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
  30. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +65 -3
  31. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
  32. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +74 -10
  33. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
  34. package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +79 -15
  35. package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  36. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
  37. package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +204 -123
  38. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
  39. package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +127 -73
  40. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
  41. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +93 -34
  42. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
  43. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +90 -14
  44. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
  45. package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +14 -1
  46. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
  47. package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +139 -37
  48. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
  49. package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +84 -56
  50. package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
  51. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
  52. package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +122 -11
  53. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  54. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
  55. package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
  56. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
  57. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +96 -40
  58. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  59. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  60. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
  61. package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1025 -0
  62. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
  63. package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
  64. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
  65. package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +622 -0
  66. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +4 -0
  67. package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +35 -0
  68. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
  69. package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +459 -0
  70. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
  71. package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +459 -0
  72. package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
  73. package/build/artifacts/contracts/core/actions/base/{ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json → ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json} +2 -2
  74. package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
  75. package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
  76. package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
  77. package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
  78. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
  79. package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +24 -0
  80. package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
  81. package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
  82. package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
  83. package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
  84. package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
  85. package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
  86. package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +4 -0
  87. package/build/artifacts/contracts/interfaces/{IPActionCore.sol/IPActionCore.json → IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json} +141 -912
  88. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +4 -0
  89. package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +598 -0
  90. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +4 -0
  91. package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +35 -0
  92. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +4 -0
  93. package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +435 -0
  94. package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +4 -0
  95. package/build/artifacts/contracts/interfaces/{IPActionYT.sol/IPActionYT.json → IPActionSwapYT.sol/IPActionSwapYT.json} +23 -11
  96. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
  97. package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +323 -47
  98. package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +4 -0
  99. package/build/artifacts/contracts/{core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json → interfaces/IPGauge.sol/IPGauge.json} +5 -5
  100. package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
  101. package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
  102. package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
  103. package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
  104. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
  105. package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +72 -29
  106. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
  107. package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +0 -11
  108. package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
  109. package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
  110. package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
  111. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
  112. package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +1 -1
  113. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
  114. package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -37
  115. package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
  116. package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
  117. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
  118. package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +1 -1
  119. package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
  120. package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
  121. package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
  122. package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
  123. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
  124. package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +1 -1
  125. package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
  126. package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
  127. package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
  128. package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
  129. package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
  130. package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
  131. package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
  132. package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
  133. package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
  134. package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
  135. package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
  136. package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
  137. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +4 -0
  138. package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +74 -0
  139. package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
  140. package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  141. package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
  142. package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
  143. package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
  144. package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
  145. package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
  146. package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
  147. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
  148. package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
  149. package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
  150. package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  151. package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
  152. package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
  153. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
  154. package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
  155. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
  156. package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
  157. package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
  158. package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +1 -1
  159. package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
  160. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +4 -0
  161. package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +93 -0
  162. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
  163. package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +427 -39
  164. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
  165. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +86 -0
  166. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
  167. package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +37 -0
  168. package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
  169. package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
  170. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +8 -0
  171. package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +1 -1
  172. package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +11 -5
  173. package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -1
  174. package/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol} +0 -0
  175. package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +1 -0
  176. package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
  177. package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +7 -7
  178. package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +7 -6
  179. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -5
  180. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -3
  181. package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +6 -3
  182. package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
  183. package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +22 -28
  184. package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +71 -13
  185. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +7 -4
  186. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -2
  187. package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +4 -3
  188. package/contracts/core/Market/PendleMarket.sol +93 -57
  189. package/contracts/core/Market/PendleMarketFactory.sol +18 -33
  190. package/contracts/core/PendleRouter.sol +60 -52
  191. package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +12 -12
  192. package/contracts/core/YieldContracts/PendleYieldToken.sol +1 -1
  193. package/contracts/core/actions/ActionAddRemoveLiq.sol +366 -0
  194. package/contracts/core/actions/ActionCallback.sol +6 -6
  195. package/contracts/core/actions/ActionMintRedeem.sol +124 -0
  196. package/contracts/core/actions/ActionMisc.sol +24 -0
  197. package/contracts/core/actions/ActionSwapPT.sol +199 -0
  198. package/contracts/core/actions/{base/ActionSCYAndYTBase.sol → ActionSwapYT.sol} +109 -74
  199. package/contracts/core/actions/base/{ActionSCYAndPYBase.sol → ActionBaseMintRedeem.sol} +9 -8
  200. package/contracts/interfaces/IBenQiComptroller.sol +2 -0
  201. package/contracts/interfaces/IPActionAddRemoveLiq.sol +188 -0
  202. package/contracts/interfaces/IPActionMintRedeem.sol +115 -0
  203. package/contracts/interfaces/IPActionMisc.sol +9 -0
  204. package/contracts/interfaces/IPActionSwapPT.sol +69 -0
  205. package/contracts/interfaces/{IPActionYT.sol → IPActionSwapYT.sol} +12 -10
  206. package/contracts/interfaces/IPAllAction.sol +12 -3
  207. package/contracts/interfaces/IPGauge.sol +6 -0
  208. package/contracts/interfaces/IPGaugeController.sol +0 -2
  209. package/contracts/interfaces/IPMarket.sol +28 -10
  210. package/contracts/interfaces/IPMarketFactory.sol +1 -7
  211. package/contracts/interfaces/IPVeToken.sol +1 -1
  212. package/contracts/interfaces/IPVotingController.sol +0 -2
  213. package/contracts/interfaces/IRewardManager.sol +1 -1
  214. package/contracts/libraries/OracleLib.sol +214 -0
  215. package/contracts/libraries/RewardManagerAbstract.sol +1 -1
  216. package/contracts/libraries/math/MarketApproxLib.sol +227 -14
  217. package/contracts/libraries/math/MarketMathCore.sol +0 -33
  218. package/contracts/offchain-helpers/MarketMathStatic.sol +565 -0
  219. package/contracts/offchain-helpers/RouterStatic.sol +187 -251
  220. package/contracts/periphery/BoringOwnableUpgradeable.sol +62 -0
  221. package/deployments/43113-core.json +7 -8
  222. package/deployments/43113-markets/benqi-market-590025.json +8 -0
  223. package/deployments/43113-markets/benqi-market-c93916.json +8 -0
  224. package/deployments/80001-core.json +6 -7
  225. package/deployments/80001-markets/benqi-market-3b8BD1.json +8 -0
  226. package/deployments/80001-markets/benqi-market-b61e7f.json +8 -0
  227. package/package.json +11 -11
  228. package/typechain-types/ActionAddRemoveLiq.ts +1037 -0
  229. package/typechain-types/ActionBaseMintRedeem.ts +87 -0
  230. package/typechain-types/ActionCore.ts +21 -20
  231. package/typechain-types/ActionMintRedeem.ts +665 -0
  232. package/typechain-types/ActionMisc.ts +105 -0
  233. package/typechain-types/ActionSwapPT.ts +515 -0
  234. package/typechain-types/ActionSwapYT.ts +515 -0
  235. package/typechain-types/ActionYT.ts +5 -4
  236. package/typechain-types/BoringOwnable.ts +194 -0
  237. package/typechain-types/BoringOwnableData.ts +100 -0
  238. package/typechain-types/BoringOwnableUpgradeable.ts +194 -0
  239. package/typechain-types/BoringOwnableUpgradeableData.ts +100 -0
  240. package/typechain-types/CelerReceiverUpg.ts +124 -19
  241. package/typechain-types/CelerSenderUpg.ts +116 -11
  242. package/typechain-types/IBenQiComptroller.ts +39 -0
  243. package/typechain-types/IPActionAddRemoveLiq.ts +1018 -0
  244. package/typechain-types/IPActionCore.ts +21 -20
  245. package/typechain-types/IPActionMintRedeem.ts +646 -0
  246. package/typechain-types/IPActionMisc.ts +105 -0
  247. package/typechain-types/IPActionSwapPT.ts +496 -0
  248. package/typechain-types/IPActionSwapYT.ts +496 -0
  249. package/typechain-types/IPActionYT.ts +5 -4
  250. package/typechain-types/IPAllAction.ts +431 -193
  251. package/typechain-types/IPGauge.ts +87 -0
  252. package/typechain-types/IPMarket.ts +133 -50
  253. package/typechain-types/IPMarketFactory.ts +7 -17
  254. package/typechain-types/IPVeToken.ts +8 -8
  255. package/typechain-types/IPVotingController.ts +0 -20
  256. package/typechain-types/IPYieldToken.ts +3 -3
  257. package/typechain-types/IRewardManager.ts +3 -3
  258. package/typechain-types/MarketMathStatic.ts +198 -0
  259. package/typechain-types/OracleLib.ts +124 -0
  260. package/typechain-types/PendleGaugeControllerBaseUpg.ts +118 -15
  261. package/typechain-types/PendleGaugeControllerMainchainUpg.ts +136 -9
  262. package/typechain-types/PendleGaugeControllerSidechainUpg.ts +138 -11
  263. package/typechain-types/PendleMarket.ts +178 -59
  264. package/typechain-types/PendleMarketFactory.ts +135 -61
  265. package/typechain-types/PendleRouter.ts +201 -31
  266. package/typechain-types/PendleVotingControllerUpg.ts +325 -149
  267. package/typechain-types/PendleYieldContractFactory.ts +144 -21
  268. package/typechain-types/RouterStatic.ts +344 -64
  269. package/typechain-types/VotingControllerStorageUpg.ts +182 -113
  270. package/typechain-types/VotingEscrowPendleMainchain.ts +170 -63
  271. package/typechain-types/VotingEscrowPendleSidechain.ts +163 -17
  272. package/typechain-types/VotingEscrowTokenBase.ts +27 -8
  273. package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1083 -0
  274. package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +43 -0
  275. package/typechain-types/factories/ActionCallback__factory.ts +1 -1
  276. package/typechain-types/factories/ActionCore__factory.ts +6 -6
  277. package/typechain-types/factories/ActionMintRedeem__factory.ts +680 -0
  278. package/typechain-types/factories/ActionMisc__factory.ts +85 -0
  279. package/typechain-types/factories/ActionSwapPT__factory.ts +514 -0
  280. package/typechain-types/factories/ActionSwapYT__factory.ts +514 -0
  281. package/typechain-types/factories/ActionYT__factory.ts +2 -2
  282. package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
  283. package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +96 -0
  284. package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +143 -0
  285. package/typechain-types/factories/BoringOwnable__factory.ts +141 -0
  286. package/typechain-types/factories/CelerReceiverUpg__factory.ts +67 -5
  287. package/typechain-types/factories/CelerSenderUpg__factory.ts +63 -1
  288. package/typechain-types/factories/IBenQiComptroller__factory.ts +24 -0
  289. package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1020 -0
  290. package/typechain-types/factories/IPActionCore__factory.ts +5 -5
  291. package/typechain-types/factories/IPActionMintRedeem__factory.ts +613 -0
  292. package/typechain-types/factories/IPActionMisc__factory.ts +47 -0
  293. package/typechain-types/factories/IPActionSwapPT__factory.ts +450 -0
  294. package/typechain-types/factories/IPActionSwapYT__factory.ts +450 -0
  295. package/typechain-types/factories/IPActionYT__factory.ts +1 -1
  296. package/typechain-types/factories/IPAllAction__factory.ts +323 -47
  297. package/typechain-types/factories/IPGauge__factory.ts +36 -0
  298. package/typechain-types/factories/IPMarketFactory__factory.ts +0 -11
  299. package/typechain-types/factories/IPMarket__factory.ts +72 -29
  300. package/typechain-types/factories/IPVeToken__factory.ts +1 -1
  301. package/typechain-types/factories/IPVotingController__factory.ts +0 -37
  302. package/typechain-types/factories/IPYieldToken__factory.ts +1 -1
  303. package/typechain-types/factories/IRewardManager__factory.ts +1 -1
  304. package/typechain-types/factories/MarketMathStatic__factory.ts +146 -0
  305. package/typechain-types/factories/OracleLib__factory.ts +124 -0
  306. package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
  307. package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
  308. package/typechain-types/factories/PendleEulerSCY__factory.ts +10 -1
  309. package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +65 -3
  310. package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +73 -13
  311. package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +79 -23
  312. package/typechain-types/factories/PendleMarketFactory__factory.ts +84 -86
  313. package/typechain-types/factories/PendleMarket__factory.ts +131 -37
  314. package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
  315. package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
  316. package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
  317. package/typechain-types/factories/PendleRouter__factory.ts +141 -22
  318. package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
  319. package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
  320. package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
  321. package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +203 -129
  322. package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
  323. package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
  324. package/typechain-types/factories/PendleYieldContractFactory__factory.ts +97 -72
  325. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  326. package/typechain-types/factories/RouterStatic__factory.ts +233 -39
  327. package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +126 -72
  328. package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +93 -41
  329. package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +90 -17
  330. package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +14 -1
  331. package/typechain-types/hardhat.d.ts +162 -0
  332. package/typechain-types/index.ts +36 -0
  333. package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +0 -4
  334. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +0 -4
  335. package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +0 -1801
  336. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +0 -4
  337. package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +0 -447
  338. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +0 -4
  339. package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +0 -4
  340. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +0 -4
  341. package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -24
  342. package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +0 -4
  343. package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +0 -4
  344. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +0 -4
  345. package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -874
  346. package/contracts/core/actions/ActionCore.sol +0 -382
  347. package/contracts/core/actions/ActionYT.sol +0 -93
  348. package/contracts/core/actions/base/ActionSCYAndPTBase.sol +0 -303
  349. package/contracts/interfaces/IPActionCore.sol +0 -306
  350. package/contracts/interfaces/IPRouterStatic.sol +0 -152
  351. package/deployments/43113-markets/benqi-market-599408.json +0 -7
  352. package/deployments/43113-markets/benqi-market-93bbf0.json +0 -7
  353. package/deployments/43113-markets/benqi-market-95E744.json +0 -7
  354. package/deployments/43113-markets/benqi-market-D91a3F.json +0 -7
  355. package/deployments/80001-markets/benqi-market-007811.json +0 -7
  356. package/deployments/80001-markets/benqi-market-3fe528.json +0 -7
  357. package/typechain-types/FeeDistributorAbstract.ts +0 -164
  358. package/typechain-types/IPVotingControllerStorage.ts +0 -169
  359. package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -90
  360. package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
@@ -0,0 +1,188 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../libraries/math/MarketApproxLib.sol";
5
+ import "../libraries/kyberswap/KyberSwapHelper.sol";
6
+
7
+ interface IPActionAddRemoveLiq {
8
+ event AddLiquidityDualScyAndPt(
9
+ address indexed caller,
10
+ address indexed market,
11
+ address indexed receiver,
12
+ uint256 netScyUsed,
13
+ uint256 netPtUsed,
14
+ uint256 netLpOut
15
+ );
16
+
17
+ event AddLiquidityDualTokenAndPt(
18
+ address indexed caller,
19
+ address indexed market,
20
+ address indexed receiver,
21
+ address tokenIn,
22
+ uint256 tokenUsed,
23
+ uint256 netPtUsed,
24
+ uint256 netLpOut
25
+ );
26
+
27
+ event AddLiquiditySinglePt(
28
+ address indexed caller,
29
+ address indexed market,
30
+ address indexed receiver,
31
+ uint256 netPtIn,
32
+ uint256 netLpOut
33
+ );
34
+
35
+ event AddLiquiditySingleScy(
36
+ address indexed caller,
37
+ address indexed market,
38
+ address indexed receiver,
39
+ uint256 netScyIn,
40
+ uint256 netLpOut
41
+ );
42
+
43
+ event AddLiquiditySingleToken(
44
+ address indexed caller,
45
+ address indexed market,
46
+ address indexed token,
47
+ address receiver,
48
+ uint256 netTokenIn,
49
+ uint256 netLpOut
50
+ );
51
+
52
+ event RemoveLiquidityDualScyAndPt(
53
+ address indexed caller,
54
+ address indexed market,
55
+ address indexed receiver,
56
+ uint256 netLpToRemove,
57
+ uint256 netPtOut,
58
+ uint256 netScyOut
59
+ );
60
+
61
+ event RemoveLiquidityDualTokenAndPt(
62
+ address indexed caller,
63
+ address indexed market,
64
+ address indexed receiver,
65
+ uint256 netLpToRemove,
66
+ uint256 netPtOut,
67
+ address tokenOut,
68
+ uint256 netTokenOut
69
+ );
70
+
71
+ event RemoveLiquiditySinglePt(
72
+ address indexed caller,
73
+ address indexed market,
74
+ address indexed receiver,
75
+ uint256 netLpToRemove,
76
+ uint256 netPtOut
77
+ );
78
+
79
+ event RemoveLiquiditySingleScy(
80
+ address indexed caller,
81
+ address indexed market,
82
+ address indexed receiver,
83
+ uint256 netLpToRemove,
84
+ uint256 netScyOut
85
+ );
86
+
87
+ event RemoveLiquiditySingleToken(
88
+ address indexed caller,
89
+ address indexed market,
90
+ address indexed token,
91
+ address receiver,
92
+ uint256 netLpToRemove,
93
+ uint256 netTokenOut
94
+ );
95
+
96
+ function addLiquidityDualScyAndPt(
97
+ address receiver,
98
+ address market,
99
+ uint256 netScyDesired,
100
+ uint256 netPtDesired,
101
+ uint256 minLpOut
102
+ )
103
+ external
104
+ returns (
105
+ uint256 netLpOut,
106
+ uint256 scyUsed,
107
+ uint256 netPtUsed
108
+ );
109
+
110
+ function addLiquidityDualTokenAndPt(
111
+ address receiver,
112
+ address market,
113
+ address tokenIn,
114
+ uint256 netTokenDesired,
115
+ uint256 netPtDesired,
116
+ uint256 minLpOut
117
+ )
118
+ external
119
+ payable
120
+ returns (
121
+ uint256 netLpOut,
122
+ uint256 netTokenUsed,
123
+ uint256 netPtUsed
124
+ );
125
+
126
+ function addLiquiditySinglePt(
127
+ address receiver,
128
+ address market,
129
+ uint256 netPtIn,
130
+ uint256 minLpOut,
131
+ ApproxParams calldata guessPtSwapToScy
132
+ ) external returns (uint256 netLpOut);
133
+
134
+ function addLiquiditySingleScy(
135
+ address receiver,
136
+ address market,
137
+ uint256 netScyIn,
138
+ uint256 minLpOut,
139
+ ApproxParams calldata guessPtReceivedFromScy
140
+ ) external returns (uint256 netLpOut);
141
+
142
+ function addLiquiditySingleToken(
143
+ address receiver,
144
+ address market,
145
+ uint256 minLpOut,
146
+ ApproxParams calldata guessPtReceivedFromScy,
147
+ TokenInput calldata input
148
+ ) external payable returns (uint256 netLpOut);
149
+
150
+ function removeLiquidityDualScyAndPt(
151
+ address receiver,
152
+ address market,
153
+ uint256 netLpToRemove,
154
+ uint256 minScyOut,
155
+ uint256 minPtOut
156
+ ) external returns (uint256 netScyOut, uint256 netPtOut);
157
+
158
+ function removeLiquidityDualTokenAndPt(
159
+ address receiver,
160
+ address market,
161
+ uint256 netLpToRemove,
162
+ address tokenOut,
163
+ uint256 minTokenOut,
164
+ uint256 minPtOut
165
+ ) external returns (uint256 netTokenOut, uint256 netPtOut);
166
+
167
+ function removeLiquiditySinglePt(
168
+ address receiver,
169
+ address market,
170
+ uint256 netLpToRemove,
171
+ uint256 minPtOut,
172
+ ApproxParams calldata guessPtOut
173
+ ) external returns (uint256 netPtOut);
174
+
175
+ function removeLiquiditySingleScy(
176
+ address receiver,
177
+ address market,
178
+ uint256 netLpToRemove,
179
+ uint256 minScyOut
180
+ ) external returns (uint256 netScyOut);
181
+
182
+ function removeLiquiditySingleToken(
183
+ address receiver,
184
+ address market,
185
+ uint256 netLpToRemove,
186
+ TokenOutput calldata output
187
+ ) external returns (uint256 netTokenOut);
188
+ }
@@ -0,0 +1,115 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../libraries/math/MarketApproxLib.sol";
5
+ import "../libraries/kyberswap/KyberSwapHelper.sol";
6
+
7
+ interface IPActionMintRedeem {
8
+ event MintScyFromToken(
9
+ address indexed caller,
10
+ address indexed receiver,
11
+ address indexed SCY,
12
+ address tokenIn,
13
+ uint256 netTokenIn,
14
+ uint256 netScyOut
15
+ );
16
+
17
+ event RedeemScyToToken(
18
+ address indexed caller,
19
+ address indexed receiver,
20
+ address indexed SCY,
21
+ uint256 netScyIn,
22
+ address tokenOut,
23
+ uint256 netTokenOut
24
+ );
25
+
26
+ event MintPyFromScy(
27
+ address indexed caller,
28
+ address indexed receiver,
29
+ address indexed YT,
30
+ uint256 netScyIn,
31
+ uint256 netPyOut
32
+ );
33
+
34
+ event RedeemPyToScy(
35
+ address indexed caller,
36
+ address indexed receiver,
37
+ address indexed YT,
38
+ uint256 netPyIn,
39
+ uint256 netScyOut
40
+ );
41
+
42
+ event MintPyFromToken(
43
+ address indexed caller,
44
+ address indexed receiver,
45
+ address indexed YT,
46
+ address tokenIn,
47
+ uint256 netTokenIn,
48
+ uint256 netPyOut
49
+ );
50
+
51
+ event RedeemPyToToken(
52
+ address indexed caller,
53
+ address indexed receiver,
54
+ address indexed YT,
55
+ uint256 netPyIn,
56
+ address tokenOut,
57
+ uint256 netTokenOut
58
+ );
59
+
60
+ function mintScyFromToken(
61
+ address receiver,
62
+ address SCY,
63
+ uint256 minScyOut,
64
+ TokenInput calldata input
65
+ ) external payable returns (uint256 netScyOut);
66
+
67
+ function redeemScyToToken(
68
+ address receiver,
69
+ address SCY,
70
+ uint256 netScyIn,
71
+ TokenOutput calldata output
72
+ ) external returns (uint256 netTokenOut);
73
+
74
+ function mintPyFromToken(
75
+ address receiver,
76
+ address YT,
77
+ uint256 minPyOut,
78
+ TokenInput calldata input
79
+ ) external payable returns (uint256 netPyOut);
80
+
81
+ function redeemPyToToken(
82
+ address receiver,
83
+ address YT,
84
+ uint256 netPyIn,
85
+ TokenOutput calldata output
86
+ ) external returns (uint256 netTokenOut);
87
+
88
+ function mintPyFromScy(
89
+ address receiver,
90
+ address YT,
91
+ uint256 netScyIn,
92
+ uint256 minPyOut
93
+ ) external returns (uint256 netPyOut);
94
+
95
+ function redeemPyToScy(
96
+ address receiver,
97
+ address YT,
98
+ uint256 netPyIn,
99
+ uint256 minScyOut
100
+ ) external returns (uint256 netScyOut);
101
+
102
+ function redeemDueInterestAndRewards(
103
+ address user,
104
+ address[] calldata scys,
105
+ address[] calldata yts,
106
+ address[] calldata markets
107
+ )
108
+ external
109
+ returns (
110
+ uint256[][] memory scyRewards,
111
+ uint256[] memory ytInterests,
112
+ uint256[][] memory ytRewards,
113
+ uint256[][] memory marketRewards
114
+ );
115
+ }
@@ -0,0 +1,9 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ interface IPActionMisc {
5
+ function consult(address market, uint32 secondsAgo)
6
+ external
7
+ view
8
+ returns (uint96 lnImpliedRateMean);
9
+ }
@@ -0,0 +1,69 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ import "../libraries/math/MarketApproxLib.sol";
5
+ import "../libraries/kyberswap/KyberSwapHelper.sol";
6
+
7
+ interface IPActionSwapPT {
8
+ event SwapPtAndScy(
9
+ address indexed caller,
10
+ address indexed market,
11
+ address indexed receiver,
12
+ int256 netPtToAccount,
13
+ int256 netScyToAccount
14
+ );
15
+
16
+ event SwapPtAndToken(
17
+ address indexed caller,
18
+ address indexed market,
19
+ address indexed token,
20
+ address receiver,
21
+ int256 netPtToAccount,
22
+ int256 netTokenToAccount
23
+ );
24
+
25
+ function swapExactPtForScy(
26
+ address receiver,
27
+ address market,
28
+ uint256 exactPtIn,
29
+ uint256 minScyOut
30
+ ) external returns (uint256 netScyOut);
31
+
32
+ function swapPtForExactScy(
33
+ address receiver,
34
+ address market,
35
+ uint256 exactScyOut,
36
+ uint256 maxPtIn,
37
+ ApproxParams calldata guessPtIn
38
+ ) external returns (uint256 netPtIn);
39
+
40
+ function swapScyForExactPt(
41
+ address receiver,
42
+ address market,
43
+ uint256 exactPtOut,
44
+ uint256 maxScyIn
45
+ ) external returns (uint256 netScyIn);
46
+
47
+ function swapExactScyForPt(
48
+ address receiver,
49
+ address market,
50
+ uint256 exactScyIn,
51
+ uint256 minPtOut,
52
+ ApproxParams calldata guessPtOut
53
+ ) external returns (uint256 netPtOut);
54
+
55
+ function swapExactTokenForPt(
56
+ address receiver,
57
+ address market,
58
+ uint256 minPtOut,
59
+ ApproxParams calldata guessPtOut,
60
+ TokenInput calldata input
61
+ ) external payable returns (uint256 netPtOut);
62
+
63
+ function swapExactPtForToken(
64
+ address receiver,
65
+ address market,
66
+ uint256 exactPtIn,
67
+ TokenOutput calldata output
68
+ ) external returns (uint256 netTokenOut);
69
+ }
@@ -4,20 +4,22 @@ pragma solidity 0.8.15;
4
4
  import "../libraries/math/MarketApproxLib.sol";
5
5
  import "../libraries/kyberswap/KyberSwapHelper.sol";
6
6
 
7
- interface IPActionYT {
8
- event SwapYTAndSCY(
9
- address indexed user,
7
+ interface IPActionSwapYT {
8
+ event SwapYtAndScy(
9
+ address indexed caller,
10
10
  address indexed market,
11
- int256 ytToAccount,
12
- int256 scyToAccount
11
+ address indexed receiver,
12
+ int256 netYtToAccount,
13
+ int256 netScyToAccount
13
14
  );
14
15
 
15
- event SwapYTAndToken(
16
- address indexed user,
16
+ event SwapYtAndToken(
17
+ address indexed caller,
17
18
  address indexed market,
18
19
  address indexed token,
19
- int256 ytToAccount,
20
- int256 tokenToAccount
20
+ address receiver,
21
+ int256 netYtToAccount,
22
+ int256 netTokenToAccount
21
23
  );
22
24
 
23
25
  function swapExactYtForScy(
@@ -56,7 +58,7 @@ interface IPActionYT {
56
58
  uint256 minYtOut,
57
59
  ApproxParams memory guessYtOut,
58
60
  TokenInput calldata input
59
- ) external returns (uint256 netYtOut);
61
+ ) external payable returns (uint256 netYtOut);
60
62
 
61
63
  function swapExactYtForToken(
62
64
  address receiver,
@@ -2,7 +2,16 @@
2
2
 
3
3
  pragma solidity 0.8.15;
4
4
 
5
- import "./IPActionCore.sol";
6
- import "./IPActionYT.sol";
5
+ import "./IPActionAddRemoveLiq.sol";
6
+ import "./IPActionSwapPT.sol";
7
+ import "./IPActionSwapYT.sol";
8
+ import "./IPActionMintRedeem.sol";
9
+ import "./IPActionMisc.sol";
7
10
 
8
- interface IPAllAction is IPActionCore, IPActionYT {}
11
+ interface IPAllAction is
12
+ IPActionAddRemoveLiq,
13
+ IPActionSwapPT,
14
+ IPActionSwapYT,
15
+ IPActionMintRedeem,
16
+ IPActionMisc
17
+ {}
@@ -0,0 +1,6 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ pragma solidity 0.8.15;
3
+
4
+ interface IPGauge {
5
+ function totalActiveSupply() external view returns (uint256);
6
+ }
@@ -23,6 +23,4 @@ interface IPGaugeController {
23
23
  uint128,
24
24
  uint128
25
25
  );
26
-
27
-
28
26
  }
@@ -6,32 +6,43 @@ import "./IPPrincipalToken.sol";
6
6
  import "./IPYieldToken.sol";
7
7
  import "./ISuperComposableYield.sol";
8
8
  import "../libraries/math/MarketMathCore.sol";
9
+ import "./IPGauge.sol";
9
10
 
10
- interface IPMarket is IERC20Metadata {
11
- event Mint(address indexed receiver, uint256 lpMinted, uint256 scyUsed, uint256 ptUsed);
11
+ interface IPMarket is IERC20Metadata, IPGauge {
12
+ event Mint(
13
+ address indexed receiver,
14
+ uint256 netLpMinted,
15
+ uint256 netScyUsed,
16
+ uint256 netPtUsed
17
+ );
12
18
 
13
19
  event Burn(
14
20
  address indexed receiverScy,
15
21
  address indexed receiverPt,
16
- uint256 lpBurned,
17
- uint256 scyToAccount,
18
- uint256 ptToAccount
22
+ uint256 netLpBurned,
23
+ uint256 netScyOut,
24
+ uint256 netPtOut
19
25
  );
20
26
 
21
27
  event Swap(
22
28
  address indexed receiver,
23
- int256 ptToAccount,
24
- int256 scyToAccount,
29
+ int256 netPtOut,
30
+ int256 netScyOut,
25
31
  uint256 netScyToReserve
26
32
  );
27
33
 
28
34
  event UpdateImpliedRate(uint256 indexed timestamp, uint256 lnLastImpliedRate);
29
35
 
30
- function mint(address receiver) external returns (uint256);
36
+ event IncreaseObservationCardinalityNext(
37
+ uint16 observationCardinalityNextOld,
38
+ uint16 observationCardinalityNextNew
39
+ );
40
+
41
+ function mint(address receiver) external returns (uint256 netLpOut);
31
42
 
32
43
  function burn(address receiverScy, address receiverPt)
33
44
  external
34
- returns (uint256 scyToAccount, uint256 ptToAccount);
45
+ returns (uint256 netScyOut, uint256 netPtOut);
35
46
 
36
47
  function swapExactPtForScy(
37
48
  address receiver,
@@ -47,7 +58,14 @@ interface IPMarket is IERC20Metadata {
47
58
 
48
59
  function redeemRewards(address user) external returns (uint256[] memory);
49
60
 
50
- function readState(bool updateRateOracle) external view returns (MarketState memory market);
61
+ function readState() external view returns (MarketState memory market);
62
+
63
+ function observe(uint32[] memory secondsAgos)
64
+ external
65
+ view
66
+ returns (uint216[] memory lnImpliedRateCumulative);
67
+
68
+ function increaseObservationsCardinalityNext(uint16 cardinalityNext) external;
51
69
 
52
70
  function readTokens()
53
71
  external
@@ -2,12 +2,7 @@
2
2
  pragma solidity 0.8.15;
3
3
 
4
4
  interface IPMarketFactory {
5
- event NewMarketConfig(
6
- address indexed treasury,
7
- uint96 lnFeeRateRoot,
8
- uint32 rateOracleTimeWindow,
9
- uint8 reserveFeePercent
10
- );
5
+ event NewMarketConfig(address indexed treasury, uint96 lnFeeRateRoot, uint8 reserveFeePercent);
11
6
 
12
7
  event CreateNewMarket(
13
8
  address indexed market,
@@ -27,7 +22,6 @@ interface IPMarketFactory {
27
22
  returns (
28
23
  address treasury,
29
24
  uint96 lnFeeRateRoot,
30
- uint32 rateOracleTimeWindow,
31
25
  uint8 reserveFeePercent
32
26
  );
33
27
  }
@@ -15,5 +15,5 @@ interface IPVeToken {
15
15
 
16
16
  function totalSupplyCurrent() external returns (uint128);
17
17
 
18
- function totalSupplyAndBlanaceCurrent(address user) external returns (uint128, uint128);
18
+ function totalSupplyAndBalanceCurrent(address user) external returns (uint128, uint128);
19
19
  }
@@ -7,8 +7,6 @@ interface IPVotingController {
7
7
 
8
8
  event RemovePool(uint64 indexed chainId, address indexed pool);
9
9
 
10
- event Unvote(address indexed user, address indexed pool, VeBalance vote);
11
-
12
10
  event Vote(address indexed user, address indexed pool, uint64 weight, VeBalance vote);
13
11
 
14
12
  event SetPendlePerSec(uint256 newPendlePerSec);
@@ -5,5 +5,5 @@ interface IRewardManager {
5
5
  function userReward(address token, address user)
6
6
  external
7
7
  view
8
- returns (uint128 index, uint128 accured);
8
+ returns (uint128 index, uint128 accrued);
9
9
  }