@pendle/core-v2 0.8.1-beta → 0.8.1-gamma
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/WadRayMath.sol/WadRayMath.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol/PendleQiSAvaxSCY.json +833 -0
- 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 +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol/PendleSAvaxSCY.json +723 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol/PendleEulerSCY.json +723 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleERC4626SCY.sol/PendleERC4626SCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleStargateSCY.sol/PendleStargateSCY.dbg.json +1 -1
- 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 +20 -2
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/PendleYearnVaultScy.sol/PendleYearnVaultSCY.dbg.json +1 -1
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.dbg.json +4 -0
- package/build/artifacts/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol/PendleSJoeSCY.json +784 -0
- 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/CelerAbstracts/CelerSenderUpg.sol/CelerSenderUpg.json +2 -2
- 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 +47 -28
- 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 +66 -4
- 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 +26 -2
- 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 +24 -0
- 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/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -77
- 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 +21 -96
- 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 +2 -2
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/ActionYT.sol/ActionYT.json +2 -2
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPTBase.sol/ActionSCYAndPTBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndPYBase.sol/ActionSCYAndPYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/actions/base/ActionSCYAndYTBase.sol/ActionSCYAndYTBase.dbg.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 +4 -0
- package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +162 -0
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +87 -0
- package/build/artifacts/contracts/interfaces/IJoePair.sol/IJoePair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter01.sol/IJoeRouter01.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IJoeRouter02.sol/IJoeRouter02.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCore.sol/IPActionCore.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionYT.sol/IPActionYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- 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/IPInterestManagerYT.sol/IPInterestManagerYT.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 +23 -23
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.json +24 -0
- 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/IPYieldToken.sol/IPYieldToken.json +27 -27
- 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 +4 -0
- package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +199 -0
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +168 -0
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.json +92 -0
- 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 +4 -0
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +252 -0
- 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/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 +4 -0
- package/build/artifacts/contracts/libraries/{SCY/SCYIndex.sol/SCYIndexLib.json → helpers/PYIndex.sol/PYIndexLib.json} +4 -4
- 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/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/libraries/traderjoe/JoeLibrary.sol/JoeLibrary.dbg.json +1 -1
- package/build/artifacts/contracts/libraries/traderjoe/PendleJoeSwapHelperUpg.sol/PendleJoeSwapHelperUpg.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 +39 -39
- package/build/artifacts/contracts/periphery/PermissionsV2Upg.sol/PermissionsV2Upg.dbg.json +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiSAvaxSCY.sol +242 -0
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleQiTokenSCY.sol +1 -1
- package/contracts/SuperComposableYield/SCY-implementations/BenQi/PendleSAvaxSCY.sol +146 -0
- package/contracts/SuperComposableYield/SCY-implementations/Euler/PendleEulerSCY.sol +170 -0
- package/contracts/SuperComposableYield/SCY-implementations/PendleWstEthSCY.sol +33 -6
- package/contracts/SuperComposableYield/SCY-implementations/TraderJoe/PendleSJoeSCY.sol +184 -0
- package/contracts/core/LiquidityMining/CelerAbstracts/CelerSenderUpg.sol +19 -10
- package/contracts/core/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -1
- package/contracts/core/LiquidityMining/PendleGauge.sol +3 -2
- package/contracts/core/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +25 -7
- package/contracts/core/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +0 -4
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +30 -13
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +2 -4
- package/contracts/core/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol +5 -1
- package/contracts/core/Market/PendleMarket.sol +4 -5
- package/contracts/core/Market/PendleMarketFactory.sol +1 -1
- package/contracts/core/YieldContracts/InterestManagerYT.sol +0 -2
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +3 -3
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +2 -2
- package/contracts/core/YieldContracts/PendleYieldToken.sol +24 -25
- package/contracts/core/actions/ActionCallback.sol +7 -7
- package/contracts/core/actions/base/ActionSCYAndPTBase.sol +10 -9
- package/contracts/core/actions/base/ActionSCYAndYTBase.sol +4 -4
- package/contracts/interfaces/IEulerEToken.sol +60 -0
- package/contracts/interfaces/IEulerMarkets.sol +46 -0
- package/contracts/interfaces/IPInterestManagerYT.sol +1 -1
- package/contracts/interfaces/IPMarket.sol +1 -0
- package/contracts/interfaces/IPRouterStatic.sol +2 -7
- package/contracts/interfaces/IPVeToken.sol +2 -0
- package/contracts/interfaces/IPYieldToken.sol +2 -2
- package/contracts/interfaces/ISAvax.sol +61 -0
- package/contracts/interfaces/ISJoe.sol +60 -0
- package/contracts/interfaces/IStETH.sol +14 -0
- package/contracts/interfaces/IWAvax.sol +34 -0
- package/contracts/libraries/helpers/PYIndex.sol +69 -0
- package/contracts/libraries/math/MarketApproxLib.sol +5 -5
- package/contracts/libraries/math/MarketMathCore.sol +10 -10
- package/contracts/offchain-helpers/RouterStatic.sol +21 -39
- package/deployments/43113-benqi.json +2 -2
- package/deployments/43113-core.json +7 -7
- package/deployments/43113-markets/benqi-market-599408.json +7 -0
- package/deployments/43113-markets/benqi-market-93bbf0.json +7 -0
- package/deployments/80001-benqi.json +2 -2
- package/deployments/80001-core.json +6 -6
- package/deployments/80001-markets/benqi-market-007811.json +7 -0
- package/deployments/80001-markets/benqi-market-3fe528.json +7 -0
- package/package.json +1 -1
- package/typechain-types/CelerSenderUpg.ts +16 -16
- package/typechain-types/IERC20Upgradeable.ts +300 -0
- package/typechain-types/IEulerEToken.ts +320 -0
- package/typechain-types/IEulerMarkets.ts +204 -0
- package/typechain-types/IPInterestManagerYT.ts +3 -3
- package/typechain-types/IPRouterStatic.ts +60 -118
- package/typechain-types/IPVeToken.ts +34 -0
- package/typechain-types/IPYieldToken.ts +47 -47
- package/typechain-types/ISAvax.ts +430 -0
- package/typechain-types/ISJoe.ts +340 -0
- package/typechain-types/IStETH.ts +201 -0
- package/typechain-types/IWAvax.ts +380 -0
- package/typechain-types/PendleEulerSCY.ts +965 -0
- package/typechain-types/PendlePrincipalToken.ts +0 -104
- package/typechain-types/PendleQiSAvaxSCY.ts +1098 -0
- package/typechain-types/PendleSAvaxSCY.ts +962 -0
- package/typechain-types/PendleSJoeSCY.ts +1053 -0
- package/typechain-types/PendleVotingControllerUpg.ts +89 -55
- package/typechain-types/PendleWstEthSCY.ts +13 -0
- package/typechain-types/PendleYieldToken.ts +44 -148
- package/typechain-types/RouterStatic.ts +133 -299
- package/typechain-types/VotingEscrowPendleMainchain.ts +118 -16
- package/typechain-types/VotingEscrowPendleSidechain.ts +34 -0
- package/typechain-types/VotingEscrowTokenBase.ts +34 -0
- package/typechain-types/factories/ActionCallback__factory.ts +1 -1
- package/typechain-types/factories/ActionCore__factory.ts +1 -1
- package/typechain-types/factories/ActionYT__factory.ts +1 -1
- package/typechain-types/factories/CelerSenderUpg__factory.ts +2 -2
- package/typechain-types/factories/IERC20Upgradeable__factory.ts +209 -0
- package/typechain-types/factories/IEulerEToken__factory.ts +174 -0
- package/typechain-types/factories/IEulerMarkets__factory.ts +99 -0
- package/typechain-types/factories/IPInterestManagerYT__factory.ts +1 -1
- package/typechain-types/factories/IPRouterStatic__factory.ts +23 -23
- package/typechain-types/factories/IPVeToken__factory.ts +24 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +27 -27
- package/typechain-types/factories/ISAvax__factory.ts +208 -0
- package/typechain-types/factories/ISJoe__factory.ts +177 -0
- package/typechain-types/factories/IStETH__factory.ts +101 -0
- package/typechain-types/factories/IWAvax__factory.ts +261 -0
- package/typechain-types/factories/PendleEulerSCY__factory.ts +796 -0
- 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/PendlePrincipalToken__factory.ts +1 -76
- package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +917 -0
- 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 +796 -0
- package/typechain-types/factories/PendleSJoeSCY__factory.ts +845 -0
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +45 -26
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +29 -2
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +19 -94
- package/typechain-types/factories/RouterStatic__factory.ts +38 -38
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +65 -3
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +25 -1
- package/typechain-types/factories/VotingEscrowTokenBase__factory.ts +24 -0
- package/typechain-types/hardhat.d.ts +98 -17
- package/typechain-types/index.ts +22 -4
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +0 -4
- package/build/artifacts/contracts/core/PendleERC20Permit.sol/PendleERC20Permit.json +0 -329
- package/build/artifacts/contracts/libraries/SCY/SCYIndex.sol/SCYIndexLib.dbg.json +0 -4
- package/contracts/core/PendleERC20Permit.sol +0 -84
- package/contracts/libraries/SCY/SCYIndex.sol +0 -72
- package/deployments/43113-markets/benqi-market-4Ccb97.json +0 -7
- package/deployments/43113-markets/benqi-market-534471.json +0 -7
- package/deployments/80001-markets/benqi-market-109acB.json +0 -7
- package/deployments/80001-markets/benqi-market-4e470E.json +0 -7
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.15;
|
|
3
|
+
import "../../interfaces/IPYieldToken.sol";
|
|
4
|
+
import "../../interfaces/IPPrincipalToken.sol";
|
|
5
|
+
import "../SCY/SCYUtils.sol";
|
|
6
|
+
import "../math/Math.sol";
|
|
7
|
+
|
|
8
|
+
type PYIndex is uint256;
|
|
9
|
+
|
|
10
|
+
library PYIndexLib {
|
|
11
|
+
using Math for uint256;
|
|
12
|
+
using Math for int256;
|
|
13
|
+
|
|
14
|
+
function newIndex(IPYieldToken YT) internal returns (PYIndex) {
|
|
15
|
+
return PYIndex.wrap(YT.pyIndexCurrent());
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function scyToAsset(PYIndex index, uint256 scyAmount)
|
|
19
|
+
internal
|
|
20
|
+
pure
|
|
21
|
+
returns (uint256)
|
|
22
|
+
{
|
|
23
|
+
return SCYUtils.scyToAsset(PYIndex.unwrap(index), scyAmount);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function assetToScy(PYIndex index, uint256 assetAmount)
|
|
27
|
+
internal
|
|
28
|
+
pure
|
|
29
|
+
returns (uint256)
|
|
30
|
+
{
|
|
31
|
+
return SCYUtils.assetToScy(PYIndex.unwrap(index), assetAmount);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function assetToScyUp(PYIndex index, uint256 assetAmount)
|
|
35
|
+
internal
|
|
36
|
+
pure
|
|
37
|
+
returns (uint256)
|
|
38
|
+
{
|
|
39
|
+
return SCYUtils.assetToScyUp(PYIndex.unwrap(index), assetAmount);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function scyToAssetUp(PYIndex index, uint256 scyAmount)
|
|
43
|
+
internal
|
|
44
|
+
pure
|
|
45
|
+
returns (uint256)
|
|
46
|
+
{
|
|
47
|
+
uint256 _index = PYIndex.unwrap(index);
|
|
48
|
+
return SCYUtils.scyToAssetUp(_index, scyAmount);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function scyToAsset(PYIndex index, int256 scyAmount)
|
|
52
|
+
internal
|
|
53
|
+
pure
|
|
54
|
+
returns (int256)
|
|
55
|
+
{
|
|
56
|
+
int256 sign = scyAmount < 0 ? int256(-1) : int256(1);
|
|
57
|
+
return sign * (SCYUtils.scyToAsset(PYIndex.unwrap(index), scyAmount.abs())).Int();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function assetToScy(PYIndex index, int256 assetAmount)
|
|
61
|
+
internal
|
|
62
|
+
pure
|
|
63
|
+
returns (int256)
|
|
64
|
+
{
|
|
65
|
+
int256 sign = assetAmount < 0 ? int256(-1) : int256(1);
|
|
66
|
+
return sign * (SCYUtils.assetToScy(PYIndex.unwrap(index), assetAmount.abs())).Int();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
@@ -33,7 +33,7 @@ library MarketApproxLib {
|
|
|
33
33
|
using Math for uint256;
|
|
34
34
|
using Math for int256;
|
|
35
35
|
using LogExpMath for int256;
|
|
36
|
-
using
|
|
36
|
+
using PYIndexLib for PYIndex;
|
|
37
37
|
using MarketMathCore for MarketState;
|
|
38
38
|
|
|
39
39
|
struct VarsSwapPtForExactScy {
|
|
@@ -50,7 +50,7 @@ library MarketApproxLib {
|
|
|
50
50
|
|
|
51
51
|
function approxSwapPtForExactScy(
|
|
52
52
|
MarketState memory market,
|
|
53
|
-
|
|
53
|
+
PYIndex index,
|
|
54
54
|
uint256 minScyOut,
|
|
55
55
|
uint256 blockTime,
|
|
56
56
|
ApproxParams memory approx
|
|
@@ -145,7 +145,7 @@ library MarketApproxLib {
|
|
|
145
145
|
/// `guessMin` & `guessMax` is to guess the `netPtIn` == `netYtOut`
|
|
146
146
|
function approxSwapExactScyForYt(
|
|
147
147
|
MarketState memory market,
|
|
148
|
-
|
|
148
|
+
PYIndex index,
|
|
149
149
|
uint256 maxScyIn,
|
|
150
150
|
uint256 blockTime,
|
|
151
151
|
ApproxParams memory approx
|
|
@@ -244,7 +244,7 @@ library MarketApproxLib {
|
|
|
244
244
|
|
|
245
245
|
function approxSwapExactScyForPt(
|
|
246
246
|
MarketState memory market,
|
|
247
|
-
|
|
247
|
+
PYIndex index,
|
|
248
248
|
uint256 maxScyIn,
|
|
249
249
|
uint256 blockTime,
|
|
250
250
|
ApproxParams memory approx
|
|
@@ -326,7 +326,7 @@ library MarketApproxLib {
|
|
|
326
326
|
|
|
327
327
|
function approxSwapYtForExactScy(
|
|
328
328
|
MarketState memory market,
|
|
329
|
-
|
|
329
|
+
PYIndex index,
|
|
330
330
|
uint256 minScyOut,
|
|
331
331
|
uint256 blockTime,
|
|
332
332
|
ApproxParams memory approx
|
|
@@ -3,7 +3,7 @@ pragma solidity 0.8.15;
|
|
|
3
3
|
|
|
4
4
|
import "./Math.sol";
|
|
5
5
|
import "./LogExpMath.sol";
|
|
6
|
-
import "../
|
|
6
|
+
import "../helpers/PYIndex.sol";
|
|
7
7
|
import "../helpers/MiniHelpers.sol";
|
|
8
8
|
|
|
9
9
|
struct MarketState {
|
|
@@ -36,7 +36,7 @@ library MarketMathCore {
|
|
|
36
36
|
using Math for uint256;
|
|
37
37
|
using Math for int256;
|
|
38
38
|
using LogExpMath for int256;
|
|
39
|
-
using
|
|
39
|
+
using PYIndexLib for PYIndex;
|
|
40
40
|
|
|
41
41
|
int256 internal constant MINIMUM_LIQUIDITY = 10**3;
|
|
42
42
|
int256 internal constant PERCENTAGE_DECIMALS = 100;
|
|
@@ -54,7 +54,7 @@ library MarketMathCore {
|
|
|
54
54
|
|
|
55
55
|
function addLiquidity(
|
|
56
56
|
MarketState memory market,
|
|
57
|
-
|
|
57
|
+
PYIndex index,
|
|
58
58
|
uint256 scyDesired,
|
|
59
59
|
uint256 ptDesired,
|
|
60
60
|
uint256 blockTime
|
|
@@ -97,7 +97,7 @@ library MarketMathCore {
|
|
|
97
97
|
|
|
98
98
|
function swapExactPtForScy(
|
|
99
99
|
MarketState memory market,
|
|
100
|
-
|
|
100
|
+
PYIndex index,
|
|
101
101
|
uint256 exactPtToMarket,
|
|
102
102
|
uint256 blockTime
|
|
103
103
|
) internal pure returns (uint256 netScyToAccount, uint256 netScyToReserve) {
|
|
@@ -114,7 +114,7 @@ library MarketMathCore {
|
|
|
114
114
|
|
|
115
115
|
function swapScyForExactPt(
|
|
116
116
|
MarketState memory market,
|
|
117
|
-
|
|
117
|
+
PYIndex index,
|
|
118
118
|
uint256 exactPtToAccount,
|
|
119
119
|
uint256 blockTime
|
|
120
120
|
) internal pure returns (uint256 netScyToMarket, uint256 netScyToReserve) {
|
|
@@ -135,7 +135,7 @@ library MarketMathCore {
|
|
|
135
135
|
|
|
136
136
|
function addLiquidityCore(
|
|
137
137
|
MarketState memory market,
|
|
138
|
-
|
|
138
|
+
PYIndex index,
|
|
139
139
|
int256 scyDesired,
|
|
140
140
|
int256 ptDesired,
|
|
141
141
|
uint256 blockTime
|
|
@@ -216,7 +216,7 @@ library MarketMathCore {
|
|
|
216
216
|
|
|
217
217
|
function executeTradeCore(
|
|
218
218
|
MarketState memory market,
|
|
219
|
-
|
|
219
|
+
PYIndex index,
|
|
220
220
|
int256 netPtToAccount,
|
|
221
221
|
uint256 blockTime
|
|
222
222
|
) internal pure returns (int256 netScyToAccount, int256 netScyToReserve) {
|
|
@@ -256,7 +256,7 @@ library MarketMathCore {
|
|
|
256
256
|
|
|
257
257
|
function getMarketPreCompute(
|
|
258
258
|
MarketState memory market,
|
|
259
|
-
|
|
259
|
+
PYIndex index,
|
|
260
260
|
uint256 blockTime
|
|
261
261
|
) internal pure returns (MarketPreCompute memory res) {
|
|
262
262
|
require(!MiniHelpers.isExpired(market.expiry, blockTime), "market expired");
|
|
@@ -309,7 +309,7 @@ library MarketMathCore {
|
|
|
309
309
|
function _setNewMarketStateTrade(
|
|
310
310
|
MarketState memory market,
|
|
311
311
|
MarketPreCompute memory comp,
|
|
312
|
-
|
|
312
|
+
PYIndex index,
|
|
313
313
|
int256 netPtToAccount,
|
|
314
314
|
int256 netScyToAccount,
|
|
315
315
|
int256 netScyToReserve,
|
|
@@ -421,7 +421,7 @@ library MarketMathCore {
|
|
|
421
421
|
|
|
422
422
|
function setInitialLnImpliedRate(
|
|
423
423
|
MarketState memory market,
|
|
424
|
-
|
|
424
|
+
PYIndex index,
|
|
425
425
|
int256 initialAnchor,
|
|
426
426
|
uint256 blockTime
|
|
427
427
|
) internal pure {
|
|
@@ -19,7 +19,8 @@ contract RouterStatic is IPRouterStatic {
|
|
|
19
19
|
using Math for uint256;
|
|
20
20
|
using Math for int256;
|
|
21
21
|
using LogExpMath for int256;
|
|
22
|
-
using
|
|
22
|
+
using PYIndexLib for PYIndex;
|
|
23
|
+
using PYIndexLib for IPYieldToken;
|
|
23
24
|
|
|
24
25
|
IPYieldContractFactory internal immutable yieldContractFactory;
|
|
25
26
|
IPMarketFactory internal immutable marketFactory;
|
|
@@ -49,7 +50,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
49
50
|
{
|
|
50
51
|
(, address yt) = getPY(py);
|
|
51
52
|
IPYieldToken YT = IPYieldToken(yt);
|
|
52
|
-
exchangeRate = YT.
|
|
53
|
+
exchangeRate = YT.pyIndexCurrent();
|
|
53
54
|
totalSupply = YT.totalSupply();
|
|
54
55
|
address[] memory rewardTokens = YT.getRewardTokens();
|
|
55
56
|
rewardIndexes = new RewardIndex[](rewardTokens.length);
|
|
@@ -78,7 +79,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
78
79
|
|
|
79
80
|
function getMarketInfo(address market)
|
|
80
81
|
external
|
|
81
|
-
view
|
|
82
82
|
returns (
|
|
83
83
|
address pt,
|
|
84
84
|
address scy,
|
|
@@ -145,7 +145,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
145
145
|
uint256 ptDesired
|
|
146
146
|
)
|
|
147
147
|
external
|
|
148
|
-
view
|
|
149
148
|
returns (
|
|
150
149
|
uint256 netLpOut,
|
|
151
150
|
uint256 scyUsed,
|
|
@@ -154,7 +153,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
154
153
|
{
|
|
155
154
|
MarketState memory state = IPMarket(market).readState(false);
|
|
156
155
|
(, netLpOut, scyUsed, ptUsed) = state.addLiquidity(
|
|
157
|
-
|
|
156
|
+
pyIndex(market),
|
|
158
157
|
scyDesired,
|
|
159
158
|
ptDesired,
|
|
160
159
|
block.timestamp
|
|
@@ -246,7 +245,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
246
245
|
|
|
247
246
|
function swapExactPtForScyStatic(address market, uint256 exactPtIn)
|
|
248
247
|
public
|
|
249
|
-
view
|
|
250
248
|
returns (
|
|
251
249
|
uint256 netScyOut,
|
|
252
250
|
uint256 netScyFee,
|
|
@@ -255,7 +253,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
255
253
|
{
|
|
256
254
|
MarketState memory state = IPMarket(market).readState(false);
|
|
257
255
|
(netScyOut, netScyFee) = state.swapExactPtForScy(
|
|
258
|
-
|
|
256
|
+
pyIndex(market),
|
|
259
257
|
exactPtIn,
|
|
260
258
|
block.timestamp
|
|
261
259
|
);
|
|
@@ -264,7 +262,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
264
262
|
|
|
265
263
|
function swapScyForExactPtStatic(address market, uint256 exactPtOut)
|
|
266
264
|
external
|
|
267
|
-
view
|
|
268
265
|
returns (
|
|
269
266
|
uint256 netScyIn,
|
|
270
267
|
uint256 netScyFee,
|
|
@@ -273,7 +270,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
273
270
|
{
|
|
274
271
|
MarketState memory state = IPMarket(market).readState(false);
|
|
275
272
|
(netScyIn, netScyFee) = state.swapScyForExactPt(
|
|
276
|
-
|
|
273
|
+
pyIndex(market),
|
|
277
274
|
exactPtOut,
|
|
278
275
|
block.timestamp
|
|
279
276
|
);
|
|
@@ -282,7 +279,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
282
279
|
|
|
283
280
|
function swapExactScyForPtStatic(address market, uint256 exactScyIn)
|
|
284
281
|
public
|
|
285
|
-
view
|
|
286
282
|
returns (
|
|
287
283
|
uint256 netPtOut,
|
|
288
284
|
uint256 netScyFee,
|
|
@@ -291,7 +287,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
291
287
|
{
|
|
292
288
|
MarketState memory state = IPMarket(market).readState(false);
|
|
293
289
|
(netPtOut, , netScyFee) = state.approxSwapExactScyForPt(
|
|
294
|
-
|
|
290
|
+
pyIndex(market),
|
|
295
291
|
exactScyIn,
|
|
296
292
|
block.timestamp,
|
|
297
293
|
approxParams
|
|
@@ -301,7 +297,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
301
297
|
|
|
302
298
|
function swapPtForExactScyStatic(address market, uint256 exactScyOut)
|
|
303
299
|
public
|
|
304
|
-
view
|
|
305
300
|
returns (
|
|
306
301
|
uint256 netPtIn,
|
|
307
302
|
uint256 netScyFee,
|
|
@@ -311,7 +306,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
311
306
|
MarketState memory state = IPMarket(market).readState(false);
|
|
312
307
|
|
|
313
308
|
(netPtIn, , netScyFee) = state.approxSwapPtForExactScy(
|
|
314
|
-
|
|
309
|
+
pyIndex(market),
|
|
315
310
|
exactScyOut,
|
|
316
311
|
block.timestamp,
|
|
317
312
|
approxParams
|
|
@@ -325,7 +320,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
325
320
|
uint256 amountBaseToken
|
|
326
321
|
)
|
|
327
322
|
external
|
|
328
|
-
view
|
|
329
323
|
returns (
|
|
330
324
|
uint256 netPtOut,
|
|
331
325
|
uint256 netScyFee,
|
|
@@ -343,7 +337,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
343
337
|
address baseToken
|
|
344
338
|
)
|
|
345
339
|
external
|
|
346
|
-
view
|
|
347
340
|
returns (
|
|
348
341
|
uint256 netBaseTokenOut,
|
|
349
342
|
uint256 netScyFee,
|
|
@@ -359,7 +352,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
359
352
|
|
|
360
353
|
function swapScyForExactYtStatic(address market, uint256 exactYtOut)
|
|
361
354
|
external
|
|
362
|
-
view
|
|
363
355
|
returns (
|
|
364
356
|
uint256 netScyIn,
|
|
365
357
|
uint256 netScyFee,
|
|
@@ -368,11 +360,11 @@ contract RouterStatic is IPRouterStatic {
|
|
|
368
360
|
{
|
|
369
361
|
MarketState memory state = IPMarket(market).readState(false);
|
|
370
362
|
|
|
371
|
-
|
|
363
|
+
PYIndex index = pyIndex(market);
|
|
372
364
|
|
|
373
365
|
uint256 scyReceived;
|
|
374
366
|
(scyReceived, netScyFee) = state.swapExactPtForScy(
|
|
375
|
-
|
|
367
|
+
pyIndex(market),
|
|
376
368
|
exactYtOut,
|
|
377
369
|
block.timestamp
|
|
378
370
|
);
|
|
@@ -385,7 +377,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
385
377
|
|
|
386
378
|
function swapExactScyForYtStatic(address market, uint256 exactScyIn)
|
|
387
379
|
public
|
|
388
|
-
view
|
|
389
380
|
returns (
|
|
390
381
|
uint256 netYtOut,
|
|
391
382
|
uint256 netScyFee,
|
|
@@ -393,7 +384,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
393
384
|
)
|
|
394
385
|
{
|
|
395
386
|
MarketState memory state = IPMarket(market).readState(false);
|
|
396
|
-
|
|
387
|
+
PYIndex index = pyIndex(market);
|
|
397
388
|
|
|
398
389
|
(netYtOut, , netScyFee) = state.approxSwapExactScyForYt(
|
|
399
390
|
index,
|
|
@@ -407,7 +398,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
407
398
|
|
|
408
399
|
function swapExactYtForScyStatic(address market, uint256 exactYtIn)
|
|
409
400
|
public
|
|
410
|
-
view
|
|
411
401
|
returns (
|
|
412
402
|
uint256 netScyOut,
|
|
413
403
|
uint256 netScyFee,
|
|
@@ -416,7 +406,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
416
406
|
{
|
|
417
407
|
MarketState memory state = IPMarket(market).readState(false);
|
|
418
408
|
|
|
419
|
-
|
|
409
|
+
PYIndex index = pyIndex(market);
|
|
420
410
|
|
|
421
411
|
uint256 scyOwed;
|
|
422
412
|
(scyOwed, netScyFee) = state.swapScyForExactPt(index, exactYtIn, block.timestamp);
|
|
@@ -430,7 +420,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
430
420
|
|
|
431
421
|
function swapYtForExactScyStatic(address market, uint256 exactScyOut)
|
|
432
422
|
external
|
|
433
|
-
view
|
|
434
423
|
returns (
|
|
435
424
|
uint256 netYtIn,
|
|
436
425
|
uint256 netScyFee,
|
|
@@ -439,7 +428,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
439
428
|
{
|
|
440
429
|
MarketState memory state = IPMarket(market).readState(false);
|
|
441
430
|
|
|
442
|
-
|
|
431
|
+
PYIndex index = pyIndex(market);
|
|
443
432
|
|
|
444
433
|
(netYtIn, , netScyFee) = state.approxSwapYtForExactScy(
|
|
445
434
|
index,
|
|
@@ -456,7 +445,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
456
445
|
address baseToken
|
|
457
446
|
)
|
|
458
447
|
external
|
|
459
|
-
view
|
|
460
448
|
returns (
|
|
461
449
|
uint256 netBaseTokenOut,
|
|
462
450
|
uint256 netScyFee,
|
|
@@ -476,7 +464,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
476
464
|
uint256 amountBaseToken
|
|
477
465
|
)
|
|
478
466
|
external
|
|
479
|
-
view
|
|
480
467
|
returns (
|
|
481
468
|
uint256 netPtOut,
|
|
482
469
|
uint256 netScyFee,
|
|
@@ -496,7 +483,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
496
483
|
{
|
|
497
484
|
IPYieldToken _YT = IPYieldToken(YT);
|
|
498
485
|
require(!_YT.isExpired(), "YT is expired");
|
|
499
|
-
return amountScyToMint.mulDown(_YT.
|
|
486
|
+
return amountScyToMint.mulDown(_YT.pyIndexCurrent());
|
|
500
487
|
}
|
|
501
488
|
|
|
502
489
|
function redeemPYToScyStatic(address YT, uint256 amountPYToRedeem)
|
|
@@ -504,7 +491,7 @@ contract RouterStatic is IPRouterStatic {
|
|
|
504
491
|
returns (uint256 amountPY)
|
|
505
492
|
{
|
|
506
493
|
IPYieldToken _YT = IPYieldToken(YT);
|
|
507
|
-
return amountPYToRedeem.divDown(_YT.
|
|
494
|
+
return amountPYToRedeem.divDown(_YT.pyIndexCurrent());
|
|
508
495
|
}
|
|
509
496
|
|
|
510
497
|
function mintPYFromBaseStatic(
|
|
@@ -525,10 +512,10 @@ contract RouterStatic is IPRouterStatic {
|
|
|
525
512
|
return SCY.previewRedeem(baseToken, redeemPYToScyStatic(YT, amountPYToRedeem));
|
|
526
513
|
}
|
|
527
514
|
|
|
528
|
-
function
|
|
529
|
-
(
|
|
515
|
+
function pyIndex(address market) public returns (PYIndex index) {
|
|
516
|
+
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
530
517
|
|
|
531
|
-
return
|
|
518
|
+
return YT.newIndex();
|
|
532
519
|
}
|
|
533
520
|
|
|
534
521
|
function getPY(address py) public view returns (address pt, address yt) {
|
|
@@ -541,28 +528,24 @@ contract RouterStatic is IPRouterStatic {
|
|
|
541
528
|
}
|
|
542
529
|
}
|
|
543
530
|
|
|
544
|
-
function getPtImpliedYield(address market) public
|
|
531
|
+
function getPtImpliedYield(address market) public returns (int256) {
|
|
545
532
|
MarketState memory state = IPMarket(market).readState(false);
|
|
546
533
|
|
|
547
534
|
int256 lnImpliedRate = (state.lastLnImpliedRate).Int();
|
|
548
535
|
return lnImpliedRate.exp();
|
|
549
536
|
}
|
|
550
537
|
|
|
551
|
-
function getExchangeRate(address market) public
|
|
538
|
+
function getExchangeRate(address market) public returns (uint256) {
|
|
552
539
|
return getTradeExchangeRateIncludeFee(market, 0);
|
|
553
540
|
}
|
|
554
541
|
|
|
555
542
|
function getTradeExchangeRateIncludeFee(address market, int256 netPtOut)
|
|
556
543
|
public
|
|
557
|
-
view
|
|
558
544
|
returns (uint256)
|
|
559
545
|
{
|
|
560
546
|
int256 netPtToAccount = netPtOut;
|
|
561
547
|
MarketState memory state = IPMarket(market).readState(false);
|
|
562
|
-
MarketPreCompute memory comp = state.getMarketPreCompute(
|
|
563
|
-
scyIndex(market),
|
|
564
|
-
block.timestamp
|
|
565
|
-
);
|
|
548
|
+
MarketPreCompute memory comp = state.getMarketPreCompute(pyIndex(market), block.timestamp);
|
|
566
549
|
|
|
567
550
|
int256 preFeeExchangeRate = MarketMathCore._getExchangeRate(
|
|
568
551
|
state.totalPt,
|
|
@@ -583,7 +566,6 @@ contract RouterStatic is IPRouterStatic {
|
|
|
583
566
|
|
|
584
567
|
function calcPriceImpact(address market, int256 netPtOut)
|
|
585
568
|
public
|
|
586
|
-
view
|
|
587
569
|
returns (uint256 priceImpact)
|
|
588
570
|
{
|
|
589
571
|
uint256 preTradeRate = getExchangeRate(market);
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"QI": "0x09Fe18C4C0cFE929a6CD40903129F9bA3C837866",
|
|
4
4
|
"USD": "0x2018ecc38fbca2ce3A62f96f9F0D38F0DEE2f99D",
|
|
5
5
|
"qiUSD": "0x884f8d66862b03434E11f4Bd5527A1119c115D83",
|
|
6
|
-
"scyQiUSD": "
|
|
6
|
+
"scyQiUSD": "0xc68Fe29C91a5611e332A57d4FC091eDe7fD5156d",
|
|
7
7
|
"WAVAX": "0xD323E5337713D2e01fb341D960BC31e1FB42348d",
|
|
8
8
|
"qiAVAX": "0xABD65178Aa35051277b062327A70644F10D3cB9d",
|
|
9
|
-
"scyQiAVAX": "
|
|
9
|
+
"scyQiAVAX": "0x60e235D9836Ecf533966E2ef94795C83FcB5E7e3"
|
|
10
10
|
}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"network": 43113,
|
|
4
4
|
"celerBus": "0xE9533976C590200E32d95C53f06AE12d292cFc47",
|
|
5
5
|
"treasury": "0xB4E292AD98Ba0D5531Ca573757f7b7d6c0C205d8",
|
|
6
|
-
"governanceManager": "
|
|
6
|
+
"governanceManager": "0x8b6618109D33f84e1C83fFA50a1aAC3bEDc3d523",
|
|
7
7
|
"PENDLE": "0x83B694f9Ef84D22BECe87257f0cd4513737A505e",
|
|
8
|
-
"yieldContractFactory": "
|
|
9
|
-
"marketFactory": "
|
|
8
|
+
"yieldContractFactory": "0xf9397B3b93d118587c29bA2a166c0192251fc758",
|
|
9
|
+
"marketFactory": "0x2FfdD5E68ce0F668498029c1219Db39f79ebD5bd",
|
|
10
10
|
"router": "0xFEdBED4682D136925d30FFb9B8977CC9b3a6c406",
|
|
11
|
-
"routerStatic": "
|
|
11
|
+
"routerStatic": "0x501E089e6BD6b78e6E435C15118E52c665931850",
|
|
12
12
|
"startTime": 1657756800,
|
|
13
|
-
"vePendle": "
|
|
14
|
-
"votingController": "
|
|
15
|
-
"gaugeController": "
|
|
13
|
+
"vePendle": "0xa94936409d9B0633dB6271Fc2789aBa9C74bD729",
|
|
14
|
+
"votingController": "0x676A97883D396b21f3a7554A73F30187752c7C45",
|
|
15
|
+
"gaugeController": "0x8490DDFBCf1F451dC25e7deaeB9ac6137E75b91b"
|
|
16
16
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"QI": "0x48a6107e24de381E283340871C927A2Fa2844e17",
|
|
4
4
|
"USD": "0x0059a72A5e545F6998AF038aBBB625FC702b1a97",
|
|
5
5
|
"qiUSD": "0x03d73AC818312802536a41e0C9fCbff342B2A62C",
|
|
6
|
-
"scyQiUSD": "
|
|
6
|
+
"scyQiUSD": "0x106Df888F5BD8D2FC84b80E3BFAf4A54E0F280f1",
|
|
7
7
|
"WAVAX": "0xd965c925Fd933029F8e5b7AD0C13bC875a026b09",
|
|
8
8
|
"qiAVAX": "0x7b42e48BEd90Ab5b2392984182B87bfF6B9c8863",
|
|
9
|
-
"scyQiAVAX": "
|
|
9
|
+
"scyQiAVAX": "0xEfadE8303F01768de0d2d227210AF4E06eC68b01"
|
|
10
10
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
"network": 80001,
|
|
4
4
|
"celerBus": "0x7d43AABC515C356145049227CeE54B608342c0ad",
|
|
5
5
|
"treasury": "0x1fAd3Ce1c1aB563441d58b79e49cb0ebC12C1Bd5",
|
|
6
|
-
"governanceManager": "
|
|
6
|
+
"governanceManager": "0xdabAa40603763Db95bd861958a1193A1d7196eDd",
|
|
7
7
|
"PENDLE": "0x563f1e87a6a3Cb4A84F7D438fCF4882133e59d6d",
|
|
8
|
-
"yieldContractFactory": "
|
|
9
|
-
"marketFactory": "
|
|
8
|
+
"yieldContractFactory": "0xF4C82C1a75E18667C68a2BdD5074bE8205351c15",
|
|
9
|
+
"marketFactory": "0x8aE91ee9234B967fc40f45DAB669FBEcf8D3967e",
|
|
10
10
|
"router": "0x24d7CEaFBA7c7b32BE200aD6dA38C03797F0611f",
|
|
11
|
-
"routerStatic": "
|
|
11
|
+
"routerStatic": "0x9f808eb4FFe974FA934D34c76bBB7aBfF2E682cE",
|
|
12
12
|
"startTime": 1657756800,
|
|
13
|
-
"vePendle": "
|
|
14
|
-
"gaugeController": "
|
|
13
|
+
"vePendle": "0xCF8037639310ecD0108cd2aF4b05984adf6f5D6a",
|
|
14
|
+
"gaugeController": "0x500c6984A98ff4D46e6f66fA6adc242411aF479a"
|
|
15
15
|
}
|