@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.
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/PendleAaveV3SCY.sol/PendleAaveV3SCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/AaveV3/WadRayMath.sol/WadRayMath.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol/PendleQiTokenSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +7 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol/PendleWstEthSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultSCY.sol/PendleYearnVaultSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol}/PendleYearnVaultSCY.json +3 -3
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +2 -2
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBase.sol/SCYBase.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/base-implementations/SCYBaseWithRewards.sol/SCYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol/CelerReceiverUpg.json +67 -5
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json +63 -1
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +65 -3
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +74 -10
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +79 -15
- package/build/artifacts/contracts/core/LiquidityMining/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +204 -123
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +127 -73
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +93 -34
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +90 -14
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.json +14 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +139 -37
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +84 -56
- package/build/artifacts/contracts/core/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/core/PendleRouter.sol/PendleRouter.json +122 -11
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +96 -40
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1025 -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/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/ActionMintRedeem.sol/ActionMintRedeem.json +622 -0
- package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/ActionMisc.sol/ActionMisc.json +35 -0
- package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/ActionSwapPT.sol/ActionSwapPT.json +459 -0
- package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/ActionSwapYT.sol/ActionSwapYT.json +459 -0
- package/build/artifacts/contracts/core/actions/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +4 -0
- package/build/artifacts/contracts/core/actions/base/{ActionSCYAndPTBase.sol/ActionSCYAndPTBase.json → ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json} +2 -2
- package/build/artifacts/contracts/core/actions/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- 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 +24 -0
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ICelerMessageBus.sol/ICelerMessageBus.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ICelerMessageReceiverApp.sol/ICelerMessageReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionCore.sol/IPActionCore.json → IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json} +141 -912
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.json +598 -0
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +35 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +435 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionYT.sol/IPActionYT.json → IPActionSwapYT.sol/IPActionSwapYT.json} +23 -11
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +323 -47
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +4 -0
- package/build/artifacts/contracts/{core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.json → interfaces/IPGauge.sol/IPGauge.json} +5 -5
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.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 +72 -29
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.json +0 -11
- 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/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -37
- package/build/artifacts/contracts/interfaces/IPVotingEscrow.sol/IPVotingEscrow.dbg.json +1 -1
- 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 +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.json +1 -1
- package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISuperComposableYield.sol/ISuperComposableYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
- 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/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/libraries/OracleLib.sol/OracleLib.json +74 -0
- package/build/artifacts/contracts/libraries/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/SCY/SCYUtils.sol/SCYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/libraries/helpers/SSTORE2Deployer.sol/SSTORE2Deployer.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/helpers/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/kyberswap/KyberSwapHelper.sol/KyberSwapHelper.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- 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/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/solmate/SSTORE2.sol/SSTORE2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.json +93 -0
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +427 -39
- package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +4 -0
- package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.json +86 -0
- package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +4 -0
- package/build/artifacts/contracts/periphery/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +37 -0
- package/build/artifacts/contracts/periphery/PendleGovernanceManager.sol/PendleGovernanceManager.dbg.json +1 -1
- package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +8 -0
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +11 -5
- package/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol +0 -1
- package/contracts/SuperComposableYield/SCY-implementations/{PendleYearnVaultScy.sol → PendleYearnVaultSCY.sol} +0 -0
- package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +1 -0
- package/contracts/SuperComposableYield/base-implementations/SCYBase.sol +1 -1
- package/contracts/core/LiquidityMining/CelerAbstracts/CelerReceiverUpg.sol +7 -7
- package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +7 -6
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +4 -5
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -3
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +6 -3
- package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
- package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +22 -28
- package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +71 -13
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +7 -4
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +6 -2
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +4 -3
- package/contracts/core/Market/PendleMarket.sol +93 -57
- package/contracts/core/Market/PendleMarketFactory.sol +18 -33
- package/contracts/core/PendleRouter.sol +60 -52
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +12 -12
- package/contracts/core/YieldContracts/PendleYieldToken.sol +1 -1
- package/contracts/core/actions/ActionAddRemoveLiq.sol +366 -0
- package/contracts/core/actions/ActionCallback.sol +6 -6
- package/contracts/core/actions/ActionMintRedeem.sol +124 -0
- package/contracts/core/actions/ActionMisc.sol +24 -0
- package/contracts/core/actions/ActionSwapPT.sol +199 -0
- package/contracts/core/actions/{base/ActionSCYAndYTBase.sol → ActionSwapYT.sol} +109 -74
- package/contracts/core/actions/base/{ActionSCYAndPYBase.sol → ActionBaseMintRedeem.sol} +9 -8
- package/contracts/interfaces/IBenQiComptroller.sol +2 -0
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +188 -0
- package/contracts/interfaces/IPActionMintRedeem.sol +115 -0
- package/contracts/interfaces/IPActionMisc.sol +9 -0
- package/contracts/interfaces/IPActionSwapPT.sol +69 -0
- package/contracts/interfaces/{IPActionYT.sol → IPActionSwapYT.sol} +12 -10
- package/contracts/interfaces/IPAllAction.sol +12 -3
- package/contracts/interfaces/IPGauge.sol +6 -0
- package/contracts/interfaces/IPGaugeController.sol +0 -2
- package/contracts/interfaces/IPMarket.sol +28 -10
- package/contracts/interfaces/IPMarketFactory.sol +1 -7
- package/contracts/interfaces/IPVeToken.sol +1 -1
- package/contracts/interfaces/IPVotingController.sol +0 -2
- package/contracts/interfaces/IRewardManager.sol +1 -1
- package/contracts/libraries/OracleLib.sol +214 -0
- package/contracts/libraries/RewardManagerAbstract.sol +1 -1
- package/contracts/libraries/math/MarketApproxLib.sol +227 -14
- package/contracts/libraries/math/MarketMathCore.sol +0 -33
- package/contracts/offchain-helpers/MarketMathStatic.sol +565 -0
- package/contracts/offchain-helpers/RouterStatic.sol +187 -251
- package/contracts/periphery/BoringOwnableUpgradeable.sol +62 -0
- package/deployments/43113-core.json +7 -8
- package/deployments/43113-markets/benqi-market-590025.json +8 -0
- package/deployments/43113-markets/benqi-market-c93916.json +8 -0
- package/deployments/80001-core.json +6 -7
- package/deployments/80001-markets/benqi-market-3b8BD1.json +8 -0
- package/deployments/80001-markets/benqi-market-b61e7f.json +8 -0
- package/package.json +11 -11
- package/typechain-types/ActionAddRemoveLiq.ts +1037 -0
- package/typechain-types/ActionBaseMintRedeem.ts +87 -0
- package/typechain-types/ActionCore.ts +21 -20
- package/typechain-types/ActionMintRedeem.ts +665 -0
- package/typechain-types/ActionMisc.ts +105 -0
- package/typechain-types/ActionSwapPT.ts +515 -0
- package/typechain-types/ActionSwapYT.ts +515 -0
- package/typechain-types/ActionYT.ts +5 -4
- package/typechain-types/BoringOwnable.ts +194 -0
- package/typechain-types/BoringOwnableData.ts +100 -0
- package/typechain-types/BoringOwnableUpgradeable.ts +194 -0
- package/typechain-types/BoringOwnableUpgradeableData.ts +100 -0
- package/typechain-types/CelerReceiverUpg.ts +124 -19
- package/typechain-types/CelerSenderUpg.ts +116 -11
- package/typechain-types/IBenQiComptroller.ts +39 -0
- package/typechain-types/IPActionAddRemoveLiq.ts +1018 -0
- package/typechain-types/IPActionCore.ts +21 -20
- package/typechain-types/IPActionMintRedeem.ts +646 -0
- package/typechain-types/IPActionMisc.ts +105 -0
- package/typechain-types/IPActionSwapPT.ts +496 -0
- package/typechain-types/IPActionSwapYT.ts +496 -0
- package/typechain-types/IPActionYT.ts +5 -4
- package/typechain-types/IPAllAction.ts +431 -193
- package/typechain-types/IPGauge.ts +87 -0
- package/typechain-types/IPMarket.ts +133 -50
- package/typechain-types/IPMarketFactory.ts +7 -17
- package/typechain-types/IPVeToken.ts +8 -8
- package/typechain-types/IPVotingController.ts +0 -20
- package/typechain-types/IPYieldToken.ts +3 -3
- package/typechain-types/IRewardManager.ts +3 -3
- package/typechain-types/MarketMathStatic.ts +198 -0
- package/typechain-types/OracleLib.ts +124 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +118 -15
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +136 -9
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +138 -11
- package/typechain-types/PendleMarket.ts +178 -59
- package/typechain-types/PendleMarketFactory.ts +135 -61
- package/typechain-types/PendleRouter.ts +201 -31
- package/typechain-types/PendleVotingControllerUpg.ts +325 -149
- package/typechain-types/PendleYieldContractFactory.ts +144 -21
- package/typechain-types/RouterStatic.ts +344 -64
- package/typechain-types/VotingControllerStorageUpg.ts +182 -113
- package/typechain-types/VotingEscrowPendleMainchain.ts +170 -63
- package/typechain-types/VotingEscrowPendleSidechain.ts +163 -17
- package/typechain-types/VotingEscrowTokenBase.ts +27 -8
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1083 -0
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +43 -0
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionCore__factory.ts +6 -6
- package/typechain-types/factories/ActionMintRedeem__factory.ts +680 -0
- package/typechain-types/factories/ActionMisc__factory.ts +85 -0
- package/typechain-types/factories/ActionSwapPT__factory.ts +514 -0
- package/typechain-types/factories/ActionSwapYT__factory.ts +514 -0
- package/typechain-types/factories/ActionYT__factory.ts +2 -2
- package/typechain-types/factories/BoringOwnableData__factory.ts +90 -0
- package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +96 -0
- package/typechain-types/factories/BoringOwnableUpgradeable__factory.ts +143 -0
- package/typechain-types/factories/BoringOwnable__factory.ts +141 -0
- package/typechain-types/factories/CelerReceiverUpg__factory.ts +67 -5
- package/typechain-types/factories/CelerSenderUpg__factory.ts +63 -1
- package/typechain-types/factories/IBenQiComptroller__factory.ts +24 -0
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1020 -0
- package/typechain-types/factories/IPActionCore__factory.ts +5 -5
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +613 -0
- package/typechain-types/factories/IPActionMisc__factory.ts +47 -0
- package/typechain-types/factories/IPActionSwapPT__factory.ts +450 -0
- package/typechain-types/factories/IPActionSwapYT__factory.ts +450 -0
- package/typechain-types/factories/IPActionYT__factory.ts +1 -1
- package/typechain-types/factories/IPAllAction__factory.ts +323 -47
- package/typechain-types/factories/IPGauge__factory.ts +36 -0
- package/typechain-types/factories/IPMarketFactory__factory.ts +0 -11
- package/typechain-types/factories/IPMarket__factory.ts +72 -29
- package/typechain-types/factories/IPVeToken__factory.ts +1 -1
- package/typechain-types/factories/IPVotingController__factory.ts +0 -37
- package/typechain-types/factories/IPYieldToken__factory.ts +1 -1
- package/typechain-types/factories/IRewardManager__factory.ts +1 -1
- package/typechain-types/factories/MarketMathStatic__factory.ts +146 -0
- package/typechain-types/factories/OracleLib__factory.ts +124 -0
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SCY__factory.ts +1 -1
- package/typechain-types/factories/PendleEulerSCY__factory.ts +10 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +65 -3
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +73 -13
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +79 -23
- package/typechain-types/factories/PendleMarketFactory__factory.ts +84 -86
- package/typechain-types/factories/PendleMarket__factory.ts +131 -37
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +141 -22
- package/typechain-types/factories/PendleSAvaxSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleSJoeSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +203 -129
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +97 -72
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +233 -39
- package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +126 -72
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +93 -41
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +90 -17
- package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +14 -1
- package/typechain-types/hardhat.d.ts +162 -0
- package/typechain-types/index.ts +36 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/ActionCore.sol/ActionCore.json +0 -1801
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +0 -447
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.json +0 -4
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.json +0 -24
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -874
- package/contracts/core/actions/ActionCore.sol +0 -382
- package/contracts/core/actions/ActionYT.sol +0 -93
- package/contracts/core/actions/base/ActionSCYAndPTBase.sol +0 -303
- package/contracts/interfaces/IPActionCore.sol +0 -306
- package/contracts/interfaces/IPRouterStatic.sol +0 -152
- package/deployments/43113-markets/benqi-market-599408.json +0 -7
- package/deployments/43113-markets/benqi-market-93bbf0.json +0 -7
- package/deployments/43113-markets/benqi-market-95E744.json +0 -7
- package/deployments/43113-markets/benqi-market-D91a3F.json +0 -7
- package/deployments/80001-markets/benqi-market-007811.json +0 -7
- package/deployments/80001-markets/benqi-market-3fe528.json +0 -7
- package/typechain-types/FeeDistributorAbstract.ts +0 -164
- package/typechain-types/IPVotingControllerStorage.ts +0 -169
- package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -90
- package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
|
@@ -1,382 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.15;
|
|
3
|
-
|
|
4
|
-
import "./base/ActionSCYAndPTBase.sol";
|
|
5
|
-
import "./base/ActionSCYAndPYBase.sol";
|
|
6
|
-
import "../../interfaces/IPPrincipalToken.sol";
|
|
7
|
-
import "../../interfaces/IPYieldToken.sol";
|
|
8
|
-
import "../../interfaces/IPActionCore.sol";
|
|
9
|
-
|
|
10
|
-
contract ActionCore is IPActionCore, ActionSCYAndPTBase {
|
|
11
|
-
using MarketMathCore for MarketState;
|
|
12
|
-
using Math for uint256;
|
|
13
|
-
using Math for int256;
|
|
14
|
-
|
|
15
|
-
/// @dev since this contract will be proxied, it must not contains non-immutable variabless
|
|
16
|
-
constructor(address _kyberSwapRouter, address _marketFactory)
|
|
17
|
-
ActionSCYAndPYBase(_kyberSwapRouter) //solhint-disable-next-line no-empty-blocks
|
|
18
|
-
{}
|
|
19
|
-
|
|
20
|
-
/// @dev refer to the internal function
|
|
21
|
-
function addLiquidityDualScyAndPt(
|
|
22
|
-
address receiver,
|
|
23
|
-
address market,
|
|
24
|
-
uint256 scyDesired,
|
|
25
|
-
uint256 ptDesired,
|
|
26
|
-
uint256 minLpOut
|
|
27
|
-
)
|
|
28
|
-
external
|
|
29
|
-
returns (
|
|
30
|
-
uint256 netLpOut,
|
|
31
|
-
uint256 scyUsed,
|
|
32
|
-
uint256 ptUsed
|
|
33
|
-
)
|
|
34
|
-
{
|
|
35
|
-
(netLpOut, scyUsed, ptUsed) = _addLiquidityDualScyAndPt(
|
|
36
|
-
receiver,
|
|
37
|
-
market,
|
|
38
|
-
scyDesired,
|
|
39
|
-
ptDesired,
|
|
40
|
-
minLpOut,
|
|
41
|
-
true
|
|
42
|
-
);
|
|
43
|
-
emit AddLiquidityDualScyAndPt(msg.sender, market, receiver, scyUsed, ptUsed, netLpOut);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/// @dev refer to the internal function
|
|
47
|
-
function addLiquidityDualTokenAndPt(
|
|
48
|
-
address receiver,
|
|
49
|
-
address market,
|
|
50
|
-
address tokenIn,
|
|
51
|
-
uint256 tokenDesired,
|
|
52
|
-
uint256 ptDesired,
|
|
53
|
-
uint256 minLpOut
|
|
54
|
-
)
|
|
55
|
-
external
|
|
56
|
-
returns (
|
|
57
|
-
uint256 netLpOut,
|
|
58
|
-
uint256 tokenUsed,
|
|
59
|
-
uint256 ptUsed
|
|
60
|
-
)
|
|
61
|
-
{
|
|
62
|
-
(netLpOut, tokenUsed, ptUsed) = _addLiquidityDualTokenAndPt(
|
|
63
|
-
receiver,
|
|
64
|
-
market,
|
|
65
|
-
tokenIn,
|
|
66
|
-
tokenDesired,
|
|
67
|
-
ptDesired,
|
|
68
|
-
minLpOut
|
|
69
|
-
);
|
|
70
|
-
emit AddLiquidityDualTokenAndPt(
|
|
71
|
-
msg.sender,
|
|
72
|
-
market,
|
|
73
|
-
receiver,
|
|
74
|
-
tokenIn,
|
|
75
|
-
tokenDesired,
|
|
76
|
-
ptUsed,
|
|
77
|
-
netLpOut
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function addLiquiditySinglePt(
|
|
82
|
-
address receiver,
|
|
83
|
-
address market,
|
|
84
|
-
uint256 netPtIn,
|
|
85
|
-
uint256 minLpOut,
|
|
86
|
-
ApproxParams calldata guessPtSwapToScy
|
|
87
|
-
) external returns (uint256 netLpOut) {
|
|
88
|
-
require(false, "NOT IMPLEMENTED");
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
function addLiquiditySingleScy(
|
|
92
|
-
address receiver,
|
|
93
|
-
address market,
|
|
94
|
-
uint256 netScyIn,
|
|
95
|
-
uint256 minLpOut,
|
|
96
|
-
ApproxParams calldata guessPtReceivedFromScy
|
|
97
|
-
) external returns (uint256 netLpOut) {
|
|
98
|
-
require(false, "NOT IMPLEMENTED");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
function addLiquiditySingleToken(
|
|
102
|
-
address receiver,
|
|
103
|
-
address market,
|
|
104
|
-
uint256 minLpOut,
|
|
105
|
-
ApproxParams calldata guessPtReceivedFromScy,
|
|
106
|
-
TokenInput calldata input
|
|
107
|
-
) external returns (uint256 netLpOut) {
|
|
108
|
-
require(false, "NOT IMPLEMENTED");
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/// @dev refer to the internal function
|
|
112
|
-
function removeLiquidityDualScyAndPt(
|
|
113
|
-
address receiver,
|
|
114
|
-
address market,
|
|
115
|
-
uint256 lpToRemove,
|
|
116
|
-
uint256 scyOutMin,
|
|
117
|
-
uint256 ptOutMin
|
|
118
|
-
) external returns (uint256 netScyOut, uint256 netPtOut) {
|
|
119
|
-
(netScyOut, netPtOut) = _removeLiquidityDualScyAndPt(
|
|
120
|
-
receiver,
|
|
121
|
-
market,
|
|
122
|
-
lpToRemove,
|
|
123
|
-
scyOutMin,
|
|
124
|
-
ptOutMin
|
|
125
|
-
);
|
|
126
|
-
emit RemoveLiquidityDualScyAndPt(
|
|
127
|
-
msg.sender,
|
|
128
|
-
market,
|
|
129
|
-
receiver,
|
|
130
|
-
lpToRemove,
|
|
131
|
-
netPtOut,
|
|
132
|
-
netScyOut
|
|
133
|
-
);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/// @dev refer to the internal function
|
|
137
|
-
function removeLiquidityDualTokenAndPt(
|
|
138
|
-
address receiver,
|
|
139
|
-
address market,
|
|
140
|
-
uint256 lpToRemove,
|
|
141
|
-
address tokenOut,
|
|
142
|
-
uint256 tokenOutMin,
|
|
143
|
-
uint256 ptOutMin
|
|
144
|
-
) external returns (uint256 netTokenOut, uint256 netPtOut) {
|
|
145
|
-
(netTokenOut, netPtOut) = _removeLiquidityDualTokenAndPt(
|
|
146
|
-
receiver,
|
|
147
|
-
market,
|
|
148
|
-
lpToRemove,
|
|
149
|
-
tokenOut,
|
|
150
|
-
tokenOutMin,
|
|
151
|
-
ptOutMin
|
|
152
|
-
);
|
|
153
|
-
emit RemoveLiquidityDualIbTokenAndPt(
|
|
154
|
-
msg.sender,
|
|
155
|
-
market,
|
|
156
|
-
receiver,
|
|
157
|
-
lpToRemove,
|
|
158
|
-
netPtOut,
|
|
159
|
-
netTokenOut
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function removeLiquiditySinglePt(
|
|
164
|
-
address receiver,
|
|
165
|
-
address market,
|
|
166
|
-
uint256 lpToRemove,
|
|
167
|
-
uint256 minPtOut,
|
|
168
|
-
ApproxParams calldata guessPtOut
|
|
169
|
-
) external returns (uint256 netPtOut) {
|
|
170
|
-
require(false, "NOT IMPLEMENTED");
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function removeLiquiditySingleScy(
|
|
174
|
-
address receiver,
|
|
175
|
-
address market,
|
|
176
|
-
uint256 lpToRemove,
|
|
177
|
-
uint256 minScyOut
|
|
178
|
-
) external returns (uint256 netScyOut) {
|
|
179
|
-
require(false, "NOT IMPLEMENTED");
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
function removeLiquiditySingleToken(
|
|
183
|
-
address receiver,
|
|
184
|
-
address market,
|
|
185
|
-
uint256 lpToRemove,
|
|
186
|
-
TokenOutput calldata output
|
|
187
|
-
) external returns (uint256 netTokenOut) {
|
|
188
|
-
require(false, "NOT IMPLEMENTED");
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
/// @dev refer to the internal function
|
|
192
|
-
function swapExactPtForScy(
|
|
193
|
-
address receiver,
|
|
194
|
-
address market,
|
|
195
|
-
uint256 exactPtIn,
|
|
196
|
-
uint256 minScyOut
|
|
197
|
-
) external returns (uint256 netScyOut) {
|
|
198
|
-
netScyOut = _swapExactPtForScy(receiver, market, exactPtIn, minScyOut, true);
|
|
199
|
-
emit SwapPtAndScy(msg.sender, market, receiver, exactPtIn.neg(), netScyOut.Int());
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/// @dev refer to the internal function
|
|
203
|
-
function swapPtForExactScy(
|
|
204
|
-
address receiver,
|
|
205
|
-
address market,
|
|
206
|
-
uint256 exactScyOut,
|
|
207
|
-
uint256 maxPtIn,
|
|
208
|
-
ApproxParams calldata guessPtIn
|
|
209
|
-
) external returns (uint256 netPtIn) {
|
|
210
|
-
netPtIn = _swapPtForExactScy(receiver, market, exactScyOut, maxPtIn, guessPtIn, true);
|
|
211
|
-
emit SwapPtAndScy(msg.sender, market, receiver, netPtIn.neg(), exactScyOut.Int());
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/// @dev refer to the internal function
|
|
215
|
-
function swapScyForExactPt(
|
|
216
|
-
address receiver,
|
|
217
|
-
address market,
|
|
218
|
-
uint256 exactPtOut,
|
|
219
|
-
uint256 maxScyIn
|
|
220
|
-
) external returns (uint256 netScyIn) {
|
|
221
|
-
netScyIn = _swapScyForExactPt(receiver, market, exactPtOut, maxScyIn, true);
|
|
222
|
-
emit SwapPtAndScy(msg.sender, market, receiver, exactPtOut.Int(), netScyIn.neg());
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
/// @dev refer to the internal function
|
|
226
|
-
function swapExactScyForPt(
|
|
227
|
-
address receiver,
|
|
228
|
-
address market,
|
|
229
|
-
uint256 exactScyIn,
|
|
230
|
-
uint256 minPtOut,
|
|
231
|
-
ApproxParams calldata guessPtOut
|
|
232
|
-
) external returns (uint256 netPtOut) {
|
|
233
|
-
netPtOut = _swapExactScyForPt(receiver, market, exactScyIn, minPtOut, guessPtOut, true);
|
|
234
|
-
emit SwapPtAndScy(msg.sender, market, receiver, netPtOut.Int(), exactScyIn.neg());
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/// @dev refer to the internal function
|
|
238
|
-
function mintScyFromToken(
|
|
239
|
-
address receiver,
|
|
240
|
-
address SCY,
|
|
241
|
-
uint256 minScyOut,
|
|
242
|
-
TokenInput calldata input
|
|
243
|
-
) external returns (uint256 netScyOut) {
|
|
244
|
-
netScyOut = _mintScyFromToken(receiver, SCY, minScyOut, input);
|
|
245
|
-
|
|
246
|
-
emit MintScyFromToken(
|
|
247
|
-
msg.sender,
|
|
248
|
-
receiver,
|
|
249
|
-
SCY,
|
|
250
|
-
input.tokenIn,
|
|
251
|
-
input.netTokenIn,
|
|
252
|
-
netScyOut
|
|
253
|
-
);
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
/// @dev refer to the internal function
|
|
257
|
-
function redeemScyToToken(
|
|
258
|
-
address receiver,
|
|
259
|
-
address SCY,
|
|
260
|
-
uint256 netScyIn,
|
|
261
|
-
TokenOutput calldata output
|
|
262
|
-
) external returns (uint256 netTokenOut) {
|
|
263
|
-
netTokenOut = _redeemScyToToken(receiver, SCY, netScyIn, output, true);
|
|
264
|
-
emit RedeemScyToToken(msg.sender, receiver, SCY, netScyIn, output.tokenOut, netTokenOut);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/// @dev refer to the internal function
|
|
268
|
-
function mintPyFromToken(
|
|
269
|
-
address receiver,
|
|
270
|
-
address YT,
|
|
271
|
-
uint256 minPyOut,
|
|
272
|
-
TokenInput calldata input
|
|
273
|
-
) external returns (uint256 netPyOut) {
|
|
274
|
-
netPyOut = _mintPyFromToken(receiver, YT, minPyOut, input);
|
|
275
|
-
emit MintPyFromToken(msg.sender, receiver, YT, input.tokenIn, input.netTokenIn, netPyOut);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
/// @dev refer to the internal function
|
|
279
|
-
function redeemPyToToken(
|
|
280
|
-
address receiver,
|
|
281
|
-
address YT,
|
|
282
|
-
uint256 netPyIn,
|
|
283
|
-
TokenOutput calldata output
|
|
284
|
-
) external returns (uint256 netTokenOut) {
|
|
285
|
-
netTokenOut = _redeemPyToToken(receiver, YT, netPyIn, output, true);
|
|
286
|
-
emit RedeemPyToToken(msg.sender, receiver, YT, netPyIn, output.tokenOut, netTokenOut);
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
function mintPyFromScy(
|
|
290
|
-
address receiver,
|
|
291
|
-
address YT,
|
|
292
|
-
uint256 netScyIn,
|
|
293
|
-
uint256 minPyOut
|
|
294
|
-
) external returns (uint256 netPyOut) {
|
|
295
|
-
netPyOut = _mintPyFromScy(receiver, YT, netScyIn, minPyOut, true);
|
|
296
|
-
emit MintPyFromScy(msg.sender, receiver, YT, netScyIn, netPyOut);
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
function redeemPyToScy(
|
|
300
|
-
address receiver,
|
|
301
|
-
address YT,
|
|
302
|
-
uint256 netPyIn,
|
|
303
|
-
uint256 minScyOut
|
|
304
|
-
) external returns (uint256 netScyOut) {
|
|
305
|
-
netScyOut = _redeemPyToScy(receiver, YT, netPyIn, minScyOut, true);
|
|
306
|
-
emit RedeemPyToScy(msg.sender, receiver, YT, netPyIn, netScyOut);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/// @dev refer to the internal function
|
|
310
|
-
function swapExactTokenForPt(
|
|
311
|
-
address receiver,
|
|
312
|
-
address market,
|
|
313
|
-
uint256 minPtOut,
|
|
314
|
-
ApproxParams calldata guessPtOut,
|
|
315
|
-
TokenInput calldata input
|
|
316
|
-
) external returns (uint256 netPtOut) {
|
|
317
|
-
netPtOut = _swapExactTokenForPt(receiver, market, minPtOut, guessPtOut, input);
|
|
318
|
-
|
|
319
|
-
emit SwapPtAndToken(
|
|
320
|
-
msg.sender,
|
|
321
|
-
market,
|
|
322
|
-
input.tokenIn,
|
|
323
|
-
receiver,
|
|
324
|
-
netPtOut.Int(),
|
|
325
|
-
input.netTokenIn.neg()
|
|
326
|
-
);
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/// @dev refer to the internal function
|
|
330
|
-
function swapExactPtForToken(
|
|
331
|
-
address receiver,
|
|
332
|
-
address market,
|
|
333
|
-
uint256 exactPtIn,
|
|
334
|
-
TokenOutput calldata output
|
|
335
|
-
) external returns (uint256 netTokenOut) {
|
|
336
|
-
netTokenOut = _swapExactPtForToken(receiver, market, exactPtIn, output, true);
|
|
337
|
-
|
|
338
|
-
emit SwapPtAndToken(
|
|
339
|
-
msg.sender,
|
|
340
|
-
market,
|
|
341
|
-
output.tokenOut,
|
|
342
|
-
receiver,
|
|
343
|
-
exactPtIn.neg(),
|
|
344
|
-
netTokenOut.Int()
|
|
345
|
-
);
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
function redeemDueInterestAndRewards(
|
|
349
|
-
address user,
|
|
350
|
-
address[] calldata scys,
|
|
351
|
-
address[] calldata yts,
|
|
352
|
-
address[] calldata markets
|
|
353
|
-
)
|
|
354
|
-
external
|
|
355
|
-
returns (
|
|
356
|
-
uint256[][] memory scyRewards,
|
|
357
|
-
uint256[] memory ytInterests,
|
|
358
|
-
uint256[][] memory ytRewards,
|
|
359
|
-
uint256[][] memory marketRewards
|
|
360
|
-
)
|
|
361
|
-
{
|
|
362
|
-
scyRewards = new uint256[][](scys.length);
|
|
363
|
-
for (uint256 i = 0; i < scys.length; ++i) {
|
|
364
|
-
scyRewards[i] = ISuperComposableYield(scys[i]).claimRewards(user);
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
ytInterests = new uint256[](yts.length);
|
|
368
|
-
ytRewards = new uint256[][](yts.length);
|
|
369
|
-
for (uint256 i = 0; i < yts.length; ++i) {
|
|
370
|
-
(ytInterests[i], ytRewards[i]) = IPYieldToken(yts[i]).redeemDueInterestAndRewards(
|
|
371
|
-
user,
|
|
372
|
-
true,
|
|
373
|
-
true
|
|
374
|
-
);
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
marketRewards = new uint256[][](markets.length);
|
|
378
|
-
for (uint256 i = 0; i < markets.length; ++i) {
|
|
379
|
-
marketRewards[i] = IPMarket(markets[i]).redeemRewards(user);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.15;
|
|
3
|
-
|
|
4
|
-
import "./base/ActionSCYAndYTBase.sol";
|
|
5
|
-
import "../../interfaces/IPPrincipalToken.sol";
|
|
6
|
-
import "../../interfaces/IPYieldToken.sol";
|
|
7
|
-
import "../../interfaces/IPActionYT.sol";
|
|
8
|
-
|
|
9
|
-
contract ActionYT is IPActionYT, ActionSCYAndYTBase {
|
|
10
|
-
using MarketMathCore for MarketState;
|
|
11
|
-
using Math for uint256;
|
|
12
|
-
using Math for int256;
|
|
13
|
-
|
|
14
|
-
/// @dev since this contract will be proxied, it must not contains non-immutable variables
|
|
15
|
-
constructor(address _kyberSwapRouter)
|
|
16
|
-
ActionSCYAndPYBase(_kyberSwapRouter) //solhint-disable-next-line no-empty-blocks
|
|
17
|
-
{}
|
|
18
|
-
|
|
19
|
-
/// @dev refer to the internal function
|
|
20
|
-
function swapExactYtForScy(
|
|
21
|
-
address receiver,
|
|
22
|
-
address market,
|
|
23
|
-
uint256 exactYtIn,
|
|
24
|
-
uint256 minScyOut
|
|
25
|
-
) external returns (uint256 netScyOut) {
|
|
26
|
-
netScyOut = _swapExactYtForScy(receiver, market, exactYtIn, minScyOut, true);
|
|
27
|
-
emit SwapYTAndSCY(receiver, market, exactYtIn.neg(), netScyOut.Int());
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/// @dev refer to the internal function
|
|
31
|
-
function swapScyForExactYt(
|
|
32
|
-
address receiver,
|
|
33
|
-
address market,
|
|
34
|
-
uint256 exactYtOut,
|
|
35
|
-
uint256 maxScyIn
|
|
36
|
-
) external returns (uint256 netScyIn) {
|
|
37
|
-
netScyIn = _swapScyForExactYt(receiver, market, exactYtOut, maxScyIn);
|
|
38
|
-
emit SwapYTAndSCY(receiver, market, exactYtOut.Int(), netScyIn.neg());
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/// @dev refer to the internal function
|
|
42
|
-
function swapExactScyForYt(
|
|
43
|
-
address receiver,
|
|
44
|
-
address market,
|
|
45
|
-
uint256 exactScyIn,
|
|
46
|
-
uint256 minYtOut,
|
|
47
|
-
ApproxParams memory guessYtOut
|
|
48
|
-
) external returns (uint256 netYtOut) {
|
|
49
|
-
netYtOut = _swapExactScyForYt(receiver, market, exactScyIn, minYtOut, guessYtOut, true);
|
|
50
|
-
emit SwapYTAndSCY(receiver, market, netYtOut.Int(), exactScyIn.neg());
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/// @dev refer to the internal function
|
|
54
|
-
function swapYtForExactScy(
|
|
55
|
-
address receiver,
|
|
56
|
-
address market,
|
|
57
|
-
uint256 exactScyOut,
|
|
58
|
-
uint256 maxYtIn,
|
|
59
|
-
ApproxParams memory guessYtIn
|
|
60
|
-
) external returns (uint256 netYtIn) {
|
|
61
|
-
netYtIn = _swapYtForExactScy(receiver, market, exactScyOut, maxYtIn, guessYtIn, true);
|
|
62
|
-
emit SwapYTAndSCY(receiver, market, netYtIn.neg(), exactScyOut.Int());
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/// @dev refer to the internal function
|
|
66
|
-
function swapExactTokenForYt(
|
|
67
|
-
address receiver,
|
|
68
|
-
address market,
|
|
69
|
-
uint256 minYtOut,
|
|
70
|
-
ApproxParams memory guessYtOut,
|
|
71
|
-
TokenInput calldata input
|
|
72
|
-
) external returns (uint256 netYtOut) {
|
|
73
|
-
netYtOut = _swapExactTokenForYt(receiver, market, minYtOut, guessYtOut, input);
|
|
74
|
-
emit SwapYTAndToken(
|
|
75
|
-
receiver,
|
|
76
|
-
market,
|
|
77
|
-
input.tokenIn,
|
|
78
|
-
netYtOut.Int(),
|
|
79
|
-
input.netTokenIn.neg()
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/// @dev refer to the internal function
|
|
84
|
-
function swapExactYtForToken(
|
|
85
|
-
address receiver,
|
|
86
|
-
address market,
|
|
87
|
-
uint256 netYtIn,
|
|
88
|
-
TokenOutput calldata output
|
|
89
|
-
) external returns (uint256 netTokenOut) {
|
|
90
|
-
netTokenOut = _swapExactYtForToken(receiver, market, netYtIn, output, true);
|
|
91
|
-
emit SwapYTAndToken(receiver, market, output.tokenOut, netYtIn.neg(), netTokenOut.Int());
|
|
92
|
-
}
|
|
93
|
-
}
|