@pendle/core-v2 2.29.1 → 2.29.3
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/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/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/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +426 -0
- 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/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- 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/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- 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/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- 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/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleExternalRewardDistributor.sol/PendleExternalRewardDistributor.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/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/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/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/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.json +927 -0
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.json +993 -0
- 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/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.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/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 +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +1162 -0
- 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/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
- 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/Linear/BbAPoolHelper.sol/BbAPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/BbAPoolHelper.sol/BbAWethHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearMath.sol/LinearMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/Linear/LinearPreview.sol/LinearPreview.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/PendleAuraBalancerStableLPSYV2.sol/PendleAuraBalancerStableLPSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol/PendleAuraBalancerStableLPSYV3Upg.json +1139 -0
- 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/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/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
- 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/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/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.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/Flux/FluxTokenLib.sol/FluxTokenLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.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/HMX/HLPPricingHelper.sol/HLPPricingHelper.dbg.json +1 -1
- 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/Kyber/KyberMathHelper.sol/KyberMathHelper.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol/KyberMathHelper.json +375 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.json +82 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +1238 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
- 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/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- 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/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +1112 -0
- 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/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
- 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/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/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/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/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +4 -0
- package/build/artifacts/contracts/core/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.json +321 -0
- package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.dbg.json +4 -0
- package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.json +246 -0
- 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/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/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/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.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/IERC4626LinearPool.sol/IERC4626LinearPool.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/IPComposableStablePreview.sol/IPComposableStablePreview.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/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.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/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
- 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/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/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.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/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.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 +1 -1
- 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/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.json +150 -0
- 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/IPOracleForSy.sol/IPOracleForSy.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 +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/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/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.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/ISwETH.sol/ISwETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.json +436 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.json +300 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.json +225 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.json +894 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.json +128 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.json +614 -0
- package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.json +837 -0
- package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.json +48 -0
- package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.json +35 -0
- package/build/artifacts/contracts/interfaces/Stader/IStaderStakeManager.sol/IStaderStakeManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Thena/IThenaFactory.sol/IThenaFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Thena/IThenaGaugeV2.sol/IThenaGaugeV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Thena/IThenaPair.sol/IThenaPair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Thena/IThenaRouter.sol/IThenaRouter.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- 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/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/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- 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/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- 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/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.json +2 -2
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- 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/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- 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/MarketApproxPtOutLib.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/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/oneinch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/oneinch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
- package/contracts/LiquidityMining/PendleMerkleDistributor.sol +95 -0
- package/contracts/core/StandardizedYield/SYBaseUpg.sol +224 -0
- package/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol +120 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/{PendleAuraWethVethSY.sol → AuraWethVethSYUpg.sol} +31 -33
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSYV3Upg.sol +363 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/KyberMathHelper.sol +390 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol +411 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol +153 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol +132 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol +18 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol +75 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol +21 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol +117 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol +37 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol +31 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol +75 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol +338 -0
- package/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol +224 -0
- package/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol +165 -0
- package/contracts/core/erc20/PendleERC20PermitUpg.sol +87 -0
- package/contracts/core/erc20/PendleERC20Upg.sol +340 -0
- package/contracts/core/libraries/ArrayLib.sol +5 -0
- package/contracts/interfaces/IPMerkleDistributor.sol +24 -0
- package/contracts/interfaces/Kyber/IKyberElasticFactory.sol +165 -0
- package/contracts/interfaces/Kyber/IKyberElasticPool.sol +112 -0
- package/contracts/interfaces/Kyber/IKyberElasticRouter.sol +110 -0
- package/contracts/interfaces/Kyber/IKyberLiquidityMining.sol +227 -0
- package/contracts/interfaces/Kyber/IKyberMathHelper.sol +28 -0
- package/contracts/interfaces/Kyber/IKyberPositionManager.sol +196 -0
- package/contracts/interfaces/Silo/ISilo.sol +317 -0
- package/contracts/interfaces/Silo/ISiloIncentiveController.sol +19 -0
- package/contracts/interfaces/Silo/ISiloLens.sol +9 -0
- package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +41 -49
- package/contracts/router/PendleRouterHelper2.sol +40 -0
- package/deployments/1-core.json +1 -0
- package/deployments/1-markets/EPENDLE-SEP2024.json +12 -0
- package/deployments/1-markets/SFRAX-MARCH2024.json +10 -0
- package/deployments/1-markets/SILO-CRVUSD-MARCH2024.json +10 -0
- package/deployments/10-core.json +1 -0
- package/deployments/42161-core.json +3 -1
- package/deployments/42161-markets/KYBER-AXLWSTETH-WSTETH-MARCH2024.json +10 -0
- package/deployments/56-core.json +1 -0
- package/deployments/core.ts +29 -0
- package/deployments/index.ts +4 -0
- package/deployments/markets/ape-june-29-2023.ts +3 -0
- package/deployments/markets/balancer-reth-dec-28-2023.ts +3 -0
- package/deployments/markets/balancer-wsteth-jun-27-2024.ts +3 -0
- package/deployments/markets/curve-fraxusdc-march-30-2023.ts +3 -0
- package/deployments/markets/index.ts +17 -0
- package/deployments/markets/looks-march-30-2023.ts +3 -0
- package/deployments/markets/steth-june-29-2023.ts +3 -0
- package/deployments/markets/steth-march-30-2023.ts +3 -0
- package/deployments/markets/types.ts +9 -0
- package/deployments/merkle-distribution/2023-10-26.json +7300 -0
- package/deployments/misc.ts +23 -0
- package/package.json +8 -8
- package/typechain-types/AuraWethVethSYUpg.ts +1547 -0
- package/typechain-types/BotDecisionHelperBase.ts +508 -0
- package/typechain-types/EIP712Upgradeable.ts +68 -0
- package/typechain-types/IBotDecisionHelper.ts +476 -0
- package/typechain-types/IHashflow.ts +159 -0
- package/typechain-types/IInterestUSTP.ts +156 -0
- package/typechain-types/IKyberElasticFactory.ts +734 -0
- package/typechain-types/IKyberElasticPool.ts +514 -0
- package/typechain-types/IKyberElasticRouter.ts +315 -0
- package/typechain-types/IKyberLiquidityMining.ts +968 -0
- package/typechain-types/IKyberMathHelper.ts +231 -0
- package/typechain-types/IKyberPositionManager.ts +773 -0
- package/typechain-types/ILongYieldDecisionHelper.ts +512 -0
- package/typechain-types/ILongYieldTradingBot.ts +703 -0
- package/typechain-types/IMUXRewardRouter.ts +1599 -0
- package/typechain-types/IPMerkleDistributor.ts +241 -0
- package/typechain-types/IPOffchainStorage.ts +129 -0
- package/typechain-types/IPPriceFeed.ts +81 -0
- package/typechain-types/IRebasingUSTP.ts +133 -0
- package/typechain-types/IShortYieldDecisionHelper.ts +476 -0
- package/typechain-types/IShortYieldTradingBot.ts +574 -0
- package/typechain-types/ISilo.ts +1093 -0
- package/typechain-types/ISiloIncentiveController.ts +129 -0
- package/typechain-types/{IERC1271.ts → ISiloLens.ts} +27 -27
- package/typechain-types/IStellaLendingPool.ts +87 -0
- package/typechain-types/IStellaLendingProxy.ts +144 -0
- package/typechain-types/ITradingBotBase.ts +373 -0
- package/typechain-types/IUSTP.ts +127 -0
- package/typechain-types/KyberMathHelper.ts +604 -0
- package/typechain-types/KyberNftManagerBase.ts +364 -0
- package/typechain-types/KyberNftManagerBaseUpg.ts +148 -0
- package/typechain-types/{AllErrorsDirectory.ts → LongYieldActionLib.ts} +5 -5
- package/typechain-types/LongYieldDecisionHelper.ts +682 -0
- package/typechain-types/LongYieldTradingBot.ts +2299 -0
- package/typechain-types/MarketExtLib.ts +81 -0
- package/typechain-types/MlpPricingHelper.ts +384 -0
- package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +1512 -0
- package/typechain-types/PendleERC20PermitUpg.ts +452 -0
- package/typechain-types/PendleERC20Upg.ts +348 -0
- package/typechain-types/PendleHyperStellaETH.ts +1248 -0
- package/typechain-types/PendleIUSTPSY.ts +1255 -0
- package/typechain-types/PendleKyberElasticSY.ts +1803 -0
- package/typechain-types/PendleKyberElasticSYUpg.ts +1583 -0
- package/typechain-types/PendleMerkleDistributor.ts +616 -0
- package/typechain-types/PendleMlpSY.ts +1522 -0
- package/typechain-types/PendleOffchainStorage.ts +651 -0
- package/typechain-types/PendleSiloWithIncentiveSY.ts +1390 -0
- package/typechain-types/PendleStellaHyperETH.ts +1235 -0
- package/typechain-types/SYBaseUpg.ts +1205 -0
- package/typechain-types/SYBaseWithDecimals.ts +1205 -0
- package/typechain-types/SYBaseWithRewardsUpg.ts +1298 -0
- package/typechain-types/TradingBotBase.ts +1861 -0
- package/typechain-types/TvlLib.ts +215 -0
- package/typechain-types/factories/ActionMarketAuxStatic__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 +1215 -0
- package/typechain-types/factories/AutomationBase__factory.ts +1 -1
- package/typechain-types/factories/BotDecisionHelperBase__factory.ts +835 -0
- package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +1 -1
- package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +1 -1
- package/typechain-types/factories/EIP712Upgradeable__factory.ts +39 -0
- package/typechain-types/factories/IBotDecisionHelper__factory.ts +694 -0
- package/typechain-types/factories/IHashflow__factory.ts +113 -0
- package/typechain-types/factories/IInterestUSTP__factory.ts +75 -0
- package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
- package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
- package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
- package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
- package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
- package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
- package/typechain-types/factories/ILongYieldDecisionHelper__factory.ts +717 -0
- package/typechain-types/factories/ILongYieldTradingBot__factory.ts +764 -0
- package/typechain-types/factories/IMUXRewardRouter__factory.ts +885 -0
- package/typechain-types/factories/IPMerkleDistributor__factory.ts +165 -0
- package/typechain-types/factories/IPOffchainStorage__factory.ts +63 -0
- package/typechain-types/factories/IPPriceFeed__factory.ts +36 -0
- package/typechain-types/factories/IRebasingUSTP__factory.ts +49 -0
- package/typechain-types/factories/IShortYieldDecisionHelper__factory.ts +698 -0
- package/typechain-types/factories/IShortYieldTradingBot__factory.ts +813 -0
- package/typechain-types/factories/ISiloIncentiveController__factory.ts +67 -0
- package/typechain-types/factories/ISiloLens__factory.ts +47 -0
- package/typechain-types/factories/ISilo__factory.ts +846 -0
- package/typechain-types/factories/IStellaLendingPool__factory.ts +39 -0
- package/typechain-types/factories/IStellaLendingProxy__factory.ts +74 -0
- package/typechain-types/factories/ITradingBotBase__factory.ts +366 -0
- package/typechain-types/factories/IUSTP__factory.ts +46 -0
- package/typechain-types/factories/KyberMathHelper__factory.ts +430 -0
- package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +101 -0
- package/typechain-types/factories/KyberNftManagerBase__factory.ts +279 -0
- package/typechain-types/factories/LongYieldActionLib__factory.ts +207 -0
- package/typechain-types/factories/LongYieldDecisionHelper__factory.ts +1481 -0
- package/typechain-types/factories/LongYieldTradingBot__factory.ts +2159 -0
- package/typechain-types/factories/MarketExtLib__factory.ts +74 -0
- package/typechain-types/factories/MlpPricingHelper__factory.ts +290 -0
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +1160 -0
- 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/PendleAuraWethVethSY__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/PendleChainlinkRelayer__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/PendleERC20PermitUpg__factory.ts +340 -0
- package/typechain-types/factories/PendleERC20Upg__factory.ts +261 -0
- package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
- package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleHlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleHyperStellaETH__factory.ts +1060 -0
- package/typechain-types/factories/PendleIUSTPSY__factory.ts +1061 -0
- package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1302 -0
- package/typechain-types/factories/PendleKyberElasticSY__factory.ts +1505 -0
- package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMerkleDistributor__factory.ts +488 -0
- package/typechain-types/factories/PendleMlpSY__factory.ts +1230 -0
- package/typechain-types/factories/PendleOffchainStorage__factory.ts +468 -0
- package/typechain-types/factories/PendlePtUsdChainlinkOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1201 -0
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStellaHyperETH__factory.ts +1034 -0
- package/typechain-types/factories/PendleThenaSY__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/SYBaseUpg__factory.ts +939 -0
- package/typechain-types/factories/SYBaseWithDecimals__factory.ts +942 -0
- package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +1012 -0
- package/typechain-types/factories/TradingBotBase__factory.ts +1663 -0
- package/typechain-types/factories/TvlLib__factory.ts +309 -0
- package/typechain-types/hardhat.d.ts +207 -27
- package/typechain-types/index.ts +46 -6
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.json +0 -1166
- package/deployments/1-markets/BALANCER-LP-AURA-VETH-WETH-SEP2024.json +0 -8
- package/typechain-types/factories/AllErrorsDirectory__factory.ts +0 -1596
- package/typechain-types/factories/IERC1271__factory.ts +0 -47
- /package/deployments/1-markets/{BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-BBAWETHSWETH-SEP-26-2024.json} +0 -0
- /package/deployments/1-markets/{BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json → deprecated/BALANCER-LP-AURA-ETHX-BBAWETH-SEP-26-2024.json} +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../RewardManager/RewardManager.sol";
|
|
5
|
+
import "./SYBaseUpg.sol";
|
|
6
|
+
|
|
7
|
+
/// NOTE: yieldToken MUST NEVER BE a rewardToken, else the rewardManager will behave erroneously
|
|
8
|
+
abstract contract SYBaseWithRewardsUpg is SYBaseUpg, RewardManager {
|
|
9
|
+
using PMath for uint256;
|
|
10
|
+
using ArrayLib for address[];
|
|
11
|
+
|
|
12
|
+
uint256[100] private __gap;
|
|
13
|
+
|
|
14
|
+
/*///////////////////////////////////////////////////////////////
|
|
15
|
+
REWARDS-RELATED
|
|
16
|
+
//////////////////////////////////////////////////////////////*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @dev See {IStandardizedYield-claimRewards}
|
|
20
|
+
*/
|
|
21
|
+
function claimRewards(address user)
|
|
22
|
+
external
|
|
23
|
+
virtual
|
|
24
|
+
override
|
|
25
|
+
nonReentrant
|
|
26
|
+
returns (uint256[] memory rewardAmounts)
|
|
27
|
+
{
|
|
28
|
+
_updateAndDistributeRewards(user);
|
|
29
|
+
rewardAmounts = _doTransferOutRewards(user, user);
|
|
30
|
+
|
|
31
|
+
emit ClaimRewards(user, _getRewardTokens(), rewardAmounts);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @dev See {IStandardizedYield-getRewardTokens}
|
|
36
|
+
*/
|
|
37
|
+
function getRewardTokens()
|
|
38
|
+
external
|
|
39
|
+
view
|
|
40
|
+
virtual
|
|
41
|
+
override
|
|
42
|
+
returns (address[] memory rewardTokens)
|
|
43
|
+
{
|
|
44
|
+
rewardTokens = _getRewardTokens();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @dev See {IStandardizedYield-accruedRewards}
|
|
49
|
+
*/
|
|
50
|
+
function accruedRewards(address user)
|
|
51
|
+
external
|
|
52
|
+
view
|
|
53
|
+
virtual
|
|
54
|
+
override
|
|
55
|
+
returns (uint256[] memory rewardAmounts)
|
|
56
|
+
{
|
|
57
|
+
address[] memory rewardTokens = _getRewardTokens();
|
|
58
|
+
rewardAmounts = new uint256[](rewardTokens.length);
|
|
59
|
+
for (uint256 i = 0; i < rewardTokens.length; ) {
|
|
60
|
+
rewardAmounts[i] = userReward[rewardTokens[i]][user].accrued;
|
|
61
|
+
unchecked {
|
|
62
|
+
i++;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function rewardIndexesCurrent()
|
|
68
|
+
external
|
|
69
|
+
override
|
|
70
|
+
nonReentrant
|
|
71
|
+
returns (uint256[] memory indexes)
|
|
72
|
+
{
|
|
73
|
+
_updateRewardIndex();
|
|
74
|
+
return rewardIndexesStored();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function rewardIndexesStored()
|
|
78
|
+
public
|
|
79
|
+
view
|
|
80
|
+
virtual
|
|
81
|
+
override
|
|
82
|
+
returns (uint256[] memory indexes)
|
|
83
|
+
{
|
|
84
|
+
address[] memory rewardTokens = _getRewardTokens();
|
|
85
|
+
indexes = new uint256[](rewardTokens.length);
|
|
86
|
+
for (uint256 i = 0; i < rewardTokens.length; ) {
|
|
87
|
+
indexes[i] = rewardState[rewardTokens[i]].index;
|
|
88
|
+
unchecked {
|
|
89
|
+
i++;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @notice returns the total number of reward shares
|
|
96
|
+
* @dev this is simply the total supply of shares, as rewards shares are equivalent to SY shares
|
|
97
|
+
*/
|
|
98
|
+
function _rewardSharesTotal() internal view virtual override returns (uint256) {
|
|
99
|
+
return totalSupply();
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @notice returns the reward shares of (`user`)
|
|
104
|
+
* @dev this is simply the SY balance of (`user`), as rewards shares are equivalent to SY shares
|
|
105
|
+
*/
|
|
106
|
+
function _rewardSharesUser(address user) internal view virtual override returns (uint256) {
|
|
107
|
+
return balanceOf(user);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/*///////////////////////////////////////////////////////////////
|
|
111
|
+
TRANSFER HOOKS
|
|
112
|
+
//////////////////////////////////////////////////////////////*/
|
|
113
|
+
function _beforeTokenTransfer(
|
|
114
|
+
address from,
|
|
115
|
+
address to,
|
|
116
|
+
uint256
|
|
117
|
+
) internal virtual override whenNotPaused {
|
|
118
|
+
_updateAndDistributeRewardsForTwo(from, to);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
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/PendleAuraBalancerStableLPSYV3Upg.sol";
|
|
5
5
|
import "./base/ComposableStable/ComposableStablePreview.sol";
|
|
6
6
|
|
|
7
|
-
contract
|
|
7
|
+
contract AuraWethVethSYUpg is PendleAuraBalancerStableLPSYV3Upg {
|
|
8
8
|
address internal constant VETH = 0x4Bc3263Eb5bb2Ef7Ad9aB6FB68be80E43b43801F;
|
|
9
9
|
address internal constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
|
|
10
10
|
|
|
@@ -16,39 +16,31 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
|
|
|
16
16
|
bool internal constant NO_TOKENS_EXEMPT = true;
|
|
17
17
|
bool internal constant ALL_TOKENS_EXEMPT = false;
|
|
18
18
|
|
|
19
|
-
constructor(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
)
|
|
23
|
-
PendleAuraBalancerStableLPSYV2(
|
|
24
|
-
_name,
|
|
25
|
-
_symbol,
|
|
26
|
-
LP,
|
|
27
|
-
AURA_PID,
|
|
28
|
-
ComposableStablePreview(COMPOSABLE_PREVIEW)
|
|
29
|
-
)
|
|
19
|
+
constructor()
|
|
20
|
+
PendleAuraBalancerStableLPSYV3Upg(LP, AURA_PID, ComposableStablePreview(COMPOSABLE_PREVIEW))
|
|
21
|
+
initializer
|
|
30
22
|
//solhint-disable-next-line
|
|
31
|
-
{
|
|
23
|
+
{}
|
|
32
24
|
|
|
25
|
+
function initialize(string memory _name, string memory _symbol) external initializer {
|
|
26
|
+
__PendleAuraBalancerStableLPSYV3Upg_init(_name, _symbol);
|
|
33
27
|
}
|
|
34
28
|
|
|
35
|
-
function _deposit(
|
|
36
|
-
address tokenIn,
|
|
37
|
-
uint256 amount
|
|
38
|
-
) internal virtual override returns (uint256 amountSharesOut) {
|
|
29
|
+
function _deposit(address tokenIn, uint256 amount) internal virtual override returns (uint256 amountSharesOut) {
|
|
39
30
|
if (tokenIn == NATIVE) {
|
|
40
|
-
IWETH(WETH).deposit{
|
|
31
|
+
IWETH(WETH).deposit{value: amount}();
|
|
41
32
|
amountSharesOut = super._deposit(WETH, amount);
|
|
42
33
|
} else {
|
|
43
34
|
amountSharesOut = super._deposit(tokenIn, amount);
|
|
44
35
|
}
|
|
45
36
|
}
|
|
46
37
|
|
|
47
|
-
function _redeem(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
function _redeem(address receiver, address tokenOut, uint256 amountSharesToRedeem)
|
|
39
|
+
internal
|
|
40
|
+
virtual
|
|
41
|
+
override
|
|
42
|
+
returns (uint256)
|
|
43
|
+
{
|
|
52
44
|
if (tokenOut == NATIVE) {
|
|
53
45
|
uint256 amountTokenOut = super._redeem(address(this), WETH, amountSharesToRedeem);
|
|
54
46
|
IWETH(WETH).withdraw(amountTokenOut);
|
|
@@ -59,10 +51,13 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
|
|
|
59
51
|
}
|
|
60
52
|
}
|
|
61
53
|
|
|
62
|
-
function _previewDeposit(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
55
|
+
internal
|
|
56
|
+
view
|
|
57
|
+
virtual
|
|
58
|
+
override
|
|
59
|
+
returns (uint256 amountSharesOut)
|
|
60
|
+
{
|
|
66
61
|
if (tokenIn == NATIVE) {
|
|
67
62
|
amountSharesOut = super._previewDeposit(WETH, amountTokenToDeposit);
|
|
68
63
|
} else {
|
|
@@ -70,10 +65,13 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
|
|
|
70
65
|
}
|
|
71
66
|
}
|
|
72
67
|
|
|
73
|
-
function _previewRedeem(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
68
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
69
|
+
internal
|
|
70
|
+
view
|
|
71
|
+
virtual
|
|
72
|
+
override
|
|
73
|
+
returns (uint256 amountTokenOut)
|
|
74
|
+
{
|
|
77
75
|
if (tokenOut == NATIVE) {
|
|
78
76
|
amountTokenOut = super._previewRedeem(WETH, amountSharesToRedeem);
|
|
79
77
|
} else {
|
|
@@ -144,4 +142,4 @@ contract PendleAuraWethVethSY is PendleAuraBalancerStableLPSYV2 {
|
|
|
144
142
|
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
145
143
|
return isValidTokenIn(token);
|
|
146
144
|
}
|
|
147
|
-
}
|
|
145
|
+
}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
5
|
+
|
|
6
|
+
import "../../../../../interfaces/Balancer/IVault.sol";
|
|
7
|
+
import "../../../../../interfaces/Balancer/IRateProvider.sol";
|
|
8
|
+
import "../../../../../interfaces/Balancer/IBasePool.sol";
|
|
9
|
+
import "../../../../../interfaces/Balancer/IBalancerStablePreview.sol";
|
|
10
|
+
import "../../../../../interfaces/ConvexCurve/IBooster.sol";
|
|
11
|
+
import "../../../../../interfaces/ConvexCurve/IRewards.sol";
|
|
12
|
+
|
|
13
|
+
import "./StablePoolUserData.sol";
|
|
14
|
+
import "../../../../libraries/ArrayLib.sol";
|
|
15
|
+
import "../../../SYBaseWithRewardsUpg.sol";
|
|
16
|
+
|
|
17
|
+
abstract contract PendleAuraBalancerStableLPSYV3Upg is SYBaseWithRewardsUpg {
|
|
18
|
+
using ArrayLib for address[];
|
|
19
|
+
|
|
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;
|
|
25
|
+
|
|
26
|
+
address public immutable balLp;
|
|
27
|
+
bytes32 public immutable balPoolId;
|
|
28
|
+
|
|
29
|
+
uint256 public immutable auraPid;
|
|
30
|
+
address public immutable auraRewardManager;
|
|
31
|
+
|
|
32
|
+
IBalancerStablePreview public immutable previewHelper;
|
|
33
|
+
|
|
34
|
+
uint256 public gasForReentrancyCheck;
|
|
35
|
+
address[] public extraRewards;
|
|
36
|
+
|
|
37
|
+
uint256[100] private __gap;
|
|
38
|
+
|
|
39
|
+
constructor(address _balLp, uint256 _auraPid, IBalancerStablePreview _previewHelper)
|
|
40
|
+
SYBaseUpg(_balLp)
|
|
41
|
+
{
|
|
42
|
+
balPoolId = IBasePool(_balLp).getPoolId();
|
|
43
|
+
auraPid = _auraPid;
|
|
44
|
+
|
|
45
|
+
(balLp, auraRewardManager) = _getPoolInfo(_auraPid);
|
|
46
|
+
if (balLp != _balLp) revert Errors.SYBalancerInvalidPid();
|
|
47
|
+
|
|
48
|
+
previewHelper = _previewHelper;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function __PendleAuraBalancerStableLPSYV3Upg_init(string memory _name, string memory _symbol)
|
|
52
|
+
internal
|
|
53
|
+
onlyInitializing
|
|
54
|
+
{
|
|
55
|
+
__SYBaseUpg_init(_name, _symbol);
|
|
56
|
+
|
|
57
|
+
_safeApproveInf(balLp, AURA_BOOSTER);
|
|
58
|
+
address[] memory tokens = _getPoolTokenAddresses();
|
|
59
|
+
for (uint256 i = 0; i < tokens.length; ++i) {
|
|
60
|
+
_safeApproveInf(tokens[i], BALANCER_VAULT);
|
|
61
|
+
}
|
|
62
|
+
gasForReentrancyCheck = DEFAULT_GAS_REENTRANCY_CHECK;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function _getPoolInfo(uint256 _auraPid)
|
|
66
|
+
internal
|
|
67
|
+
view
|
|
68
|
+
returns (address _auraLp, address _auraRewardManager)
|
|
69
|
+
{
|
|
70
|
+
if (_auraPid > IBooster(AURA_BOOSTER).poolLength()) revert Errors.SYBalancerInvalidPid();
|
|
71
|
+
(_auraLp, , , _auraRewardManager, , ) = IBooster(AURA_BOOSTER).poolInfo(_auraPid);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/*///////////////////////////////////////////////////////////////
|
|
75
|
+
DEPOSIT/REDEEM USING BASE TOKENS
|
|
76
|
+
//////////////////////////////////////////////////////////////*/
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @notice Either wraps LP, or also joins pool using exact tokenIn
|
|
80
|
+
*/
|
|
81
|
+
function _deposit(address tokenIn, uint256 amount)
|
|
82
|
+
internal
|
|
83
|
+
virtual
|
|
84
|
+
override
|
|
85
|
+
returns (uint256 amountSharesOut)
|
|
86
|
+
{
|
|
87
|
+
if (tokenIn == balLp) {
|
|
88
|
+
amountSharesOut = amount;
|
|
89
|
+
} else {
|
|
90
|
+
amountSharesOut = _depositToBalancer(tokenIn, amount);
|
|
91
|
+
}
|
|
92
|
+
IBooster(AURA_BOOSTER).deposit(auraPid, amountSharesOut, true);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @notice Either unwraps LP, or also exits pool using exact LP for only `tokenOut`
|
|
97
|
+
*/
|
|
98
|
+
function _redeem(
|
|
99
|
+
address receiver,
|
|
100
|
+
address tokenOut,
|
|
101
|
+
uint256 amountSharesToRedeem
|
|
102
|
+
) internal virtual override returns (uint256 amountTokenOut) {
|
|
103
|
+
IRewards(auraRewardManager).withdrawAndUnwrap(amountSharesToRedeem, false);
|
|
104
|
+
|
|
105
|
+
if (tokenOut == balLp) {
|
|
106
|
+
amountTokenOut = amountSharesToRedeem;
|
|
107
|
+
_transferOut(tokenOut, receiver, amountTokenOut);
|
|
108
|
+
} else {
|
|
109
|
+
amountTokenOut = _redeemFromBalancer(receiver, tokenOut, amountSharesToRedeem);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function exchangeRate() external view override returns (uint256) {
|
|
114
|
+
_checkBalancerReadOnlyReentrancy();
|
|
115
|
+
return IRateProvider(balLp).getRate();
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/*
|
|
119
|
+
* The `manageUserBalance` function is a non-view function that includes a reentrancy guard
|
|
120
|
+
in the form of `_require(_status != _ENTERED, Errors.REENTRANCY);`. To prevent
|
|
121
|
+
read-only reentrancy, it's important to ensure that our `manageUserBalance` has enough gas
|
|
122
|
+
to reach this check, so that it can fail if necessary.
|
|
123
|
+
|
|
124
|
+
* On the way to the check, there's at most one `COLD_SLOAD` plus miscellaneous decoding &
|
|
125
|
+
require, which we've found through testing to cost no more than 3200 gas. Therefore,
|
|
126
|
+
attaching 7000 gas should guarantee that it's always possible to reach the check.
|
|
127
|
+
|
|
128
|
+
* Once we've reached the check, one of two scenarios can occur:
|
|
129
|
+
1. The call doesn't pass the check, and reverts with error `BAL#400` ⇒ `response.length = 100`.
|
|
130
|
+
2. The call passes the check. Then, the call can either:
|
|
131
|
+
a. continue on to set the `status` variable to 2, causing the EVM to revert (since
|
|
132
|
+
the sub-call is a `staticcall`), and `response.length == 0`
|
|
133
|
+
b. run out of gas, which will also lead to a revert with `response.length == 0`
|
|
134
|
+
In both cases, to differentiate between 1 and 2, we check `response.length != 0`. If it's
|
|
135
|
+
true, then it's a read-only reentrancy. Otherwise, we're good (and we can ignore
|
|
136
|
+
differentiating between 2a and 2b).
|
|
137
|
+
*/
|
|
138
|
+
function _checkBalancerReadOnlyReentrancy() internal view {
|
|
139
|
+
IVault.UserBalanceOp[] memory noop = new IVault.UserBalanceOp[](0);
|
|
140
|
+
|
|
141
|
+
(bool isSuccess, bytes memory response) = BALANCER_VAULT.staticcall{
|
|
142
|
+
gas: gasForReentrancyCheck
|
|
143
|
+
}(
|
|
144
|
+
abi.encodeWithSignature(
|
|
145
|
+
"manageUserBalance((uint8,address,uint256,address,address)[])",
|
|
146
|
+
noop
|
|
147
|
+
)
|
|
148
|
+
);
|
|
149
|
+
|
|
150
|
+
assert(!isSuccess);
|
|
151
|
+
if (response.length != 0) revert Errors.SYBalancerReentrancy();
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
function setGasForReentrancyCheck(uint256 newGas) external onlyOwner {
|
|
155
|
+
require(newGas >= DEFAULT_GAS_REENTRANCY_CHECK, "lower than default");
|
|
156
|
+
gasForReentrancyCheck = newGas;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/*///////////////////////////////////////////////////////////////
|
|
160
|
+
BALANCER-RELATED FUNCTIONS
|
|
161
|
+
//////////////////////////////////////////////////////////////*/
|
|
162
|
+
|
|
163
|
+
function _depositToBalancer(address tokenIn, uint256 amountTokenToDeposit)
|
|
164
|
+
internal
|
|
165
|
+
virtual
|
|
166
|
+
returns (uint256)
|
|
167
|
+
{
|
|
168
|
+
IVault.JoinPoolRequest memory request = _assembleJoinRequest(
|
|
169
|
+
tokenIn,
|
|
170
|
+
amountTokenToDeposit
|
|
171
|
+
);
|
|
172
|
+
IVault(BALANCER_VAULT).joinPool(balPoolId, address(this), address(this), request);
|
|
173
|
+
|
|
174
|
+
// amount shares out = amount LP received
|
|
175
|
+
return _selfBalance(balLp);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function _assembleJoinRequest(address tokenIn, uint256 amountTokenToDeposit)
|
|
179
|
+
internal
|
|
180
|
+
view
|
|
181
|
+
virtual
|
|
182
|
+
returns (IVault.JoinPoolRequest memory request)
|
|
183
|
+
{
|
|
184
|
+
// max amounts in
|
|
185
|
+
address[] memory assets = _getPoolTokenAddresses();
|
|
186
|
+
|
|
187
|
+
uint256 amountsLength = _getBPTIndex() < type(uint256).max
|
|
188
|
+
? assets.length - 1
|
|
189
|
+
: assets.length;
|
|
190
|
+
|
|
191
|
+
uint256[] memory amountsIn = new uint256[](amountsLength);
|
|
192
|
+
uint256[] memory maxAmountsIn = new uint256[](assets.length);
|
|
193
|
+
|
|
194
|
+
uint256 index = assets.find(tokenIn);
|
|
195
|
+
uint256 indexSkipBPT = index > _getBPTIndex() ? index - 1 : index;
|
|
196
|
+
maxAmountsIn[index] = amountsIn[indexSkipBPT] = amountTokenToDeposit;
|
|
197
|
+
|
|
198
|
+
// encode user data
|
|
199
|
+
StablePoolUserData.JoinKind joinKind = StablePoolUserData
|
|
200
|
+
.JoinKind
|
|
201
|
+
.EXACT_TOKENS_IN_FOR_BPT_OUT;
|
|
202
|
+
uint256 minimumBPT = 0;
|
|
203
|
+
|
|
204
|
+
bytes memory userData = abi.encode(joinKind, amountsIn, minimumBPT);
|
|
205
|
+
|
|
206
|
+
// assemble joinpoolrequest
|
|
207
|
+
request = IVault.JoinPoolRequest(assets, maxAmountsIn, userData, false);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
function _redeemFromBalancer(
|
|
211
|
+
address receiver,
|
|
212
|
+
address tokenOut,
|
|
213
|
+
uint256 amountLpToRedeem
|
|
214
|
+
) internal virtual returns (uint256) {
|
|
215
|
+
uint256 balanceBefore = IERC20(tokenOut).balanceOf(receiver);
|
|
216
|
+
|
|
217
|
+
IVault.ExitPoolRequest memory request = _assembleExitRequest(tokenOut, amountLpToRedeem);
|
|
218
|
+
IVault(BALANCER_VAULT).exitPool(balPoolId, address(this), payable(receiver), request);
|
|
219
|
+
|
|
220
|
+
// calculate amount of tokens out
|
|
221
|
+
uint256 balanceAfter = IERC20(tokenOut).balanceOf(receiver);
|
|
222
|
+
return balanceAfter - balanceBefore;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function _assembleExitRequest(address tokenOut, uint256 amountLpToRedeem)
|
|
226
|
+
internal
|
|
227
|
+
view
|
|
228
|
+
virtual
|
|
229
|
+
returns (IVault.ExitPoolRequest memory request)
|
|
230
|
+
{
|
|
231
|
+
address[] memory assets = _getPoolTokenAddresses();
|
|
232
|
+
uint256[] memory minAmountsOut = new uint256[](assets.length);
|
|
233
|
+
|
|
234
|
+
// encode user data
|
|
235
|
+
StablePoolUserData.ExitKind exitKind = StablePoolUserData
|
|
236
|
+
.ExitKind
|
|
237
|
+
.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT;
|
|
238
|
+
uint256 bptAmountIn = amountLpToRedeem;
|
|
239
|
+
uint256 exitTokenIndex = assets.find(tokenOut);
|
|
240
|
+
|
|
241
|
+
// must drop BPT index as well
|
|
242
|
+
exitTokenIndex = _getBPTIndex() < exitTokenIndex ? exitTokenIndex - 1 : exitTokenIndex;
|
|
243
|
+
|
|
244
|
+
bytes memory userData = abi.encode(exitKind, bptAmountIn, exitTokenIndex);
|
|
245
|
+
|
|
246
|
+
// assemble exitpoolrequest
|
|
247
|
+
request = IVault.ExitPoolRequest(assets, minAmountsOut, userData, false);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/// @dev this should return tokens in the same order as `IVault.getPoolTokens()`
|
|
251
|
+
function _getPoolTokenAddresses() internal view virtual returns (address[] memory res);
|
|
252
|
+
|
|
253
|
+
/// @dev should be overriden if and only if BPT is one of the pool tokens
|
|
254
|
+
function _getBPTIndex() internal view virtual returns (uint256) {
|
|
255
|
+
return type(uint256).max;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/*///////////////////////////////////////////////////////////////
|
|
259
|
+
PREVIEW FUNCTIONS
|
|
260
|
+
//////////////////////////////////////////////////////////////*/
|
|
261
|
+
|
|
262
|
+
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
263
|
+
internal
|
|
264
|
+
view
|
|
265
|
+
virtual
|
|
266
|
+
override
|
|
267
|
+
returns (uint256 amountSharesOut)
|
|
268
|
+
{
|
|
269
|
+
if (tokenIn == balLp) {
|
|
270
|
+
amountSharesOut = amountTokenToDeposit;
|
|
271
|
+
} else {
|
|
272
|
+
IVault.JoinPoolRequest memory request = _assembleJoinRequest(
|
|
273
|
+
tokenIn,
|
|
274
|
+
amountTokenToDeposit
|
|
275
|
+
);
|
|
276
|
+
amountSharesOut = previewHelper.joinPoolPreview(
|
|
277
|
+
balPoolId,
|
|
278
|
+
address(this),
|
|
279
|
+
address(this),
|
|
280
|
+
request,
|
|
281
|
+
_getImmutablePoolData()
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
287
|
+
internal
|
|
288
|
+
view
|
|
289
|
+
virtual
|
|
290
|
+
override
|
|
291
|
+
returns (uint256 amountTokenOut)
|
|
292
|
+
{
|
|
293
|
+
if (tokenOut == balLp) {
|
|
294
|
+
amountTokenOut = amountSharesToRedeem;
|
|
295
|
+
} else {
|
|
296
|
+
IVault.ExitPoolRequest memory request = _assembleExitRequest(
|
|
297
|
+
tokenOut,
|
|
298
|
+
amountSharesToRedeem
|
|
299
|
+
);
|
|
300
|
+
|
|
301
|
+
amountTokenOut = previewHelper.exitPoolPreview(
|
|
302
|
+
balPoolId,
|
|
303
|
+
address(this),
|
|
304
|
+
address(this),
|
|
305
|
+
request,
|
|
306
|
+
_getImmutablePoolData()
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
function _getImmutablePoolData() internal view virtual returns (bytes memory);
|
|
312
|
+
|
|
313
|
+
/*///////////////////////////////////////////////////////////////
|
|
314
|
+
REWARDS-RELATED
|
|
315
|
+
//////////////////////////////////////////////////////////////*/
|
|
316
|
+
|
|
317
|
+
/// @notice allows owner to add new reward tokens in in case Aura does so with their pools
|
|
318
|
+
function addRewardTokens(address token) external virtual onlyOwner {
|
|
319
|
+
extraRewards.push(token);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
function extraRewardsLength() external view virtual returns (uint256) {
|
|
323
|
+
return extraRewards.length;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
function _getRewardTokens() internal view virtual override returns (address[] memory res) {
|
|
327
|
+
uint256 extraRewardsLen = extraRewards.length;
|
|
328
|
+
res = new address[](2 + extraRewardsLen);
|
|
329
|
+
res[0] = BAL_TOKEN;
|
|
330
|
+
res[1] = AURA_TOKEN;
|
|
331
|
+
for (uint256 i = 0; i < extraRewardsLen; i++) {
|
|
332
|
+
res[2 + i] = extraRewards[i];
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
function _redeemExternalReward() internal virtual override {
|
|
337
|
+
IRewards(auraRewardManager).getReward(address(this), true);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/*///////////////////////////////////////////////////////////////
|
|
341
|
+
MISC FUNCTIONS FOR METADATA
|
|
342
|
+
//////////////////////////////////////////////////////////////*/
|
|
343
|
+
|
|
344
|
+
function getTokensIn() public view virtual override returns (address[] memory res);
|
|
345
|
+
|
|
346
|
+
function getTokensOut() public view virtual override returns (address[] memory res);
|
|
347
|
+
|
|
348
|
+
function isValidTokenIn(address token) public view virtual override returns (bool);
|
|
349
|
+
|
|
350
|
+
function isValidTokenOut(address token) public view virtual override returns (bool);
|
|
351
|
+
|
|
352
|
+
function assetInfo()
|
|
353
|
+
external
|
|
354
|
+
view
|
|
355
|
+
returns (
|
|
356
|
+
AssetType assetType,
|
|
357
|
+
address assetAddress,
|
|
358
|
+
uint8 assetDecimals
|
|
359
|
+
)
|
|
360
|
+
{
|
|
361
|
+
return (AssetType.LIQUIDITY, balLp, IERC20Metadata(balLp).decimals());
|
|
362
|
+
}
|
|
363
|
+
}
|