@pendle/core-v2 0.8.1-gamma → 0.9.2-beta
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 +2 -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 +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.json +2 -2
- 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/CelerSenderUpg.sol/CelerSenderUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/build/artifacts/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- 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 +2 -2
- 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 +2 -2
- package/build/artifacts/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- 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 +2 -2
- 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/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- 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/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 +446 -131
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +75 -41
- 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 +1 -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 +1 -1
- 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 -1
- 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/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/IPActionCore.sol/IPActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.json +442 -127
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.json +71 -37
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +513 -164
- 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/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- 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/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2 -2
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- 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/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/IRewardManager.sol/IRewardManager.dbg.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/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
- 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/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- 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 +4 -0
- package/build/artifacts/contracts/libraries/{traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.json → kyberswap/KyberSwapHelper.sol/KyberSwapHelper.json} +3 -3
- 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/Math.sol/Math.json +2 -2
- 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/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +80 -41
- package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +6 -8
- package/contracts/core/PendleRouter.sol +14 -12
- package/contracts/core/actions/ActionCore.sol +125 -89
- package/contracts/core/actions/ActionYT.sol +17 -37
- package/contracts/core/actions/base/ActionSCYAndPTBase.sol +82 -42
- package/contracts/core/actions/base/ActionSCYAndPYBase.sol +39 -51
- package/contracts/core/actions/base/ActionSCYAndYTBase.sol +10 -27
- package/contracts/interfaces/IPActionCore.sol +89 -54
- package/contracts/interfaces/IPActionYT.sol +11 -12
- package/contracts/interfaces/IPRouterStatic.sol +2 -2
- package/contracts/libraries/helpers/TokenHelper.sol +8 -3
- package/contracts/libraries/kyberswap/KyberSwapHelper.sol +61 -0
- package/contracts/libraries/math/Math.sol +4 -0
- package/contracts/offchain-helpers/RouterStatic.sol +39 -3
- package/package.json +1 -1
- package/typechain-types/ActionCore.ts +545 -379
- package/typechain-types/ActionSCYAndPTBase.ts +11 -8
- package/typechain-types/ActionSCYAndPYBase.ts +11 -8
- package/typechain-types/ActionSCYAndYTBase.ts +11 -8
- package/typechain-types/ActionYT.ts +119 -106
- package/typechain-types/FeeDistributorAbstract.ts +164 -0
- package/typechain-types/IPActionCore.ts +533 -370
- package/typechain-types/IPActionYT.ts +110 -100
- package/typechain-types/IPAllAction.ts +611 -466
- package/typechain-types/IPRouterStatic.ts +16 -16
- package/typechain-types/IPVotingControllerStorage.ts +169 -0
- package/typechain-types/{PermissionsV2.ts → KyberSwapHelper.ts} +13 -13
- package/typechain-types/{PendleYearnVaultScy.ts → PendleYearnVaultSCY.ts} +0 -0
- package/typechain-types/RouterStatic.ts +145 -95
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionCore__factory.ts +449 -134
- package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +1 -1
- package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +1 -1
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +1 -1
- package/typechain-types/factories/ActionYT__factory.ts +78 -44
- package/typechain-types/factories/{VotingEscrowController__factory.ts → FeeDistributorAbstract__factory.ts} +33 -23
- package/typechain-types/factories/IPActionCore__factory.ts +442 -127
- package/typechain-types/factories/IPActionYT__factory.ts +71 -37
- package/typechain-types/factories/IPAllAction__factory.ts +513 -164
- package/typechain-types/factories/IPRouterStatic__factory.ts +2 -2
- package/typechain-types/factories/IPVotingControllerStorage__factory.ts +107 -0
- package/typechain-types/factories/{IPermissionsV2__factory.ts → KyberSwapHelper__factory.ts} +9 -9
- 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 +1 -1
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__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 +1 -1
- 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 +1 -1
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +1 -1
- package/typechain-types/factories/{PendleYearnVaultScy__factory.ts → PendleYearnVaultSCY__factory.ts} +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +79 -40
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +9 -54
- package/typechain-types/index.ts +2 -12
- package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.json +0 -662
- package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.json +0 -760
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.json +0 -962
- package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +0 -4
- package/build/artifacts/contracts/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.json +0 -10
- package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.dbg.json +0 -4
- package/contracts/interfaces/IJoePair.sol +0 -98
- package/contracts/interfaces/IJoeRouter01.sol +0 -162
- package/contracts/interfaces/IJoeRouter02.sol +0 -52
- package/contracts/libraries/traderjoe/JoeLibrary.sol +0 -122
- package/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol +0 -80
- package/typechain-types/ActionRedeem.ts +0 -125
- package/typechain-types/ActionSCYAndYOBase.ts +0 -223
- package/typechain-types/AggregatorV2V3Interface.ts +0 -380
- package/typechain-types/BenqiChainlinkOracle.ts +0 -362
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableData.ts +0 -100
- package/typechain-types/BoringOwnableUpg.ts +0 -194
- package/typechain-types/BoringOwnableUpgData.ts +0 -100
- package/typechain-types/CelerReceiver.ts +0 -267
- package/typechain-types/CelerSender.ts +0 -197
- package/typechain-types/Comptroller.ts +0 -2860
- package/typechain-types/ComptrollerErrorReporter.ts +0 -70
- package/typechain-types/ComptrollerInterface.ts +0 -881
- package/typechain-types/ComptrollerVXStorage.ts +0 -781
- package/typechain-types/CrosschainContract.ts +0 -113
- package/typechain-types/CrosschainReceiver.ts +0 -347
- package/typechain-types/CrosschainSender.ts +0 -210
- package/typechain-types/EIP20Interface.ts +0 -337
- package/typechain-types/EIP20NonStandardInterface.ts +0 -298
- package/typechain-types/ERC20Burnable.ts +0 -473
- package/typechain-types/ERC20Locker.ts +0 -91
- package/typechain-types/ERC20Permit.ts +0 -521
- package/typechain-types/ERC20Premined.ts +0 -473
- package/typechain-types/ERC20PresetFixedSupply.ts +0 -473
- package/typechain-types/EpochController.ts +0 -195
- package/typechain-types/FundKeeper.ts +0 -347
- package/typechain-types/GaugeTypeControllerAbstract.ts +0 -546
- package/typechain-types/GaugeTypeControllerCrosschain.ts +0 -733
- package/typechain-types/GaugeTypeControllerMainchain.ts +0 -604
- package/typechain-types/IERC20Permit.ts +0 -175
- package/typechain-types/IGaugeController.ts +0 -99
- package/typechain-types/IJoePair.ts +0 -888
- package/typechain-types/IJoeRouter01.ts +0 -1107
- package/typechain-types/IJoeRouter02.ts +0 -1420
- package/typechain-types/ILiquidYieldToken.ts +0 -639
- package/typechain-types/ILiquidYieldTokenWrap.ts +0 -790
- package/typechain-types/IMessageBus.ts +0 -543
- package/typechain-types/IMessageReceiverApp.ts +0 -110
- package/typechain-types/IPActionRedeem.ts +0 -125
- package/typechain-types/IPActionSCYAndPY.ts +0 -183
- package/typechain-types/IPBaseToken.ts +0 -365
- package/typechain-types/IPFlashCallback.ts +0 -115
- package/typechain-types/IPGauge.ts +0 -212
- package/typechain-types/IPLiquidYieldToken.ts +0 -641
- package/typechain-types/IPMarketAddRemoveCallback.ts +0 -169
- package/typechain-types/IPMarketCallback.ts +0 -107
- package/typechain-types/IPOwnershipToken.ts +0 -488
- package/typechain-types/IPRouterCore.ts +0 -769
- package/typechain-types/IPRouterRedeem.ts +0 -155
- package/typechain-types/IPRouterYT.ts +0 -489
- package/typechain-types/IPVotingEscrowController.ts +0 -154
- package/typechain-types/IPendleGauge.ts +0 -241
- package/typechain-types/IPermissionsV2.ts +0 -87
- package/typechain-types/IRainbowBridge.ts +0 -91
- package/typechain-types/ISCYRewardIndex.ts +0 -695
- package/typechain-types/IVEPendleToken.ts +0 -121
- package/typechain-types/IVePToken.ts +0 -103
- package/typechain-types/IVotingEscrowPendle.ts +0 -297
- package/typechain-types/IXPendle.ts +0 -114
- package/typechain-types/InterestRateModel.ts +0 -178
- package/typechain-types/JumpRateModel.ts +0 -347
- package/typechain-types/LYTBase.ts +0 -721
- package/typechain-types/LYTBaseWithRewards.ts +0 -806
- package/typechain-types/LYTWrap.ts +0 -872
- package/typechain-types/LYTWrapWithRewards.ts +0 -979
- package/typechain-types/LiquidityMining.ts +0 -468
- package/typechain-types/Maximillion.ts +0 -145
- package/typechain-types/Ownable.ts +0 -160
- package/typechain-types/PendleAaveV3LYT.ts +0 -808
- package/typechain-types/PendleBaseToken.ts +0 -475
- package/typechain-types/PendleBenQiErc20LYT.ts +0 -901
- package/typechain-types/PendleBenQiErc20SCY.ts +0 -1050
- package/typechain-types/PendleBenqiLiquidYieldToken.ts +0 -1013
- package/typechain-types/PendleBtrflyLYT.ts +0 -781
- package/typechain-types/PendleBtrflyScy.ts +0 -822
- package/typechain-types/PendleCelerRouter.ts +0 -359
- package/typechain-types/PendleERC20Permit.ts +0 -443
- package/typechain-types/PendleGaugeController.ts +0 -346
- package/typechain-types/PendleGaugeControllerMainchain.ts +0 -410
- package/typechain-types/PendleGaugeControllerSidechain.ts +0 -524
- package/typechain-types/PendleJoeLpSCY.ts +0 -835
- package/typechain-types/PendleJoeSwapHelper.ts +0 -92
- package/typechain-types/PendleJoeSwapHelperUpg.ts +0 -84
- package/typechain-types/PendleLYTMockYT.ts +0 -894
- package/typechain-types/PendleLiquidYieldToken.ts +0 -814
- package/typechain-types/PendleLiquidYieldTokenBase.ts +0 -941
- package/typechain-types/PendleOwnershipToken.ts +0 -598
- package/typechain-types/PendleRouter01.ts +0 -184
- package/typechain-types/PendleRouter02.ts +0 -564
- package/typechain-types/PendleRouter03.ts +0 -224
- package/typechain-types/PendleRouterBase.ts +0 -126
- package/typechain-types/PendleRouterCore.ts +0 -328
- package/typechain-types/PendleRouterCoreUpg.ts +0 -798
- package/typechain-types/PendleRouterLytAndForge.ts +0 -331
- package/typechain-types/PendleRouterMarketBase.ts +0 -82
- package/typechain-types/PendleRouterOT.ts +0 -463
- package/typechain-types/PendleRouterProxy.ts +0 -335
- package/typechain-types/PendleRouterRawTokenOT.ts +0 -865
- package/typechain-types/PendleRouterRawTokenYT.ts +0 -520
- package/typechain-types/PendleRouterRedeemUpg.ts +0 -125
- package/typechain-types/PendleRouterSCYAndForgeBaseUpg.ts +0 -98
- package/typechain-types/PendleRouterStaticUpg.ts +0 -399
- package/typechain-types/PendleRouterYT.ts +0 -227
- package/typechain-types/PendleRouterYTBaseUpg.ts +0 -134
- package/typechain-types/PendleRouterYTUpg.ts +0 -537
- package/typechain-types/PendleStEthSCY.ts +0 -872
- package/typechain-types/PendleStargatePool.ts +0 -1135
- package/typechain-types/PendleVotingController.ts +0 -983
- package/typechain-types/PendleYTLYTBenqi.ts +0 -863
- package/typechain-types/PendleYearnVaultLYT.ts +0 -723
- package/typechain-types/PermlessAbstract.ts +0 -57
- package/typechain-types/PglStakingContract.ts +0 -662
- package/typechain-types/PglStakingContractProxy.ts +0 -256
- package/typechain-types/PglStakingContractProxyStorage.ts +0 -136
- package/typechain-types/PglStakingContractStorage.ts +0 -397
- package/typechain-types/PriceOracle.ts +0 -116
- package/typechain-types/ProtocolFakeUser.ts +0 -105
- package/typechain-types/Qi.ts +0 -760
- package/typechain-types/QiAvax.ts +0 -1720
- package/typechain-types/QiDelegateInterface.ts +0 -145
- package/typechain-types/QiDelegationStorage.ts +0 -82
- package/typechain-types/QiDelegatorInterface.ts +0 -149
- package/typechain-types/QiErc20.ts +0 -1846
- package/typechain-types/QiErc20Delegate.ts +0 -1926
- package/typechain-types/QiErc20Delegator.ts +0 -1885
- package/typechain-types/QiErc20Interface.ts +0 -382
- package/typechain-types/QiErc20Storage.ts +0 -79
- package/typechain-types/QiToken.ts +0 -1475
- package/typechain-types/QiTokenInterface.ts +0 -1419
- package/typechain-types/QiTokenSaleDistributor.ts +0 -771
- package/typechain-types/QiTokenSaleDistributorProxy.ts +0 -256
- package/typechain-types/QiTokenSaleDistributorProxyStorage.ts +0 -136
- package/typechain-types/QiTokenSaleDistributorStorage.ts +0 -401
- package/typechain-types/QiTokenStorage.ts +0 -311
- package/typechain-types/ReentrancyGuard.ts +0 -52
- package/typechain-types/SingleGaugeTypeController.ts +0 -478
- package/typechain-types/TokenErrorReporter.ts +0 -70
- package/typechain-types/Unitroller.ts +0 -356
- package/typechain-types/UnitrollerAdminStorage.ts +0 -143
- package/typechain-types/VePendle.ts +0 -1156
- package/typechain-types/VePendleCrosschain.ts +0 -969
- package/typechain-types/VePendleToken.ts +0 -688
- package/typechain-types/VotingController.ts +0 -1004
- package/typechain-types/VotingControllerStorage.ts +0 -448
- package/typechain-types/VotingEscrowController.ts +0 -154
- package/typechain-types/VotingEscrowPendle.ts +0 -752
- package/typechain-types/VotingEscrowToken.ts +0 -251
- package/typechain-types/WETH9.ts +0 -414
- package/typechain-types/WhitePaperInterestRateModel.ts +0 -304
- package/typechain-types/XPendle.ts +0 -618
- package/typechain-types/factories/ActionRedeem__factory.ts +0 -105
- package/typechain-types/factories/ActionSCYAndYOBase__factory.ts +0 -200
- package/typechain-types/factories/AggregatorV2V3Interface__factory.ts +0 -288
- package/typechain-types/factories/BenqiChainlinkOracle__factory.ts +0 -311
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnableUpgData__factory.ts +0 -94
- package/typechain-types/factories/BoringOwnableUpg__factory.ts +0 -139
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -149
- package/typechain-types/factories/CelerReceiver__factory.ts +0 -140
- package/typechain-types/factories/CelerSender__factory.ts +0 -85
- package/typechain-types/factories/ComptrollerErrorReporter__factory.ts +0 -93
- package/typechain-types/factories/ComptrollerInterface__factory.ts +0 -595
- package/typechain-types/factories/ComptrollerVXStorage__factory.ts +0 -610
- package/typechain-types/factories/Comptroller__factory.ts +0 -2189
- package/typechain-types/factories/CrosschainContract__factory.ts +0 -52
- package/typechain-types/factories/CrosschainReceiver__factory.ts +0 -187
- package/typechain-types/factories/CrosschainSender__factory.ts +0 -104
- package/typechain-types/factories/EIP20Interface__factory.ts +0 -248
- package/typechain-types/factories/EIP20NonStandardInterface__factory.ts +0 -213
- package/typechain-types/factories/ERC20Burnable__factory.ts +0 -324
- package/typechain-types/factories/ERC20Locker__factory.ts +0 -73
- package/typechain-types/factories/ERC20Permit__factory.ts +0 -368
- package/typechain-types/factories/ERC20Premined__factory.ts +0 -393
- package/typechain-types/factories/ERC20PresetFixedSupply__factory.ts +0 -422
- package/typechain-types/factories/EpochController__factory.ts +0 -170
- package/typechain-types/factories/FundKeeper__factory.ts +0 -212
- package/typechain-types/factories/GaugeTypeControllerAbstract__factory.ts +0 -387
- package/typechain-types/factories/GaugeTypeControllerCrosschain__factory.ts +0 -522
- package/typechain-types/factories/GaugeTypeControllerMainchain__factory.ts +0 -431
- package/typechain-types/factories/IERC20Permit__factory.ts +0 -98
- package/typechain-types/factories/IGaugeController__factory.ts +0 -45
- package/typechain-types/factories/IJoePair__factory.ts +0 -674
- package/typechain-types/factories/IJoeRouter01__factory.ts +0 -772
- package/typechain-types/factories/IJoeRouter02__factory.ts +0 -974
- package/typechain-types/factories/ILiquidYieldTokenWrap__factory.ts +0 -533
- package/typechain-types/factories/ILiquidYieldToken__factory.ts +0 -429
- package/typechain-types/factories/IMessageBus__factory.ts +0 -396
- package/typechain-types/factories/IMessageReceiverApp__factory.ts +0 -55
- package/typechain-types/factories/IPActionRedeem__factory.ts +0 -70
- package/typechain-types/factories/IPActionSCYAndPY__factory.ts +0 -174
- package/typechain-types/factories/IPBaseToken__factory.ts +0 -271
- package/typechain-types/factories/IPFlashCallback__factory.ts +0 -49
- package/typechain-types/factories/IPGauge__factory.ts +0 -110
- package/typechain-types/factories/IPLiquidYieldToken__factory.ts +0 -433
- package/typechain-types/factories/IPMarketAddRemoveCallback__factory.ts +0 -86
- package/typechain-types/factories/IPMarketCallback__factory.ts +0 -55
- package/typechain-types/factories/IPOwnershipToken__factory.ts +0 -349
- package/typechain-types/factories/IPRouterCore__factory.ts +0 -531
- package/typechain-types/factories/IPRouterRedeem__factory.ts +0 -72
- package/typechain-types/factories/IPRouterYT__factory.ts +0 -305
- package/typechain-types/factories/IPVotingEscrowController__factory.ts +0 -80
- package/typechain-types/factories/IPendleGauge__factory.ts +0 -125
- package/typechain-types/factories/IRainbowBridge__factory.ts +0 -76
- package/typechain-types/factories/ISCYRewardIndex__factory.ts +0 -465
- package/typechain-types/factories/IVEPendleToken__factory.ts +0 -71
- package/typechain-types/factories/IVePToken__factory.ts +0 -55
- package/typechain-types/factories/IVotingEscrowPendle__factory.ts +0 -182
- package/typechain-types/factories/IXPendle__factory.ts +0 -61
- package/typechain-types/factories/InterestRateModel__factory.ts +0 -108
- package/typechain-types/factories/JumpRateModel__factory.ts +0 -334
- package/typechain-types/factories/LYTBaseWithRewards__factory.ts +0 -530
- package/typechain-types/factories/LYTBase__factory.ts +0 -474
- package/typechain-types/factories/LYTWrapWithRewards__factory.ts +0 -643
- package/typechain-types/factories/LYTWrap__factory.ts +0 -574
- package/typechain-types/factories/LiquidityMining__factory.ts +0 -367
- package/typechain-types/factories/Maximillion__factory.ts +0 -125
- package/typechain-types/factories/Ownable__factory.ts +0 -75
- package/typechain-types/factories/PendleAaveV3LYT__factory.ts +0 -657
- package/typechain-types/factories/PendleBaseToken__factory.ts +0 -348
- package/typechain-types/factories/PendleBenQiErc20LYT__factory.ts +0 -748
- package/typechain-types/factories/PendleBenQiErc20SCY__factory.ts +0 -871
- package/typechain-types/factories/PendleBenqiLiquidYieldToken__factory.ts +0 -785
- package/typechain-types/factories/PendleBtrflyLYT__factory.ts +0 -647
- package/typechain-types/factories/PendleBtrflyScy__factory.ts +0 -710
- package/typechain-types/factories/PendleCelerRouter__factory.ts +0 -259
- package/typechain-types/factories/PendleERC20Permit__factory.ts +0 -405
- package/typechain-types/factories/PendleGaugeControllerMainchain__factory.ts +0 -332
- package/typechain-types/factories/PendleGaugeControllerSidechain__factory.ts +0 -391
- package/typechain-types/factories/PendleGaugeController__factory.ts +0 -212
- package/typechain-types/factories/PendleJoeLpSCY__factory.ts +0 -732
- package/typechain-types/factories/PendleJoeSwapHelperUpg__factory.ts +0 -43
- package/typechain-types/factories/PendleJoeSwapHelper__factory.ts +0 -52
- package/typechain-types/factories/PendleLYTMockYT__factory.ts +0 -732
- package/typechain-types/factories/PendleLiquidYieldTokenBase__factory.ts +0 -603
- package/typechain-types/factories/PendleLiquidYieldToken__factory.ts +0 -510
- package/typechain-types/factories/PendleOwnershipToken__factory.ts +0 -527
- package/typechain-types/factories/PendleRouter01__factory.ts +0 -152
- package/typechain-types/factories/PendleRouter02__factory.ts +0 -438
- package/typechain-types/factories/PendleRouter03__factory.ts +0 -190
- package/typechain-types/factories/PendleRouterBase__factory.ts +0 -68
- package/typechain-types/factories/PendleRouterCoreUpg__factory.ts +0 -635
- package/typechain-types/factories/PendleRouterCore__factory.ts +0 -268
- package/typechain-types/factories/PendleRouterLytAndForge__factory.ts +0 -294
- package/typechain-types/factories/PendleRouterMarketBase__factory.ts +0 -43
- package/typechain-types/factories/PendleRouterOT__factory.ts +0 -372
- package/typechain-types/factories/PendleRouterProxy__factory.ts +0 -285
- package/typechain-types/factories/PendleRouterRawTokenOT__factory.ts +0 -697
- package/typechain-types/factories/PendleRouterRawTokenYT__factory.ts +0 -431
- package/typechain-types/factories/PendleRouterRedeemUpg__factory.ts +0 -112
- package/typechain-types/factories/PendleRouterSCYAndForgeBaseUpg__factory.ts +0 -56
- package/typechain-types/factories/PendleRouterStaticUpg__factory.ts +0 -315
- package/typechain-types/factories/PendleRouterYTBaseUpg__factory.ts +0 -66
- package/typechain-types/factories/PendleRouterYTUpg__factory.ts +0 -422
- package/typechain-types/factories/PendleRouterYT__factory.ts +0 -184
- package/typechain-types/factories/PendleStEthSCY__factory.ts +0 -716
- package/typechain-types/factories/PendleStargatePool__factory.ts +0 -961
- package/typechain-types/factories/PendleVotingController__factory.ts +0 -730
- package/typechain-types/factories/PendleYTLYTBenqi__factory.ts +0 -713
- package/typechain-types/factories/PendleYearnVaultLYT__factory.ts +0 -586
- package/typechain-types/factories/PermissionsV2__factory.ts +0 -36
- package/typechain-types/factories/PermlessAbstract__factory.ts +0 -30
- package/typechain-types/factories/PglStakingContractProxyStorage__factory.ts +0 -130
- package/typechain-types/factories/PglStakingContractProxy__factory.ts +0 -187
- package/typechain-types/factories/PglStakingContractStorage__factory.ts +0 -309
- package/typechain-types/factories/PglStakingContract__factory.ts +0 -446
- package/typechain-types/factories/PriceOracle__factory.ts +0 -59
- package/typechain-types/factories/ProtocolFakeUser__factory.ts +0 -87
- package/typechain-types/factories/QiAvax__factory.ts +0 -1471
- package/typechain-types/factories/QiDelegateInterface__factory.ts +0 -65
- package/typechain-types/factories/QiDelegationStorage__factory.ts +0 -79
- package/typechain-types/factories/QiDelegatorInterface__factory.ts +0 -89
- package/typechain-types/factories/QiErc20Delegate__factory.ts +0 -1563
- package/typechain-types/factories/QiErc20Delegator__factory.ts +0 -1648
- package/typechain-types/factories/QiErc20Interface__factory.ts +0 -239
- package/typechain-types/factories/QiErc20Storage__factory.ts +0 -79
- package/typechain-types/factories/QiErc20__factory.ts +0 -1515
- package/typechain-types/factories/QiTokenInterface__factory.ts +0 -1182
- package/typechain-types/factories/QiTokenSaleDistributorProxyStorage__factory.ts +0 -124
- package/typechain-types/factories/QiTokenSaleDistributorProxy__factory.ts +0 -171
- package/typechain-types/factories/QiTokenSaleDistributorStorage__factory.ts +0 -289
- package/typechain-types/factories/QiTokenSaleDistributor__factory.ts +0 -480
- package/typechain-types/factories/QiTokenStorage__factory.ts +0 -274
- package/typechain-types/factories/QiToken__factory.ts +0 -1219
- package/typechain-types/factories/Qi__factory.ts +0 -648
- package/typechain-types/factories/ReentrancyGuard__factory.ts +0 -69
- package/typechain-types/factories/SingleGaugeTypeController__factory.ts +0 -341
- package/typechain-types/factories/TokenErrorReporter__factory.ts +0 -89
- package/typechain-types/factories/UnitrollerAdminStorage__factory.ts +0 -128
- package/typechain-types/factories/Unitroller__factory.ts +0 -305
- package/typechain-types/factories/VePendleCrosschain__factory.ts +0 -727
- package/typechain-types/factories/VePendleToken__factory.ts +0 -494
- package/typechain-types/factories/VePendle__factory.ts +0 -800
- package/typechain-types/factories/VotingControllerStorage__factory.ts +0 -315
- package/typechain-types/factories/VotingController__factory.ts +0 -645
- package/typechain-types/factories/VotingEscrowPendle__factory.ts +0 -527
- package/typechain-types/factories/VotingEscrowToken__factory.ts +0 -153
- package/typechain-types/factories/WETH9__factory.ts +0 -342
- package/typechain-types/factories/WhitePaperInterestRateModel__factory.ts +0 -281
- package/typechain-types/factories/XPendle__factory.ts +0 -473
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
pragma solidity 0.8.15;
|
|
3
3
|
|
|
4
4
|
import "../libraries/math/MarketApproxLib.sol";
|
|
5
|
+
import "../libraries/kyberswap/KyberSwapHelper.sol";
|
|
5
6
|
|
|
6
7
|
interface IPActionCore {
|
|
7
|
-
event
|
|
8
|
+
event AddLiquidityDualScyAndPt(
|
|
8
9
|
address indexed caller,
|
|
9
10
|
address indexed market,
|
|
10
11
|
address indexed receiver,
|
|
@@ -13,7 +14,16 @@ interface IPActionCore {
|
|
|
13
14
|
uint256 lpOut
|
|
14
15
|
);
|
|
15
16
|
|
|
16
|
-
event
|
|
17
|
+
event AddLiquidityDualIbTokenAndPt(
|
|
18
|
+
address indexed caller,
|
|
19
|
+
address indexed market,
|
|
20
|
+
address indexed receiver,
|
|
21
|
+
uint256 ibTokenUsed,
|
|
22
|
+
uint256 ptUsed,
|
|
23
|
+
uint256 lpOut
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
event RemoveLiquidityDualScyAndPt(
|
|
17
27
|
address indexed caller,
|
|
18
28
|
address indexed market,
|
|
19
29
|
address receiver,
|
|
@@ -22,6 +32,15 @@ interface IPActionCore {
|
|
|
22
32
|
uint256 amountSCYOut
|
|
23
33
|
);
|
|
24
34
|
|
|
35
|
+
event RemoveLiquidityDualIbTokenAndPt(
|
|
36
|
+
address indexed caller,
|
|
37
|
+
address indexed market,
|
|
38
|
+
address receiver,
|
|
39
|
+
uint256 lpIn,
|
|
40
|
+
uint256 amountPTOut,
|
|
41
|
+
uint256 amountIbTokenOut
|
|
42
|
+
);
|
|
43
|
+
|
|
25
44
|
event SwapPtAndScy(
|
|
26
45
|
address indexed caller,
|
|
27
46
|
address indexed market,
|
|
@@ -30,31 +49,31 @@ interface IPActionCore {
|
|
|
30
49
|
int256 amountScyToAccount
|
|
31
50
|
);
|
|
32
51
|
|
|
33
|
-
event
|
|
52
|
+
event SwapPtAndToken(
|
|
34
53
|
address indexed caller,
|
|
35
54
|
address indexed market,
|
|
36
|
-
address indexed
|
|
55
|
+
address indexed token,
|
|
37
56
|
address receiver,
|
|
38
57
|
int256 amountPtToAccount,
|
|
39
|
-
int256
|
|
58
|
+
int256 amountTokenToAccount
|
|
40
59
|
);
|
|
41
60
|
|
|
42
|
-
event
|
|
61
|
+
event MintScyFromToken(
|
|
43
62
|
address indexed caller,
|
|
44
63
|
address indexed receiver,
|
|
45
64
|
address indexed SCY,
|
|
46
|
-
address
|
|
47
|
-
uint256
|
|
65
|
+
address tokenIn,
|
|
66
|
+
uint256 netTokenIn,
|
|
48
67
|
uint256 netScyOut
|
|
49
68
|
);
|
|
50
69
|
|
|
51
|
-
event
|
|
70
|
+
event RedeemScyToToken(
|
|
52
71
|
address indexed caller,
|
|
53
72
|
address indexed receiver,
|
|
54
73
|
address indexed SCY,
|
|
55
74
|
uint256 netScyIn,
|
|
56
|
-
address
|
|
57
|
-
uint256
|
|
75
|
+
address tokenOut,
|
|
76
|
+
uint256 netTokenOut
|
|
58
77
|
);
|
|
59
78
|
|
|
60
79
|
event MintPyFromScy(
|
|
@@ -73,25 +92,25 @@ interface IPActionCore {
|
|
|
73
92
|
uint256 netScyOut
|
|
74
93
|
);
|
|
75
94
|
|
|
76
|
-
event
|
|
95
|
+
event MintPyFromToken(
|
|
77
96
|
address indexed caller,
|
|
78
97
|
address indexed receiver,
|
|
79
98
|
address indexed YT,
|
|
80
|
-
address
|
|
81
|
-
uint256
|
|
99
|
+
address tokenIn,
|
|
100
|
+
uint256 netTokenIn,
|
|
82
101
|
uint256 netPyOut
|
|
83
102
|
);
|
|
84
103
|
|
|
85
|
-
event
|
|
104
|
+
event RedeemPyToToken(
|
|
86
105
|
address indexed caller,
|
|
87
106
|
address indexed receiver,
|
|
88
107
|
address indexed YT,
|
|
89
108
|
uint256 netPyIn,
|
|
90
|
-
address
|
|
91
|
-
uint256
|
|
109
|
+
address tokenOut,
|
|
110
|
+
uint256 netTokenOut
|
|
92
111
|
);
|
|
93
112
|
|
|
94
|
-
function
|
|
113
|
+
function addLiquidityDualScyAndPt(
|
|
95
114
|
address receiver,
|
|
96
115
|
address market,
|
|
97
116
|
uint256 scyDesired,
|
|
@@ -105,12 +124,27 @@ interface IPActionCore {
|
|
|
105
124
|
uint256 ptUsed
|
|
106
125
|
);
|
|
107
126
|
|
|
127
|
+
/// @dev refer to the internal function
|
|
128
|
+
function addLiquidityDualIbTokenAndPt(
|
|
129
|
+
address receiver,
|
|
130
|
+
address market,
|
|
131
|
+
uint256 ibTokenDesired,
|
|
132
|
+
uint256 ptDesired,
|
|
133
|
+
uint256 minLpOut
|
|
134
|
+
)
|
|
135
|
+
external
|
|
136
|
+
returns (
|
|
137
|
+
uint256 netLpOut,
|
|
138
|
+
uint256 ibTokenUsed,
|
|
139
|
+
uint256 ptUsed
|
|
140
|
+
);
|
|
141
|
+
|
|
108
142
|
function addLiquiditySinglePt(
|
|
109
143
|
address receiver,
|
|
110
144
|
address market,
|
|
111
145
|
uint256 netPtIn,
|
|
112
146
|
uint256 minLpOut,
|
|
113
|
-
ApproxParams
|
|
147
|
+
ApproxParams calldata guessPtSwapToScy
|
|
114
148
|
) external returns (uint256 netLpOut);
|
|
115
149
|
|
|
116
150
|
function addLiquiditySingleScy(
|
|
@@ -118,19 +152,18 @@ interface IPActionCore {
|
|
|
118
152
|
address market,
|
|
119
153
|
uint256 netScyIn,
|
|
120
154
|
uint256 minLpOut,
|
|
121
|
-
ApproxParams
|
|
155
|
+
ApproxParams calldata guessPtReceivedFromScy
|
|
122
156
|
) external returns (uint256 netLpOut);
|
|
123
157
|
|
|
124
|
-
function
|
|
158
|
+
function addLiquiditySingleToken(
|
|
125
159
|
address receiver,
|
|
126
160
|
address market,
|
|
127
|
-
uint256 netRawTokenIn,
|
|
128
161
|
uint256 minLpOut,
|
|
129
|
-
|
|
130
|
-
|
|
162
|
+
ApproxParams calldata guessPtReceivedFromScy,
|
|
163
|
+
TokenInput calldata input
|
|
131
164
|
) external returns (uint256 netLpOut);
|
|
132
165
|
|
|
133
|
-
function
|
|
166
|
+
function removeLiquidityDualScyAndPt(
|
|
134
167
|
address receiver,
|
|
135
168
|
address market,
|
|
136
169
|
uint256 lpToRemove,
|
|
@@ -138,12 +171,21 @@ interface IPActionCore {
|
|
|
138
171
|
uint256 ptOutMin
|
|
139
172
|
) external returns (uint256 netScyOut, uint256 netPtOut);
|
|
140
173
|
|
|
174
|
+
/// @dev refer to the internal function
|
|
175
|
+
function removeLiquidityDualIbTokenAndPt(
|
|
176
|
+
address receiver,
|
|
177
|
+
address market,
|
|
178
|
+
uint256 lpToRemove,
|
|
179
|
+
uint256 ibTokenMin,
|
|
180
|
+
uint256 ptOutMin
|
|
181
|
+
) external returns (uint256 netIbTokenOut, uint256 netPtOut);
|
|
182
|
+
|
|
141
183
|
function removeLiquiditySinglePt(
|
|
142
184
|
address receiver,
|
|
143
185
|
address market,
|
|
144
186
|
uint256 lpToRemove,
|
|
145
187
|
uint256 minPtOut,
|
|
146
|
-
ApproxParams
|
|
188
|
+
ApproxParams calldata guessPtOut
|
|
147
189
|
) external returns (uint256 netPtOut);
|
|
148
190
|
|
|
149
191
|
function removeLiquiditySingleScy(
|
|
@@ -153,13 +195,12 @@ interface IPActionCore {
|
|
|
153
195
|
uint256 minScyOut
|
|
154
196
|
) external returns (uint256 netScyOut);
|
|
155
197
|
|
|
156
|
-
function
|
|
198
|
+
function removeLiquiditySingleToken(
|
|
157
199
|
address receiver,
|
|
158
200
|
address market,
|
|
159
201
|
uint256 lpToRemove,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
) external returns (uint256 netRawTokenOut);
|
|
202
|
+
TokenOutput calldata output
|
|
203
|
+
) external returns (uint256 netTokenOut);
|
|
163
204
|
|
|
164
205
|
function swapExactPtForScy(
|
|
165
206
|
address receiver,
|
|
@@ -173,7 +214,7 @@ interface IPActionCore {
|
|
|
173
214
|
address market,
|
|
174
215
|
uint256 exactScyOut,
|
|
175
216
|
uint256 maxPtIn,
|
|
176
|
-
ApproxParams
|
|
217
|
+
ApproxParams calldata guessPtIn
|
|
177
218
|
) external returns (uint256 netPtIn);
|
|
178
219
|
|
|
179
220
|
function swapScyForExactPt(
|
|
@@ -188,40 +229,36 @@ interface IPActionCore {
|
|
|
188
229
|
address market,
|
|
189
230
|
uint256 exactScyIn,
|
|
190
231
|
uint256 minPtOut,
|
|
191
|
-
ApproxParams
|
|
232
|
+
ApproxParams calldata guessPtOut
|
|
192
233
|
) external returns (uint256 netPtOut);
|
|
193
234
|
|
|
194
|
-
function
|
|
235
|
+
function mintScyFromToken(
|
|
195
236
|
address receiver,
|
|
196
237
|
address SCY,
|
|
197
|
-
uint256 netRawTokenIn,
|
|
198
238
|
uint256 minScyOut,
|
|
199
|
-
|
|
239
|
+
TokenInput calldata input
|
|
200
240
|
) external returns (uint256 netScyOut);
|
|
201
241
|
|
|
202
|
-
function
|
|
242
|
+
function redeemScyToToken(
|
|
203
243
|
address receiver,
|
|
204
244
|
address SCY,
|
|
205
245
|
uint256 netScyIn,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
) external returns (uint256 netRawTokenOut);
|
|
246
|
+
TokenOutput calldata output
|
|
247
|
+
) external returns (uint256 netTokenOut);
|
|
209
248
|
|
|
210
|
-
function
|
|
249
|
+
function mintPyFromToken(
|
|
211
250
|
address receiver,
|
|
212
251
|
address YT,
|
|
213
|
-
uint256 netRawTokenIn,
|
|
214
252
|
uint256 minPyOut,
|
|
215
|
-
|
|
253
|
+
TokenInput calldata input
|
|
216
254
|
) external returns (uint256 netPyOut);
|
|
217
255
|
|
|
218
|
-
function
|
|
256
|
+
function redeemPyToToken(
|
|
219
257
|
address receiver,
|
|
220
258
|
address YT,
|
|
221
259
|
uint256 netPyIn,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
) external returns (uint256 netRawTokenOut);
|
|
260
|
+
TokenOutput calldata output
|
|
261
|
+
) external returns (uint256 netTokenOut);
|
|
225
262
|
|
|
226
263
|
function mintPyFromScy(
|
|
227
264
|
address receiver,
|
|
@@ -237,22 +274,20 @@ interface IPActionCore {
|
|
|
237
274
|
uint256 minScyOut
|
|
238
275
|
) external returns (uint256 netScyOut);
|
|
239
276
|
|
|
240
|
-
function
|
|
277
|
+
function swapExactTokenForPt(
|
|
241
278
|
address receiver,
|
|
242
279
|
address market,
|
|
243
|
-
uint256 exactRawTokenIn,
|
|
244
280
|
uint256 minPtOut,
|
|
245
|
-
|
|
246
|
-
|
|
281
|
+
ApproxParams calldata guessPtOut,
|
|
282
|
+
TokenInput calldata input
|
|
247
283
|
) external returns (uint256 netPtOut);
|
|
248
284
|
|
|
249
|
-
function
|
|
285
|
+
function swapExactPtForToken(
|
|
250
286
|
address receiver,
|
|
251
287
|
address market,
|
|
252
288
|
uint256 exactPtIn,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
) external returns (uint256 netRawTokenOut);
|
|
289
|
+
TokenOutput calldata output
|
|
290
|
+
) external returns (uint256 netTokenOut);
|
|
256
291
|
|
|
257
292
|
function redeemDueInterestAndRewards(
|
|
258
293
|
address user,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
pragma solidity 0.8.15;
|
|
3
3
|
|
|
4
4
|
import "../libraries/math/MarketApproxLib.sol";
|
|
5
|
+
import "../libraries/kyberswap/KyberSwapHelper.sol";
|
|
5
6
|
|
|
6
7
|
interface IPActionYT {
|
|
7
8
|
event SwapYTAndSCY(
|
|
@@ -11,12 +12,12 @@ interface IPActionYT {
|
|
|
11
12
|
int256 scyToAccount
|
|
12
13
|
);
|
|
13
14
|
|
|
14
|
-
event
|
|
15
|
+
event SwapYTAndToken(
|
|
15
16
|
address indexed user,
|
|
16
17
|
address indexed market,
|
|
17
|
-
address indexed
|
|
18
|
+
address indexed token,
|
|
18
19
|
int256 ytToAccount,
|
|
19
|
-
int256
|
|
20
|
+
int256 tokenToAccount
|
|
20
21
|
);
|
|
21
22
|
|
|
22
23
|
function swapExactYtForScy(
|
|
@@ -49,20 +50,18 @@ interface IPActionYT {
|
|
|
49
50
|
ApproxParams memory guessYtIn
|
|
50
51
|
) external returns (uint256 netYtIn);
|
|
51
52
|
|
|
52
|
-
function
|
|
53
|
+
function swapExactTokenForYt(
|
|
53
54
|
address receiver,
|
|
54
55
|
address market,
|
|
55
|
-
uint256 exactRawTokenIn,
|
|
56
56
|
uint256 minYtOut,
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
ApproxParams memory guessYtOut,
|
|
58
|
+
TokenInput calldata input
|
|
59
59
|
) external returns (uint256 netYtOut);
|
|
60
60
|
|
|
61
|
-
function
|
|
61
|
+
function swapExactYtForToken(
|
|
62
62
|
address receiver,
|
|
63
63
|
address market,
|
|
64
|
-
uint256
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
) external returns (uint256 netRawTokenOut);
|
|
64
|
+
uint256 netYtIn,
|
|
65
|
+
TokenOutput calldata output
|
|
66
|
+
) external returns (uint256 netTokenOut);
|
|
68
67
|
}
|
|
@@ -86,7 +86,7 @@ interface IPRouterStatic {
|
|
|
86
86
|
|
|
87
87
|
// ============= MARKET ACTIONS =============
|
|
88
88
|
|
|
89
|
-
function
|
|
89
|
+
function addLiquidityDualScyAndPtStatic(
|
|
90
90
|
address market,
|
|
91
91
|
uint256 scyDesired,
|
|
92
92
|
uint256 ptDesired
|
|
@@ -98,7 +98,7 @@ interface IPRouterStatic {
|
|
|
98
98
|
uint256 ptUsed
|
|
99
99
|
);
|
|
100
100
|
|
|
101
|
-
function
|
|
101
|
+
function removeLiquidityDualScyAndPtStatic(address market, uint256 lpToRemove)
|
|
102
102
|
external
|
|
103
103
|
view
|
|
104
104
|
returns (uint256 netScyOut, uint256 netPtOut);
|
|
@@ -6,6 +6,7 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
|
6
6
|
abstract contract TokenHelper {
|
|
7
7
|
using SafeERC20 for IERC20;
|
|
8
8
|
address internal constant NATIVE = address(0);
|
|
9
|
+
uint256 internal constant LOWER_BOUND_APPROVAL = type(uint96).max / 2; // some tokens use 96 bits for approval
|
|
9
10
|
|
|
10
11
|
function _transferIn(
|
|
11
12
|
address token,
|
|
@@ -13,9 +14,7 @@ abstract contract TokenHelper {
|
|
|
13
14
|
uint256 amount
|
|
14
15
|
) internal {
|
|
15
16
|
if (token == NATIVE) require(msg.value == amount, "eth mismatch");
|
|
16
|
-
else if (amount != 0)
|
|
17
|
-
IERC20(token).safeTransferFrom(from, address(this), amount);
|
|
18
|
-
}
|
|
17
|
+
else if (amount != 0) IERC20(token).safeTransferFrom(from, address(this), amount);
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
function _transferOut(
|
|
@@ -105,4 +104,10 @@ abstract contract TokenHelper {
|
|
|
105
104
|
);
|
|
106
105
|
require(success && (data.length == 0 || abi.decode(data, (bool))), "Safe Approve");
|
|
107
106
|
}
|
|
107
|
+
|
|
108
|
+
function _safeApproveInf(address token, address to) internal {
|
|
109
|
+
if (token == NATIVE) return;
|
|
110
|
+
if (IERC20(token).allowance(address(this), to) < LOWER_BOUND_APPROVAL)
|
|
111
|
+
_safeApprove(token, to, type(uint256).max);
|
|
112
|
+
}
|
|
108
113
|
}
|
|
@@ -0,0 +1,61 @@
|
|
|
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.15;
|
|
25
|
+
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
26
|
+
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
27
|
+
import "@openzeppelin/contracts/utils/Address.sol";
|
|
28
|
+
import "../helpers/TokenHelper.sol";
|
|
29
|
+
|
|
30
|
+
struct TokenInput {
|
|
31
|
+
address tokenIn;
|
|
32
|
+
uint256 netTokenIn;
|
|
33
|
+
address tokenMintScy;
|
|
34
|
+
bytes kybercall;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
struct TokenOutput {
|
|
38
|
+
address tokenOut;
|
|
39
|
+
uint256 minTokenOut;
|
|
40
|
+
address tokenRedeemScy;
|
|
41
|
+
bytes kybercall;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
abstract contract KyberSwapHelper is TokenHelper {
|
|
45
|
+
using Address for address;
|
|
46
|
+
address public immutable kyberSwapRouter;
|
|
47
|
+
|
|
48
|
+
/// @dev since this contract will be proxied, it must not contains non-immutable variables
|
|
49
|
+
constructor(address _kyberSwapRouter) {
|
|
50
|
+
kyberSwapRouter = _kyberSwapRouter;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function _kyberswap(
|
|
54
|
+
address tokenIn,
|
|
55
|
+
uint256 amountIn,
|
|
56
|
+
bytes calldata kybercall
|
|
57
|
+
) internal {
|
|
58
|
+
_safeApproveInf(tokenIn, kyberSwapRouter);
|
|
59
|
+
kyberSwapRouter.functionCallWithValue(kybercall, tokenIn == NATIVE ? amountIn : 0);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -139,7 +139,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
139
139
|
|
|
140
140
|
// ============= MARKET ACTIONS =============
|
|
141
141
|
|
|
142
|
-
function
|
|
142
|
+
function addLiquidityDualScyAndPtStatic(
|
|
143
143
|
address market,
|
|
144
144
|
uint256 scyDesired,
|
|
145
145
|
uint256 ptDesired
|
|
@@ -160,6 +160,35 @@ contract RouterStatic is IPRouterStatic {
|
|
|
160
160
|
);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
|
+
function addLiquidityDualIbTokenAndPtStatic(
|
|
164
|
+
address market,
|
|
165
|
+
uint256 ibTokenDesired,
|
|
166
|
+
uint256 ptDesired
|
|
167
|
+
)
|
|
168
|
+
external
|
|
169
|
+
returns (
|
|
170
|
+
uint256 netLpOut,
|
|
171
|
+
uint256 ibTokenUsed,
|
|
172
|
+
uint256 ptUsed
|
|
173
|
+
)
|
|
174
|
+
{
|
|
175
|
+
(ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
|
|
176
|
+
|
|
177
|
+
address ibToken = SCY.yieldToken();
|
|
178
|
+
uint256 scyDesired = SCY.previewDeposit(ibToken, ibTokenDesired);
|
|
179
|
+
uint256 scyUsed;
|
|
180
|
+
|
|
181
|
+
MarketState memory state = IPMarket(market).readState(false);
|
|
182
|
+
(, netLpOut, scyUsed, ptUsed) = state.addLiquidity(
|
|
183
|
+
pyIndex(market),
|
|
184
|
+
scyDesired,
|
|
185
|
+
ptDesired,
|
|
186
|
+
block.timestamp
|
|
187
|
+
);
|
|
188
|
+
|
|
189
|
+
ibTokenUsed = (ibTokenDesired * scyUsed).rawDivUp(scyDesired);
|
|
190
|
+
}
|
|
191
|
+
|
|
163
192
|
function addLiquiditySinglePtStatic(address market, uint256 netPtIn)
|
|
164
193
|
external
|
|
165
194
|
returns (
|
|
@@ -197,13 +226,20 @@ contract RouterStatic is IPRouterStatic {
|
|
|
197
226
|
require(false, "NOT IMPLEMENTED");
|
|
198
227
|
}
|
|
199
228
|
|
|
200
|
-
function
|
|
229
|
+
function removeLiquidityDualScyAndPtStatic(address market, uint256 lpToRemove)
|
|
201
230
|
external
|
|
202
231
|
view
|
|
203
|
-
returns (uint256
|
|
232
|
+
returns (uint256 netIbTokenOut, uint256 netPtOut)
|
|
204
233
|
{
|
|
234
|
+
(ISuperComposableYield SCY, , ) = IPMarket(market).readTokens();
|
|
235
|
+
|
|
236
|
+
address ibToken = SCY.yieldToken();
|
|
237
|
+
|
|
238
|
+
uint256 netScyOut;
|
|
205
239
|
MarketState memory state = IPMarket(market).readState(false);
|
|
206
240
|
(netScyOut, netPtOut) = state.removeLiquidity(lpToRemove);
|
|
241
|
+
|
|
242
|
+
netIbTokenOut = SCY.previewRedeem(ibToken, netScyOut);
|
|
207
243
|
}
|
|
208
244
|
|
|
209
245
|
function removeLiquiditySinglePtStatic(address market, uint256 lpToRemove)
|