@pendle/core-v2 0.6.8 → 0.7.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.
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +751 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +4 -0
- package/build/artifacts/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol/WadRayMath.json +3 -3
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.json +27 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +761 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol/PendleBtrflyScy.json +635 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +609 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol/PendleJoeLpSCY.json +653 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +622 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +622 -0
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/{ISuperComposableYield.sol/ISuperComposableYield.json → base-implementations/SCYBase.sol/SCYBase.json} +221 -141
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/{implementations → base-implementations}/SCYBaseWithRewards.sol/SCYBaseWithRewards.json +247 -223
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol/CelerReceiver.json +128 -0
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.dbg.json +4 -0
- package/build/artifacts/contracts/{SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.json → core/LiquidityMining/CelerAbstracts/CelerSender.sol/CelerSender.json} +29 -33
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol/PendleGaugeController.json +193 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol/PendleGaugeControllerMainchain.json +255 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol/PendleGaugeControllerSidechain.json +318 -0
- package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +4 -0
- package/build/artifacts/contracts/{interfaces/IPVotingEscrow.sol/IVotingEscrowPendle.json → core/LiquidityMining/PendleGauge.sol/PendleGauge.json} +57 -65
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol/PendleVotingController.json +707 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol/VotingControllerStorage.json +342 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +547 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +353 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.dbg.json +4 -0
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol/VotingEscrowToken.json +138 -0
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +4 -0
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +922 -0
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +4 -0
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +345 -0
- package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +4 -0
- package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.json +254 -0
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +4 -0
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +329 -0
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +2 -20
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +4 -0
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +445 -0
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +4 -0
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +344 -0
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +4 -0
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +750 -0
- package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionCallback.sol/ActionCallback.json +2 -2
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +123 -77
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +39 -42
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json +163 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json +0 -13
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +1 -14
- package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.json +10 -0
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +39 -0
- package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.json +13 -0
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.json +74 -0
- package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IVePToken.sol/IVePToken.json → ICelerMessageBus.sol/ICelerMessageBus.json} +21 -11
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.json +45 -0
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +4 -0
- package/build/artifacts/contracts/{core/PendleBaseToken.sol/PendleBaseToken.json → interfaces/IERC4626.sol/IERC4626.json} +53 -68
- package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.json +962 -0
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +122 -58
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +36 -21
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +116 -81
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +109 -0
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +132 -0
- package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +35 -54
- package/build/artifacts/contracts/interfaces/IPMarketAddRemoveCallback.sol/IPMarketAddRemoveCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +31 -0
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.json +5 -5
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +99 -0
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +167 -0
- package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.json +148 -0
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.json +85 -83
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPBaseToken.sol/IPBaseToken.json → IQiAvax.sol/IQiAvax.json} +106 -15
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.json +117 -0
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.json +117 -0
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +4 -0
- package/build/artifacts/contracts/{periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json → interfaces/IRewardManager.sol/IRewardManager.json} +12 -14
- package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +4 -0
- package/build/artifacts/contracts/{SuperComposableYield/implementations/SCYBase.sol/SCYBase.json → interfaces/ISuperComposableYield.sol/ISuperComposableYield.json} +183 -181
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +13 -0
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.json +13 -0
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +13 -0
- package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +4 -0
- package/build/artifacts/contracts/{SuperComposableYield/implementations → libraries}/RewardManager.sol/RewardManager.json +44 -33
- package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/RewardManagerMini.sol/RewardManagerMini.json +101 -0
- package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol}/SCYIndexLib.json +3 -3
- package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +4 -0
- package/build/artifacts/contracts/{SuperComposableYield → libraries/SCY}/SCYUtils.sol/SCYUtils.json +3 -3
- package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/{math/MarketMathAux.sol/MarketMathAux.json → VeBalanceLib.sol/VeBalanceLib.json} +4 -4
- package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.json +10 -0
- package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
- package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/helpers/MiniDeployer.sol/MiniDeployer.json +10 -0
- package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.json +10 -0
- package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +4 -0
- package/build/artifacts/contracts/{core/actions/base/ActionType.sol/ActionType.json → libraries/helpers/TokenHelper.sol/TokenHelper.json} +2 -2
- package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
- package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/MarketApproxLib.sol/MarketApproxLib.json +2 -2
- package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/libraries/math/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/Math.sol/Math.json +2 -2
- package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/math/WeekMath.sol/WeekMath.json +10 -0
- package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/solmate/Bytes32AddressLib.sol/Bytes32AddressLib.json +10 -0
- package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/solmate/LibRLP.sol/LibRLP.json +10 -0
- package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.json +10 -0
- package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol}/JoeLibrary.json +3 -3
- package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json +24 -0
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +862 -0
- package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.json +2 -2
- package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol +147 -0
- package/contracts/{core/PendleSCYImpl → SuperComposableYield/SCY-implementations}/AaveV3/WadRayMath.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol +74 -0
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +187 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleBtrflySCY.sol +123 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol +99 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleJoeLpSCY.sol +245 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +107 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol +120 -0
- package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +197 -0
- package/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol +131 -0
- package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiver.sol +47 -0
- package/contracts/core/LiquidityMining/CelerAbstracts/CelerSender.sol +52 -0
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeController.sol +141 -0
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchain.sol +30 -0
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechain.sol +22 -0
- package/contracts/core/LiquidityMining/PendleGauge.sol +118 -0
- package/contracts/core/LiquidityMining/README.md +63 -0
- package/contracts/core/LiquidityMining/VotingController/PendleVotingController.sol +323 -0
- package/contracts/core/LiquidityMining/VotingController/VotingControllerStorage.sol +224 -0
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +241 -0
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +73 -0
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowToken.sol +53 -0
- package/contracts/core/{PendleMarket.sol → Market/PendleMarket.sol} +139 -103
- package/contracts/core/{PendleMarketFactory.sol → Market/PendleMarketFactory.sol} +62 -19
- package/contracts/core/PendleERC20.sol +358 -0
- package/contracts/core/PendleERC20Permit.sol +84 -0
- package/contracts/core/PendleRouter.sol +6 -12
- package/contracts/core/YieldContracts/InterestManagerYT.sol +87 -0
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +52 -0
- package/contracts/core/{PendleYieldContractFactory.sol → YieldContracts/PendleYieldContractFactory.sol} +46 -25
- package/contracts/core/YieldContracts/PendleYieldToken.sol +340 -0
- package/contracts/core/actions/ActionCallback.sol +63 -43
- package/contracts/core/actions/ActionCore.sol +95 -78
- package/contracts/core/actions/ActionYT.sol +35 -86
- package/contracts/core/actions/base/ActionSCYAndPTBase.sol +133 -78
- package/contracts/core/actions/base/ActionSCYAndPYBase.sol +31 -46
- package/contracts/core/actions/base/ActionSCYAndYTBase.sol +127 -45
- package/contracts/core/actions/base/CallbackHelper.sol +81 -0
- package/contracts/interfaces/IAToken.sol +11 -1
- package/contracts/interfaces/IAavePool.sol +1 -1
- package/contracts/interfaces/IAaveRewardsController.sol +1 -1
- package/contracts/interfaces/IBenQiComptroller.sol +3 -1
- package/contracts/interfaces/IBenQiInterestRateModel.sol +16 -0
- package/contracts/interfaces/ICelerMessageBus.sol +28 -0
- package/contracts/interfaces/ICelerMessageReceiverApp.sol +25 -0
- package/contracts/interfaces/IERC4626.sol +39 -0
- package/contracts/interfaces/IJoeRouter01.sol +1 -1
- package/contracts/interfaces/IJoeRouter02.sol +52 -0
- package/contracts/interfaces/IPActionCore.sol +44 -27
- package/contracts/interfaces/IPActionYT.sol +12 -9
- package/contracts/interfaces/IPAllAction.sol +2 -3
- package/contracts/interfaces/IPGaugeController.sol +22 -0
- package/contracts/interfaces/IPGaugeControllerMainchain.sol +12 -0
- package/contracts/interfaces/IPGovernanceManager.sol +1 -1
- package/contracts/interfaces/IPInterestManagerYT.sol +9 -0
- package/contracts/interfaces/IPMarket.sol +13 -13
- package/contracts/interfaces/IPMarketAddRemoveCallback.sol +3 -3
- package/contracts/interfaces/IPMarketFactory.sol +8 -1
- package/contracts/interfaces/IPMarketSwapCallback.sol +1 -1
- package/contracts/interfaces/IPPermissionsV2Upg.sol +1 -1
- package/contracts/interfaces/IPPrincipalToken.sol +9 -5
- package/contracts/interfaces/IPRouterStatic.sol +1 -1
- package/contracts/interfaces/IPVeToken.sol +10 -5
- package/contracts/interfaces/IPVotingController.sol +21 -0
- package/contracts/interfaces/IPVotingEscrow.sol +14 -22
- package/contracts/interfaces/IPYieldContractFactory.sol +1 -1
- package/contracts/interfaces/IPYieldToken.sol +17 -17
- package/contracts/interfaces/IQiAvax.sol +31 -0
- package/contracts/interfaces/IQiErc20.sol +1 -1
- package/contracts/interfaces/IQiToken.sol +22 -1
- package/contracts/interfaces/IREDACTEDStaking.sol +1 -1
- package/contracts/interfaces/IRewardManager.sol +9 -0
- package/contracts/interfaces/ISuperComposableYield.sol +182 -0
- package/contracts/interfaces/IWETH.sol +1 -1
- package/contracts/interfaces/IWXBTRFLY.sol +3 -1
- package/contracts/interfaces/IWstETH.sol +3 -1
- package/contracts/interfaces/IYearnVault.sol +3 -1
- package/contracts/libraries/RewardManager.sol +78 -0
- package/contracts/libraries/RewardManagerAbstract.sol +81 -0
- package/contracts/libraries/{SCYIndex.sol → SCY/SCYIndex.sol} +8 -8
- package/contracts/libraries/SCY/SCYUtils.sol +18 -0
- package/contracts/libraries/VeBalanceLib.sol +114 -0
- package/contracts/libraries/helpers/ArrayLib.sol +65 -0
- package/contracts/libraries/helpers/ExpiryUtilsLib.sol +1 -1
- package/contracts/libraries/helpers/MiniDeployer.sol +23 -0
- package/contracts/libraries/helpers/MiniHelpers.sol +15 -0
- package/contracts/libraries/helpers/TokenHelper.sol +105 -0
- package/contracts/libraries/math/LogExpMath.sol +59 -1
- package/contracts/libraries/math/MarketApproxLib.sol +167 -164
- package/contracts/libraries/math/MarketMathCore.sol +106 -25
- package/contracts/libraries/math/Math.sol +28 -21
- package/contracts/libraries/math/WeekMath.sol +19 -0
- package/contracts/libraries/solmate/Bytes32AddressLib.sol +14 -0
- package/contracts/libraries/solmate/LibRLP.sol +30 -0
- package/contracts/libraries/solmate/SSTORE2.sol +99 -0
- package/contracts/libraries/{JoeLibrary.sol → traderjoe/JoeLibrary.sol} +3 -2
- package/contracts/{periphery → libraries/traderjoe}/PendleJoeSwapHelperUpg.sol +8 -10
- package/contracts/{core → offchain-helpers}/RouterStatic.sol +24 -19
- package/contracts/periphery/PendleGovernanceManager.sol +1 -1
- package/contracts/periphery/PermissionsV2Upg.sol +1 -1
- package/package.json +1 -1
- package/typechain-types/ActionCore.ts +169 -96
- package/typechain-types/ActionSCYAndPTBase.ts +210 -0
- package/typechain-types/ActionSCYAndPYBase.ts +0 -13
- package/typechain-types/ActionSCYAndYTBase.ts +8 -21
- package/typechain-types/ActionYT.ts +73 -64
- package/typechain-types/BeaconProxy.ts +97 -0
- package/typechain-types/CelerReceiver.ts +267 -0
- package/typechain-types/CelerSender.ts +197 -0
- package/typechain-types/ERC1967Upgrade.ts +97 -0
- package/typechain-types/ERC20Permit.ts +521 -0
- package/typechain-types/IAToken.ts +55 -0
- package/typechain-types/IBeacon.ts +87 -0
- package/typechain-types/IBenQiComptroller.ts +13 -0
- package/typechain-types/IBenQiInterestRateModel.ts +162 -0
- package/typechain-types/ICelerMessageBus.ts +134 -0
- package/typechain-types/ICelerMessageReceiverApp.ts +120 -0
- package/typechain-types/IERC1822Proxiable.ts +87 -0
- package/typechain-types/IERC20Permit.ts +175 -0
- package/typechain-types/IERC4626.ts +463 -0
- package/typechain-types/IJoeRouter02.ts +1420 -0
- package/typechain-types/IPActionCore.ts +169 -83
- package/typechain-types/IPActionYT.ts +65 -43
- package/typechain-types/IPAllAction.ts +190 -137
- package/typechain-types/IPGauge.ts +104 -0
- package/typechain-types/IPGaugeController.ts +191 -0
- package/typechain-types/IPGaugeControllerMainchain.ts +236 -0
- package/typechain-types/IPMarket.ts +73 -74
- package/typechain-types/IPMarketFactory.ts +27 -0
- package/typechain-types/IPPrincipalToken.ts +8 -20
- package/typechain-types/IPVeToken.ts +198 -0
- package/typechain-types/IPVotingController.ts +179 -0
- package/typechain-types/IPVotingEscrow.ts +217 -0
- package/typechain-types/IPVotingEscrowController.ts +154 -0
- package/typechain-types/IPYieldToken.ts +176 -213
- package/typechain-types/IQiAvax.ts +551 -0
- package/typechain-types/IQiErc20.ts +171 -0
- package/typechain-types/IQiToken.ts +171 -0
- package/typechain-types/IRewardManager.ts +16 -87
- package/typechain-types/ISuperComposableYield.ts +283 -269
- package/typechain-types/IWXBTRFLY.ts +13 -0
- package/typechain-types/IWstETH.ts +13 -0
- package/typechain-types/IYearnVault.ts +13 -0
- package/typechain-types/PendleAaveV3SCY.ts +382 -477
- package/typechain-types/PendleBtrflyScy.ts +287 -348
- package/typechain-types/PendleERC20.ts +339 -0
- package/typechain-types/PendleERC20Permit.ts +443 -0
- package/typechain-types/PendleERC4626SCY.ts +801 -0
- package/typechain-types/PendleGauge.ts +276 -0
- package/typechain-types/PendleGaugeController.ts +346 -0
- package/typechain-types/PendleGaugeControllerMainchain.ts +410 -0
- package/typechain-types/PendleGaugeControllerSidechain.ts +524 -0
- package/typechain-types/PendleJoeLpSCY.ts +837 -0
- package/typechain-types/PendleJoeSwapHelperUpg.ts +0 -13
- package/typechain-types/PendleMarket.ts +265 -151
- package/typechain-types/PendleMarketFactory.ts +111 -16
- package/typechain-types/PendleMarketRewards.ts +1317 -0
- package/typechain-types/PendlePrincipalToken.ts +103 -130
- package/typechain-types/PendleQiTokenHelper.ts +57 -0
- package/typechain-types/PendleQiTokenSCY.ts +991 -0
- package/typechain-types/PendleRouter.ts +0 -19
- package/typechain-types/PendleVotingController.ts +1042 -0
- package/typechain-types/PendleWstEthSCY.ts +813 -0
- package/typechain-types/PendleYearnVaultScy.ts +278 -339
- package/typechain-types/PendleYieldContractFactory.ts +43 -27
- package/typechain-types/PendleYieldToken.ts +297 -428
- package/typechain-types/RewardManager.ts +70 -69
- package/typechain-types/RewardManagerMini.ts +200 -0
- package/typechain-types/SCYBase.ts +276 -335
- package/typechain-types/SCYBaseWithRewards.ts +367 -424
- package/typechain-types/VotingControllerStorage.ts +507 -0
- package/typechain-types/VotingEscrowPendleMainchain.ts +854 -0
- package/typechain-types/VotingEscrowPendleSidechain.ts +546 -0
- package/typechain-types/VotingEscrowToken.ts +251 -0
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionCore__factory.ts +122 -80
- package/typechain-types/factories/ActionRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +187 -0
- package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -13
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +1 -14
- package/typechain-types/factories/ActionYT__factory.ts +39 -48
- package/typechain-types/factories/BeaconProxy__factory.ts +141 -0
- package/typechain-types/factories/CelerReceiver__factory.ts +140 -0
- package/typechain-types/factories/CelerSender__factory.ts +85 -0
- package/typechain-types/factories/ERC1967Upgrade__factory.ts +71 -0
- package/typechain-types/factories/ERC20Permit__factory.ts +368 -0
- package/typechain-types/factories/ERC20__factory.ts +1 -1
- package/typechain-types/factories/IAToken__factory.ts +39 -0
- package/typechain-types/factories/IBeacon__factory.ts +36 -0
- package/typechain-types/factories/IBenQiComptroller__factory.ts +13 -0
- package/typechain-types/factories/IBenQiInterestRateModel__factory.ts +93 -0
- package/typechain-types/factories/ICelerMessageBus__factory.ts +68 -0
- package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +64 -0
- package/typechain-types/factories/IERC1822Proxiable__factory.ts +39 -0
- package/typechain-types/factories/IERC20Permit__factory.ts +98 -0
- package/typechain-types/factories/IERC4626__factory.ts +330 -0
- package/typechain-types/factories/IJoeRouter02__factory.ts +974 -0
- package/typechain-types/factories/IPActionCore__factory.ts +122 -58
- package/typechain-types/factories/IPActionYT__factory.ts +36 -21
- package/typechain-types/factories/IPAllAction__factory.ts +116 -81
- package/typechain-types/factories/IPGaugeControllerMainchain__factory.ts +151 -0
- package/typechain-types/factories/IPGaugeController__factory.ts +124 -0
- package/typechain-types/factories/IPGauge__factory.ts +42 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +31 -0
- package/typechain-types/factories/IPMarket__factory.ts +35 -54
- package/typechain-types/factories/IPPrincipalToken__factory.ts +5 -5
- package/typechain-types/factories/IPVeToken__factory.ts +111 -0
- package/typechain-types/factories/IPVotingController__factory.ts +182 -0
- package/typechain-types/factories/IPVotingEscrowController__factory.ts +80 -0
- package/typechain-types/factories/IPVotingEscrow__factory.ts +163 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +85 -83
- package/typechain-types/factories/IQiAvax__factory.ts +362 -0
- package/typechain-types/factories/IQiErc20__factory.ts +117 -0
- package/typechain-types/factories/IQiToken__factory.ts +117 -0
- package/typechain-types/factories/IRewardManager__factory.ts +5 -47
- package/typechain-types/factories/ISuperComposableYield__factory.ts +201 -138
- package/typechain-types/factories/IWXBTRFLY__factory.ts +13 -0
- package/typechain-types/factories/IWstETH__factory.ts +13 -0
- package/typechain-types/factories/IYearnVault__factory.ts +13 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +246 -315
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +200 -234
- package/typechain-types/factories/PendleERC20Permit__factory.ts +405 -0
- package/typechain-types/factories/PendleERC20__factory.ts +327 -0
- package/typechain-types/factories/PendleERC4626SCY__factory.ts +678 -0
- package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +332 -0
- package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +391 -0
- package/typechain-types/factories/PendleGaugeController__factory.ts +212 -0
- package/typechain-types/factories/PendleGauge__factory.ts +171 -0
- package/typechain-types/factories/PendleGovernanceManager__factory.ts +1 -1
- package/typechain-types/factories/PendleJoeLpSCY__factory.ts +726 -0
- package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +0 -13
- package/typechain-types/factories/PendleMarketFactory__factory.ts +90 -5
- package/typechain-types/factories/PendleMarketRewards__factory.ts +1140 -0
- package/typechain-types/factories/PendleMarket__factory.ts +182 -94
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +74 -77
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +99 -0
- package/typechain-types/factories/PendleQiTokenSCY__factory.ts +845 -0
- package/typechain-types/factories/PendleRouter__factory.ts +1 -23
- package/typechain-types/factories/PendleVotingController__factory.ts +776 -0
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +686 -0
- package/typechain-types/factories/PendleYearnVaultScy__factory.ts +218 -243
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +39 -29
- package/typechain-types/factories/PendleYieldToken__factory.ts +153 -211
- package/typechain-types/factories/RewardManagerMini__factory.ts +116 -0
- package/typechain-types/factories/RewardManager__factory.ts +43 -32
- package/typechain-types/factories/RouterStatic__factory.ts +1 -1
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +242 -218
- package/typechain-types/factories/SCYBase__factory.ts +195 -176
- package/typechain-types/factories/VotingControllerStorage__factory.ts +361 -0
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +616 -0
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +415 -0
- package/typechain-types/factories/VotingEscrowToken__factory.ts +153 -0
- package/typechain-types/hardhat.d.ts +338 -131
- package/typechain-types/index.ts +92 -38
- package/build/artifacts/contracts/SuperComposableYield/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +0 -4
- package/build/artifacts/contracts/SuperComposableYield/SCYUtils.sol/SCYUtils.dbg.json +0 -4
- package/build/artifacts/contracts/SuperComposableYield/implementations/IRewardManager.sol/IRewardManager.dbg.json +0 -4
- package/build/artifacts/contracts/SuperComposableYield/implementations/RewardManager.sol/RewardManager.dbg.json +0 -4
- package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBase.sol/SCYBase.dbg.json +0 -4
- package/build/artifacts/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleBaseToken.sol/PendleBaseToken.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleMarket.sol/PendleMarket.json +0 -842
- package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleMarketFactory.sol/PendleMarketFactory.json +0 -265
- package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendlePrincipalToken.sol/PendlePrincipalToken.json +0 -452
- package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +0 -783
- package/build/artifacts/contracts/core/PendleSCYImpl/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol/PendleBenQiErc20SCY.json +0 -766
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol/PendleBtrflyScy.json +0 -641
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleStETHSCY.sol/PendleStEthSCY.json +0 -623
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol/PendleYearnVaultScy.json +0 -623
- package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +0 -339
- package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleYieldToken.sol/PendleYieldToken.json +0 -808
- package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.dbg.json +0 -4
- package/build/artifacts/contracts/core/RouterStatic.sol/RouterStatic.json +0 -862
- package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/ActionRedeem.sol/ActionRedeem.json +0 -55
- package/build/artifacts/contracts/core/actions/base/ActionType.sol/ActionType.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionRedeem.sol/IPActionRedeem.json +0 -55
- package/build/artifacts/contracts/interfaces/IPBaseToken.sol/IPBaseToken.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPendleGauge.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPendleGauge.json +0 -113
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IVePToken.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IVePToken.json +0 -43
- package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IVotingEscrowPendle.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/VotingEscrowController.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPVotingEscrowController.sol/VotingEscrowController.json +0 -61
- package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPendleGauge.sol/IPendleGauge.json +0 -113
- package/build/artifacts/contracts/interfaces/IVePToken.sol/IVePToken.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IVotingEscrowController.sol/VotingEscrowController.json +0 -61
- package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IVotingEscrowPendle.sol/IVotingEscrowPendle.json +0 -167
- package/build/artifacts/contracts/libraries/JoeLibrary.sol/JoeLibrary.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/SCYIndex.sol/SCYIndexLib.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/math/MarketMathAux.sol/MarketMathAux.dbg.json +0 -4
- package/build/artifacts/contracts/periphery/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +0 -4
- package/contracts/SuperComposableYield/ISuperComposableYield.sol +0 -80
- package/contracts/SuperComposableYield/SCYUtils.sol +0 -14
- package/contracts/SuperComposableYield/implementations/IRewardManager.sol +0 -16
- package/contracts/SuperComposableYield/implementations/RewardManager.sol +0 -151
- package/contracts/SuperComposableYield/implementations/SCYBase.sol +0 -166
- package/contracts/SuperComposableYield/implementations/SCYBaseWithRewards.sol +0 -88
- package/contracts/core/PendleBaseToken.sol +0 -35
- package/contracts/core/PendlePrincipalToken.sol +0 -54
- package/contracts/core/PendleSCYImpl/AaveV3/PendleAaveV3SCY.sol +0 -140
- package/contracts/core/PendleSCYImpl/PendleBenQiErc20SCY.sol +0 -133
- package/contracts/core/PendleSCYImpl/PendleBtrflySCY.sol +0 -120
- package/contracts/core/PendleSCYImpl/PendleStETHSCY.sol +0 -107
- package/contracts/core/PendleSCYImpl/PendleYearnVaultSCY.sol +0 -109
- package/contracts/core/PendleYieldToken.sol +0 -340
- package/contracts/core/actions/ActionRedeem.sol +0 -36
- package/contracts/core/actions/base/ActionType.sol +0 -11
- package/contracts/interfaces/IPActionRedeem.sol +0 -17
- package/contracts/interfaces/IPBaseToken.sol +0 -9
- package/contracts/interfaces/IPGauge.sol +0 -32
- package/contracts/interfaces/IPVotingEscrowController.sol +0 -14
- package/contracts/interfaces/IPendleGauge.sol +0 -32
- package/contracts/interfaces/IVePToken.sol +0 -14
- package/contracts/interfaces/IVotingEscrowController.sol +0 -14
- package/contracts/interfaces/IVotingEscrowPendle.sol +0 -32
- package/contracts/libraries/math/MarketMathAux.sol +0 -101
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
3
|
|
|
4
4
|
import "../libraries/math/MarketApproxLib.sol";
|
|
5
5
|
|
|
@@ -13,9 +13,9 @@ interface IPActionCore {
|
|
|
13
13
|
)
|
|
14
14
|
external
|
|
15
15
|
returns (
|
|
16
|
-
uint256,
|
|
17
|
-
uint256,
|
|
18
|
-
uint256
|
|
16
|
+
uint256 netLpOut,
|
|
17
|
+
uint256 scyUsed,
|
|
18
|
+
uint256 ptUsed
|
|
19
19
|
);
|
|
20
20
|
|
|
21
21
|
function removeLiquidity(
|
|
@@ -24,81 +24,98 @@ interface IPActionCore {
|
|
|
24
24
|
uint256 lpToRemove,
|
|
25
25
|
uint256 scyOutMin,
|
|
26
26
|
uint256 ptOutMin
|
|
27
|
-
) external returns (uint256, uint256);
|
|
27
|
+
) external returns (uint256 netScyOut, uint256 netPtOut);
|
|
28
28
|
|
|
29
29
|
function swapExactPtForScy(
|
|
30
30
|
address receiver,
|
|
31
31
|
address market,
|
|
32
32
|
uint256 exactPtIn,
|
|
33
33
|
uint256 minScyOut
|
|
34
|
-
) external returns (uint256);
|
|
34
|
+
) external returns (uint256 netScyOut);
|
|
35
35
|
|
|
36
36
|
function swapPtForExactScy(
|
|
37
37
|
address receiver,
|
|
38
38
|
address market,
|
|
39
39
|
uint256 exactScyOut,
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
uint256 maxPtIn,
|
|
41
|
+
ApproxParams memory guessPtIn
|
|
42
|
+
) external returns (uint256 netPtIn);
|
|
42
43
|
|
|
43
44
|
function swapScyForExactPt(
|
|
44
45
|
address receiver,
|
|
45
46
|
address market,
|
|
46
47
|
uint256 exactPtOut,
|
|
47
48
|
uint256 maxScyIn
|
|
48
|
-
) external returns (uint256);
|
|
49
|
+
) external returns (uint256 netScyIn);
|
|
49
50
|
|
|
50
51
|
function swapExactScyForPt(
|
|
51
52
|
address receiver,
|
|
52
53
|
address market,
|
|
53
54
|
uint256 exactScyIn,
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
uint256 minPtOut,
|
|
56
|
+
ApproxParams memory guessPtOut
|
|
57
|
+
) external returns (uint256 netPtOut);
|
|
56
58
|
|
|
57
59
|
function mintScyFromRawToken(
|
|
58
|
-
|
|
60
|
+
address receiver,
|
|
59
61
|
address SCY,
|
|
62
|
+
uint256 netRawTokenIn,
|
|
60
63
|
uint256 minScyOut,
|
|
61
|
-
address receiver,
|
|
62
64
|
address[] calldata path
|
|
63
|
-
) external returns (uint256);
|
|
65
|
+
) external returns (uint256 netScyOut);
|
|
64
66
|
|
|
65
67
|
function redeemScyToRawToken(
|
|
68
|
+
address receiver,
|
|
66
69
|
address SCY,
|
|
67
70
|
uint256 netScyIn,
|
|
68
71
|
uint256 minRawTokenOut,
|
|
69
|
-
address receiver,
|
|
70
72
|
address[] memory path
|
|
71
|
-
) external returns (uint256);
|
|
73
|
+
) external returns (uint256 netRawTokenOut);
|
|
72
74
|
|
|
73
75
|
function mintPyFromRawToken(
|
|
74
|
-
|
|
76
|
+
address receiver,
|
|
75
77
|
address YT,
|
|
78
|
+
uint256 netRawTokenIn,
|
|
76
79
|
uint256 minPyOut,
|
|
77
|
-
address receiver,
|
|
78
80
|
address[] calldata path
|
|
79
|
-
) external returns (uint256);
|
|
81
|
+
) external returns (uint256 netPyOut);
|
|
80
82
|
|
|
81
83
|
function redeemPyToRawToken(
|
|
84
|
+
address receiver,
|
|
82
85
|
address YT,
|
|
83
86
|
uint256 netPyIn,
|
|
84
87
|
uint256 minRawTokenOut,
|
|
85
|
-
address receiver,
|
|
86
88
|
address[] memory path
|
|
87
|
-
) external returns (uint256);
|
|
89
|
+
) external returns (uint256 netRawTokenOut);
|
|
88
90
|
|
|
89
91
|
function swapExactRawTokenForPt(
|
|
90
|
-
uint256 exactRawTokenIn,
|
|
91
92
|
address receiver,
|
|
92
|
-
address[] calldata path,
|
|
93
93
|
address market,
|
|
94
|
-
|
|
94
|
+
uint256 exactRawTokenIn,
|
|
95
|
+
uint256 minPtOut,
|
|
96
|
+
address[] calldata path,
|
|
97
|
+
ApproxParams memory guessPtOut
|
|
95
98
|
) external returns (uint256 netPtOut);
|
|
96
99
|
|
|
97
100
|
function swapExactPtForRawToken(
|
|
98
|
-
uint256 exactPtIn,
|
|
99
101
|
address receiver,
|
|
100
|
-
address[] calldata path,
|
|
101
102
|
address market,
|
|
102
|
-
uint256
|
|
103
|
+
uint256 exactPtIn,
|
|
104
|
+
uint256 minRawTokenOut,
|
|
105
|
+
address[] calldata path
|
|
103
106
|
) external returns (uint256 netRawTokenOut);
|
|
107
|
+
|
|
108
|
+
function redeemDueIncome(
|
|
109
|
+
address user,
|
|
110
|
+
address[] calldata scys,
|
|
111
|
+
address[] calldata yts,
|
|
112
|
+
address[] calldata markets
|
|
113
|
+
)
|
|
114
|
+
external
|
|
115
|
+
returns (
|
|
116
|
+
uint256[][] memory scyRewards,
|
|
117
|
+
uint256[] memory ytInterests,
|
|
118
|
+
uint256[][] memory ytRewards,
|
|
119
|
+
uint256[][] memory marketRewards
|
|
120
|
+
);
|
|
104
121
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
3
|
|
|
4
4
|
import "../libraries/math/MarketApproxLib.sol";
|
|
5
5
|
|
|
@@ -22,29 +22,32 @@ interface IPActionYT {
|
|
|
22
22
|
address receiver,
|
|
23
23
|
address market,
|
|
24
24
|
uint256 exactScyIn,
|
|
25
|
-
|
|
25
|
+
uint256 minYtOut,
|
|
26
|
+
ApproxParams memory guessYtOut
|
|
26
27
|
) external returns (uint256 netYtOut);
|
|
27
28
|
|
|
28
29
|
function swapYtForExactScy(
|
|
29
30
|
address receiver,
|
|
30
31
|
address market,
|
|
31
32
|
uint256 exactScyOut,
|
|
32
|
-
|
|
33
|
+
uint256 maxYtIn,
|
|
34
|
+
ApproxParams memory guessYtIn
|
|
33
35
|
) external returns (uint256 netYtIn);
|
|
34
36
|
|
|
35
37
|
function swapExactRawTokenForYt(
|
|
36
|
-
uint256 exactRawTokenIn,
|
|
37
38
|
address receiver,
|
|
38
|
-
address[] calldata path,
|
|
39
39
|
address market,
|
|
40
|
-
|
|
40
|
+
uint256 exactRawTokenIn,
|
|
41
|
+
uint256 minYtOut,
|
|
42
|
+
address[] calldata path,
|
|
43
|
+
ApproxParams memory guessYtOut
|
|
41
44
|
) external returns (uint256 netYtOut);
|
|
42
45
|
|
|
43
46
|
function swapExactYtForRawToken(
|
|
44
|
-
uint256 exactYtIn,
|
|
45
47
|
address receiver,
|
|
46
|
-
address[] calldata path,
|
|
47
48
|
address market,
|
|
48
|
-
uint256
|
|
49
|
+
uint256 exactYtIn,
|
|
50
|
+
uint256 minRawTokenOut,
|
|
51
|
+
address[] calldata path
|
|
49
52
|
) external returns (uint256 netRawTokenOut);
|
|
50
53
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
|
|
3
|
-
pragma solidity 0.8.
|
|
3
|
+
pragma solidity 0.8.13;
|
|
4
4
|
|
|
5
5
|
import "./IPActionCore.sol";
|
|
6
6
|
import "./IPActionYT.sol";
|
|
7
|
-
import "./IPActionRedeem.sol";
|
|
8
7
|
|
|
9
|
-
interface IPAllAction is IPActionCore, IPActionYT
|
|
8
|
+
interface IPAllAction is IPActionCore, IPActionYT {}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
|
+
|
|
4
|
+
interface IPGaugeController {
|
|
5
|
+
event MarketClaimReward(address indexed market, uint256 amount);
|
|
6
|
+
|
|
7
|
+
event ReceiveVotingResults(uint128 wTime, address[] markets, uint256[] pendleAmounts);
|
|
8
|
+
|
|
9
|
+
function pendle() external returns (address);
|
|
10
|
+
|
|
11
|
+
function claimMarketReward() external;
|
|
12
|
+
|
|
13
|
+
function rewardData(address pool)
|
|
14
|
+
external
|
|
15
|
+
view
|
|
16
|
+
returns (
|
|
17
|
+
uint128 pendlePerSec,
|
|
18
|
+
uint128,
|
|
19
|
+
uint128,
|
|
20
|
+
uint128
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
|
+
|
|
4
|
+
import "./IPGaugeController.sol";
|
|
5
|
+
|
|
6
|
+
interface IPGaugeControllerMainchain is IPGaugeController {
|
|
7
|
+
function updateVotingResults(
|
|
8
|
+
uint128 wTime,
|
|
9
|
+
address[] calldata markets,
|
|
10
|
+
uint256[] calldata pendleSpeeds
|
|
11
|
+
) external;
|
|
12
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
3
|
|
|
4
|
-
import "
|
|
4
|
+
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
|
5
5
|
import "./IPPrincipalToken.sol";
|
|
6
6
|
import "./IPYieldToken.sol";
|
|
7
7
|
import "../libraries/math/MarketMathCore.sol";
|
|
8
8
|
|
|
9
|
-
interface IPMarket is
|
|
9
|
+
interface IPMarket is IERC20Metadata {
|
|
10
10
|
event AddLiquidity(
|
|
11
11
|
address indexed receiver,
|
|
12
12
|
uint256 lpToAccount,
|
|
@@ -15,7 +15,8 @@ interface IPMarket is IPBaseToken {
|
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
event RemoveLiquidity(
|
|
18
|
-
address indexed
|
|
18
|
+
address indexed receiverScy,
|
|
19
|
+
address indexed receiverPt,
|
|
19
20
|
uint256 lpRemoved,
|
|
20
21
|
uint256 scyToAccount,
|
|
21
22
|
uint256 ptToAccount
|
|
@@ -44,7 +45,8 @@ interface IPMarket is IPBaseToken {
|
|
|
44
45
|
);
|
|
45
46
|
|
|
46
47
|
function removeLiquidity(
|
|
47
|
-
address
|
|
48
|
+
address receiverScy,
|
|
49
|
+
address receiverPt,
|
|
48
50
|
uint256 lpToRemove,
|
|
49
51
|
bytes calldata data
|
|
50
52
|
) external returns (uint256 scyToAccount, uint256 ptToAccount);
|
|
@@ -52,24 +54,18 @@ interface IPMarket is IPBaseToken {
|
|
|
52
54
|
function swapExactPtForScy(
|
|
53
55
|
address receiver,
|
|
54
56
|
uint256 exactPtIn,
|
|
55
|
-
uint256 minScyOut,
|
|
56
57
|
bytes calldata data
|
|
57
58
|
) external returns (uint256 netScyOut, uint256 netScyToReserve);
|
|
58
59
|
|
|
59
60
|
function swapScyForExactPt(
|
|
60
61
|
address receiver,
|
|
61
62
|
uint256 exactPtOut,
|
|
62
|
-
uint256 maxScyIn,
|
|
63
63
|
bytes calldata data
|
|
64
64
|
) external returns (uint256 netScyIn, uint256 netScyToReserve);
|
|
65
65
|
|
|
66
|
-
function
|
|
67
|
-
|
|
68
|
-
function PT() external view returns (address);
|
|
66
|
+
function redeemRewards(address user) external returns (uint256[] memory);
|
|
69
67
|
|
|
70
|
-
function
|
|
71
|
-
|
|
72
|
-
function SCY() external view returns (address);
|
|
68
|
+
function readState(bool updateRateOracle) external view returns (MarketState memory market);
|
|
73
69
|
|
|
74
70
|
function readTokens()
|
|
75
71
|
external
|
|
@@ -79,4 +75,8 @@ interface IPMarket is IPBaseToken {
|
|
|
79
75
|
IPPrincipalToken _PT,
|
|
80
76
|
IPYieldToken _YT
|
|
81
77
|
);
|
|
78
|
+
|
|
79
|
+
function getRewardTokens() external view returns (address[] memory);
|
|
80
|
+
|
|
81
|
+
function isExpired() external view returns (bool);
|
|
82
82
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
3
|
|
|
4
4
|
interface IPMarketAddRemoveCallback {
|
|
5
5
|
function addLiquidityCallback(
|
|
6
6
|
uint256 lpToAccount,
|
|
7
|
-
uint256
|
|
8
|
-
uint256
|
|
7
|
+
uint256 scyUsed,
|
|
8
|
+
uint256 ptUsed,
|
|
9
9
|
bytes calldata data
|
|
10
10
|
) external;
|
|
11
11
|
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
3
|
|
|
4
4
|
interface IPMarketFactory {
|
|
5
|
+
event NewMarketConfig(
|
|
6
|
+
address indexed treasury,
|
|
7
|
+
uint96 lnFeeRateRoot,
|
|
8
|
+
uint32 rateOracleTimeWindow,
|
|
9
|
+
uint8 reserveFeePercent
|
|
10
|
+
);
|
|
11
|
+
|
|
5
12
|
event CreateNewMarket(address indexed PT, int256 scalarRoot, int256 initialAnchor);
|
|
6
13
|
|
|
7
14
|
function isValidMarket(address market) external view returns (bool);
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
3
|
-
import "
|
|
4
|
-
|
|
5
|
-
interface IPPrincipalToken is IPBaseToken {
|
|
6
|
-
function initialize(address _YT) external;
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
|
+
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
|
7
4
|
|
|
5
|
+
interface IPPrincipalToken is IERC20Metadata {
|
|
8
6
|
function burnByYT(address user, uint256 amount) external;
|
|
9
7
|
|
|
10
8
|
function mintByYT(address user, uint256 amount) external;
|
|
@@ -12,4 +10,10 @@ interface IPPrincipalToken is IPBaseToken {
|
|
|
12
10
|
function SCY() external view returns (address);
|
|
13
11
|
|
|
14
12
|
function YT() external view returns (address);
|
|
13
|
+
|
|
14
|
+
function factory() external view returns (address);
|
|
15
|
+
|
|
16
|
+
function expiry() external view returns (uint256);
|
|
17
|
+
|
|
18
|
+
function isExpired() external view returns (bool);
|
|
15
19
|
}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
|
|
3
|
-
pragma solidity 0.8.
|
|
4
|
-
pragma abicoder v2;
|
|
3
|
+
pragma solidity 0.8.13;
|
|
5
4
|
|
|
6
|
-
interface
|
|
5
|
+
interface IPVeToken {
|
|
7
6
|
// ============= USER INFO =============
|
|
8
7
|
|
|
9
|
-
function balanceOf(address user) external view returns (
|
|
8
|
+
function balanceOf(address user) external view returns (uint128);
|
|
9
|
+
|
|
10
|
+
function positionData(address user) external view returns (uint128 amount, uint128 expiry);
|
|
10
11
|
|
|
11
12
|
// ============= META DATA =============
|
|
12
13
|
|
|
13
|
-
function
|
|
14
|
+
function totalSupplyStored() external view returns (uint128);
|
|
15
|
+
|
|
16
|
+
function totalSupplyCurrent() external returns (uint128);
|
|
17
|
+
|
|
18
|
+
function isPositionExpired(address user) external view returns (bool);
|
|
14
19
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
pragma solidity 0.8.13;
|
|
2
|
+
|
|
3
|
+
import "../libraries/VeBalanceLib.sol";
|
|
4
|
+
|
|
5
|
+
interface IPVotingController {
|
|
6
|
+
event AddPool(uint64 indexed chainId, address indexed pool);
|
|
7
|
+
|
|
8
|
+
event RemovePool(uint64 indexed chainId, address indexed pool);
|
|
9
|
+
|
|
10
|
+
event Unvote(address indexed user, address indexed pool, VeBalance vote);
|
|
11
|
+
|
|
12
|
+
event Vote(address indexed user, address indexed pool, uint64 weight, VeBalance vote);
|
|
13
|
+
|
|
14
|
+
event SetPendlePerSec(uint256 newPendlePerSec);
|
|
15
|
+
|
|
16
|
+
event BroadcastResults(
|
|
17
|
+
uint64 indexed chainId,
|
|
18
|
+
uint128 indexed wTime,
|
|
19
|
+
uint128 totalPendlePerSec
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -1,32 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
pragma abicoder v2;
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
pragma solidity 0.8.13;
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function lock(uint256 expiry) external returns (uint256);
|
|
5
|
+
import "./IPVeToken.sol";
|
|
6
|
+
import "../libraries/VeBalanceLib.sol";
|
|
10
7
|
|
|
11
|
-
|
|
8
|
+
interface IPVotingEscrow {
|
|
9
|
+
event NewLockPosition(address indexed user, uint128 amount, uint128 expiry);
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
event Withdraw(address indexed user, uint128 amount);
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
event BroadcastTotalSupply(VeBalance newTotalSupply, uint256[] chainIds);
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
* @return amount :amount of vePendle voted for pool
|
|
19
|
-
*/
|
|
20
|
-
function vote(address gauge, uint256 weight) external returns (uint256 amount);
|
|
15
|
+
event BroadcastUserPosition(address indexed user, uint256[] chainIds);
|
|
21
16
|
|
|
22
|
-
// =============
|
|
17
|
+
// ============= ACTIONS =============
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
* @return lockedAmount amount of PENDLE user locked
|
|
26
|
-
* @return expiry expiry of users' locked PENDLE
|
|
27
|
-
*/
|
|
28
|
-
function readUserInfo(address user)
|
|
19
|
+
function increaseLockPosition(uint128 additionalAmountToLock, uint128 expiry)
|
|
29
20
|
external
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
returns (uint128);
|
|
22
|
+
|
|
23
|
+
function withdraw(address user) external returns (uint128);
|
|
32
24
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
pragma solidity 0.8.
|
|
24
|
+
pragma solidity 0.8.13;
|
|
25
25
|
|
|
26
26
|
interface IPYieldContractFactory {
|
|
27
27
|
event CreateYieldContract(address indexed SCY, address PT, address YT, uint256 expiry);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
3
|
-
import "
|
|
4
|
-
import "
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
|
+
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
|
4
|
+
import "./IRewardManager.sol";
|
|
5
|
+
import "./IPInterestManagerYT.sol";
|
|
5
6
|
|
|
6
|
-
interface IPYieldToken is
|
|
7
|
-
event
|
|
7
|
+
interface IPYieldToken is IERC20Metadata, IRewardManager, IPInterestManagerYT {
|
|
8
|
+
event RedeemRewards(address indexed user, uint256[] amountRewardsOut);
|
|
8
9
|
event RedeemInterest(address indexed user, uint256 interestOut);
|
|
9
10
|
|
|
10
11
|
event WithdrawFeeToTreasury(uint256[] amountRewardsOut, uint256 scyOut);
|
|
@@ -13,7 +14,9 @@ interface IPYieldToken is IPBaseToken, IRewardManager {
|
|
|
13
14
|
|
|
14
15
|
function redeemPY(address receiver) external returns (uint256 amountScyOut);
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
function redeemPY(address[] memory receivers, uint256[] memory amounts)
|
|
18
|
+
external
|
|
19
|
+
returns (uint256 amountScyOut);
|
|
17
20
|
|
|
18
21
|
function redeemDueInterestAndRewards(address user)
|
|
19
22
|
external
|
|
@@ -23,22 +26,19 @@ interface IPYieldToken is IPBaseToken, IRewardManager {
|
|
|
23
26
|
|
|
24
27
|
function redeemDueRewards(address user) external returns (uint256[] memory rewardsOut);
|
|
25
28
|
|
|
26
|
-
function
|
|
29
|
+
function rewardIndexesCurrent() external returns (uint256[] memory);
|
|
27
30
|
|
|
28
|
-
function
|
|
31
|
+
function getScyIndex() external view returns (uint256 currentIndex);
|
|
29
32
|
|
|
30
|
-
function
|
|
33
|
+
function getRewardTokens() external view returns (address[] memory);
|
|
31
34
|
|
|
32
|
-
function
|
|
33
|
-
external
|
|
34
|
-
view
|
|
35
|
-
returns (uint256 lastScyIndex, uint256 dueInterest);
|
|
35
|
+
function SCY() external view returns (address);
|
|
36
36
|
|
|
37
|
-
function
|
|
37
|
+
function PT() external view returns (address);
|
|
38
38
|
|
|
39
|
-
function
|
|
39
|
+
function factory() external view returns (address);
|
|
40
40
|
|
|
41
|
-
function
|
|
41
|
+
function expiry() external view returns (uint256);
|
|
42
42
|
|
|
43
|
-
function
|
|
43
|
+
function isExpired() external view returns (bool);
|
|
44
44
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
/*
|
|
3
|
+
* MIT License
|
|
4
|
+
* ===========
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
* in the Software without restriction, including without limitation the rights
|
|
9
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
* furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
* copies or substantial portions of the Software.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
pragma solidity 0.8.13;
|
|
25
|
+
import "./IQiToken.sol";
|
|
26
|
+
|
|
27
|
+
interface IQiAvax is IQiToken {
|
|
28
|
+
function mint() external payable;
|
|
29
|
+
|
|
30
|
+
function redeem(uint256 redeemTokens) external returns (uint256);
|
|
31
|
+
}
|
|
@@ -21,9 +21,30 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
pragma solidity 0.8.
|
|
24
|
+
pragma solidity 0.8.13;
|
|
25
25
|
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
26
|
+
import "./IBenQiInterestRateModel.sol";
|
|
26
27
|
|
|
27
28
|
interface IQiToken is IERC20 {
|
|
28
29
|
function exchangeRateCurrent() external returns (uint256);
|
|
30
|
+
|
|
31
|
+
function exchangeRateStored() external view returns (uint256);
|
|
32
|
+
|
|
33
|
+
function comptroller() external view returns (address);
|
|
34
|
+
|
|
35
|
+
function accrualBlockTimestamp() external view returns (uint256);
|
|
36
|
+
|
|
37
|
+
function getCash() external view returns (uint256);
|
|
38
|
+
|
|
39
|
+
function totalBorrows() external view returns (uint256);
|
|
40
|
+
|
|
41
|
+
function totalReserves() external view returns (uint256);
|
|
42
|
+
|
|
43
|
+
function borrowIndex() external view returns (uint256);
|
|
44
|
+
|
|
45
|
+
function interestRateModel() external view returns (IBenQiInterestRateModel);
|
|
46
|
+
|
|
47
|
+
function totalSupply() external view returns (uint256);
|
|
48
|
+
|
|
49
|
+
function reserveFactorMantissa() external view returns (uint256);
|
|
29
50
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
*/
|
|
23
|
-
pragma solidity 0.8.
|
|
23
|
+
pragma solidity 0.8.13;
|
|
24
24
|
|
|
25
25
|
interface IREDACTEDStaking {
|
|
26
26
|
function stake(uint256 _amount, address _receiver) external returns (bool);
|