@pendle/core-v2 1.5.0-testnet → 1.6.0-testnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +492 -0
- 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/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.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/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/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/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
- 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/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +1171 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.json → PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.json} +33 -54
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.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/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/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- 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/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
- 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/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/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 +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +987 -0
- 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/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/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +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/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.json +2 -2
- 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/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +12 -2
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.json +56 -0
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +19 -0
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.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/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.json +169 -0
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.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/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +67 -0
- 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/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.json +82 -0
- 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/IPVeToken.sol/IPVeToken.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/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 +13 -0
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.json +10 -0
- 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/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +200 -0
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +89 -0
- 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/PendlePtOracle.sol/PendlePtOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +247 -0
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +10 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +118 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +4 -0
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +144 -0
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.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/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +1 -1
- package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol +166 -0
- package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +19 -7
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethAnkrethSY.sol → PendleAuraWethAnkrethSYV2.sol} +23 -15
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethRethSY.sol → PendleAuraWethRocketEthSYV2.sol} +34 -25
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol +135 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethWstethSY.sol → PendleAuraWethWstethSYV2.sol} +23 -15
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/{PendleAuraBalancerStableLPSY.sol → PendleAuraBalancerStableLPSYV2.sol} +97 -33
- package/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol +132 -0
- package/contracts/core/libraries/Errors.sol +3 -0
- package/contracts/interfaces/Balancer/IVault.sol +21 -4
- package/contracts/interfaces/Frax/IFrxEthMinter.sol +10 -0
- package/contracts/interfaces/GMX/IGlpManager.sol +2 -0
- package/contracts/interfaces/IPFeeDistributor.sol +3 -4
- package/contracts/interfaces/IPFeeDistributorV2.sol +46 -0
- package/contracts/interfaces/IPMarket.sol +19 -0
- package/contracts/interfaces/IPPtOracle.sol +23 -0
- package/contracts/interfaces/IPYieldToken.sol +3 -0
- package/contracts/offchain-helpers/BoringPtSeller.sol +39 -0
- package/contracts/offchain-helpers/EmptyUUPS.sol +16 -0
- package/contracts/offchain-helpers/PendleMulticallV1.sol +61 -0
- package/contracts/oracles/PendlePtOracle.sol +99 -0
- package/contracts/oracles/PendlePtOracleLib.sol +59 -0
- package/contracts/oracles/samples/PendlePtGlpOracle.sol +53 -0
- package/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol +61 -0
- package/deployments/43113-core.json +2 -1
- package/package.json +4 -3
- package/typechain-types/{AggregationRouterHelper.ts → EmptyUUPS.ts} +5 -45
- package/typechain-types/{SCYBase.ts → ICamelotPair.ts} +415 -444
- package/typechain-types/ICamelotRouter.ts +955 -0
- package/typechain-types/IChronosFactory.ts +245 -0
- package/typechain-types/IChronosPair.ts +631 -0
- package/typechain-types/IChronosRouter.ts +311 -0
- package/typechain-types/{IBoringOwnableUpgradeable.ts → IERC721Receiver.ts} +36 -30
- package/typechain-types/{ICelerMessageBus.ts → IFrxEthMinter.ts} +53 -45
- package/typechain-types/IGlpManager.ts +19 -0
- package/typechain-types/IMaGauge.ts +1246 -0
- package/typechain-types/IMaLPNFT.ts +1146 -0
- package/typechain-types/IPFeeDistributorV2.ts +287 -0
- package/typechain-types/IPMarket.ts +98 -0
- package/typechain-types/IPPtOracle.ts +184 -0
- package/typechain-types/IPYieldToken.ts +21 -0
- package/typechain-types/IPair.ts +553 -0
- package/typechain-types/IPairFactory.ts +245 -0
- package/typechain-types/{PendleAuraBalancerStableLPSY.ts → PendleAuraBalancerStableLPSYV2.ts} +61 -72
- package/typechain-types/{PendleAuraWethRethSY.ts → PendleAuraWethAnkrethSYV2.ts} +60 -98
- package/typechain-types/PendleAuraWethRocketEthSYV2.ts +1511 -0
- package/typechain-types/{PendleAuraWethWstethSY.ts → PendleAuraWethStafiEthSY.ts} +60 -72
- package/typechain-types/{PendleAuraWethAnkrethSY.ts → PendleAuraWethWstethSYV2.ts} +60 -72
- package/typechain-types/PendleCamelotV1Base.ts +120 -0
- package/typechain-types/PendleChronosChrEthSY.ts +1520 -0
- package/typechain-types/PendleChronosNFTManager.ts +217 -0
- package/typechain-types/PendleChronosVolatilePairBase.ts +134 -0
- package/typechain-types/{PtAMMArb.ts → PendleFeeDistributorV2.ts} +324 -189
- package/typechain-types/PendleMulticallV1.ts +162 -0
- package/typechain-types/{PendlePtOracleBase.ts → PendlePtGlpOracle.ts} +19 -39
- package/typechain-types/{CelerSenderUpg.ts → PendlePtOracle.ts} +140 -68
- package/typechain-types/{PendlePtUSDOracle.ts → PendlePtUsdChainlinkOracle.ts} +18 -59
- package/typechain-types/{SYBaseAutoCompound.ts → PendleSfrxEthSY.ts} +44 -5
- package/typechain-types/factories/ActionAddRemoveLiq__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/ActionMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +1 -1
- package/typechain-types/factories/EmptyUUPS__factory.ts +250 -0
- package/typechain-types/factories/Errors__factory.ts +11 -1
- package/typechain-types/factories/{SCYBase__factory.ts → ICamelotPair__factory.ts} +208 -278
- package/typechain-types/factories/ICamelotRouter__factory.ts +662 -0
- package/typechain-types/factories/{CelerSenderUpg__factory.ts → IChronosFactory__factory.ts} +80 -76
- package/typechain-types/factories/IChronosPair__factory.ts +473 -0
- package/typechain-types/factories/IChronosRouter__factory.ts +210 -0
- package/typechain-types/factories/IERC721Receiver__factory.ts +60 -0
- package/typechain-types/factories/{StEthHelper__factory.ts → IFrxEthMinter__factory.ts} +19 -13
- package/typechain-types/factories/IGlpManager__factory.ts +19 -0
- package/typechain-types/factories/{SCYBaseWithDynamicRewards__factory.ts → IMaGauge__factory.ts} +313 -348
- package/typechain-types/factories/{ISuperComposableYield__factory.ts → IMaLPNFT__factory.ts} +310 -270
- package/typechain-types/factories/{PendleFeeDistributorAbstract__factory.ts → IPFeeDistributorV2__factory.ts} +67 -66
- package/typechain-types/factories/IPMarket__factory.ts +67 -0
- package/typechain-types/factories/IPPtOracle__factory.ts +94 -0
- package/typechain-types/factories/IPYieldToken__factory.ts +13 -0
- package/typechain-types/factories/{EpochResultManager__factory.ts → IPairFactory__factory.ts} +72 -54
- package/typechain-types/factories/{IAToken__factory.ts → IPair__factory.ts} +205 -77
- package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/{PendleAuraBalancerStableLPSY__factory.ts → PendleAuraBalancerStableLPSYV2__factory.ts} +39 -60
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1244 -0
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1244 -0
- package/typechain-types/factories/{ISiloPriceProvider__factory.ts → PendleCamelotV1Base__factory.ts} +21 -33
- package/typechain-types/factories/PendleChronosChrEthSY__factory.ts +1323 -0
- package/typechain-types/factories/{IYearnVault__factory.ts → PendleChronosNFTManager__factory.ts} +47 -46
- package/typechain-types/factories/{PendlePtOracleBase__factory.ts → PendleChronosVolatilePairBase__factory.ts} +24 -33
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +549 -0
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLooksStakingSY__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/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallV1__factory.ts +142 -0
- package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtGlpOracle__factory.ts +198 -0
- package/typechain-types/factories/PendlePtOracle__factory.ts +312 -0
- package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +228 -0
- package/typechain-types/factories/PendleQiTokenHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1051 -0
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapArbitrum__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapEthereum__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__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/SAPE__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 +185 -77
- package/typechain-types/index.ts +48 -22
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -592
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +0 -1192
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +0 -1218
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +0 -1192
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.json +0 -47
- package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +0 -219
- package/contracts/offchain-helpers/PendleMulticall.sol +0 -26
- package/typechain-types/AccessControl.ts +0 -360
- package/typechain-types/ActionBaseMintRedeem.ts +0 -87
- package/typechain-types/ActionCallback.ts +0 -134
- package/typechain-types/ActionCore.ts +0 -1758
- package/typechain-types/ActionSCYAndPTBase.ts +0 -87
- package/typechain-types/ActionSCYAndPYBase.ts +0 -87
- package/typechain-types/ActionSCYAndYTBase.ts +0 -87
- package/typechain-types/ActionSwapPTYT.ts +0 -237
- package/typechain-types/ActionYT.ts +0 -509
- package/typechain-types/BaseSplitCodeFactory.ts +0 -118
- package/typechain-types/BoringOwnable.ts +0 -194
- package/typechain-types/BoringOwnableData.ts +0 -100
- package/typechain-types/BribeDistributor.ts +0 -363
- package/typechain-types/CelerReceiverUpg.ts +0 -372
- package/typechain-types/ComposableStablePreview.ts +0 -217
- package/typechain-types/Curve3CrvPoolHelper.ts +0 -236
- package/typechain-types/CurveFraxUsdcPoolHelper.ts +0 -158
- package/typechain-types/CurveUsdd3CrvPoolHelper.ts +0 -184
- package/typechain-types/DistributorBase.ts +0 -363
- package/typechain-types/ERC165.ts +0 -102
- package/typechain-types/ERC1967UpgradeUpgradeable.ts +0 -97
- package/typechain-types/EpochResultManager.ts +0 -261
- package/typechain-types/FeeDistributor.ts +0 -416
- package/typechain-types/FeeDistributorAbstract.ts +0 -240
- package/typechain-types/FeeDistributorVePendle.ts +0 -81
- package/typechain-types/FeeDistributorVoting.ts +0 -272
- package/typechain-types/FeeDistributorVotingFactory.ts +0 -293
- package/typechain-types/GMXPreviewHelper.ts +0 -121
- package/typechain-types/IAToken.ts +0 -386
- package/typechain-types/IAavePool.ts +0 -192
- package/typechain-types/IAaveRewardsController.ts +0 -148
- package/typechain-types/IAccessControl.ts +0 -305
- package/typechain-types/IAggregationRouterHelper.ts +0 -108
- package/typechain-types/IBeaconUpgradeable.ts +0 -87
- package/typechain-types/ICelerMessageReceiverApp.ts +0 -120
- package/typechain-types/IChainlinkAggregator.ts +0 -246
- package/typechain-types/IERC165.ts +0 -102
- package/typechain-types/IERC1822ProxiableUpgradeable.ts +0 -87
- package/typechain-types/IERC20Upgradeable.ts +0 -300
- package/typechain-types/IEulerEToken.ts +0 -320
- package/typechain-types/IEulerMarkets.ts +0 -204
- package/typechain-types/IKyberSwapAggregationRouterHelper.ts +0 -109
- package/typechain-types/IMetaAggregationRouter.ts +0 -213
- package/typechain-types/IMultihopRouter.ts +0 -209
- package/typechain-types/IMultihopRouterEthereum.ts +0 -209
- package/typechain-types/IPActionCore.ts +0 -1739
- package/typechain-types/IPActionSwapPTYT.ts +0 -237
- package/typechain-types/IPActionYT.ts +0 -490
- package/typechain-types/IPBatchSeller.ts +0 -234
- package/typechain-types/IPFeeDistributorFactory.ts +0 -101
- package/typechain-types/IPGovernanceManager.ts +0 -84
- package/typechain-types/IPLiquidityMigrator.ts +0 -565
- package/typechain-types/IPVotingControllerStorage.ts +0 -169
- package/typechain-types/IPVotingEscrow.ts +0 -344
- package/typechain-types/IPermissionsV2Upg.ts +0 -87
- package/typechain-types/IREDACTEDStaking.ts +0 -216
- package/typechain-types/ISAvax.ts +0 -430
- package/typechain-types/ISJoe.ts +0 -340
- package/typechain-types/ISiloPriceProvider.ts +0 -150
- package/typechain-types/IStargateLPStaking.ts +0 -251
- package/typechain-types/IStargatePool.ts +0 -223
- package/typechain-types/ISuperComposableYield.ts +0 -895
- package/typechain-types/ISwapAggregator.ts +0 -124
- package/typechain-types/IWAvax.ts +0 -380
- package/typechain-types/IWXBTRFLY.ts +0 -267
- package/typechain-types/IYearnVault.ts +0 -256
- package/typechain-types/ImplicitSwapfeeContract.ts +0 -149
- package/typechain-types/InputScalingHelper.ts +0 -108
- package/typechain-types/KyberSwapHelper.ts +0 -87
- package/typechain-types/MarketMathStatic.ts +0 -259
- package/typechain-types/OwnableUpgradeable.ts +0 -165
- package/typechain-types/Pendle3CrvAndTokenSCY.ts +0 -1215
- package/typechain-types/Pendle3CrvAndTokenSY.ts +0 -1243
- package/typechain-types/Pendle3CrvHelper.ts +0 -133
- package/typechain-types/Pendle3CrvTokenSCY.ts +0 -1150
- package/typechain-types/PendleAaveV3SCY.ts +0 -1088
- package/typechain-types/PendleApeStakingSY.ts +0 -1135
- package/typechain-types/PendleAura3EthSY.ts +0 -1600
- package/typechain-types/PendleAuraCbethWstethSY.ts +0 -1587
- package/typechain-types/PendleBatchSeller.ts +0 -648
- package/typechain-types/PendleConvex2TokensSY.ts +0 -1215
- package/typechain-types/PendleConvexCurveLP2PoolSCY.ts +0 -1215
- package/typechain-types/PendleConvexCurveLP3PoolSCY.ts +0 -1269
- package/typechain-types/PendleConvexCurveLP4PoolSCY.ts +0 -1288
- package/typechain-types/PendleConvexCurveLPSCY.ts +0 -1189
- package/typechain-types/PendleCvxCRVSCY.ts +0 -1104
- package/typechain-types/PendleERC4626SCY.ts +0 -950
- package/typechain-types/PendleEulerSCY.ts +0 -965
- package/typechain-types/PendleFeeDistributorAbstract.ts +0 -289
- package/typechain-types/PendleFeeDistributorFactory.ts +0 -591
- package/typechain-types/PendleFeeDistributorVoting.ts +0 -321
- package/typechain-types/PendleFeeDistributorVotingFactory.ts +0 -294
- package/typechain-types/PendleGovernanceManager.ts +0 -187
- package/typechain-types/PendleLooksStaking.ts +0 -1052
- package/typechain-types/PendlePtAssetOracle.ts +0 -167
- package/typechain-types/PendlePtChainlinkOracle.ts +0 -215
- package/typechain-types/PendlePtSingleAssetOracle.ts +0 -167
- package/typechain-types/PendleQiSAvaxSCY.ts +0 -1098
- package/typechain-types/PendleQiTokenSCY.ts +0 -1166
- package/typechain-types/PendleSAvaxSCY.ts +0 -962
- package/typechain-types/PendleSJoeSCY.ts +0 -1053
- package/typechain-types/PendleStargateLP.ts +0 -1442
- package/typechain-types/PendleStargateSCY.ts +0 -1135
- package/typechain-types/PendleSwapAggregator.ts +0 -126
- package/typechain-types/PendleWstEthSCY.ts +0 -1040
- package/typechain-types/PendleYearnVaultSCY.ts +0 -963
- package/typechain-types/PermissionsV2Upg.ts +0 -87
- package/typechain-types/PtFraxUsdcOracle.ts +0 -202
- package/typechain-types/PtStETHOracle.ts +0 -189
- package/typechain-types/RouterStatic.ts +0 -2939
- package/typechain-types/SCYBaseWithDynamicRewards.ts +0 -1063
- package/typechain-types/SCYBaseWithRewards.ts +0 -1094
- package/typechain-types/SSTORE2DeployerContract.ts +0 -242
- package/typechain-types/StEthHelper.ts +0 -107
- package/typechain-types/SwapAggregator.ts +0 -406
- package/typechain-types/factories/AccessControl__factory.ts +0 -227
- package/typechain-types/factories/ActionBaseMintRedeem__factory.ts +0 -43
- package/typechain-types/factories/ActionCallback__factory.ts +0 -223
- package/typechain-types/factories/ActionCore__factory.ts +0 -1863
- package/typechain-types/factories/ActionSCYAndPTBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSCYAndPYBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSCYAndYTBase__factory.ts +0 -39
- package/typechain-types/factories/ActionSwapPTYT__factory.ts +0 -396
- package/typechain-types/factories/ActionYT__factory.ts +0 -499
- package/typechain-types/factories/AggregationRouterHelper__factory.ts +0 -281
- package/typechain-types/factories/BaseSplitCodeFactory__factory.ts +0 -102
- package/typechain-types/factories/BoringOwnableData__factory.ts +0 -90
- package/typechain-types/factories/BoringOwnable__factory.ts +0 -141
- package/typechain-types/factories/BribeDistributor__factory.ts +0 -303
- package/typechain-types/factories/CelerReceiverUpg__factory.ts +0 -205
- package/typechain-types/factories/ComposableStablePreview__factory.ts +0 -190
- package/typechain-types/factories/Curve3CrvPoolHelper__factory.ts +0 -220
- package/typechain-types/factories/CurveFraxUsdcPoolHelper__factory.ts +0 -146
- package/typechain-types/factories/CurveUsdd3CrvPoolHelper__factory.ts +0 -172
- package/typechain-types/factories/DistributorBase__factory.ts +0 -249
- package/typechain-types/factories/ERC165__factory.ts +0 -39
- package/typechain-types/factories/ERC1967UpgradeUpgradeable__factory.ts +0 -75
- package/typechain-types/factories/FeeDistributorAbstract__factory.ts +0 -127
- package/typechain-types/factories/FeeDistributorVePendle__factory.ts +0 -97
- package/typechain-types/factories/FeeDistributorVotingFactory__factory.ts +0 -211
- package/typechain-types/factories/FeeDistributorVoting__factory.ts +0 -219
- package/typechain-types/factories/FeeDistributor__factory.ts +0 -339
- package/typechain-types/factories/GMXPreviewHelper__factory.ts +0 -65
- package/typechain-types/factories/IAavePool__factory.ts +0 -99
- package/typechain-types/factories/IAaveRewardsController__factory.ts +0 -78
- package/typechain-types/factories/IAccessControl__factory.ts +0 -198
- package/typechain-types/factories/IAggregationRouterHelper__factory.ts +0 -54
- package/typechain-types/factories/IBeaconUpgradeable__factory.ts +0 -39
- package/typechain-types/factories/IBoringOwnableUpgradeable__factory.ts +0 -53
- package/typechain-types/factories/ICelerMessageBus__factory.ts +0 -68
- package/typechain-types/factories/ICelerMessageReceiverApp__factory.ts +0 -64
- package/typechain-types/factories/IChainlinkAggregator__factory.ts +0 -170
- package/typechain-types/factories/IERC165__factory.ts +0 -42
- package/typechain-types/factories/IERC1822ProxiableUpgradeable__factory.ts +0 -43
- package/typechain-types/factories/IERC20Upgradeable__factory.ts +0 -209
- package/typechain-types/factories/IEulerEToken__factory.ts +0 -174
- package/typechain-types/factories/IEulerMarkets__factory.ts +0 -99
- package/typechain-types/factories/IKyberSwapAggregationRouterHelper__factory.ts +0 -56
- package/typechain-types/factories/IMetaAggregationRouter__factory.ts +0 -202
- package/typechain-types/factories/IMultihopRouterEthereum__factory.ts +0 -155
- package/typechain-types/factories/IMultihopRouter__factory.ts +0 -151
- package/typechain-types/factories/IPActionCore__factory.ts +0 -1784
- package/typechain-types/factories/IPActionSwapPTYT__factory.ts +0 -205
- package/typechain-types/factories/IPActionYT__factory.ts +0 -435
- package/typechain-types/factories/IPBatchSeller__factory.ts +0 -132
- package/typechain-types/factories/IPFeeDistributorFactory__factory.ts +0 -86
- package/typechain-types/factories/IPGovernanceManager__factory.ts +0 -39
- package/typechain-types/factories/IPLiquidityMigrator__factory.ts +0 -677
- package/typechain-types/factories/IPVotingControllerStorage__factory.ts +0 -107
- package/typechain-types/factories/IPVotingEscrow__factory.ts +0 -250
- package/typechain-types/factories/IPermissionsV2Upg__factory.ts +0 -39
- package/typechain-types/factories/IREDACTEDStaking__factory.ts +0 -107
- package/typechain-types/factories/ISAvax__factory.ts +0 -208
- package/typechain-types/factories/ISJoe__factory.ts +0 -177
- package/typechain-types/factories/IStargateLPStaking__factory.ts +0 -152
- package/typechain-types/factories/IStargatePool__factory.ts +0 -147
- package/typechain-types/factories/ISwapAggregator__factory.ts +0 -66
- package/typechain-types/factories/IWAvax__factory.ts +0 -261
- package/typechain-types/factories/IWXBTRFLY__factory.ts +0 -144
- package/typechain-types/factories/ImplicitSwapfeeContract__factory.ts +0 -239
- package/typechain-types/factories/InputScalingHelper__factory.ts +0 -88
- package/typechain-types/factories/KyberSwapHelper__factory.ts +0 -39
- package/typechain-types/factories/MarketMathStatic__factory.ts +0 -312
- package/typechain-types/factories/OwnableUpgradeable__factory.ts +0 -78
- package/typechain-types/factories/Pendle3CrvAndTokenSCY__factory.ts +0 -1130
- package/typechain-types/factories/Pendle3CrvAndTokenSY__factory.ts +0 -1106
- package/typechain-types/factories/Pendle3CrvHelper__factory.ts +0 -129
- package/typechain-types/factories/Pendle3CrvTokenSCY__factory.ts +0 -996
- package/typechain-types/factories/PendleAaveV3SCY__factory.ts +0 -874
- package/typechain-types/factories/PendleApeStakingSY__factory.ts +0 -981
- package/typechain-types/factories/PendleAura3EthSY__factory.ts +0 -1326
- package/typechain-types/factories/PendleAuraCbethWstethSY__factory.ts +0 -1317
- package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +0 -1265
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +0 -1291
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +0 -1265
- package/typechain-types/factories/PendleBatchSeller__factory.ts +0 -480
- package/typechain-types/factories/PendleConvex2TokensSY__factory.ts +0 -1093
- package/typechain-types/factories/PendleConvexCurveLP2PoolSCY__factory.ts +0 -1125
- package/typechain-types/factories/PendleConvexCurveLP3PoolSCY__factory.ts +0 -1067
- package/typechain-types/factories/PendleConvexCurveLP4PoolSCY__factory.ts +0 -1080
- package/typechain-types/factories/PendleConvexCurveLPSCY__factory.ts +0 -967
- package/typechain-types/factories/PendleCvxCRVSCY__factory.ts +0 -910
- package/typechain-types/factories/PendleERC4626SCY__factory.ts +0 -774
- package/typechain-types/factories/PendleEulerSCY__factory.ts +0 -805
- package/typechain-types/factories/PendleFeeDistributorFactory__factory.ts +0 -485
- package/typechain-types/factories/PendleFeeDistributorVotingFactory__factory.ts +0 -213
- package/typechain-types/factories/PendleFeeDistributorVoting__factory.ts +0 -275
- package/typechain-types/factories/PendleGovernanceManager__factory.ts +0 -149
- package/typechain-types/factories/PendleLooksStaking__factory.ts +0 -933
- package/typechain-types/factories/PendlePtAssetOracle__factory.ts +0 -199
- package/typechain-types/factories/PendlePtChainlinkOracle__factory.ts +0 -251
- package/typechain-types/factories/PendlePtSingleAssetOracle__factory.ts +0 -203
- package/typechain-types/factories/PendlePtUSDOracle__factory.ts +0 -247
- package/typechain-types/factories/PendleQiSAvaxSCY__factory.ts +0 -917
- package/typechain-types/factories/PendleQiTokenSCY__factory.ts +0 -1095
- package/typechain-types/factories/PendleSAvaxSCY__factory.ts +0 -796
- package/typechain-types/factories/PendleSJoeSCY__factory.ts +0 -845
- package/typechain-types/factories/PendleStargateLP__factory.ts +0 -1241
- package/typechain-types/factories/PendleStargateSCY__factory.ts +0 -952
- package/typechain-types/factories/PendleSwapAggregator__factory.ts +0 -129
- package/typechain-types/factories/PendleWstEthSCY__factory.ts +0 -924
- package/typechain-types/factories/PendleYearnVaultSCY__factory.ts +0 -787
- package/typechain-types/factories/PermissionsV2Upg__factory.ts +0 -39
- package/typechain-types/factories/PtAMMArb__factory.ts +0 -525
- package/typechain-types/factories/PtFraxUsdcOracle__factory.ts +0 -252
- package/typechain-types/factories/PtStETHOracle__factory.ts +0 -227
- package/typechain-types/factories/RouterStatic__factory.ts +0 -2673
- package/typechain-types/factories/SCYBaseWithRewards__factory.ts +0 -867
- package/typechain-types/factories/SSTORE2DeployerContract__factory.ts +0 -191
- package/typechain-types/factories/SYBaseAutoCompound__factory.ts +0 -942
- package/typechain-types/factories/SwapAggregator__factory.ts +0 -309
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity 0.8.17;
|
|
3
3
|
|
|
4
|
-
import "./base/
|
|
4
|
+
import "./base/PendleAuraBalancerStableLPSYV2.sol";
|
|
5
5
|
import "../../../../interfaces/IWETH.sol";
|
|
6
6
|
import "./base/MetaStable/MetaStablePreview.sol";
|
|
7
7
|
|
|
8
|
-
contract
|
|
9
|
-
address
|
|
10
|
-
address
|
|
8
|
+
contract PendleAuraWethRocketEthSYV2 is PendleAuraBalancerStableLPSYV2 {
|
|
9
|
+
address internal constant ROCKET_ETH = 0xae78736Cd615f374D3085123A210448E74Fc6393;
|
|
10
|
+
address internal constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
11
11
|
|
|
12
12
|
uint256 internal constant AURA_PID = 15;
|
|
13
13
|
address internal constant LP = 0x1E19CF2D73a72Ef1332C882F20534B6519Be0276;
|
|
@@ -16,12 +16,14 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
16
16
|
string memory _name,
|
|
17
17
|
string memory _symbol,
|
|
18
18
|
MetaStablePreview _previewHelper
|
|
19
|
-
)
|
|
19
|
+
) PendleAuraBalancerStableLPSYV2(_name, _symbol, LP, AURA_PID, _previewHelper) {}
|
|
20
20
|
|
|
21
|
-
function _deposit(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
function _deposit(address tokenIn, uint256 amount)
|
|
22
|
+
internal
|
|
23
|
+
virtual
|
|
24
|
+
override
|
|
25
|
+
returns (uint256 amountSharesOut)
|
|
26
|
+
{
|
|
25
27
|
if (tokenIn == NATIVE) {
|
|
26
28
|
IWETH(WETH).deposit{ value: amount }();
|
|
27
29
|
amountSharesOut = super._deposit(WETH, amount);
|
|
@@ -34,20 +36,24 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
34
36
|
address receiver,
|
|
35
37
|
address tokenOut,
|
|
36
38
|
uint256 amountSharesToRedeem
|
|
37
|
-
) internal virtual override returns (uint256
|
|
39
|
+
) internal virtual override returns (uint256) {
|
|
38
40
|
if (tokenOut == NATIVE) {
|
|
39
|
-
amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
|
|
41
|
+
uint256 amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
|
|
40
42
|
IWETH(WETH).withdraw(amountTokenOut);
|
|
41
43
|
_transferOut(NATIVE, receiver, amountTokenOut);
|
|
44
|
+
return amountTokenOut;
|
|
42
45
|
} else {
|
|
43
|
-
|
|
46
|
+
return super._redeem(receiver, tokenOut, amountSharesToRedeem);
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
|
|
47
|
-
function _previewDeposit(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
51
|
+
internal
|
|
52
|
+
view
|
|
53
|
+
virtual
|
|
54
|
+
override
|
|
55
|
+
returns (uint256 amountSharesOut)
|
|
56
|
+
{
|
|
51
57
|
if (tokenIn == NATIVE) {
|
|
52
58
|
amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
|
|
53
59
|
} else {
|
|
@@ -55,10 +61,13 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
55
61
|
}
|
|
56
62
|
}
|
|
57
63
|
|
|
58
|
-
function _previewRedeem(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
65
|
+
internal
|
|
66
|
+
view
|
|
67
|
+
virtual
|
|
68
|
+
override
|
|
69
|
+
returns (uint256 amountTokenOut)
|
|
70
|
+
{
|
|
62
71
|
if (tokenOut == NATIVE) {
|
|
63
72
|
amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
|
|
64
73
|
} else {
|
|
@@ -74,7 +83,7 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
74
83
|
returns (address[] memory res)
|
|
75
84
|
{
|
|
76
85
|
res = new address[](2);
|
|
77
|
-
res[0] =
|
|
86
|
+
res[0] = ROCKET_ETH;
|
|
78
87
|
res[1] = WETH;
|
|
79
88
|
}
|
|
80
89
|
|
|
@@ -103,7 +112,7 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
103
112
|
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
104
113
|
res = new address[](4);
|
|
105
114
|
res[0] = LP;
|
|
106
|
-
res[1] =
|
|
115
|
+
res[1] = ROCKET_ETH;
|
|
107
116
|
res[2] = WETH;
|
|
108
117
|
res[3] = NATIVE;
|
|
109
118
|
}
|
|
@@ -111,16 +120,16 @@ contract PendleAuraWethRethSY is PendleAuraBalancerStableLPSY {
|
|
|
111
120
|
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
112
121
|
res = new address[](4);
|
|
113
122
|
res[0] = LP;
|
|
114
|
-
res[1] =
|
|
123
|
+
res[1] = ROCKET_ETH;
|
|
115
124
|
res[2] = WETH;
|
|
116
125
|
res[3] = NATIVE;
|
|
117
126
|
}
|
|
118
127
|
|
|
119
128
|
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
120
|
-
return (token == LP || token ==
|
|
129
|
+
return (token == LP || token == ROCKET_ETH || token == WETH || token == NATIVE);
|
|
121
130
|
}
|
|
122
131
|
|
|
123
132
|
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
124
|
-
return (token == LP || token ==
|
|
133
|
+
return (token == LP || token == ROCKET_ETH || token == WETH || token == NATIVE);
|
|
125
134
|
}
|
|
126
135
|
}
|
package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "./base/PendleAuraBalancerStableLPSYV2.sol";
|
|
5
|
+
import "../../../../interfaces/IWETH.sol";
|
|
6
|
+
import "./base/MetaStable/MetaStablePreview.sol";
|
|
7
|
+
|
|
8
|
+
contract PendleAuraWethStafiEthSY is PendleAuraBalancerStableLPSYV2 {
|
|
9
|
+
address internal constant STAFI_ETH = 0x9559Aaa82d9649C7A7b220E7c461d2E74c9a3593;
|
|
10
|
+
address internal constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
11
|
+
|
|
12
|
+
uint256 internal constant AURA_PID = 63;
|
|
13
|
+
address internal constant LP = 0xB08885e6026bab4333A80024Ec25a1a3e1FF2b8A;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
string memory _name,
|
|
17
|
+
string memory _symbol,
|
|
18
|
+
MetaStablePreview _previewHelper
|
|
19
|
+
) PendleAuraBalancerStableLPSYV2(_name, _symbol, LP, AURA_PID, _previewHelper) {}
|
|
20
|
+
|
|
21
|
+
function _deposit(address tokenIn, uint256 amount)
|
|
22
|
+
internal
|
|
23
|
+
virtual
|
|
24
|
+
override
|
|
25
|
+
returns (uint256 amountSharesOut)
|
|
26
|
+
{
|
|
27
|
+
if (tokenIn == NATIVE) {
|
|
28
|
+
IWETH(WETH).deposit{ value: amount }();
|
|
29
|
+
amountSharesOut = super._deposit(WETH, amount);
|
|
30
|
+
} else {
|
|
31
|
+
amountSharesOut = super._deposit(tokenIn, amount);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function _redeem(
|
|
36
|
+
address receiver,
|
|
37
|
+
address tokenOut,
|
|
38
|
+
uint256 amountSharesToRedeem
|
|
39
|
+
) internal virtual override returns (uint256) {
|
|
40
|
+
if (tokenOut == NATIVE) {
|
|
41
|
+
uint256 amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
|
|
42
|
+
IWETH(WETH).withdraw(amountTokenOut);
|
|
43
|
+
_transferOut(NATIVE, receiver, amountTokenOut);
|
|
44
|
+
return amountTokenOut;
|
|
45
|
+
} else {
|
|
46
|
+
return super._redeem(receiver, tokenOut, amountSharesToRedeem);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
51
|
+
internal
|
|
52
|
+
view
|
|
53
|
+
virtual
|
|
54
|
+
override
|
|
55
|
+
returns (uint256 amountSharesOut)
|
|
56
|
+
{
|
|
57
|
+
if (tokenIn == NATIVE) {
|
|
58
|
+
amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
|
|
59
|
+
} else {
|
|
60
|
+
amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
65
|
+
internal
|
|
66
|
+
view
|
|
67
|
+
virtual
|
|
68
|
+
override
|
|
69
|
+
returns (uint256 amountTokenOut)
|
|
70
|
+
{
|
|
71
|
+
if (tokenOut == NATIVE) {
|
|
72
|
+
amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
|
|
73
|
+
} else {
|
|
74
|
+
amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function _getPoolTokenAddresses()
|
|
79
|
+
internal
|
|
80
|
+
view
|
|
81
|
+
virtual
|
|
82
|
+
override
|
|
83
|
+
returns (address[] memory res)
|
|
84
|
+
{
|
|
85
|
+
res = new address[](2);
|
|
86
|
+
res[0] = STAFI_ETH;
|
|
87
|
+
res[1] = WETH;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function _getRateProviders() internal view virtual returns (address[] memory res) {
|
|
91
|
+
res = new address[](2);
|
|
92
|
+
res[0] = 0x3D40f9dd83bd404fA4047c15da494E58C3c1f1ac;
|
|
93
|
+
res[1] = 0x0000000000000000000000000000000000000000;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
|
|
97
|
+
res = new uint256[](2);
|
|
98
|
+
res[0] = 1e18;
|
|
99
|
+
res[1] = 1e18;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function _getImmutablePoolData() internal view virtual override returns (bytes memory) {
|
|
103
|
+
MetaStablePreview.ImmutableData memory res;
|
|
104
|
+
res.LP = LP;
|
|
105
|
+
res.poolTokens = _getPoolTokenAddresses();
|
|
106
|
+
res.rateProviders = _getRateProviders();
|
|
107
|
+
res.rawScalingFactors = _getRawScalingFactors();
|
|
108
|
+
|
|
109
|
+
return abi.encode(res);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
113
|
+
res = new address[](4);
|
|
114
|
+
res[0] = LP;
|
|
115
|
+
res[1] = STAFI_ETH;
|
|
116
|
+
res[2] = WETH;
|
|
117
|
+
res[3] = NATIVE;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
121
|
+
res = new address[](4);
|
|
122
|
+
res[0] = LP;
|
|
123
|
+
res[1] = STAFI_ETH;
|
|
124
|
+
res[2] = WETH;
|
|
125
|
+
res[3] = NATIVE;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
129
|
+
return (token == LP || token == STAFI_ETH || token == WETH || token == NATIVE);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
133
|
+
return (token == LP || token == STAFI_ETH || token == WETH || token == NATIVE);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
pragma solidity 0.8.17;
|
|
3
3
|
|
|
4
4
|
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
-
import "./base/
|
|
5
|
+
import "./base/PendleAuraBalancerStableLPSYV2.sol";
|
|
6
6
|
import "../../StEthHelper.sol";
|
|
7
7
|
import "./base/MetaStable/MetaStablePreview.sol";
|
|
8
8
|
|
|
9
|
-
contract
|
|
9
|
+
contract PendleAuraWethWstethSYV2 is PendleAuraBalancerStableLPSYV2, StEthHelper {
|
|
10
10
|
uint256 internal constant AURA_PID = 29;
|
|
11
11
|
address internal constant LP = 0x32296969Ef14EB0c6d29669C550D4a0449130230;
|
|
12
12
|
|
|
@@ -14,12 +14,14 @@ contract PendleAuraWethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
|
|
|
14
14
|
string memory _name,
|
|
15
15
|
string memory _symbol,
|
|
16
16
|
MetaStablePreview _previewHelper
|
|
17
|
-
)
|
|
17
|
+
) PendleAuraBalancerStableLPSYV2(_name, _symbol, LP, AURA_PID, _previewHelper) StEthHelper() {}
|
|
18
18
|
|
|
19
|
-
function _deposit(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
function _deposit(address tokenIn, uint256 amount)
|
|
20
|
+
internal
|
|
21
|
+
virtual
|
|
22
|
+
override
|
|
23
|
+
returns (uint256 amountSharesOut)
|
|
24
|
+
{
|
|
23
25
|
if (tokenIn == NATIVE) {
|
|
24
26
|
IWETH(WETH).deposit{ value: amount }();
|
|
25
27
|
amountSharesOut = super._deposit(WETH, amount);
|
|
@@ -48,10 +50,13 @@ contract PendleAuraWethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
|
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
52
|
|
|
51
|
-
function _previewDeposit(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
54
|
+
internal
|
|
55
|
+
view
|
|
56
|
+
virtual
|
|
57
|
+
override
|
|
58
|
+
returns (uint256 amountSharesOut)
|
|
59
|
+
{
|
|
55
60
|
if (tokenIn == NATIVE) {
|
|
56
61
|
amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
|
|
57
62
|
} else if (tokenIn == STETH) {
|
|
@@ -62,10 +67,13 @@ contract PendleAuraWethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
|
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
|
|
65
|
-
function _previewRedeem(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
70
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
71
|
+
internal
|
|
72
|
+
view
|
|
73
|
+
virtual
|
|
74
|
+
override
|
|
75
|
+
returns (uint256 amountTokenOut)
|
|
76
|
+
{
|
|
69
77
|
if (tokenOut == NATIVE) {
|
|
70
78
|
amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
|
|
71
79
|
} else if (tokenOut == STETH) {
|
|
@@ -14,13 +14,14 @@ import "./StablePoolUserData.sol";
|
|
|
14
14
|
import "../../../../libraries/ArrayLib.sol";
|
|
15
15
|
import "../../../SYBaseWithRewards.sol";
|
|
16
16
|
|
|
17
|
-
abstract contract
|
|
17
|
+
abstract contract PendleAuraBalancerStableLPSYV2 is SYBaseWithRewards {
|
|
18
18
|
using ArrayLib for address[];
|
|
19
19
|
|
|
20
|
-
address
|
|
21
|
-
address
|
|
22
|
-
address
|
|
23
|
-
address
|
|
20
|
+
address internal constant BAL_TOKEN = 0xba100000625a3754423978a60c9317c58a424e3D;
|
|
21
|
+
address internal constant AURA_TOKEN = 0xC0c293ce456fF0ED870ADd98a0828Dd4d2903DBF;
|
|
22
|
+
address internal constant AURA_BOOSTER = 0xA57b8d98dAE62B26Ec3bcC4a365338157060B234;
|
|
23
|
+
address internal constant BALANCER_VAULT = 0xBA12222222228d8Ba445958a75a0704d566BF2C8;
|
|
24
|
+
uint256 internal constant DEFAULT_GAS_REENTRANCY_CHECK = 7000;
|
|
24
25
|
|
|
25
26
|
address public immutable balLp;
|
|
26
27
|
bytes32 public immutable balPoolId;
|
|
@@ -30,6 +31,7 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
30
31
|
|
|
31
32
|
IBalancerStablePreview public immutable previewHelper;
|
|
32
33
|
|
|
34
|
+
uint256 public gasForReentrancyCheck;
|
|
33
35
|
address[] public extraRewards;
|
|
34
36
|
|
|
35
37
|
constructor(
|
|
@@ -53,11 +55,14 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
previewHelper = _previewHelper;
|
|
58
|
+
gasForReentrancyCheck = DEFAULT_GAS_REENTRANCY_CHECK;
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
function _getPoolInfo(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
+
function _getPoolInfo(uint256 _auraPid)
|
|
62
|
+
internal
|
|
63
|
+
view
|
|
64
|
+
returns (address _auraLp, address _auraRewardManager)
|
|
65
|
+
{
|
|
61
66
|
if (_auraPid > IBooster(AURA_BOOSTER).poolLength()) revert Errors.SYBalancerInvalidPid();
|
|
62
67
|
(_auraLp, , , _auraRewardManager, , ) = IBooster(AURA_BOOSTER).poolInfo(_auraPid);
|
|
63
68
|
}
|
|
@@ -69,10 +74,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
69
74
|
/**
|
|
70
75
|
* @notice Either wraps LP, or also joins pool using exact tokenIn
|
|
71
76
|
*/
|
|
72
|
-
function _deposit(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
77
|
+
function _deposit(address tokenIn, uint256 amount)
|
|
78
|
+
internal
|
|
79
|
+
virtual
|
|
80
|
+
override
|
|
81
|
+
returns (uint256 amountSharesOut)
|
|
82
|
+
{
|
|
76
83
|
if (tokenIn == balLp) {
|
|
77
84
|
amountSharesOut = amount;
|
|
78
85
|
} else {
|
|
@@ -100,17 +107,60 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
function exchangeRate() external view override returns (uint256) {
|
|
110
|
+
_checkBalancerReadOnlyReentrancy();
|
|
103
111
|
return IRateProvider(balLp).getRate();
|
|
104
112
|
}
|
|
105
113
|
|
|
114
|
+
/*
|
|
115
|
+
* The `manageUserBalance` function is a non-view function that includes a reentrancy guard
|
|
116
|
+
in the form of `_require(_status != _ENTERED, Errors.REENTRANCY);`. To prevent
|
|
117
|
+
read-only reentrancy, it's important to ensure that our `manageUserBalance` has enough gas
|
|
118
|
+
to reach this check, so that it can fail if necessary.
|
|
119
|
+
|
|
120
|
+
* On the way to the check, there's at most one `COLD_SLOAD` plus miscellaneous decoding &
|
|
121
|
+
require, which we've found through testing to cost no more than 3200 gas. Therefore,
|
|
122
|
+
attaching 7000 gas should guarantee that it's always possible to reach the check.
|
|
123
|
+
|
|
124
|
+
* Once we've reached the check, one of two scenarios can occur:
|
|
125
|
+
1. The call doesn't pass the check, and reverts with error `BAL#400` ⇒ `response.length = 100`.
|
|
126
|
+
2. The call passes the check. Then, the call can either:
|
|
127
|
+
a. continue on to set the `status` variable to 2, causing the EVM to revert (since
|
|
128
|
+
the sub-call is a `staticcall`), and `response.length == 0`
|
|
129
|
+
b. run out of gas, which will also lead to a revert with `response.length == 0`
|
|
130
|
+
In both cases, to differentiate between 1 and 2, we check `response.length != 0`. If it's
|
|
131
|
+
true, then it's a read-only reentrancy. Otherwise, we're good (and we can ignore
|
|
132
|
+
differentiating between 2a and 2b).
|
|
133
|
+
*/
|
|
134
|
+
function _checkBalancerReadOnlyReentrancy() internal view {
|
|
135
|
+
IVault.UserBalanceOp[] memory noop = new IVault.UserBalanceOp[](0);
|
|
136
|
+
|
|
137
|
+
(bool isSuccess, bytes memory response) = BALANCER_VAULT.staticcall{
|
|
138
|
+
gas: gasForReentrancyCheck
|
|
139
|
+
}(
|
|
140
|
+
abi.encodeWithSignature(
|
|
141
|
+
"manageUserBalance((uint8,address,uint256,address,address)[])",
|
|
142
|
+
noop
|
|
143
|
+
)
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
assert(!isSuccess);
|
|
147
|
+
if (response.length != 0) revert Errors.SYBalancerReentrancy();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function setGasForReentrancyCheck(uint256 newGas) external onlyOwner {
|
|
151
|
+
require(newGas >= DEFAULT_GAS_REENTRANCY_CHECK, "lower than default");
|
|
152
|
+
gasForReentrancyCheck = newGas;
|
|
153
|
+
}
|
|
154
|
+
|
|
106
155
|
/*///////////////////////////////////////////////////////////////
|
|
107
156
|
BALANCER-RELATED FUNCTIONS
|
|
108
157
|
//////////////////////////////////////////////////////////////*/
|
|
109
158
|
|
|
110
|
-
function _depositToBalancer(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
159
|
+
function _depositToBalancer(address tokenIn, uint256 amountTokenToDeposit)
|
|
160
|
+
internal
|
|
161
|
+
virtual
|
|
162
|
+
returns (uint256)
|
|
163
|
+
{
|
|
114
164
|
IVault.JoinPoolRequest memory request = _assembleJoinRequest(
|
|
115
165
|
tokenIn,
|
|
116
166
|
amountTokenToDeposit
|
|
@@ -121,10 +171,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
121
171
|
return _selfBalance(balLp);
|
|
122
172
|
}
|
|
123
173
|
|
|
124
|
-
function _assembleJoinRequest(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
174
|
+
function _assembleJoinRequest(address tokenIn, uint256 amountTokenToDeposit)
|
|
175
|
+
internal
|
|
176
|
+
view
|
|
177
|
+
virtual
|
|
178
|
+
returns (IVault.JoinPoolRequest memory request)
|
|
179
|
+
{
|
|
128
180
|
// max amounts in
|
|
129
181
|
address[] memory assets = _getPoolTokenAddresses();
|
|
130
182
|
|
|
@@ -166,10 +218,12 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
166
218
|
return balanceAfter - balanceBefore;
|
|
167
219
|
}
|
|
168
220
|
|
|
169
|
-
function _assembleExitRequest(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
221
|
+
function _assembleExitRequest(address tokenOut, uint256 amountLpToRedeem)
|
|
222
|
+
internal
|
|
223
|
+
view
|
|
224
|
+
virtual
|
|
225
|
+
returns (IVault.ExitPoolRequest memory request)
|
|
226
|
+
{
|
|
173
227
|
address[] memory assets = _getPoolTokenAddresses();
|
|
174
228
|
uint256[] memory minAmountsOut = new uint256[](assets.length);
|
|
175
229
|
|
|
@@ -201,10 +255,13 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
201
255
|
PREVIEW FUNCTIONS
|
|
202
256
|
//////////////////////////////////////////////////////////////*/
|
|
203
257
|
|
|
204
|
-
function _previewDeposit(
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
258
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
259
|
+
internal
|
|
260
|
+
view
|
|
261
|
+
virtual
|
|
262
|
+
override
|
|
263
|
+
returns (uint256 amountSharesOut)
|
|
264
|
+
{
|
|
208
265
|
if (tokenIn == balLp) {
|
|
209
266
|
amountSharesOut = amountTokenToDeposit;
|
|
210
267
|
} else {
|
|
@@ -222,10 +279,13 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
222
279
|
}
|
|
223
280
|
}
|
|
224
281
|
|
|
225
|
-
function _previewRedeem(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
282
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
283
|
+
internal
|
|
284
|
+
view
|
|
285
|
+
virtual
|
|
286
|
+
override
|
|
287
|
+
returns (uint256 amountTokenOut)
|
|
288
|
+
{
|
|
229
289
|
if (tokenOut == balLp) {
|
|
230
290
|
amountTokenOut = amountSharesToRedeem;
|
|
231
291
|
} else {
|
|
@@ -303,7 +363,11 @@ abstract contract PendleAuraBalancerStableLPSY is SYBaseWithRewards {
|
|
|
303
363
|
function assetInfo()
|
|
304
364
|
external
|
|
305
365
|
view
|
|
306
|
-
returns (
|
|
366
|
+
returns (
|
|
367
|
+
AssetType assetType,
|
|
368
|
+
address assetAddress,
|
|
369
|
+
uint8 assetDecimals
|
|
370
|
+
)
|
|
307
371
|
{
|
|
308
372
|
return (AssetType.LIQUIDITY, balLp, IERC20Metadata(balLp).decimals());
|
|
309
373
|
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../SYBase.sol";
|
|
5
|
+
import "../../../interfaces/Frax/IFrxEthMinter.sol";
|
|
6
|
+
import "../../../interfaces/IERC4626.sol";
|
|
7
|
+
|
|
8
|
+
/// @dev deposit through weth is not neccessary to be done on this contract's level
|
|
9
|
+
/// as we already supported this with our router
|
|
10
|
+
contract PendleSfrxEthSY is SYBase {
|
|
11
|
+
address public immutable minter;
|
|
12
|
+
address public immutable frxETH;
|
|
13
|
+
address public immutable sfrxETH;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
string memory _name,
|
|
17
|
+
string memory _symbol,
|
|
18
|
+
address _minter
|
|
19
|
+
) SYBase(_name, _symbol, IFrxEthMinter(_minter).sfrxETHToken()) {
|
|
20
|
+
minter = _minter;
|
|
21
|
+
sfrxETH = IFrxEthMinter(minter).sfrxETHToken();
|
|
22
|
+
frxETH = IFrxEthMinter(minter).frxETHToken();
|
|
23
|
+
|
|
24
|
+
_safeApproveInf(frxETH, sfrxETH);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/*///////////////////////////////////////////////////////////////
|
|
28
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
29
|
+
//////////////////////////////////////////////////////////////*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* The underlying yield token is frxETH. If the base token deposited is ETH, the function
|
|
33
|
+
* deposits through fraxMinterContract - the most efficient way to get frxETH and deposit
|
|
34
|
+
* directly to sfrxETH.
|
|
35
|
+
*/
|
|
36
|
+
function _deposit(
|
|
37
|
+
address tokenIn,
|
|
38
|
+
uint256 amountDeposited
|
|
39
|
+
) internal virtual override returns (uint256 /*amountSharesOut*/) {
|
|
40
|
+
if (tokenIn == NATIVE) {
|
|
41
|
+
return IFrxEthMinter(minter).submitAndDeposit{ value: amountDeposited }(address(this));
|
|
42
|
+
} else if (tokenIn == frxETH) {
|
|
43
|
+
return IERC4626(sfrxETH).deposit(amountDeposited, address(this));
|
|
44
|
+
} else {
|
|
45
|
+
return amountDeposited;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Withdrawal to sfrxETH and frxETH is done normally as other ERC4626.
|
|
51
|
+
* Withdrawal to ETH is on the other hand not possible
|
|
52
|
+
*/
|
|
53
|
+
function _redeem(
|
|
54
|
+
address receiver,
|
|
55
|
+
address tokenOut,
|
|
56
|
+
uint256 amountSharesToRedeem
|
|
57
|
+
) internal virtual override returns (uint256 /*amountTokenOut*/) {
|
|
58
|
+
if (tokenOut == sfrxETH) {
|
|
59
|
+
_transferOut(sfrxETH, receiver, amountSharesToRedeem);
|
|
60
|
+
return amountSharesToRedeem;
|
|
61
|
+
} else {
|
|
62
|
+
return IERC4626(sfrxETH).redeem(amountSharesToRedeem, receiver, address(this));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/*///////////////////////////////////////////////////////////////
|
|
67
|
+
EXCHANGE-RATE
|
|
68
|
+
//////////////////////////////////////////////////////////////*/
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @notice Calculates and updates the exchange rate of shares to underlying asset token
|
|
72
|
+
* @dev It is the exchange rate of sfrxETH to frxETH
|
|
73
|
+
*/
|
|
74
|
+
function exchangeRate() public view virtual override returns (uint256) {
|
|
75
|
+
return IERC4626(sfrxETH).convertToAssets(1 ether);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/*///////////////////////////////////////////////////////////////
|
|
79
|
+
MISC FUNCTIONS FOR METADATA
|
|
80
|
+
//////////////////////////////////////////////////////////////*/
|
|
81
|
+
|
|
82
|
+
function _previewDeposit(
|
|
83
|
+
address tokenIn,
|
|
84
|
+
uint256 amountTokenToDeposit
|
|
85
|
+
) internal view override returns (uint256 /*amountSharesOut*/) {
|
|
86
|
+
if (tokenIn == sfrxETH) {
|
|
87
|
+
return amountTokenToDeposit;
|
|
88
|
+
} else {
|
|
89
|
+
return IERC4626(sfrxETH).previewDeposit(amountTokenToDeposit);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function _previewRedeem(
|
|
94
|
+
address tokenOut,
|
|
95
|
+
uint256 amountSharesToRedeem
|
|
96
|
+
) internal view override returns (uint256 /*amountTokenOut*/) {
|
|
97
|
+
if (tokenOut == sfrxETH) {
|
|
98
|
+
return amountSharesToRedeem;
|
|
99
|
+
} else {
|
|
100
|
+
return IERC4626(sfrxETH).convertToAssets(amountSharesToRedeem);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
105
|
+
res = new address[](3);
|
|
106
|
+
res[0] = frxETH;
|
|
107
|
+
res[1] = sfrxETH;
|
|
108
|
+
res[2] = NATIVE;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
112
|
+
res = new address[](2);
|
|
113
|
+
res[0] = frxETH;
|
|
114
|
+
res[1] = sfrxETH;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
118
|
+
return token == frxETH || token == sfrxETH || token == NATIVE;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
122
|
+
return token == frxETH || token == sfrxETH;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function assetInfo()
|
|
126
|
+
external
|
|
127
|
+
view
|
|
128
|
+
returns (AssetType assetType, address assetAddress, uint8 assetDecimals)
|
|
129
|
+
{
|
|
130
|
+
return (AssetType.TOKEN, frxETH, 18);
|
|
131
|
+
}
|
|
132
|
+
}
|