@pendle/core-v2 4.7.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +32 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +39 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +39 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v1/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.json +2 -2
- package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3WithRewardsSY.sol/PendleAaveV3WithRewardsSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BedRock/PendleUniETHSY.sol/PendleUniETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol/PendleDolomiteSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol/PendleSUSDEMantleSY.json +28 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol/PendleSUSDESY.json +28 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol/PendleUSDEL2SY.json +28 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol/PendleUSDESY.json +28 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthSY.sol/PendleWEEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol/PendleWEEthkSY.json +1097 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol/PendleWEEthsSY.json +1097 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/PendleHlpSY.sol/PendleHlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultERC20SY.sol/PendleKarakVaultERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultEzETHSY.sol/PendleKarakVaultEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSUSDESY.sol/PendleKarakVaultSUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultSYBaseUpg.sol/PendleKarakVaultSYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultUSDESY.sol/PendleKarakVaultUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Karak/PendleKarakVaultWEETHSY.sol/PendleKarakVaultWEETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/KelpDAO/PendleRsETHSY.sol/PendleRsETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol/PendleMellowVaultERC20SYUpg.json +59 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC4626SYUpg.sol/PendleMellowVaultERC4626SYUpg.json +1184 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol/PendleMellowVaultSYBaseUpg.json +1114 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol/PendleMellowVaultWstETHSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SY.sol/PendleERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol/PendleERC20SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC20WithSupplyCapSY.sol/PendleERC20WithSupplyCapSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626UpgSY.sol/PendleERC4626SYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleL2LRTSY.sol/PendleL2LRTSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PirexETH/PendleApxETHSY.sol/PendleApxETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufStETHSY.sol/PendlePufStETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Puffer/PendlePufWETHSY.sol/PendlePufWETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHL2SY.sol/PendleEzETHL2SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleEzETHSY.sol/PendleEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol/PendleREZtakeSY.json +1023 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Renzo/PendleRenzoPreviewHelper.sol/PendleRenzoPreviewHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleRswETHSY.sol/PendleRswETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellRswETHStakingSY.sol/PendleSwellRswETHStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwellStakingERC20SY.sol/PendleSwellStakingERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol/PendleStTAOSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeERC20SY.sol/PendleZtakeERC20SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeEzETHSY.sol/PendleZtakeEzETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeRsETHSY.sol/PendleZtakeRsETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeUSDESY.sol/PendleZtakeUSDESY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Zircuit/PendleZtakeWeETHSY.sol/PendleZtakeWeETHSY.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.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/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
- package/build/artifacts/contracts/interfaces/EtherFi/IVedaAccountant.sol/IVedaAccountant.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/EtherFi/IVedaAccountant.sol/IVedaAccountant.json +30 -0
- package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/EtherFi/IVedaTeller.sol/IVedaTeller.json +87 -0
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Renzo/IRenzoReztake.sol/IRenzoReztake.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Renzo/IRenzoReztake.sol/IRenzoReztake.json +69 -0
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringLpGlpOracle.sol/BoringLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +12 -4
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +3 -2
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +2 -1
- package/contracts/core/Market/MarketMathCore.sol +2 -2
- package/contracts/core/RewardManager/RewardManager.sol +17 -6
- package/contracts/core/RewardManager/diff.fish +0 -0
- package/contracts/core/StandardizedYield/implementations/Dolomite/PendleDolomiteSY.sol +3 -13
- package/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDEMantleSY.sol +10 -1
- package/contracts/core/StandardizedYield/implementations/Ethena/PendleSUSDESY.sol +10 -1
- package/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDEL2SY.sol +10 -1
- package/contracts/core/StandardizedYield/implementations/Ethena/PendleUSDESY.sol +10 -1
- package/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthkSY.sol +63 -0
- package/contracts/core/StandardizedYield/implementations/EtherFi/PendleWEEthsSY.sol +63 -0
- package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol +71 -75
- package/contracts/core/StandardizedYield/implementations/Mellow/{PendleMellowVaultWstETHSY.sol → PendleMellowVaultERC4626SYUpg.sol} +42 -18
- package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultSYBaseUpg.sol +119 -0
- package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSYUpg.sol +3 -3
- package/contracts/core/StandardizedYield/implementations/PendleERC20SYUpg.sol +2 -3
- package/contracts/core/StandardizedYield/implementations/Renzo/PendleREZtakeSY.sol +77 -0
- package/contracts/core/StandardizedYield/implementations/Tensorplex/PendleStTAOSY.sol +1 -1
- package/contracts/core/libraries/ArrayLib.sol +15 -0
- package/contracts/core/libraries/math/PMath.sol +4 -0
- package/contracts/interfaces/EtherFi/IVedaAccountant.sol +6 -0
- package/contracts/interfaces/EtherFi/IVedaTeller.sol +19 -0
- package/contracts/interfaces/Renzo/IRenzoReztake.sol +12 -0
- package/deployments/1-core.json +5 -5
- package/deployments/1-markets/MELLOW-ENA-MAINNET-SEP2024.json +14 -0
- package/deployments/1-markets/MELLOW-PZETH-MAINNET-SEP2024.json +14 -0
- package/deployments/1-markets/MELLOW-SUSDE-MAINNET-SEP2024.json +14 -0
- package/deployments/1-markets/REZ-STAKING-MAINNET-SEP2024.json +14 -0
- package/deployments/1-markets/RSWETH-MAINNET-SEP2024.json +14 -0
- package/deployments/1-markets/WEETHK-MAINNET-SEP2024.json +15 -0
- package/deployments/1-markets/ZIRCUIT-EZETH-MAINNET-AUG2024.json +14 -0
- package/deployments/1-markets/ZIRCUIT-RSETH-MAINNET-AUG2024.json +14 -0
- package/deployments/1-markets/ZIRCUIT-USDE-MAINNET-AUG2024.json +14 -0
- package/deployments/1-markets/ZIRCUIT-WEETH-MAINNET-AUG2024.json +14 -0
- package/deployments/10-core.json +5 -5
- package/deployments/42161-core.json +5 -5
- package/deployments/5000-core.json +4 -2
- package/deployments/56-core.json +5 -5
- package/deployments/merkle-distribution/2024-06-27.json +18995 -0
- package/package.json +1 -1
- package/typechain-types/IRenzoReztake.ts +162 -0
- package/typechain-types/IVedaAccountant.ts +102 -0
- package/typechain-types/IVedaTeller.ts +178 -0
- package/typechain-types/PendleGaugeControllerBaseUpg.ts +41 -0
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +41 -0
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +41 -0
- package/typechain-types/PendleMellowVaultERC20SYUpg.ts +38 -0
- package/typechain-types/PendleMellowVaultERC4626SYUpg.ts +1512 -0
- package/typechain-types/PendleMellowVaultSYBaseUpg.ts +1466 -0
- package/typechain-types/PendleREZtakeSY.ts +1290 -0
- package/typechain-types/PendleSUSDEMantleSY.ts +42 -0
- package/typechain-types/PendleSUSDESY.ts +42 -0
- package/typechain-types/PendleUSDEL2SY.ts +42 -0
- package/typechain-types/PendleUSDESY.ts +42 -0
- package/typechain-types/PendleWEEthkSY.ts +1433 -0
- package/typechain-types/PendleWEEthsSY.ts +1433 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
- package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
- package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
- package/typechain-types/factories/BoringLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
- package/typechain-types/factories/IRenzoReztake__factory.ts +81 -0
- package/typechain-types/factories/IVedaAccountant__factory.ts +45 -0
- package/typechain-types/factories/IVedaTeller__factory.ts +99 -0
- package/typechain-types/factories/KyberMathHelper__factory.ts +1 -1
- package/typechain-types/factories/LimitBackendHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleAaveV3SY__factory.ts +1 -1
- package/typechain-types/factories/PendleAaveV3WithRewardsSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
- package/typechain-types/factories/PendleApxETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
- package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleDolomiteSY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20WithSupplyCapSY__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleERC4626SY__factory.ts +1 -1
- package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
- package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleEzETHL2SY__factory.ts +1 -1
- package/typechain-types/factories/PendleEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +32 -0
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +42 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +42 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultSUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleKarakVaultWEETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleL2LRTSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleLinearDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMellowVaultERC20SYUpg__factory.ts +78 -3
- package/typechain-types/factories/PendleMellowVaultERC4626SYUpg__factory.ts +1264 -0
- package/typechain-types/factories/PendleMellowVaultSYBaseUpg__factory.ts +1176 -0
- package/typechain-types/factories/PendleMellowVaultWstETHSYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
- package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
- package/typechain-types/factories/PendlePufStETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendlePufWETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleREZtakeSY__factory.ts +1076 -0
- package/typechain-types/factories/PendleRedStoneRateOracleAdapter__factory.ts +1 -1
- package/typechain-types/factories/PendleRenzoPreviewHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRsETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRswETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSUSDEMantleSY__factory.ts +27 -1
- package/typechain-types/factories/PendleSUSDESY__factory.ts +27 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStTAOSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwellRswETHStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwellStakingERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
- package/typechain-types/factories/PendleUSDEL2SY__factory.ts +27 -1
- package/typechain-types/factories/PendleUSDESY__factory.ts +27 -1
- package/typechain-types/factories/PendleUniETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWEEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWEEthkSY__factory.ts +1150 -0
- package/typechain-types/factories/PendleWEEthsSY__factory.ts +1150 -0
- package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeERC20SY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeEzETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeRsETHSY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeUSDESY__factory.ts +1 -1
- package/typechain-types/factories/PendleZtakeWeETHSY__factory.ts +1 -1
- package/typechain-types/factories/Reflector__factory.ts +1 -1
- package/typechain-types/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/SwETHSY__factory.ts +1 -1
- package/typechain-types/factories/ThenaPreview__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +67 -4
- package/typechain-types/index.ts +16 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSY.sol/PendleMellowVaultWstETHSYUpg.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultWstETHSY.sol/PendleMellowVaultWstETHSYUpg.json +0 -1153
|
@@ -11,9 +11,10 @@ contract PendleGaugeControllerSidechainUpg is PendleGaugeControllerBaseUpg, Pend
|
|
|
11
11
|
address _pendle,
|
|
12
12
|
address _marketFactory,
|
|
13
13
|
address _marketFactory2,
|
|
14
|
+
address _marketFactory3,
|
|
14
15
|
address _PendleMsgReceiveEndpointUpg
|
|
15
16
|
)
|
|
16
|
-
PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2)
|
|
17
|
+
PendleGaugeControllerBaseUpg(_pendle, _marketFactory, _marketFactory2, _marketFactory3)
|
|
17
18
|
PendleMsgReceiverAppUpg(_PendleMsgReceiveEndpointUpg)
|
|
18
19
|
{
|
|
19
20
|
_disableInitializers();
|
|
@@ -147,11 +147,11 @@ library MarketMathCore {
|
|
|
147
147
|
if (netLpByPt < netLpBySy) {
|
|
148
148
|
lpToAccount = netLpByPt;
|
|
149
149
|
ptUsed = ptDesired;
|
|
150
|
-
syUsed = (market.totalSy * lpToAccount)
|
|
150
|
+
syUsed = (market.totalSy * lpToAccount).rawDivUp(market.totalLp);
|
|
151
151
|
} else {
|
|
152
152
|
lpToAccount = netLpBySy;
|
|
153
153
|
syUsed = syDesired;
|
|
154
|
-
ptUsed = (market.totalPt * lpToAccount)
|
|
154
|
+
ptUsed = (market.totalPt * lpToAccount).rawDivUp(market.totalLp);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
|
|
@@ -39,15 +39,12 @@ abstract contract RewardManager is RewardManagerAbstract {
|
|
|
39
39
|
|
|
40
40
|
RewardState memory _state = rewardState[token];
|
|
41
41
|
(uint256 lastBalance, uint256 index) = (_state.lastBalance, _state.index);
|
|
42
|
-
|
|
43
|
-
uint256 accrued = _selfBalance(tokens[i]) - lastBalance;
|
|
44
|
-
|
|
45
42
|
if (index == 0) index = INITIAL_REWARD_INDEX;
|
|
46
|
-
if (totalShares != 0) index += accrued.divDown(totalShares);
|
|
47
43
|
|
|
44
|
+
(uint256 consumedIndex, uint256 consumedReward) = _getConsumedReward(token, lastBalance, totalShares);
|
|
48
45
|
rewardState[token] = RewardState({
|
|
49
|
-
index: index.Uint128(),
|
|
50
|
-
lastBalance: (lastBalance +
|
|
46
|
+
index: (index + consumedIndex).Uint128(),
|
|
47
|
+
lastBalance: (lastBalance + consumedReward).Uint128()
|
|
51
48
|
});
|
|
52
49
|
indexes[i] = index;
|
|
53
50
|
}
|
|
@@ -58,6 +55,20 @@ abstract contract RewardManager is RewardManagerAbstract {
|
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
|
|
58
|
+
function _getConsumedReward(
|
|
59
|
+
address token,
|
|
60
|
+
uint256 lastBalance,
|
|
61
|
+
uint256 totalShares
|
|
62
|
+
) private view returns (uint256 consumedIndex, uint256 consumedReward) {
|
|
63
|
+
if (totalShares == 0) {
|
|
64
|
+
return (0, 0);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
uint256 accrued = _selfBalance(token) - lastBalance;
|
|
68
|
+
consumedIndex = accrued.divDown(totalShares);
|
|
69
|
+
consumedReward = (consumedIndex * totalShares + PMath.ONE - 1) / PMath.ONE;
|
|
70
|
+
}
|
|
71
|
+
|
|
61
72
|
/// @dev this function doesn't need redeemExternal since redeemExternal is bundled in updateRewardIndex
|
|
62
73
|
/// @dev this function also has to update rewardState.lastBalance
|
|
63
74
|
function _doTransferOutRewards(
|
|
File without changes
|
|
@@ -12,11 +12,7 @@ contract PendleDolomiteSY is SYBase {
|
|
|
12
12
|
address public immutable marginContract;
|
|
13
13
|
address public immutable dToken;
|
|
14
14
|
|
|
15
|
-
constructor(
|
|
16
|
-
string memory _name,
|
|
17
|
-
string memory _symbol,
|
|
18
|
-
address _dToken
|
|
19
|
-
) SYBase(_name, _symbol, _dToken) {
|
|
15
|
+
constructor(string memory _name, string memory _symbol, address _dToken) SYBase(_name, _symbol, _dToken) {
|
|
20
16
|
asset = IDolomiteDToken(_dToken).underlyingToken();
|
|
21
17
|
marketId = IDolomiteDToken(_dToken).marketId();
|
|
22
18
|
marginContract = IDolomiteDToken(_dToken).DOLOMITE_MARGIN();
|
|
@@ -69,10 +65,7 @@ contract PendleDolomiteSY is SYBase {
|
|
|
69
65
|
MISC FUNCTIONS FOR METADATA
|
|
70
66
|
//////////////////////////////////////////////////////////////*/
|
|
71
67
|
|
|
72
|
-
function _previewDeposit(
|
|
73
|
-
address tokenIn,
|
|
74
|
-
uint256 amountTokenToDeposit
|
|
75
|
-
) internal view override returns (uint256) {
|
|
68
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit) internal view override returns (uint256) {
|
|
76
69
|
if (tokenIn == dToken) {
|
|
77
70
|
return amountTokenToDeposit;
|
|
78
71
|
}
|
|
@@ -80,10 +73,7 @@ contract PendleDolomiteSY is SYBase {
|
|
|
80
73
|
return (amountTokenToDeposit * PMath.ONE) / index;
|
|
81
74
|
}
|
|
82
75
|
|
|
83
|
-
function _previewRedeem(
|
|
84
|
-
address tokenOut,
|
|
85
|
-
uint256 amountSharesToRedeem
|
|
86
|
-
) internal view override returns (uint256) {
|
|
76
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem) internal view override returns (uint256) {
|
|
87
77
|
if (tokenOut == dToken) {
|
|
88
78
|
return amountSharesToRedeem;
|
|
89
79
|
}
|
|
@@ -3,8 +3,9 @@ pragma solidity ^0.8.17;
|
|
|
3
3
|
|
|
4
4
|
import "../PendleERC20SYUpg.sol";
|
|
5
5
|
import "../../../../interfaces/IPExchangeRateOracle.sol";
|
|
6
|
+
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
6
7
|
|
|
7
|
-
contract PendleSUSDEMantleSY is PendleERC20SYUpg {
|
|
8
|
+
contract PendleSUSDEMantleSY is PendleERC20SYUpg, IPTokenWithSupplyCap {
|
|
8
9
|
event SetNewExchangeRateOracle(address oracle);
|
|
9
10
|
|
|
10
11
|
event SupplyCapUpdated(uint256 newSupplyCap);
|
|
@@ -81,4 +82,12 @@ contract PendleSUSDEMantleSY is PendleERC20SYUpg {
|
|
|
81
82
|
revert SupplyCapExceeded(_supply, _supplyCap);
|
|
82
83
|
}
|
|
83
84
|
}
|
|
85
|
+
|
|
86
|
+
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
87
|
+
return supplyCap;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function getAbsoluteTotalSupply() external view returns (uint256) {
|
|
91
|
+
return totalSupply();
|
|
92
|
+
}
|
|
84
93
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "../PendleERC4626SY.sol";
|
|
5
|
+
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
5
6
|
|
|
6
|
-
contract PendleSUSDESY is PendleERC4626SY {
|
|
7
|
+
contract PendleSUSDESY is PendleERC4626SY, IPTokenWithSupplyCap {
|
|
7
8
|
uint256 public supplyCap;
|
|
8
9
|
|
|
9
10
|
event SupplyCapUpdated(uint256 newSupplyCap);
|
|
@@ -71,4 +72,12 @@ contract PendleSUSDESY is PendleERC4626SY {
|
|
|
71
72
|
function isValidTokenOut(address token) public view override returns (bool) {
|
|
72
73
|
return token == yieldToken;
|
|
73
74
|
}
|
|
75
|
+
|
|
76
|
+
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
77
|
+
return supplyCap;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function getAbsoluteTotalSupply() external view returns (uint256) {
|
|
81
|
+
return totalSupply();
|
|
82
|
+
}
|
|
74
83
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "../PendleERC20SYUpg.sol";
|
|
5
|
+
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
5
6
|
|
|
6
|
-
contract PendleUSDEL2SY is PendleERC20SYUpg {
|
|
7
|
+
contract PendleUSDEL2SY is PendleERC20SYUpg, IPTokenWithSupplyCap {
|
|
7
8
|
uint256 public supplyCap;
|
|
8
9
|
|
|
9
10
|
event SupplyCapUpdated(uint256 newSupplyCap);
|
|
@@ -57,4 +58,12 @@ contract PendleUSDEL2SY is PendleERC20SYUpg {
|
|
|
57
58
|
revert SupplyCapExceeded(_supply, _supplyCap);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
61
|
+
|
|
62
|
+
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
63
|
+
return supplyCap;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function getAbsoluteTotalSupply() external view returns (uint256) {
|
|
67
|
+
return totalSupply();
|
|
68
|
+
}
|
|
60
69
|
}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "../PendleERC20SY.sol";
|
|
5
|
+
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
5
6
|
|
|
6
|
-
contract PendleUSDESY is PendleERC20SY {
|
|
7
|
+
contract PendleUSDESY is PendleERC20SY, IPTokenWithSupplyCap {
|
|
7
8
|
uint256 public supplyCap;
|
|
8
9
|
|
|
9
10
|
event SupplyCapUpdated(uint256 newSupplyCap);
|
|
@@ -52,4 +53,12 @@ contract PendleUSDESY is PendleERC20SY {
|
|
|
52
53
|
revert SupplyCapExceeded(_supply, _supplyCap);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
56
|
+
|
|
57
|
+
function getAbsoluteSupplyCap() external view returns (uint256) {
|
|
58
|
+
return supplyCap;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function getAbsoluteTotalSupply() external view returns (uint256) {
|
|
62
|
+
return totalSupply();
|
|
63
|
+
}
|
|
55
64
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.23;
|
|
3
|
+
|
|
4
|
+
import "../PendleERC20SYUpg.sol";
|
|
5
|
+
import "../../../../interfaces/EtherFi/IVedaTeller.sol";
|
|
6
|
+
import "../../../../interfaces/EtherFi/IVedaAccountant.sol";
|
|
7
|
+
|
|
8
|
+
contract PendleWEEthkSY is PendleERC20SYUpg {
|
|
9
|
+
using PMath for uint256;
|
|
10
|
+
|
|
11
|
+
// solhint-disable immutable-vars-naming
|
|
12
|
+
// solhint-disable const-name-snakecase
|
|
13
|
+
// solhint-disable ordering
|
|
14
|
+
|
|
15
|
+
address public constant weETHk = 0x7223442cad8e9cA474fC40109ab981608F8c4273;
|
|
16
|
+
address public constant vedaTeller = 0x929B44db23740E65dF3A81eA4aAB716af1b88474;
|
|
17
|
+
address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
18
|
+
address public constant WEETH = 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee;
|
|
19
|
+
address public constant EETH = 0x35fA164735182de50811E8e2E824cFb9B6118ac2;
|
|
20
|
+
address public constant WSTETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0;
|
|
21
|
+
|
|
22
|
+
address public immutable vedaAccountant;
|
|
23
|
+
|
|
24
|
+
constructor() PendleERC20SYUpg(weETHk) {
|
|
25
|
+
vedaAccountant = IVedaTeller(vedaTeller).accountant();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function approveAllForTeller() external {
|
|
29
|
+
_safeApproveInf(WETH, weETHk);
|
|
30
|
+
_safeApproveInf(WEETH, weETHk);
|
|
31
|
+
_safeApproveInf(EETH, weETHk);
|
|
32
|
+
_safeApproveInf(WSTETH, weETHk);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function _deposit(
|
|
36
|
+
address tokenIn,
|
|
37
|
+
uint256 amountDeposited
|
|
38
|
+
) internal virtual override returns (uint256 /*amountSharesOut*/) {
|
|
39
|
+
if (tokenIn == weETHk) {
|
|
40
|
+
return amountDeposited;
|
|
41
|
+
}
|
|
42
|
+
return IVedaTeller(vedaTeller).bulkDeposit(tokenIn, amountDeposited, 0, address(this));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function _previewDeposit(
|
|
46
|
+
address tokenIn,
|
|
47
|
+
uint256 amountTokenToDeposit
|
|
48
|
+
) internal view virtual override returns (uint256 amountSharesOut) {
|
|
49
|
+
if (tokenIn == weETHk) {
|
|
50
|
+
return amountTokenToDeposit;
|
|
51
|
+
}
|
|
52
|
+
uint256 rate = IVedaAccountant(vedaAccountant).getRateInQuoteSafe(tokenIn);
|
|
53
|
+
amountSharesOut = amountTokenToDeposit.divDown(rate);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function isValidTokenIn(address token) public pure override returns (bool) {
|
|
57
|
+
return token == weETHk || token == WETH || token == WEETH || token == EETH || token == WSTETH;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function getTokensIn() public pure override returns (address[] memory res) {
|
|
61
|
+
return ArrayLib.create(weETHk, WETH, WEETH, EETH, WSTETH);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.23;
|
|
3
|
+
|
|
4
|
+
import "../PendleERC20SYUpg.sol";
|
|
5
|
+
import "../../../../interfaces/EtherFi/IVedaTeller.sol";
|
|
6
|
+
import "../../../../interfaces/EtherFi/IVedaAccountant.sol";
|
|
7
|
+
|
|
8
|
+
contract PendleWEEthsSY is PendleERC20SYUpg {
|
|
9
|
+
using PMath for uint256;
|
|
10
|
+
|
|
11
|
+
// solhint-disable immutable-vars-naming
|
|
12
|
+
// solhint-disable const-name-snakecase
|
|
13
|
+
// solhint-disable ordering
|
|
14
|
+
|
|
15
|
+
address public constant weETHs = 0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88;
|
|
16
|
+
address public constant vedaTeller = 0x99dE9e5a3eC2750a6983C8732E6e795A35e7B861;
|
|
17
|
+
address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
18
|
+
address public constant WEETH = 0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee;
|
|
19
|
+
address public constant EETH = 0x35fA164735182de50811E8e2E824cFb9B6118ac2;
|
|
20
|
+
address public constant WSTETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0;
|
|
21
|
+
|
|
22
|
+
address public immutable vedaAccountant;
|
|
23
|
+
|
|
24
|
+
constructor() PendleERC20SYUpg(weETHs) {
|
|
25
|
+
vedaAccountant = IVedaTeller(vedaTeller).accountant();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function approveAllForTeller() external {
|
|
29
|
+
_safeApproveInf(WETH, weETHs);
|
|
30
|
+
_safeApproveInf(WEETH, weETHs);
|
|
31
|
+
_safeApproveInf(EETH, weETHs);
|
|
32
|
+
_safeApproveInf(WSTETH, weETHs);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function _deposit(
|
|
36
|
+
address tokenIn,
|
|
37
|
+
uint256 amountDeposited
|
|
38
|
+
) internal virtual override returns (uint256 /*amountSharesOut*/) {
|
|
39
|
+
if (tokenIn == weETHs) {
|
|
40
|
+
return amountDeposited;
|
|
41
|
+
}
|
|
42
|
+
return IVedaTeller(vedaTeller).bulkDeposit(tokenIn, amountDeposited, 0, address(this));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function _previewDeposit(
|
|
46
|
+
address tokenIn,
|
|
47
|
+
uint256 amountTokenToDeposit
|
|
48
|
+
) internal view virtual override returns (uint256 amountSharesOut) {
|
|
49
|
+
if (tokenIn == weETHs) {
|
|
50
|
+
return amountTokenToDeposit;
|
|
51
|
+
}
|
|
52
|
+
uint256 rate = IVedaAccountant(vedaAccountant).getRateInQuoteSafe(tokenIn);
|
|
53
|
+
amountSharesOut = amountTokenToDeposit.divDown(rate);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function isValidTokenIn(address token) public pure override returns (bool) {
|
|
57
|
+
return token == weETHs || token == WETH || token == WEETH || token == EETH || token == WSTETH;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function getTokensIn() public pure override returns (address[] memory res) {
|
|
61
|
+
return ArrayLib.create(weETHs, WETH, WEETH, EETH, WSTETH);
|
|
62
|
+
}
|
|
63
|
+
}
|
package/contracts/core/StandardizedYield/implementations/Mellow/PendleMellowVaultERC20SYUpg.sol
CHANGED
|
@@ -1,119 +1,115 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "../../StEthHelper.sol";
|
|
6
|
-
import "../../../../interfaces/IPTokenWithSupplyCap.sol";
|
|
7
|
-
import "../../../../interfaces/Mellow/IMellowVault.sol";
|
|
8
|
-
import "../../../../interfaces/Mellow/IMellowVaultConfigurator.sol";
|
|
9
|
-
import "../../../../interfaces/IPPriceFeed.sol";
|
|
4
|
+
import "./PendleMellowVaultSYBaseUpg.sol";
|
|
10
5
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
contract PendleMellowVaultERC20SYUpg is PendleMellowVaultSYBaseUpg {
|
|
7
|
+
error MellowVaultHasInvalidAssets();
|
|
8
|
+
error SupplyCapExceeded(uint256 totalSupply, uint256 supplyCap);
|
|
9
|
+
|
|
10
|
+
using PMath for uint256;
|
|
11
|
+
|
|
12
|
+
// solhint-disable immutable-vars-naming
|
|
13
|
+
address public immutable depositToken;
|
|
14
14
|
|
|
15
15
|
// solhint-disable immutable-vars-naming
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
address
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
uint256 public immutable interfaceVersion;
|
|
17
|
+
|
|
18
|
+
// [ERC20 deposit of the vault, vault address, interface version (0 = referral, 1 = non referral)]
|
|
19
|
+
constructor(address _depositToken, address _vault, uint256 _interfaceVersion) PendleMellowVaultSYBaseUpg(_vault) {
|
|
20
|
+
depositToken = _depositToken;
|
|
21
|
+
if (_interfaceVersion > 1) {
|
|
22
|
+
revert("invalid interface version");
|
|
23
|
+
}
|
|
24
|
+
interfaceVersion = _interfaceVersion;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
function initialize(
|
|
27
28
|
string memory _name,
|
|
28
29
|
string memory _symbol,
|
|
29
30
|
address _pricingHelper
|
|
30
|
-
) external
|
|
31
|
+
) external override initializer {
|
|
31
32
|
__SYBaseUpg_init(_name, _symbol);
|
|
33
|
+
_safeApproveInf(depositToken, vault);
|
|
32
34
|
_setPricingHelper(_pricingHelper);
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
function _deposit(
|
|
36
|
-
address
|
|
38
|
+
address tokenIn,
|
|
37
39
|
uint256 amountDeposited
|
|
38
40
|
) internal virtual override returns (uint256 amountSharesOut) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
if (tokenIn == vault) {
|
|
42
|
+
return amountDeposited;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (interfaceVersion == 0) {
|
|
46
|
+
(, amountSharesOut) = IMellowVault(vault).deposit(
|
|
47
|
+
address(this),
|
|
48
|
+
ArrayLib.create(amountDeposited),
|
|
49
|
+
0,
|
|
50
|
+
type(uint256).max,
|
|
51
|
+
0
|
|
52
|
+
);
|
|
53
|
+
} else if (interfaceVersion == 1) {
|
|
54
|
+
(, amountSharesOut) = IMellowVault(vault).deposit(
|
|
55
|
+
address(this),
|
|
56
|
+
ArrayLib.create(amountDeposited),
|
|
57
|
+
0,
|
|
58
|
+
type(uint256).max
|
|
59
|
+
);
|
|
60
|
+
}
|
|
49
61
|
}
|
|
50
62
|
|
|
51
63
|
function exchangeRate() public view virtual override returns (uint256 res) {
|
|
52
|
-
|
|
64
|
+
(uint256 tvl, uint256 supply) = _getMellowVaultTvl();
|
|
65
|
+
return tvl * PMath.ONE / supply;
|
|
53
66
|
}
|
|
54
67
|
|
|
55
68
|
function _previewDeposit(
|
|
56
|
-
address
|
|
69
|
+
address tokenIn,
|
|
57
70
|
uint256 amountTokenToDeposit
|
|
58
|
-
) internal view virtual override returns (uint256
|
|
59
|
-
|
|
60
|
-
|
|
71
|
+
) internal view virtual override returns (uint256 amountSharesOut) {
|
|
72
|
+
if (tokenIn == vault) {
|
|
73
|
+
return amountTokenToDeposit;
|
|
74
|
+
}
|
|
61
75
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
uint256 amountSharesToRedeem
|
|
65
|
-
) internal view virtual override returns (uint256 /*amountTokenOut*/) {
|
|
66
|
-
return amountSharesToRedeem;
|
|
67
|
-
}
|
|
76
|
+
(uint256 tvl, uint256 supply) = _getMellowVaultTvl();
|
|
77
|
+
amountSharesOut = (amountTokenToDeposit * supply) / tvl;
|
|
68
78
|
|
|
69
|
-
|
|
70
|
-
|
|
79
|
+
uint256 supplyCap = IMellowVaultConfigurator(configurator).maximalTotalSupply();
|
|
80
|
+
uint256 newSupply = supply + amountSharesOut;
|
|
81
|
+
if (newSupply > supplyCap) {
|
|
82
|
+
revert SupplyCapExceeded(newSupply, supplyCap);
|
|
83
|
+
}
|
|
71
84
|
}
|
|
72
85
|
|
|
73
|
-
function
|
|
74
|
-
return ArrayLib.create(vault);
|
|
86
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
87
|
+
return ArrayLib.create(depositToken, vault);
|
|
75
88
|
}
|
|
76
89
|
|
|
77
90
|
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
78
|
-
return token == vault;
|
|
91
|
+
return token == depositToken || token == vault;
|
|
79
92
|
}
|
|
80
93
|
|
|
81
|
-
|
|
82
|
-
|
|
94
|
+
/// @dev returns mellow TVL in depositToken
|
|
95
|
+
/// @dev reverts if the vault contains more than 1 token
|
|
96
|
+
function _getMellowVaultTvl() internal view returns (uint256 tvl, uint256 supply) {
|
|
97
|
+
(address[] memory tokens, uint256[] memory amounts) = IMellowVault(vault).underlyingTvl();
|
|
98
|
+
if (tokens.length > 1 || tokens[0] != depositToken) {
|
|
99
|
+
revert MellowVaultHasInvalidAssets();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
tvl = amounts[0];
|
|
103
|
+
supply = IERC20(vault).totalSupply();
|
|
83
104
|
}
|
|
84
105
|
|
|
85
106
|
function assetInfo()
|
|
86
107
|
external
|
|
87
108
|
view
|
|
88
109
|
virtual
|
|
110
|
+
override
|
|
89
111
|
returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
|
|
90
112
|
{
|
|
91
|
-
return (AssetType.TOKEN,
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function getAbsoluteSupplyCap() external view virtual returns (uint256) {
|
|
95
|
-
return IMellowVaultConfigurator(configurator).maximalTotalSupply();
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function getAbsoluteTotalSupply() external view virtual returns (uint256) {
|
|
99
|
-
return IERC20(vault).totalSupply();
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/*///////////////////////////////////////////////////////////////
|
|
103
|
-
OFF-CHAIN USAGE ONLY
|
|
104
|
-
(NO SECURITY RELATED && CAN BE LEFT UNAUDITED)
|
|
105
|
-
//////////////////////////////////////////////////////////////*/
|
|
106
|
-
|
|
107
|
-
function setPricingHelper(address _pricingHelper) external onlyOwner {
|
|
108
|
-
_setPricingHelper(_pricingHelper);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function _setPricingHelper(address _pricingHelper) internal {
|
|
112
|
-
pricingHelper = _pricingHelper;
|
|
113
|
-
emit SetPricingHelper(_pricingHelper);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function getPrice() external view returns (uint256) {
|
|
117
|
-
return IPPriceFeed(pricingHelper).getPrice();
|
|
113
|
+
return (AssetType.TOKEN, depositToken, IERC20Metadata(depositToken).decimals());
|
|
118
114
|
}
|
|
119
115
|
}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.0;
|
|
3
3
|
|
|
4
|
-
import "./
|
|
4
|
+
import "./PendleMellowVaultSYBaseUpg.sol";
|
|
5
|
+
import "../../../../interfaces/IERC4626.sol";
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelper {
|
|
7
|
+
contract PendleMellowVaultERC4626SYUpg is PendleMellowVaultSYBaseUpg {
|
|
8
8
|
error MellowVaultHasInvalidAssets();
|
|
9
9
|
error SupplyCapExceeded(uint256 totalSupply, uint256 supplyCap);
|
|
10
10
|
|
|
11
|
+
using PMath for uint256;
|
|
12
|
+
|
|
13
|
+
// solhint-disable immutable-vars-naming
|
|
14
|
+
address public immutable erc4626;
|
|
15
|
+
address public immutable asset;
|
|
16
|
+
|
|
11
17
|
// solhint-disable immutable-vars-naming
|
|
12
18
|
uint256 public immutable interfaceVersion;
|
|
13
19
|
|
|
14
|
-
constructor(address _vault, uint256 _interfaceVersion)
|
|
20
|
+
constructor(address _erc4626, address _vault, uint256 _interfaceVersion) PendleMellowVaultSYBaseUpg(_vault) {
|
|
21
|
+
erc4626 = _erc4626;
|
|
22
|
+
asset = IERC4626(_erc4626).asset();
|
|
23
|
+
|
|
15
24
|
if (_interfaceVersion > 1) {
|
|
16
25
|
revert("invalid interface version");
|
|
17
26
|
}
|
|
@@ -24,8 +33,8 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
|
|
|
24
33
|
address _pricingHelper
|
|
25
34
|
) external override initializer {
|
|
26
35
|
__SYBaseUpg_init(_name, _symbol);
|
|
27
|
-
_safeApproveInf(
|
|
28
|
-
_safeApproveInf(
|
|
36
|
+
_safeApproveInf(asset, erc4626);
|
|
37
|
+
_safeApproveInf(erc4626, vault);
|
|
29
38
|
_setPricingHelper(_pricingHelper);
|
|
30
39
|
}
|
|
31
40
|
|
|
@@ -36,8 +45,8 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
|
|
|
36
45
|
if (tokenIn == vault) {
|
|
37
46
|
return amountDeposited;
|
|
38
47
|
}
|
|
39
|
-
if (tokenIn !=
|
|
40
|
-
(tokenIn, amountDeposited) = (
|
|
48
|
+
if (tokenIn != erc4626) {
|
|
49
|
+
(tokenIn, amountDeposited) = (erc4626, IERC4626(erc4626).deposit(amountDeposited, address(this)));
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
if (interfaceVersion == 0) {
|
|
@@ -58,8 +67,11 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
|
|
|
58
67
|
}
|
|
59
68
|
}
|
|
60
69
|
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
function exchangeRate() public view virtual override returns (uint256 res) {
|
|
71
|
+
(uint256 tvl, uint256 supply) = _getMellowVaultTvl();
|
|
72
|
+
return IERC4626(erc4626).convertToAssets(tvl * PMath.ONE / supply);
|
|
73
|
+
}
|
|
74
|
+
|
|
63
75
|
function _previewDeposit(
|
|
64
76
|
address tokenIn,
|
|
65
77
|
uint256 amountTokenToDeposit
|
|
@@ -67,9 +79,11 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
|
|
|
67
79
|
if (tokenIn == vault) {
|
|
68
80
|
return amountTokenToDeposit;
|
|
69
81
|
}
|
|
70
|
-
|
|
71
|
-
|
|
82
|
+
|
|
83
|
+
if (tokenIn != erc4626) {
|
|
84
|
+
(tokenIn, amountTokenToDeposit) = (erc4626, IERC4626(erc4626).previewDeposit(amountTokenToDeposit));
|
|
72
85
|
}
|
|
86
|
+
|
|
73
87
|
(uint256 tvl, uint256 supply) = _getMellowVaultTvl();
|
|
74
88
|
amountSharesOut = (amountTokenToDeposit * supply) / tvl;
|
|
75
89
|
|
|
@@ -80,23 +94,33 @@ contract PendleMellowVaultWstETHSYUpg is PendleMellowVaultERC20SYUpg, StEthHelpe
|
|
|
80
94
|
}
|
|
81
95
|
}
|
|
82
96
|
|
|
83
|
-
function getTokensIn() public view override returns (address[] memory res) {
|
|
84
|
-
return ArrayLib.create(
|
|
97
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
98
|
+
return ArrayLib.create(asset, erc4626, vault);
|
|
85
99
|
}
|
|
86
100
|
|
|
87
|
-
function isValidTokenIn(address token) public view override returns (bool) {
|
|
88
|
-
return token ==
|
|
101
|
+
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
102
|
+
return token == asset || token == erc4626 || token == vault;
|
|
89
103
|
}
|
|
90
104
|
|
|
91
|
-
/// @dev returns mellow TVL in
|
|
105
|
+
/// @dev returns mellow TVL in erc4626
|
|
92
106
|
/// @dev reverts if the vault contains more than 1 token
|
|
93
107
|
function _getMellowVaultTvl() internal view returns (uint256 tvl, uint256 supply) {
|
|
94
108
|
(address[] memory tokens, uint256[] memory amounts) = IMellowVault(vault).underlyingTvl();
|
|
95
|
-
if (tokens.length > 1 || tokens[0] !=
|
|
109
|
+
if (tokens.length > 1 || tokens[0] != erc4626) {
|
|
96
110
|
revert MellowVaultHasInvalidAssets();
|
|
97
111
|
}
|
|
98
112
|
|
|
99
113
|
tvl = amounts[0];
|
|
100
114
|
supply = IERC20(vault).totalSupply();
|
|
101
115
|
}
|
|
116
|
+
|
|
117
|
+
function assetInfo()
|
|
118
|
+
external
|
|
119
|
+
view
|
|
120
|
+
virtual
|
|
121
|
+
override
|
|
122
|
+
returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
|
|
123
|
+
{
|
|
124
|
+
return (AssetType.TOKEN, asset, IERC20Metadata(asset).decimals());
|
|
125
|
+
}
|
|
102
126
|
}
|