@pendle/core-v2 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/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/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/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/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/PendleMarketFactory.sol/PendleMarketFactory.json +2 -2
- package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketFactoryV3.sol/PendleMarketFactoryV3.json +2 -2
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v3/PendleMarketV3.sol/PendleMarketV3.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/PendleLinearDistributor.sol/PendleLinearDistributor.json +2 -2
- package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseUpg.sol/SYBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewardsUpg.sol/SYBaseWithRewardsUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/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/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol/PendleAaveV3SY.json +1057 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/libraries/AaveAdapterLib.sol/AaveAdapterLib.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/libraries/AaveAdapterLib.sol/AaveAdapterLib.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/libraries/WadRayMath.sol/WadRayMath.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/AaveV3/libraries/WadRayMath.sol/WadRayMath.json +10 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraWethVethSYUpg.sol/AuraWethVethSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/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/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 +1 -1
- 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/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotRewardHelper.sol/CamelotRewardHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileCommon.sol/CamelotV1VolatileCommon.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatileLpHelper.sol/CamelotV1VolatileLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/CamelotV1VolatilePreview.sol/CamelotV1VolatilePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/CamelotV1Volatile/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
- 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/FluxTokenLib.sol/FluxTokenLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Flux/PendleFluxLendingSY.sol/PendleFluxLendingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/GMTokenPricingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2DataStore.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Oracle.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GMTokenPricingHelper.sol/IGMXV2Reader.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGMV2TokenSY.sol/PendleGMV2TokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/HMX/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 +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/KyberNftManagerBaseUpg.sol/KyberNftManagerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/PendleKyberElasticSYUpg.sol/PendleKyberElasticSYUpg.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/FullMath.sol/FullMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiqDeltaMath.sol/LiqDeltaMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/LiquidityMath.sol/LiquidityMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/MathConstants.sol/MathConstants.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QtyDeltaMath.sol/QtyDeltaMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/QuadMath.sol/QuadMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/ReinvestmentMath.sol/ReinvestmentMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SafeCast.sol/SafeCast.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/SwapMath.sol/SwapMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Kyber/libraries/TickMath.sol/TickMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/MlpPricingHelper.sol/MlpPricingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MUX/PendleMlpSY.sol/PendleMlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/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/PendleERC4626SY.sol/PendleERC4626SY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Silo/PendleSiloWithIncentiveSY.sol/PendleSiloWithIncentiveSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/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/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/erc20/PendleERC20PermitUpg.sol/PendleERC20PermitUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Upg.sol/PendleERC20Upg.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 +18 -50
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.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/AaveV3/IAaveV3AToken.sol/IAaveV3AToken.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/AaveV3/IAaveV3AToken.sol/IAaveV3AToken.json +99 -0
- package/build/artifacts/contracts/interfaces/AaveV3/IAaveV3Pool.sol/IAaveV3Pool.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/AaveV3/IAaveV3Pool.sol/IAaveV3Pool.json +87 -0
- 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/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/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.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/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/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/GMX/IGMXPriceHelper.sol/IGMXPriceHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.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/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IDailLikePermit.sol/IDaiLikePermit.json +59 -0
- 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/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json +2614 -0
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.json +68 -0
- 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/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionMintRedeem.sol/IPActionMintRedeem.json → IPActionMiscV3.sol/IPActionMiscV3.json} +269 -22
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.json +1185 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.json +1364 -0
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.json +6215 -0
- 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 +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/IPLimitRouter.sol/IPLimitOrderType.dbg.json +4 -0
- package/build/artifacts/contracts/{router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json → interfaces/IPLimitRouter.sol/IPLimitOrderType.json} +2 -2
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +541 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.json +45 -0
- package/build/artifacts/contracts/interfaces/IPLinearDistributor.sol/IPLinearDistributor.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/IPMarketFactoryV3.sol/IPMarketFactoryV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketV3.sol/IPMarketV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.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/IPRouterHelper.sol/IPRouterHelper.json +0 -25
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticFactory.sol/IKyberElasticFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticPool.sol/IKyberElasticPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberElasticRouter.sol/IKyberElasticRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberLiquidityMining.sol/IKyberLiquidityMining.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberMathHelper.sol/IKyberMathHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Kyber/IKyberPositionManager.sol/IKyberPositionManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/MUX/IMUXRewardRouter.sol/IMUXRewardRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Silo/ISilo.sol/ISilo.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Silo/ISiloIncentiveController.sol/ISiloIncentiveController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Silo/ISiloLens.sol/ISiloLens.dbg.json +1 -1
- 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/limit/LimitMathCore.sol/LimitMathCore.dbg.json +4 -0
- package/build/artifacts/contracts/{core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.json → limit/LimitMathCore.sol/LimitMathCore.json} +4 -4
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +4 -0
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.json +833 -0
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +4 -0
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +860 -0
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +4 -0
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +99 -0
- 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/Broadcaster.sol/Broadcaster.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.json +10 -0
- 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/LimitBackendHelper.sol/LimitBackendHelper.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelper.sol/LimitBackendHelper.json +174 -0
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/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/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +84 -0
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendlePtOracleLib.sol/PendlePtOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendleLpGlpOracle.sol/PendleLpGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtGlpOracle.sol/PendlePtGlpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2810 -0
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +116 -0
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1016 -0
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +1323 -0
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +1518 -0
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +3 -33
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/{interfaces/IPActionSwapPT.sol/IPActionSwapPT.json → router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.json} +163 -226
- package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +179 -0
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +4 -0
- package/build/artifacts/contracts/{offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json → router/base/ActionBase.sol/ActionBase.json} +2 -2
- 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/PendleSwap.sol/PendleSwapBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL1.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwapL2.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutorOptimistic.sol/IAggregationExecutorOptimistic.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperL2.sol/IExecutorHelperL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/InputScalingHelper.sol/InputScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l1-contracts/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/BytesHelper.sol/BytesHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataReader.sol/CalldataReader.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/CalldataWriter.sol/CalldataWriter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/Common.sol/Common.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/DexScaler.sol/DexScaler.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ExecutorReader.sol/ExecutorReader.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/InputScalingHelperL2.sol/InputScalingHelperL2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/l2-contracts/ScalingDataL2Lib.sol/ScalingDataL2Lib.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/GaugeController/PendleGaugeControllerMainchainUpg.sol +11 -7
- package/contracts/core/StandardizedYield/SYBase.sol +1 -0
- package/contracts/core/StandardizedYield/implementations/AaveV3/PendleAaveV3SY.sol +94 -0
- package/contracts/core/StandardizedYield/implementations/AaveV3/libraries/AaveAdapterLib.sol +19 -0
- package/contracts/core/StandardizedYield/implementations/AaveV3/libraries/WadRayMath.sol +126 -0
- package/contracts/core/libraries/Errors.sol +2 -3
- package/contracts/core/libraries/TokenHelper.sol +2 -0
- package/contracts/interfaces/AaveV3/IAaveV3AToken.sol +15 -0
- package/contracts/interfaces/AaveV3/IAaveV3Pool.sol +11 -0
- package/contracts/interfaces/IDailLikePermit.sol +17 -0
- package/contracts/interfaces/{IPActionAddRemoveLiq.sol → IPActionAddRemoveLiqV3.sol} +52 -40
- package/contracts/interfaces/IPActionCallbackV3.sol +7 -0
- package/contracts/interfaces/{IPActionMintRedeem.sol → IPActionMiscV3.sol} +38 -6
- package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
- package/contracts/interfaces/{IPActionSwapPT.sol → IPActionSwapPTV3.sol} +21 -31
- package/contracts/interfaces/{IPActionSwapYT.sol → IPActionSwapYTV3.sol} +25 -35
- package/contracts/interfaces/IPAllActionTypeV3.sol +34 -0
- package/contracts/interfaces/IPAllActionV3.sol +19 -0
- package/contracts/interfaces/IPBulkSeller.sol +7 -1
- package/contracts/interfaces/IPLimitRouter.sol +118 -0
- package/contracts/interfaces/IPRouterHelper.sol +6 -8
- package/contracts/limit/LimitMathCore.sol +158 -0
- package/contracts/limit/LimitRouterBase.sol +440 -0
- package/contracts/limit/PendleLimitRouter.sol +65 -0
- package/contracts/limit/helpers/NonceManager.sol +30 -0
- package/contracts/offchain-helpers/BytesLib.sol +551 -0
- package/contracts/offchain-helpers/LimitBackendHelper.sol +109 -0
- package/contracts/offchain-helpers/SimulateHelper.sol +40 -0
- package/contracts/oracles/PendlePtOracle.sol +3 -2
- package/contracts/router/ActionAddRemoveLiqV3.sol +504 -0
- package/contracts/router/ActionCallbackV3.sol +141 -0
- package/contracts/router/ActionMiscV3.sol +164 -0
- package/contracts/router/ActionSwapPTV3.sol +87 -0
- package/contracts/router/ActionSwapYTV3.sol +240 -0
- package/contracts/router/PendleRouterHelper.sol +56 -14
- package/contracts/router/PendleRouterV3.sol +235 -0
- package/contracts/router/base/ActionBase.sol +289 -0
- package/contracts/router/base/CallbackHelper.sol +20 -81
- package/contracts/router/base/MarketApproxLib.sol +124 -99
- package/deployments/1-core.json +5 -3
- package/deployments/10-core.json +5 -3
- package/deployments/42161-core.json +6 -3
- package/deployments/42161-markets/AAVE-USDC-JUNE2024.json +11 -0
- package/deployments/42161-markets/WSTETH-ARBITRUM-MARCH2024.json +11 -0
- package/deployments/42161-markets/WSTETHSILO-ETH-MARCH2024.json +11 -0
- package/deployments/56-core.json +5 -3
- package/deployments/merkle-distribution/2023-11-30.json +7730 -0
- package/package.json +5 -5
- package/typechain-types/ActionAddRemoveLiqV3.ts +10 -7
- package/typechain-types/ActionCallbackV3.ts +164 -0
- package/typechain-types/ActionMarketCoreStatic.ts +18 -63
- package/typechain-types/ActionMintRedeemStatic.ts +10 -102
- package/typechain-types/ActionMiscV3.ts +36 -75
- package/typechain-types/ActionStorageStatic.ts +0 -55
- package/typechain-types/ActionSwapPTV3.ts +8 -5
- package/typechain-types/ActionSwapYTV3.ts +8 -49
- package/typechain-types/IAaveV3AToken.ts +204 -0
- package/typechain-types/IAaveV3Pool.ts +192 -0
- package/typechain-types/IPActionAddRemoveLiqV3.ts +10 -7
- package/typechain-types/IPActionCallbackV3.ts +164 -0
- package/typechain-types/IPActionMiscV3.ts +36 -75
- package/typechain-types/IPActionSwapPTV3.ts +8 -5
- package/typechain-types/IPActionSwapYTV3.ts +8 -5
- package/typechain-types/IPAllActionV3.ts +103 -90
- package/typechain-types/IPLimitRouter.ts +65 -87
- package/typechain-types/IPLimitRouterCallback.ts +120 -0
- package/typechain-types/IPRouterHelper.ts +6 -19
- package/typechain-types/LimitBackendHelper.ts +287 -0
- package/typechain-types/LimitRouterBase.ts +964 -0
- package/typechain-types/PendleAaveV3SY.ts +1310 -0
- package/typechain-types/PendleLimitRouter.ts +210 -116
- package/typechain-types/PendleOrderMixin.ts +292 -92
- package/typechain-types/PendleRouterHelper.ts +7 -23
- package/typechain-types/SimulateHelper.ts +42 -35
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +43 -13
- package/typechain-types/factories/ActionCallbackV3__factory.ts +169 -0
- 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 -46
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -102
- package/typechain-types/factories/ActionMiscV3__factory.ts +35 -59
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -27
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +29 -9
- package/typechain-types/factories/ActionSwapYTV3__factory.ts +29 -64
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
- package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
- package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/CamelotRewardHelper__factory.ts +1 -1
- package/typechain-types/factories/CamelotV1VolatilePreview__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +17 -49
- package/typechain-types/factories/IAaveV3AToken__factory.ts +111 -0
- package/typechain-types/factories/IAaveV3Pool__factory.ts +99 -0
- package/typechain-types/factories/IPActionAddRemoveLiqV3__factory.ts +42 -12
- package/typechain-types/factories/IPActionCallbackV3__factory.ts +83 -0
- package/typechain-types/factories/IPActionMiscV3__factory.ts +18 -42
- package/typechain-types/factories/IPActionSwapPTV3__factory.ts +28 -8
- package/typechain-types/factories/IPActionSwapYTV3__factory.ts +28 -8
- package/typechain-types/factories/IPAllActionV3__factory.ts +150 -70
- package/typechain-types/factories/IPLimitRouterCallback__factory.ts +64 -0
- package/typechain-types/factories/IPLimitRouter__factory.ts +37 -145
- package/typechain-types/factories/IPRouterHelper__factory.ts +0 -25
- package/typechain-types/factories/LimitBackendHelper__factory.ts +232 -0
- package/typechain-types/factories/LimitRouterBase__factory.ts +848 -0
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleAaveV3SY__factory.ts +1130 -0
- package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
- package/typechain-types/factories/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/PendleChainlinkReceiver__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/PendleERC4626SY__factory.ts +1 -1
- package/typechain-types/factories/PendleETHXSY__factory.ts +1 -1
- package/typechain-types/factories/PendleEUSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleExternalRewardDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleFluxLendingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1 -1
- package/typechain-types/factories/PendleGMV2TokenSY__factory.ts +1 -1
- package/typechain-types/factories/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/PendleHlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleKyberElasticSYUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleLimitRouter__factory.ts +139 -155
- package/typechain-types/factories/PendleLinearDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleLooksStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleLpGlpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleMantleStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV3__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleMlpSY__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/PendleOracleForSyProxy__factory.ts +1 -1
- package/typechain-types/factories/PendleOrderMixin__factory.ts +254 -129
- 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 +1 -1
- package/typechain-types/factories/PendlePtOracle__factory.ts +1 -1
- 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 +2 -32
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterV3__factory.ts +10 -1
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSiloWithIncentiveSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapL1__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapL2__factory.ts +1 -1
- package/typechain-types/factories/PendleSwap__factory.ts +1 -1
- package/typechain-types/factories/PendleThenaSY__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWbEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleWstEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
- package/typechain-types/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/SimulateHelper__factory.ts +71 -18
- package/typechain-types/factories/SwETHSY__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 +64 -316
- package/typechain-types/index.ts +24 -70
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +0 -4
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +0 -642
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +0 -4
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +0 -521
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +0 -1427
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +0 -79
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +0 -708
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +0 -3503
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.json +0 -125
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +0 -30
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +0 -307
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +0 -409
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +0 -1397
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +0 -348
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +0 -228
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +0 -93
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -1623
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +0 -753
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +0 -79
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +0 -720
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +0 -976
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +0 -4
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +0 -190
- package/build/artifacts/contracts/router/PendleRouterHelper2.sol/PendleRouterHelper2.dbg.json +0 -4
- package/build/artifacts/contracts/router/PendleRouterHelper2.sol/PendleRouterHelper2.json +0 -145
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +0 -4
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +0 -141
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
- package/contracts/core/BulkSeller/BulkSeller.sol +0 -215
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -71
- package/contracts/core/BulkSeller/BulkSellerMathCore.sol +0 -126
- package/contracts/interfaces/IPActionMisc.sol +0 -23
- package/contracts/interfaces/IPAllAction.sol +0 -21
- package/contracts/limit/Mock.sol +0 -429
- package/contracts/offchain-helpers/BulkSellerOffchain.sol +0 -57
- package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +0 -19
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +0 -111
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +0 -182
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +0 -682
- package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +0 -171
- package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +0 -72
- package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +0 -55
- package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +0 -21
- package/contracts/router/ActionAddRemoveLiq.sol +0 -525
- package/contracts/router/ActionMintRedeem.sol +0 -134
- package/contracts/router/ActionMisc.sol +0 -51
- package/contracts/router/ActionSwapPT.sol +0 -197
- package/contracts/router/ActionSwapYT.sol +0 -323
- package/contracts/router/PendleRouter.sol +0 -242
- package/contracts/router/PendleRouterHelper2.sol +0 -41
- package/contracts/router/base/ActionBaseCallback.sol +0 -152
- package/contracts/router/base/ActionBaseMintRedeem.sol +0 -182
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
import "../interfaces/IPActionMisc.sol";
|
|
5
|
-
import "../core/libraries/TokenHelper.sol";
|
|
6
|
-
|
|
7
|
-
contract ActionMisc is IPActionMisc, TokenHelper {
|
|
8
|
-
function approveInf(MultiApproval[] calldata arr) external {
|
|
9
|
-
for (uint256 i = 0; i < arr.length; ) {
|
|
10
|
-
MultiApproval calldata ele = arr[i];
|
|
11
|
-
for (uint256 j = 0; j < ele.tokens.length; ) {
|
|
12
|
-
_safeApproveInf(ele.tokens[j], ele.spender);
|
|
13
|
-
unchecked {
|
|
14
|
-
j++;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
unchecked {
|
|
18
|
-
i++;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
function batchExec(Call3[] calldata calls) external returns (Result[] memory res) {
|
|
24
|
-
uint256 length = calls.length;
|
|
25
|
-
|
|
26
|
-
res = new Result[](length);
|
|
27
|
-
|
|
28
|
-
Call3 calldata calli;
|
|
29
|
-
|
|
30
|
-
for (uint256 i = 0; i < length; ) {
|
|
31
|
-
calli = calls[i];
|
|
32
|
-
|
|
33
|
-
// delegatecall to itself, it turns allowing invoking functions from other actions
|
|
34
|
-
(bool success, bytes memory result) = address(this).delegatecall(calli.callData);
|
|
35
|
-
|
|
36
|
-
if (!success && !calli.allowFailure) {
|
|
37
|
-
assembly {
|
|
38
|
-
// We use Yul's revert() to bubble up errors from the target contract.
|
|
39
|
-
revert(add(32, result), mload(result))
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
res[i].success = success;
|
|
44
|
-
res[i].returnData = result;
|
|
45
|
-
|
|
46
|
-
unchecked {
|
|
47
|
-
++i;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./base/ActionBaseMintRedeem.sol";
|
|
5
|
-
import "../interfaces/IPActionSwapPT.sol";
|
|
6
|
-
import "../interfaces/IPMarket.sol";
|
|
7
|
-
import "../core/libraries/Errors.sol";
|
|
8
|
-
|
|
9
|
-
/// @dev All swap actions will revert if market is expired
|
|
10
|
-
contract ActionSwapPT is IPActionSwapPT, ActionBaseMintRedeem {
|
|
11
|
-
using MarketMathCore for MarketState;
|
|
12
|
-
using MarketApproxPtInLib for MarketState;
|
|
13
|
-
using MarketApproxPtOutLib for MarketState;
|
|
14
|
-
using PMath for uint256;
|
|
15
|
-
using PMath for int256;
|
|
16
|
-
using PYIndexLib for IPYieldToken;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @notice swaps exact amount of PT for SY
|
|
20
|
-
* @param exactPtIn will always consume this exact amount of PT for as much SY as possible
|
|
21
|
-
* @return netSyOut amount SY output, will not be less than `minSyOut`
|
|
22
|
-
* @return netSyFee amount SY fee incurred
|
|
23
|
-
*/
|
|
24
|
-
function swapExactPtForSy(
|
|
25
|
-
address receiver,
|
|
26
|
-
address market,
|
|
27
|
-
uint256 exactPtIn,
|
|
28
|
-
uint256 minSyOut
|
|
29
|
-
) external returns (uint256 netSyOut, uint256 netSyFee) {
|
|
30
|
-
(, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
31
|
-
_transferFrom(IERC20(PT), msg.sender, market, exactPtIn);
|
|
32
|
-
|
|
33
|
-
(netSyOut, netSyFee) = IPMarket(market).swapExactPtForSy(receiver, exactPtIn, EMPTY_BYTES);
|
|
34
|
-
|
|
35
|
-
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
36
|
-
|
|
37
|
-
emit SwapPtAndSy(msg.sender, market, receiver, exactPtIn.neg(), netSyOut.Int());
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @notice swaps some amount of PT for the desired SY amount
|
|
42
|
-
* @param guessPtIn approximation data for input PT amount
|
|
43
|
-
* @param exactSyOut will consume as little PT as possible for this much SY amount
|
|
44
|
-
* @return netPtIn amount of PT used, will not be more than `maxPtIn`
|
|
45
|
-
* @return netSyFee amount SY fee incurred
|
|
46
|
-
* @dev the SY output might be slightly more than `exactSyOut` since an approximation is used.
|
|
47
|
-
* It is guaranteed that exactSyOut <= actualSyOut <= exactSyOut*(100% + guessPtIn.eps)
|
|
48
|
-
*/
|
|
49
|
-
function swapPtForExactSy(
|
|
50
|
-
address receiver,
|
|
51
|
-
address market,
|
|
52
|
-
uint256 exactSyOut,
|
|
53
|
-
uint256 maxPtIn,
|
|
54
|
-
ApproxParams calldata guessPtIn
|
|
55
|
-
) external returns (uint256 netPtIn, uint256 netSyFee) {
|
|
56
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
57
|
-
(, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
58
|
-
|
|
59
|
-
(netPtIn, , ) = state.approxSwapPtForExactSy(YT.newIndex(), exactSyOut, block.timestamp, guessPtIn);
|
|
60
|
-
|
|
61
|
-
if (netPtIn > maxPtIn) revert Errors.RouterExceededLimitPtIn(netPtIn, maxPtIn);
|
|
62
|
-
|
|
63
|
-
_transferFrom(IERC20(PT), msg.sender, market, netPtIn);
|
|
64
|
-
|
|
65
|
-
uint256 netSyOut;
|
|
66
|
-
(netSyOut, netSyFee) = IPMarket(market).swapExactPtForSy(receiver, netPtIn, EMPTY_BYTES);
|
|
67
|
-
|
|
68
|
-
// fail-safe
|
|
69
|
-
if (netSyOut < exactSyOut) assert(false);
|
|
70
|
-
|
|
71
|
-
emit SwapPtAndSy(msg.sender, market, receiver, netPtIn.neg(), exactSyOut.Int());
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @notice swaps SY for exact amount of PT
|
|
76
|
-
* @param exactPtOut will always consume as little SY as possible for this much amount of PT
|
|
77
|
-
* @return netSyIn amount SY used, will not be more than `maxSyIn`
|
|
78
|
-
* @return netSyFee amount SY fee incurred
|
|
79
|
-
* @dev the output amount of PT here is exact, no approximation is used
|
|
80
|
-
*/
|
|
81
|
-
function swapSyForExactPt(
|
|
82
|
-
address receiver,
|
|
83
|
-
address market,
|
|
84
|
-
uint256 exactPtOut,
|
|
85
|
-
uint256 maxSyIn
|
|
86
|
-
) external returns (uint256 netSyIn, uint256 netSyFee) {
|
|
87
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
88
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
89
|
-
|
|
90
|
-
(netSyIn, , ) = state.swapSyForExactPt(YT.newIndex(), exactPtOut, block.timestamp);
|
|
91
|
-
|
|
92
|
-
if (netSyIn > maxSyIn) revert Errors.RouterExceededLimitSyIn(netSyIn, maxSyIn);
|
|
93
|
-
|
|
94
|
-
_transferFrom(IERC20(SY), msg.sender, market, netSyIn);
|
|
95
|
-
|
|
96
|
-
(, netSyFee) = IPMarket(market).swapSyForExactPt(receiver, exactPtOut, EMPTY_BYTES); // ignore return
|
|
97
|
-
|
|
98
|
-
// no fail-safe since exactly netSyIn will go into the market
|
|
99
|
-
emit SwapPtAndSy(msg.sender, market, receiver, exactPtOut.Int(), netSyIn.neg());
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* @notice swaps exact amount of SY for as much PT as possible
|
|
104
|
-
* @param exactSyIn will always consume this much amount of SY
|
|
105
|
-
* @param guessPtOut approximation data for output PT amount
|
|
106
|
-
* @return netPtOut amount of PT output, will not be less than `minPtOut`
|
|
107
|
-
* @return netSyFee amount SY fee incurred
|
|
108
|
-
*/
|
|
109
|
-
function swapExactSyForPt(
|
|
110
|
-
address receiver,
|
|
111
|
-
address market,
|
|
112
|
-
uint256 exactSyIn,
|
|
113
|
-
uint256 minPtOut,
|
|
114
|
-
ApproxParams calldata guessPtOut
|
|
115
|
-
) external returns (uint256 netPtOut, uint256 netSyFee) {
|
|
116
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
117
|
-
|
|
118
|
-
_transferFrom(IERC20(SY), msg.sender, market, exactSyIn);
|
|
119
|
-
|
|
120
|
-
(netPtOut, netSyFee) = _swapExactSyForPt(receiver, market, YT, exactSyIn, minPtOut, guessPtOut);
|
|
121
|
-
|
|
122
|
-
emit SwapPtAndSy(msg.sender, market, receiver, netPtOut.Int(), exactSyIn.neg());
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* @notice swap (through Kyberswap) from any input token for SY-mintable tokens, then mints SY
|
|
127
|
-
* and swaps said SY for PT
|
|
128
|
-
* @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
129
|
-
* @dev is a combination of `_mintSyFromToken()` and `_swapExactSyForPt()`
|
|
130
|
-
*/
|
|
131
|
-
function swapExactTokenForPt(
|
|
132
|
-
address receiver,
|
|
133
|
-
address market,
|
|
134
|
-
uint256 minPtOut,
|
|
135
|
-
ApproxParams calldata guessPtOut,
|
|
136
|
-
TokenInput calldata input
|
|
137
|
-
) external payable returns (uint256 netPtOut, uint256 netSyFee) {
|
|
138
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
139
|
-
|
|
140
|
-
// all output SY is transferred directly to the market
|
|
141
|
-
uint256 netSyUseToBuyPt = _mintSyFromToken(address(market), address(SY), 1, input);
|
|
142
|
-
|
|
143
|
-
// SY is already in the market, hence doPull = false
|
|
144
|
-
(netPtOut, netSyFee) = _swapExactSyForPt(receiver, market, YT, netSyUseToBuyPt, minPtOut, guessPtOut);
|
|
145
|
-
|
|
146
|
-
emit SwapPtAndToken(msg.sender, market, input.tokenIn, receiver, netPtOut.Int(), input.netTokenIn.neg());
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* @notice swap from exact amount of PT to SY, then redeem SY for assets, finally swaps
|
|
151
|
-
* resulting assets through Kyberswap to get desired output token
|
|
152
|
-
* @param exactPtIn will always consume this much PT for as much SY as possible
|
|
153
|
-
* @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
154
|
-
* @dev is a combination of `_swapExactPtForSy()` and `_redeemSyToToken()`
|
|
155
|
-
*/
|
|
156
|
-
function swapExactPtForToken(
|
|
157
|
-
address receiver,
|
|
158
|
-
address market,
|
|
159
|
-
uint256 exactPtIn,
|
|
160
|
-
TokenOutput calldata output
|
|
161
|
-
) external returns (uint256 netTokenOut, uint256 netSyFee) {
|
|
162
|
-
(IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
163
|
-
|
|
164
|
-
_transferFrom(IERC20(PT), msg.sender, market, exactPtIn);
|
|
165
|
-
|
|
166
|
-
// all output SY is directly transferred to the SY contract
|
|
167
|
-
uint256 netSyReceived;
|
|
168
|
-
(netSyReceived, netSyFee) = IPMarket(market).swapExactPtForSy(
|
|
169
|
-
_syOrBulk(address(SY), output),
|
|
170
|
-
exactPtIn,
|
|
171
|
-
EMPTY_BYTES
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
// since all SY is already at the SY contract, doPull = false
|
|
175
|
-
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyReceived, output, false);
|
|
176
|
-
|
|
177
|
-
emit SwapPtAndToken(msg.sender, market, output.tokenOut, receiver, exactPtIn.neg(), netTokenOut.Int());
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
function _swapExactSyForPt(
|
|
181
|
-
address receiver,
|
|
182
|
-
address market,
|
|
183
|
-
IPYieldToken YT,
|
|
184
|
-
uint256 exactSyIn,
|
|
185
|
-
uint256 minPtOut,
|
|
186
|
-
ApproxParams calldata guessPtOut
|
|
187
|
-
) internal returns (uint256 netPtOut, uint256 netSyFee) {
|
|
188
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
189
|
-
|
|
190
|
-
(netPtOut, ) = state.approxSwapExactSyForPt(YT.newIndex(), exactSyIn, block.timestamp, guessPtOut);
|
|
191
|
-
|
|
192
|
-
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
193
|
-
|
|
194
|
-
(, netSyFee) = IPMarket(market).swapSyForExactPt(receiver, netPtOut, EMPTY_BYTES);
|
|
195
|
-
// no fail-safe since exactly netPtOut >= minPtOut will be out
|
|
196
|
-
}
|
|
197
|
-
}
|
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./base/ActionBaseMintRedeem.sol";
|
|
5
|
-
import "./base/CallbackHelper.sol";
|
|
6
|
-
import "../interfaces/IPActionSwapYT.sol";
|
|
7
|
-
import "../interfaces/IAddressProvider.sol";
|
|
8
|
-
import "../interfaces/IPMarket.sol";
|
|
9
|
-
import "../core/libraries/Errors.sol";
|
|
10
|
-
|
|
11
|
-
import "./base/ActionBaseCallback.sol";
|
|
12
|
-
|
|
13
|
-
/// @dev All swap actions will revert if market is expired
|
|
14
|
-
contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedeem {
|
|
15
|
-
using PMath for uint256;
|
|
16
|
-
using PMath for int256;
|
|
17
|
-
using MarketMathCore for MarketState;
|
|
18
|
-
using MarketApproxPtInLib for MarketState;
|
|
19
|
-
using MarketApproxPtOutLib for MarketState;
|
|
20
|
-
using PYIndexLib for IPYieldToken;
|
|
21
|
-
|
|
22
|
-
constructor(
|
|
23
|
-
IAddressProvider provider,
|
|
24
|
-
uint256 providerId
|
|
25
|
-
) ActionBaseCallback(_getMarketFactory(provider, providerId)) {}
|
|
26
|
-
|
|
27
|
-
function _getMarketFactory(IAddressProvider provider, uint256 providerId) internal view returns (address) {
|
|
28
|
-
return provider.get(providerId);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @notice swap exact SY to YT with the help of flashswaps & YT tokenization / redemption
|
|
33
|
-
* @dev inner working of this function:
|
|
34
|
-
- `exactSyIn` SY is transferred to YT contract
|
|
35
|
-
- `market.swapExactPtForSy` is called, which will transfer more SY directly to YT contract &
|
|
36
|
-
callback is invoked. Note that now we owe PT
|
|
37
|
-
- in callback, all SY in YT contract is used to mint PT + YT, with all PT used to pay back the
|
|
38
|
-
loan, and all YT transferred to the receiver
|
|
39
|
-
* @param exactSyIn will always consume this amount of SY for as much YT as possible
|
|
40
|
-
* @param guessYtOut approximation data for total YT output
|
|
41
|
-
* @dev this function works in conjunction with ActionCallback
|
|
42
|
-
*/
|
|
43
|
-
function swapExactSyForYt(
|
|
44
|
-
address receiver,
|
|
45
|
-
address market,
|
|
46
|
-
uint256 exactSyIn,
|
|
47
|
-
uint256 minYtOut,
|
|
48
|
-
ApproxParams calldata guessYtOut
|
|
49
|
-
) external returns (uint256 netYtOut, uint256 netSyFee) {
|
|
50
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
51
|
-
|
|
52
|
-
_transferFrom(IERC20(SY), msg.sender, address(YT), exactSyIn);
|
|
53
|
-
|
|
54
|
-
(netYtOut, netSyFee) = _swapExactSyForYt(receiver, market, YT, exactSyIn, minYtOut, guessYtOut);
|
|
55
|
-
|
|
56
|
-
emit SwapYtAndSy(msg.sender, market, receiver, netYtOut.Int(), exactSyIn.neg());
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* @notice swap exact YT to SY with the help of flashswaps & YT tokenization / redemption
|
|
61
|
-
* @dev inner working of this function:
|
|
62
|
-
- `exactYtIn` YT is transferred to YT contract
|
|
63
|
-
- `market.swapSyForExactPt` is called, which will transfer PT directly to YT contract &
|
|
64
|
-
callback is invoked. Note that now we owe SY.
|
|
65
|
-
- In callback, all PT + YT in YT contract is used to redeem SY. A portion of SY is used to
|
|
66
|
-
payback the loan, the rest is transferred to the `receiver`
|
|
67
|
-
* @param exactYtIn will consume exactly this much YT for as much SY as possible
|
|
68
|
-
* @dev this function works in conjunction with ActionCallback
|
|
69
|
-
*/
|
|
70
|
-
function swapExactYtForSy(
|
|
71
|
-
address receiver,
|
|
72
|
-
address market,
|
|
73
|
-
uint256 exactYtIn,
|
|
74
|
-
uint256 minSyOut
|
|
75
|
-
) external returns (uint256 netSyOut, uint256 netSyFee) {
|
|
76
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
77
|
-
|
|
78
|
-
_transferFrom(IERC20(YT), msg.sender, address(YT), exactYtIn);
|
|
79
|
-
|
|
80
|
-
(netSyOut, netSyFee) = _swapExactYtForSy(receiver, market, SY, YT, exactYtIn, minSyOut);
|
|
81
|
-
|
|
82
|
-
emit SwapYtAndSy(msg.sender, market, receiver, exactYtIn.neg(), netSyOut.Int());
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* @notice swap SY to exact YT with the help of flashswaps & YT tokenization / redemption
|
|
87
|
-
* @dev inner working of this function:
|
|
88
|
-
- `market.swapExactPtForSy` is called, which will transfer SY directly to YT contract &
|
|
89
|
-
callback is invoked. Note that now we owe PT
|
|
90
|
-
- In callback, we will pull in more SY as needed from caller & mint all SY to PT + YT. PT is
|
|
91
|
-
then used to payback the loan, while YT is transferred to `receiver`
|
|
92
|
-
* @param exactYtOut will output exactly this amount of YT, no approximation is used
|
|
93
|
-
* @dev this function works in conjunction with ActionCallback
|
|
94
|
-
*/
|
|
95
|
-
function swapSyForExactYt(
|
|
96
|
-
address receiver,
|
|
97
|
-
address market,
|
|
98
|
-
uint256 exactYtOut,
|
|
99
|
-
uint256 maxSyIn
|
|
100
|
-
) external returns (uint256 netSyIn, uint256 netSyFee) {
|
|
101
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
102
|
-
|
|
103
|
-
uint256 preSyBalance = SY.balanceOf(msg.sender);
|
|
104
|
-
|
|
105
|
-
(, netSyFee) = IPMarket(market).swapExactPtForSy(
|
|
106
|
-
address(YT),
|
|
107
|
-
exactYtOut, // exactPtIn = exactYtOut
|
|
108
|
-
_encodeSwapSyForExactYt(msg.sender, receiver, maxSyIn, SY, YT)
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
netSyIn = preSyBalance - SY.balanceOf(msg.sender);
|
|
112
|
-
|
|
113
|
-
emit SwapYtAndSy(msg.sender, market, receiver, exactYtOut.Int(), netSyIn.neg());
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* @notice swap YT to exact SY with the help of flashswaps & YT tokenization / redemption
|
|
118
|
-
* @dev inner working of this function:
|
|
119
|
-
- Approximates `netYtIn` using the data from `guessYtIn`
|
|
120
|
-
- Pulls `netYtIn` amount of YT from caller
|
|
121
|
-
- `market.swapSyForExactPt` is called, which will transfer PT directly to YT contract &
|
|
122
|
-
callback is invoked. Note that now we owe SY
|
|
123
|
-
- In callback, we will redeem all PT + YT to get SY. A portion of it is used to payback the
|
|
124
|
-
loan. The rest is transferred to `receiver`
|
|
125
|
-
* @dev this function works in conjunction with ActionCallback
|
|
126
|
-
*/
|
|
127
|
-
function swapYtForExactSy(
|
|
128
|
-
address receiver,
|
|
129
|
-
address market,
|
|
130
|
-
uint256 exactSyOut,
|
|
131
|
-
uint256 maxYtIn,
|
|
132
|
-
ApproxParams calldata guessYtIn
|
|
133
|
-
) external returns (uint256 netYtIn, uint256 netSyFee) {
|
|
134
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
135
|
-
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
136
|
-
|
|
137
|
-
(netYtIn, , ) = state.approxSwapYtForExactSy(YT.newIndex(), exactSyOut, block.timestamp, guessYtIn);
|
|
138
|
-
|
|
139
|
-
if (netYtIn > maxYtIn) revert Errors.RouterExceededLimitYtIn(netYtIn, maxYtIn);
|
|
140
|
-
|
|
141
|
-
_transferFrom(IERC20(YT), msg.sender, address(YT), netYtIn);
|
|
142
|
-
|
|
143
|
-
(, netSyFee) = IPMarket(market).swapSyForExactPt(
|
|
144
|
-
address(YT),
|
|
145
|
-
netYtIn, // exactPtOut = netYtIn
|
|
146
|
-
_encodeSwapYtForSy(receiver, exactSyOut, YT)
|
|
147
|
-
);
|
|
148
|
-
|
|
149
|
-
emit SwapYtAndSy(msg.sender, market, receiver, netYtIn.neg(), exactSyOut.Int());
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* @notice swaps any token to YT
|
|
154
|
-
* @dev this function swaps token for SY-mintable token first through Kyberswap, then mints SY
|
|
155
|
-
* from such, finally swaps SY to YT (see `swapSyForExactYt()`)
|
|
156
|
-
*/
|
|
157
|
-
function swapExactTokenForYt(
|
|
158
|
-
address receiver,
|
|
159
|
-
address market,
|
|
160
|
-
uint256 minYtOut,
|
|
161
|
-
ApproxParams calldata guessYtOut,
|
|
162
|
-
TokenInput calldata input
|
|
163
|
-
) external payable returns (uint256 netYtOut, uint256 netSyFee) {
|
|
164
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
165
|
-
|
|
166
|
-
uint256 netSyUsedToBuyYT = _mintSyFromToken(address(YT), address(SY), 1, input);
|
|
167
|
-
|
|
168
|
-
(netYtOut, netSyFee) = _swapExactSyForYt(receiver, market, YT, netSyUsedToBuyYT, minYtOut, guessYtOut);
|
|
169
|
-
|
|
170
|
-
emit SwapYtAndToken(msg.sender, market, input.tokenIn, receiver, netYtOut.Int(), input.netTokenIn.neg());
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* @notice swaps YT to a given token
|
|
175
|
-
* @dev the function first swaps YT to SY (see `swapExactYtForSy()`), then redeems SY,
|
|
176
|
-
* finally swaps resulting tokens to desired output token using Kyberswap
|
|
177
|
-
*/
|
|
178
|
-
function swapExactYtForToken(
|
|
179
|
-
address receiver,
|
|
180
|
-
address market,
|
|
181
|
-
uint256 netYtIn,
|
|
182
|
-
TokenOutput calldata output
|
|
183
|
-
) external returns (uint256 netTokenOut, uint256 netSyFee) {
|
|
184
|
-
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
185
|
-
|
|
186
|
-
_transferFrom(IERC20(YT), msg.sender, address(YT), netYtIn);
|
|
187
|
-
|
|
188
|
-
uint256 netSyOut;
|
|
189
|
-
|
|
190
|
-
(netSyOut, netSyFee) = _swapExactYtForSy(_syOrBulk(address(SY), output), market, SY, YT, netYtIn, 1);
|
|
191
|
-
|
|
192
|
-
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
|
|
193
|
-
|
|
194
|
-
emit SwapYtAndToken(msg.sender, market, output.tokenOut, receiver, netYtIn.neg(), netTokenOut.Int());
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
/**
|
|
198
|
-
* @notice swap exact PT to YT with the help of flashswaps & YT tokenization / redemption
|
|
199
|
-
* @dev inner working of this function:
|
|
200
|
-
- `exactPtIn` PT is transferred to market contract
|
|
201
|
-
- `market.swapExactPtForSy` is called, which will transfer SY directly to YT contract & callback is invoked.
|
|
202
|
-
Note that we will owe PT, the amount before is not sufficient
|
|
203
|
-
- in callback, all SY in YT contract is used to mint PT + YT, with PT used to pay the rest of the loan, and YT
|
|
204
|
-
transferred to the receiver
|
|
205
|
-
* @param exactPtIn will always consume this amount of PT for as much YT as possible
|
|
206
|
-
* @param guessTotalPtToSwap approximation data for PT used for the PT-to-SY flashswap
|
|
207
|
-
* @dev this function works in conjunction with ActionCallback
|
|
208
|
-
*/
|
|
209
|
-
function swapExactPtForYt(
|
|
210
|
-
address receiver,
|
|
211
|
-
address market,
|
|
212
|
-
uint256 exactPtIn,
|
|
213
|
-
uint256 minYtOut,
|
|
214
|
-
ApproxParams calldata guessTotalPtToSwap
|
|
215
|
-
) external returns (uint256 netYtOut, uint256 netSyFee) {
|
|
216
|
-
(, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
217
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
218
|
-
|
|
219
|
-
_transferFrom(IERC20(PT), msg.sender, market, exactPtIn);
|
|
220
|
-
|
|
221
|
-
uint256 totalPtToSwap;
|
|
222
|
-
(netYtOut, totalPtToSwap, netSyFee) = state.approxSwapExactPtForYt(
|
|
223
|
-
YT.newIndex(),
|
|
224
|
-
exactPtIn,
|
|
225
|
-
block.timestamp,
|
|
226
|
-
guessTotalPtToSwap
|
|
227
|
-
);
|
|
228
|
-
|
|
229
|
-
if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
|
|
230
|
-
|
|
231
|
-
IPMarket(market).swapExactPtForSy(
|
|
232
|
-
address(YT),
|
|
233
|
-
totalPtToSwap,
|
|
234
|
-
_encodeSwapExactPtForYt(receiver, exactPtIn, minYtOut, YT)
|
|
235
|
-
);
|
|
236
|
-
|
|
237
|
-
emit SwapPtAndYt(msg.sender, market, receiver, exactPtIn.neg(), netYtOut.Int());
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/**
|
|
241
|
-
* @notice swap exact YT to PT with the help of flashswaps & YT tokenization / redemption
|
|
242
|
-
* @dev inner working of this function:
|
|
243
|
-
- `exactYtIn` YT is transferred to yield contract
|
|
244
|
-
- `market.swapSyForExactPt` is called, which will transfer PT directly to this contract & callback is invoked.
|
|
245
|
-
Note that we now owe SY
|
|
246
|
-
- in callback, a portion of PT + YT is used to redeem SY, which is then used to payback the loan. The rest of
|
|
247
|
-
of the PT is transferred to `receiver`
|
|
248
|
-
* @param exactYtIn will always consume this amount of YT for as much PT as possible
|
|
249
|
-
* @param guessTotalPtFromSwap approximation data for PT output of the SY-to-PT flashswap
|
|
250
|
-
* @dev this function works in conjunction with ActionCallback
|
|
251
|
-
*/
|
|
252
|
-
function swapExactYtForPt(
|
|
253
|
-
address receiver,
|
|
254
|
-
address market,
|
|
255
|
-
uint256 exactYtIn,
|
|
256
|
-
uint256 minPtOut,
|
|
257
|
-
ApproxParams calldata guessTotalPtFromSwap
|
|
258
|
-
) external returns (uint256 netPtOut, uint256 netSyFee) {
|
|
259
|
-
(, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
260
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
261
|
-
|
|
262
|
-
_transferFrom(IERC20(YT), msg.sender, address(YT), exactYtIn);
|
|
263
|
-
|
|
264
|
-
uint256 totalPtFromSwap;
|
|
265
|
-
(netPtOut, totalPtFromSwap, netSyFee) = state.approxSwapExactYtForPt(
|
|
266
|
-
YT.newIndex(),
|
|
267
|
-
exactYtIn,
|
|
268
|
-
block.timestamp,
|
|
269
|
-
guessTotalPtFromSwap
|
|
270
|
-
);
|
|
271
|
-
|
|
272
|
-
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
273
|
-
|
|
274
|
-
IPMarket(market).swapSyForExactPt(
|
|
275
|
-
address(this),
|
|
276
|
-
totalPtFromSwap,
|
|
277
|
-
_encodeSwapExactYtForPt(receiver, exactYtIn, minPtOut, PT, YT)
|
|
278
|
-
);
|
|
279
|
-
|
|
280
|
-
emit SwapPtAndYt(msg.sender, market, receiver, netPtOut.Int(), exactYtIn.neg());
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
function _swapExactSyForYt(
|
|
284
|
-
address receiver,
|
|
285
|
-
address market,
|
|
286
|
-
IPYieldToken YT,
|
|
287
|
-
uint256 exactSyIn,
|
|
288
|
-
uint256 minYtOut,
|
|
289
|
-
ApproxParams calldata guessYtOut
|
|
290
|
-
) internal returns (uint256 netYtOut, uint256 netSyFee) {
|
|
291
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
292
|
-
|
|
293
|
-
(netYtOut, ) = state.approxSwapExactSyForYt(YT.newIndex(), exactSyIn, block.timestamp, guessYtOut);
|
|
294
|
-
|
|
295
|
-
// early-check
|
|
296
|
-
if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
|
|
297
|
-
|
|
298
|
-
(, netSyFee) = IPMarket(market).swapExactPtForSy(
|
|
299
|
-
address(YT),
|
|
300
|
-
netYtOut, // exactPtIn = netYtOut
|
|
301
|
-
_encodeSwapExactSyForYt(receiver, minYtOut, YT)
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
function _swapExactYtForSy(
|
|
306
|
-
address receiver,
|
|
307
|
-
address market,
|
|
308
|
-
IStandardizedYield SY,
|
|
309
|
-
IPYieldToken YT,
|
|
310
|
-
uint256 exactYtIn,
|
|
311
|
-
uint256 minSyOut
|
|
312
|
-
) internal returns (uint256 netSyOut, uint256 netSyFee) {
|
|
313
|
-
uint256 preSyBalance = SY.balanceOf(receiver);
|
|
314
|
-
|
|
315
|
-
(, netSyFee) = IPMarket(market).swapSyForExactPt(
|
|
316
|
-
address(YT),
|
|
317
|
-
exactYtIn, // exactPtOut = exactYtIn
|
|
318
|
-
_encodeSwapYtForSy(receiver, minSyOut, YT)
|
|
319
|
-
);
|
|
320
|
-
|
|
321
|
-
netSyOut = SY.balanceOf(receiver) - preSyBalance;
|
|
322
|
-
}
|
|
323
|
-
}
|