@pendle/core-v2 2.29.1 → 3.0.0-beta-2
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/ExcessivelySafeCall.sol/ExcessivelySafeCall.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/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/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.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/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/PYIndex.sol/PYIndexLib.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ankr/PendleAnkrBNBSY.sol/PendleAnkrBNBSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/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/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/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.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/ComposableStableMath.sol/ComposableStableMath.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewProxy.sol/ComposableStablePreviewProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV4.sol/ComposableStablePreviewV4.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreviewV5.sol/ComposableStablePreviewV5.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.json +2 -2
- 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/LinearMath.sol/LinearMath.json +2 -2
- 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/Linear/LinearPreview.sol/LinearPreview.json +2 -2
- 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/MetaStableMath.sol/MetaStableMath.json +2 -2
- 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/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
- 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/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/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/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/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/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/PendleERC20.sol/PendleERC20.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.json +2 -2
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.json +2 -2
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.json +2 -2
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.json +2 -2
- 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/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.json +2 -2
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +9 -162
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.json +2 -2
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
- 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/LogExpMath.sol/LogExpMath.json +2 -2
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.json +2 -2
- package/build/artifacts/contracts/interfaces/Ankr/IAnkrBNB.sol/IAnkrBNB.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Ankr/IAnkrLiquidStaking.sol/IAnkrLiquidStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IERC4626LinearPool.sol/IERC4626LinearPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IPComposableStablePreview.sol/IPComposableStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVersion.sol/IVersion.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/BinanceEth/IWBETH.sol/IWBETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotFactory.sol/ICamelotFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTFactory.sol/ICamelotNFTFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTHandler.sol/ICamelotNFTHandler.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNFTPool.sol/ICamelotNFTPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPool.sol/ICamelotNitroPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotNitroPoolFactory.sol/ICamelotNitroPoolFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotPair.sol/ICamelotPair.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotRouter.sol/ICamelotRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/ICamelotYieldBooster.sol/ICamelotYieldBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Camelot/IXGrail.sol/IXGrail.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Flux/IFluxErc20.sol/IFluxErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Flux/IFluxInterestRateModel.sol/IFluxInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Frax/IFrxEthMinter.sol/IFrxEthMinter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHLPStaking.sol/IHLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXCalculator.sol/IHMXCalculator.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXCompounder.sol/IHMXCompounder.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXStaking.sol/IHMXStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/HMX/IHMXVester.sol/IHMXVester.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json +1050 -30
- 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/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -45
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.json +0 -69
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.json +734 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +0 -26
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.json +688 -108
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.json +688 -108
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.json +2550 -331
- package/build/artifacts/contracts/interfaces/IPExternalRewardDistributor.sol/IPExternalRewardDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/ILimitOrderCallee.json +77 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +779 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.json +544 -0
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +4 -0
- package/build/artifacts/contracts/{router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.json → interfaces/IPLimitRouter.sol/IPOrderMixinType.json} +2 -2
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.json +0 -25
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +0 -140
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Lybra/IEUSD.sol/IEUSD.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/interfaces/Thena/IThenaRouter.sol/IThenaRouter.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/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +4 -0
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +910 -0
- package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +4 -0
- package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.json +760 -0
- package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +4 -0
- package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +10 -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/limit/helpers/Permitable.sol/Permitable.dbg.json +4 -0
- package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.json +10 -0
- package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +4 -0
- package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +10 -0
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
- 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/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.json +2 -2
- 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/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketExchangeRateLib.sol/MarketExchangeRateLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/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/Multicall2.sol/Multicall2.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PtAndLpToAsset.sol/PtAndLpToAsset.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -171
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -47
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -103
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -28
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/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/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +1052 -32
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +878 -3
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +730 -163
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +730 -169
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -18
- 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/IPActionMintRedeem.sol/IPActionMintRedeem.json → router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.json} +113 -352
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +4 -0
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.json +10 -0
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.json +0 -59
- 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/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IExecutorHelper.sol/IExecutorHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberInputScalingHelper.sol/KyberInputScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScalingDataLib.sol/ScalingDataLib.json +2 -2
- 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/core/Market/PendleMarketFactory.sol +21 -27
- package/contracts/core/libraries/Errors.sol +4 -21
- package/contracts/core/libraries/TokenHelper.sol +7 -7
- package/contracts/interfaces/IDailLikePermit.sol +17 -0
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +16 -18
- package/contracts/interfaces/IPActionMarketCoreStatic.sol +20 -118
- package/contracts/interfaces/IPActionMintRedeemStatic.sol +17 -47
- package/contracts/interfaces/IPActionMisc.sol +88 -1
- package/contracts/interfaces/IPActionStorageStatic.sol +1 -8
- package/contracts/interfaces/IPActionSwapPT.sol +9 -20
- package/contracts/interfaces/IPActionSwapYT.sol +10 -21
- package/contracts/interfaces/IPAllAction.sol +0 -2
- package/contracts/interfaces/IPAllActionType.sol +33 -0
- package/contracts/interfaces/IPLimitRouter.sol +162 -0
- package/contracts/interfaces/IPMarketFactory.sol +2 -0
- package/contracts/interfaces/IPRouterHelper.sol +11 -45
- package/contracts/limit/LimitMathCore.sol +208 -0
- package/contracts/limit/PendleLimitRouter.sol +72 -0
- package/contracts/limit/PendleOrderMixin.sol +526 -0
- package/contracts/limit/helpers/ArgumentsDecoder.sol +47 -0
- package/contracts/limit/helpers/NonceManager.sol +28 -0
- package/contracts/limit/helpers/Permitable.sol +48 -0
- package/contracts/limit/helpers/RevertReasonParser.sol +75 -0
- package/contracts/offchain-helpers/AddressProvider.sol +1 -1
- package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +5 -18
- package/contracts/offchain-helpers/Broadcaster.sol +3 -3
- package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +6 -13
- package/contracts/offchain-helpers/ChainlinkRelayerGelato.sol +5 -4
- package/contracts/offchain-helpers/EmptyUUPS.sol +2 -1
- package/contracts/offchain-helpers/PendleMulticallV1.sol +9 -11
- package/contracts/offchain-helpers/PendleMulticallV2.sol +1 -1
- package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +2 -19
- package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +5 -18
- package/contracts/offchain-helpers/router-static/base/ActionLimitOrdersStatic.sol +145 -0
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +29 -82
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +82 -288
- package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +37 -108
- package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +4 -16
- package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +8 -10
- package/contracts/offchain-helpers/router-static/base/StorageLayout.sol +1 -4
- package/contracts/router/ActionAddRemoveLiq.sol +225 -440
- package/contracts/router/ActionMisc.sol +134 -14
- package/contracts/router/ActionSwapPT.sol +35 -195
- package/contracts/router/ActionSwapYT.sol +127 -288
- package/contracts/router/PendleRouter.sol +104 -128
- package/contracts/router/PendleRouterHelper.sol +100 -186
- package/contracts/router/base/ActionBase.sol +238 -0
- package/contracts/router/base/ActionBaseCallback.sol +25 -124
- package/contracts/router/base/CallbackHelper.sol +31 -110
- package/contracts/router/base/MarketApproxLib.sol +143 -176
- package/contracts/router/swap-aggregator/PendleSwap.sol +9 -20
- package/deployments/42161-core.json +4 -2
- package/package.json +4 -4
- package/typechain-types/ActionAddRemoveLiq.ts +151 -26
- package/typechain-types/ActionLimitOrdersStatic.ts +262 -0
- package/typechain-types/ActionMarketCoreStatic.ts +18 -63
- package/typechain-types/ActionMintRedeem.ts +4 -10
- package/typechain-types/ActionMintRedeemStatic.ts +10 -102
- package/typechain-types/ActionMisc.ts +732 -11
- package/typechain-types/ActionStorageStatic.ts +0 -55
- package/typechain-types/ActionSwapPT.ts +119 -121
- package/typechain-types/ActionSwapYT.ts +124 -126
- package/typechain-types/AuraWethVethSYUpg.ts +1547 -0
- package/typechain-types/EIP712Upgradeable.ts +68 -0
- package/typechain-types/IDaiLikePermit.ts +146 -0
- package/typechain-types/IKyberElasticFactory.ts +734 -0
- package/typechain-types/IKyberElasticPool.ts +514 -0
- package/typechain-types/IKyberElasticRouter.ts +315 -0
- package/typechain-types/IKyberLiquidityMining.ts +968 -0
- package/typechain-types/IKyberMathHelper.ts +231 -0
- package/typechain-types/IKyberPositionManager.ts +773 -0
- package/typechain-types/ILimitOrderCallee.ts +179 -0
- package/typechain-types/IPActionAddRemoveLiq.ts +151 -26
- package/typechain-types/IPActionMarketCoreStatic.ts +18 -63
- package/typechain-types/IPActionMintRedeem.ts +4 -10
- package/typechain-types/IPActionMintRedeemStatic.ts +10 -102
- package/typechain-types/IPActionMisc.ts +688 -11
- package/typechain-types/IPActionStorageStatic.ts +0 -55
- package/typechain-types/IPActionSwapPT.ts +119 -121
- package/typechain-types/IPActionSwapYT.ts +124 -126
- package/typechain-types/IPAllAction.ts +355 -284
- package/typechain-types/IPLimitRouter.ts +702 -0
- package/typechain-types/IPOrderMixin.ts +479 -0
- package/typechain-types/IPRouterHelper.ts +6 -19
- package/typechain-types/IPRouterStatic.ts +28 -220
- package/typechain-types/KyberMathHelper.ts +604 -0
- package/typechain-types/KyberNftManagerBaseUpg.ts +148 -0
- package/typechain-types/NonceManager.ts +209 -0
- package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +1512 -0
- package/typechain-types/PendleERC20PermitUpg.ts +452 -0
- package/typechain-types/PendleERC20Upg.ts +348 -0
- package/typechain-types/PendleKyberElasticSY.ts +1583 -0
- package/typechain-types/PendleLimitRouter.ts +1041 -0
- package/typechain-types/PendleOrderMixin.ts +818 -0
- package/typechain-types/PendleRouterHelper.ts +7 -23
- package/typechain-types/PredicateHelper.ts +298 -0
- package/typechain-types/RouterV2InterfaceForRouterHelper.ts +479 -0
- package/typechain-types/SYBaseUpg.ts +1205 -0
- package/typechain-types/SYBaseWithRewardsUpg.ts +1298 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1051 -31
- package/typechain-types/factories/ActionBaseCallback__factory.ts +0 -59
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +499 -0
- 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/ActionMintRedeem__factory.ts +1 -21
- package/typechain-types/factories/ActionMisc__factory.ts +877 -2
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -27
- package/typechain-types/factories/ActionSwapPT__factory.ts +689 -162
- package/typechain-types/factories/ActionSwapYT__factory.ts +692 -186
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AddressProvider__factory.ts +1 -1
- package/typechain-types/factories/AuraEthxBbAWethSY__factory.ts +1 -1
- package/typechain-types/factories/AuraSwEthBbAWethSYV2__factory.ts +1 -1
- package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +1215 -0
- package/typechain-types/factories/AutomationBase__factory.ts +1 -1
- package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
- package/typechain-types/factories/BoringOwnableUpgradeableData__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/ChainlinkRelayerAutomation__factory.ts +1 -1
- package/typechain-types/factories/ChainlinkRelayerGelato__factory.ts +1 -1
- package/typechain-types/factories/EIP712Upgradeable__factory.ts +39 -0
- package/typechain-types/factories/ERC20__factory.ts +1 -1
- package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +8 -161
- package/typechain-types/factories/IDaiLikePermit__factory.ts +74 -0
- package/typechain-types/factories/IKyberElasticFactory__factory.ts +455 -0
- package/typechain-types/factories/IKyberElasticPool__factory.ts +315 -0
- package/typechain-types/factories/IKyberElasticRouter__factory.ts +240 -0
- package/typechain-types/factories/IKyberLiquidityMining__factory.ts +913 -0
- package/typechain-types/factories/IKyberMathHelper__factory.ts +143 -0
- package/typechain-types/factories/IKyberPositionManager__factory.ts +633 -0
- package/typechain-types/factories/ILimitOrderCallee__factory.ts +92 -0
- package/typechain-types/factories/IPActionAddRemoveLiq__factory.ts +1050 -30
- package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -45
- package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +0 -69
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -20
- package/typechain-types/factories/IPActionMisc__factory.ts +734 -1
- package/typechain-types/factories/IPActionStorageStatic__factory.ts +0 -26
- package/typechain-types/factories/IPActionSwapPT__factory.ts +688 -108
- package/typechain-types/factories/IPActionSwapYT__factory.ts +688 -108
- package/typechain-types/factories/IPAllAction__factory.ts +2550 -331
- package/typechain-types/factories/IPLimitRouter__factory.ts +791 -0
- package/typechain-types/factories/IPOrderMixin__factory.ts +556 -0
- package/typechain-types/factories/IPRouterHelper__factory.ts +0 -25
- package/typechain-types/factories/IPRouterStatic__factory.ts +0 -140
- package/typechain-types/factories/KyberMathHelper__factory.ts +430 -0
- package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +101 -0
- package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
- package/typechain-types/factories/LinearPreview__factory.ts +1 -1
- package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
- package/typechain-types/factories/Multicall2__factory.ts +1 -1
- package/typechain-types/factories/NonceManager__factory.ts +149 -0
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleAnkrBNBSY__factory.ts +1 -1
- package/typechain-types/factories/PendleArbitrumStakedEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +1160 -0
- package/typechain-types/factories/PendleAuraBbAWethSwethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethRocketEthSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethStafiEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethVethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSYV2__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWstethAnkreth__factory.ts +1 -1
- package/typechain-types/factories/PendleBridgedLSDSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCamelotV1VolatileSY__factory.ts +1 -1
- package/typechain-types/factories/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/PendleERC20PermitUpg__factory.ts +340 -0
- package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20Upg__factory.ts +261 -0
- package/typechain-types/factories/PendleERC20__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/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/PendleKyberElasticSY__factory.ts +1302 -0
- package/typechain-types/factories/PendleLimitRouter__factory.ts +1064 -0
- 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/PendleMarketFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV2__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
- package/typechain-types/factories/PendleOracleForSyProxy__factory.ts +1 -1
- package/typechain-types/factories/PendleOrderMixin__factory.ts +775 -0
- package/typechain-types/factories/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtGlpOracle__factory.ts +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/PendleRouter__factory.ts +1 -21
- package/typechain-types/factories/PendleSfrxEthSY__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLPSY__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/PredicateHelper__factory.ts +218 -0
- package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
- package/typechain-types/factories/RouterV2InterfaceForRouterHelper__factory.ts +487 -0
- package/typechain-types/factories/SAPE__factory.ts +1 -1
- package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -170
- package/typechain-types/factories/SYBaseUpg__factory.ts +939 -0
- package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +1012 -0
- 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 +81 -63
- package/typechain-types/index.ts +18 -14
- 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/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.json +0 -321
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.json +0 -92
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.json +0 -34
- 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/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +0 -753
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +0 -4
- package/contracts/core/BulkSeller/BulkSeller.sol +0 -233
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +0 -85
- package/contracts/core/BulkSeller/BulkSellerMathCore.sol +0 -139
- package/contracts/interfaces/IPActionMintRedeem.sol +0 -108
- package/contracts/interfaces/IPBulkSeller.sol +0 -48
- package/contracts/interfaces/IPBulkSellerFactory.sol +0 -12
- package/contracts/interfaces/IPBulkSellerSYCallback.sol +0 -6
- package/contracts/offchain-helpers/BulkSellerOffchain.sol +0 -69
- package/contracts/router/ActionMintRedeem.sol +0 -134
- package/contracts/router/base/ActionBaseMintRedeem.sol +0 -203
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.21;
|
|
3
3
|
|
|
4
|
-
import "./base/
|
|
4
|
+
import "./base/ActionBase.sol";
|
|
5
5
|
import "../interfaces/IPActionAddRemoveLiq.sol";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* @dev If market is expired, all actions will revert, except for the following:
|
|
11
|
-
* - removeLiquidityDualSyAndPt()
|
|
12
|
-
* - removeLiquidityDualTokenAndPt()
|
|
13
|
-
* - removeLiquiditySingleSy()
|
|
14
|
-
* - removeLiquiditySingleToken()
|
|
15
|
-
* This is because swapping and adding liquidity are not allowed on an expired market.
|
|
16
|
-
*/
|
|
17
|
-
contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
6
|
+
|
|
7
|
+
contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
18
8
|
using PMath for uint256;
|
|
19
9
|
using PMath for int256;
|
|
20
10
|
using MarketMathCore for MarketState;
|
|
@@ -23,261 +13,181 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
23
13
|
using PYIndexLib for IPYieldToken;
|
|
24
14
|
using PYIndexLib for PYIndex;
|
|
25
15
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* @dev Will mint as much LP as possible given no more than `netSyDesired` and `netPtDesired`,
|
|
29
|
-
* while not changing the market's price
|
|
30
|
-
* @dev Only the necessary SY/PT amount will be transferred
|
|
31
|
-
* @dev Reverts if market is expired
|
|
32
|
-
*/
|
|
33
|
-
function addLiquidityDualSyAndPt(
|
|
16
|
+
// ------------------ ADD LIQUIDITY DUAL ------------------
|
|
17
|
+
function addLiquidityDualTokenAndPt(
|
|
34
18
|
address receiver,
|
|
35
19
|
address market,
|
|
36
|
-
|
|
20
|
+
TokenInput calldata input,
|
|
37
21
|
uint256 netPtDesired,
|
|
38
22
|
uint256 minLpOut
|
|
39
|
-
) external returns (uint256 netLpOut, uint256
|
|
40
|
-
(IStandardizedYield SY, IPPrincipalToken PT,
|
|
23
|
+
) external payable returns (uint256 netLpOut, uint256 netPtUsed) {
|
|
24
|
+
(IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
|
|
41
25
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
(, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
|
|
45
|
-
netSyDesired,
|
|
46
|
-
netPtDesired,
|
|
47
|
-
block.timestamp
|
|
48
|
-
);
|
|
26
|
+
uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
|
|
27
|
+
uint256 netSyUsed;
|
|
49
28
|
|
|
50
|
-
|
|
51
|
-
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
29
|
+
(,, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(netSyDesired, netPtDesired, block.timestamp);
|
|
52
30
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
31
|
+
if (netSyDesired != netSyUsed) {
|
|
32
|
+
revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
|
|
33
|
+
}
|
|
56
34
|
|
|
57
|
-
|
|
35
|
+
// SY has been minted and transferred to the market
|
|
36
|
+
_transferFrom(PT, msg.sender, market, netPtUsed);
|
|
37
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
|
|
58
38
|
|
|
59
|
-
|
|
60
|
-
if (netLpOut < minLpOut) assert(false);
|
|
39
|
+
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
61
40
|
|
|
62
|
-
emit
|
|
41
|
+
emit AddLiquidityDualTokenAndPt(
|
|
42
|
+
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netPtUsed, netLpOut
|
|
43
|
+
);
|
|
63
44
|
}
|
|
64
45
|
|
|
65
|
-
|
|
66
|
-
* @notice Adds liquidity to SY/PT market using PT + any token.
|
|
67
|
-
* @dev Input token is first swapped to SY-mintable token using Kyber, then SY is minted from
|
|
68
|
-
* such. Finally the SY/PT pair is added to the market
|
|
69
|
-
* @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
70
|
-
* @param netPtDesired maximum PT to be used
|
|
71
|
-
* @dev Only the necessary PT amount will be transferred
|
|
72
|
-
* @dev All SY minted must be used, otherwise the call will revert. Therefore it is recommended
|
|
73
|
-
* that `netPtDesired` is slightly higher than actual expected.
|
|
74
|
-
* @dev Reverts if market is expired
|
|
75
|
-
*/
|
|
76
|
-
function addLiquidityDualTokenAndPt(
|
|
46
|
+
function addLiquidityDualSyAndPt(
|
|
77
47
|
address receiver,
|
|
78
48
|
address market,
|
|
79
|
-
|
|
49
|
+
uint256 netSyDesired,
|
|
80
50
|
uint256 netPtDesired,
|
|
81
51
|
uint256 minLpOut
|
|
82
|
-
) external
|
|
83
|
-
(IStandardizedYield SY, IPPrincipalToken PT,
|
|
84
|
-
|
|
85
|
-
uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
|
|
86
|
-
uint256 netSyUsed;
|
|
87
|
-
|
|
88
|
-
{
|
|
89
|
-
// calc the amount of SY and PT to be used
|
|
90
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
91
|
-
(, netLpOut, netSyUsed, netPtUsed) = state.addLiquidity(
|
|
92
|
-
netSyDesired,
|
|
93
|
-
netPtDesired,
|
|
94
|
-
block.timestamp
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
if (netSyDesired != netSyUsed)
|
|
98
|
-
revert Errors.RouterNotAllSyUsed(netSyDesired, netSyUsed);
|
|
99
|
-
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
52
|
+
) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
|
|
53
|
+
(IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
|
|
100
54
|
|
|
101
|
-
|
|
102
|
-
|
|
55
|
+
// calculate the amount of SY and PT to be used
|
|
56
|
+
(, netLpOut, netSyUsed, netPtUsed) =
|
|
57
|
+
_readMarket(market).addLiquidity(netSyDesired, netPtDesired, block.timestamp);
|
|
103
58
|
|
|
104
|
-
|
|
105
|
-
_transferFrom(
|
|
106
|
-
(netLpOut
|
|
59
|
+
_transferFrom(SY, msg.sender, market, netSyUsed);
|
|
60
|
+
_transferFrom(PT, msg.sender, market, netPtUsed);
|
|
61
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
|
|
107
62
|
|
|
108
|
-
|
|
109
|
-
if (netLpOut < minLpOut) assert(false);
|
|
63
|
+
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
110
64
|
|
|
111
|
-
emit
|
|
112
|
-
msg.sender,
|
|
113
|
-
market,
|
|
114
|
-
input.tokenIn,
|
|
115
|
-
receiver,
|
|
116
|
-
netTokenUsed,
|
|
117
|
-
netPtUsed,
|
|
118
|
-
netLpOut
|
|
119
|
-
);
|
|
65
|
+
emit AddLiquidityDualSyAndPt(msg.sender, market, receiver, netSyUsed, netPtUsed, netLpOut);
|
|
120
66
|
}
|
|
121
67
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
* @param netPtIn amount of PT to be transferred in from caller
|
|
125
|
-
* @param guessPtSwapToSy approximate info for the swap
|
|
126
|
-
* @return netLpOut actual LP output, will not be lower than `minLpOut`
|
|
127
|
-
* @return netSyFee amount of SY fee incurred from the swap
|
|
128
|
-
* @dev Reverts if market is expired
|
|
129
|
-
*/
|
|
68
|
+
// ------------------ ADD LIQUIDITY SINGLE PT ------------------
|
|
69
|
+
|
|
130
70
|
function addLiquiditySinglePt(
|
|
131
71
|
address receiver,
|
|
132
72
|
address market,
|
|
133
73
|
uint256 netPtIn,
|
|
134
74
|
uint256 minLpOut,
|
|
135
|
-
ApproxParams calldata guessPtSwapToSy
|
|
75
|
+
ApproxParams calldata guessPtSwapToSy,
|
|
76
|
+
LimitOrderData calldata limit
|
|
136
77
|
) external returns (uint256 netLpOut, uint256 netSyFee) {
|
|
137
78
|
(, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
79
|
+
_transferFrom(PT, msg.sender, _entry_addLiquiditySinglePt(market, limit), netPtIn);
|
|
138
80
|
|
|
139
|
-
|
|
140
|
-
|
|
81
|
+
uint256 netPtLeft = netPtIn;
|
|
82
|
+
uint256 netSyReceived;
|
|
141
83
|
|
|
142
|
-
(
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
84
|
+
if (!_isEmptyLimit(limit)) {
|
|
85
|
+
(netPtLeft, netSyReceived, netSyFee,) = _fillLimit(receiver, netPtLeft, limit);
|
|
86
|
+
_transferOut(address(PT), market, netPtLeft);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
(uint256 netPtSwapMarket,,) = _readMarket(market).approxSwapPtToAddLiquidity(
|
|
90
|
+
YT.newIndex(), netPtLeft, netSyReceived, block.timestamp, guessPtSwapToSy
|
|
147
91
|
);
|
|
148
92
|
|
|
149
93
|
// execute the swap
|
|
150
|
-
|
|
94
|
+
(uint256 netSyOutMarket, uint256 netSyFeeMarket) =
|
|
95
|
+
IPMarket(market).swapExactPtForSy(market, netPtSwapMarket, EMPTY_BYTES);
|
|
151
96
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
netPtSwap,
|
|
156
|
-
EMPTY_BYTES
|
|
157
|
-
);
|
|
97
|
+
netPtLeft -= netPtSwapMarket;
|
|
98
|
+
netSyReceived += netSyOutMarket;
|
|
99
|
+
netSyFee += netSyFeeMarket;
|
|
158
100
|
|
|
159
101
|
// execute the addLiquidity
|
|
160
|
-
(netLpOut
|
|
102
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyReceived, netPtLeft);
|
|
161
103
|
|
|
162
104
|
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
163
105
|
|
|
164
106
|
emit AddLiquiditySinglePt(msg.sender, market, receiver, netPtIn, netLpOut);
|
|
165
107
|
}
|
|
166
108
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
*/
|
|
175
|
-
function addLiquiditySingleSy(
|
|
109
|
+
function _entry_addLiquiditySinglePt(address market, LimitOrderData calldata lim) internal view returns (address) {
|
|
110
|
+
return !_isEmptyLimit(lim) ? address(this) : market;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// ------------------ ADD LIQUIDITY SINGLE TOKEN ------------------
|
|
114
|
+
|
|
115
|
+
function addLiquiditySingleToken(
|
|
176
116
|
address receiver,
|
|
177
117
|
address market,
|
|
178
|
-
uint256 netSyIn,
|
|
179
118
|
uint256 minLpOut,
|
|
180
|
-
ApproxParams calldata guessPtReceivedFromSy
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
_transferFrom(IERC20(SY), msg.sender, market, netSyIn);
|
|
186
|
-
|
|
187
|
-
// mint LP
|
|
188
|
-
(netLpOut, netSyFee) = _addLiquiditySingleSy(
|
|
189
|
-
receiver,
|
|
190
|
-
market,
|
|
191
|
-
YT,
|
|
192
|
-
netSyIn,
|
|
193
|
-
minLpOut,
|
|
194
|
-
guessPtReceivedFromSy
|
|
195
|
-
);
|
|
119
|
+
ApproxParams calldata guessPtReceivedFromSy,
|
|
120
|
+
TokenInput calldata input,
|
|
121
|
+
LimitOrderData calldata limit
|
|
122
|
+
) external payable returns (uint256 netLpOut, uint256 netSyFee) {
|
|
123
|
+
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
196
124
|
|
|
197
|
-
|
|
125
|
+
uint256 netSyUsed = _mintSyFromToken(_entry_addLiquiditySingleSy(market, limit), address(SY), 1, input);
|
|
126
|
+
|
|
127
|
+
(netLpOut, netSyFee) =
|
|
128
|
+
_addLiquiditySingleSy(receiver, market, SY, YT, netSyUsed, minLpOut, guessPtReceivedFromSy, limit);
|
|
129
|
+
|
|
130
|
+
emit AddLiquiditySingleToken(msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut);
|
|
198
131
|
}
|
|
199
132
|
|
|
200
|
-
|
|
201
|
-
* @notice Adds liquidity using a single token input. The input token is first swapped through
|
|
202
|
-
* Kyberswap to a SY-mintable token, the rest is the same as `addLiquiditySingleSy()`
|
|
203
|
-
* @param guessPtReceivedFromSy approximate PT output for the SY-to-PT swap
|
|
204
|
-
* @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
205
|
-
* @return netLpOut actual LP output, will not be lower than `minLpOut`
|
|
206
|
-
* @return netSyFee amount of SY fee incurred from the swap
|
|
207
|
-
* @dev Reverts if market is expired
|
|
208
|
-
*/
|
|
209
|
-
function addLiquiditySingleToken(
|
|
133
|
+
function addLiquiditySingleSy(
|
|
210
134
|
address receiver,
|
|
211
135
|
address market,
|
|
136
|
+
uint256 netSyIn,
|
|
212
137
|
uint256 minLpOut,
|
|
213
138
|
ApproxParams calldata guessPtReceivedFromSy,
|
|
214
|
-
|
|
215
|
-
) external
|
|
216
|
-
(IStandardizedYield SY
|
|
217
|
-
|
|
218
|
-
// mint SY directly to the market
|
|
219
|
-
uint256 netSyUsed = _mintSyFromToken(market, address(SY), 1, input);
|
|
220
|
-
|
|
221
|
-
// mint LP
|
|
222
|
-
(netLpOut, netSyFee) = _addLiquiditySingleSy(
|
|
223
|
-
receiver,
|
|
224
|
-
market,
|
|
225
|
-
YT,
|
|
226
|
-
netSyUsed,
|
|
227
|
-
minLpOut,
|
|
228
|
-
guessPtReceivedFromSy
|
|
229
|
-
);
|
|
139
|
+
LimitOrderData calldata limit
|
|
140
|
+
) external returns (uint256 netLpOut, uint256 netSyFee) {
|
|
141
|
+
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
230
142
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
netLpOut
|
|
238
|
-
);
|
|
143
|
+
_transferFrom(SY, msg.sender, _entry_addLiquiditySingleSy(market, limit), netSyIn);
|
|
144
|
+
|
|
145
|
+
(netLpOut, netSyFee) =
|
|
146
|
+
_addLiquiditySingleSy(receiver, market, SY, YT, netSyIn, minLpOut, guessPtReceivedFromSy, limit);
|
|
147
|
+
|
|
148
|
+
emit AddLiquiditySingleSy(msg.sender, market, receiver, netSyIn, netLpOut);
|
|
239
149
|
}
|
|
240
150
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
* @dev Reverts if market is expired
|
|
247
|
-
*/
|
|
248
|
-
function addLiquiditySingleSyKeepYt(
|
|
151
|
+
function _entry_addLiquiditySingleSy(address market, LimitOrderData calldata lim) internal view returns (address) {
|
|
152
|
+
return !_isEmptyLimit(lim) ? address(this) : market;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function _addLiquiditySingleSy(
|
|
249
156
|
address receiver,
|
|
250
157
|
address market,
|
|
158
|
+
IStandardizedYield SY,
|
|
159
|
+
IPYieldToken YT,
|
|
251
160
|
uint256 netSyIn,
|
|
252
161
|
uint256 minLpOut,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
162
|
+
ApproxParams calldata guessPtReceivedFromSy,
|
|
163
|
+
LimitOrderData calldata limit
|
|
164
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
165
|
+
uint256 netSyLeft = netSyIn;
|
|
166
|
+
uint256 netPtReceived;
|
|
256
167
|
|
|
257
|
-
|
|
168
|
+
if (!_isEmptyLimit(limit)) {
|
|
169
|
+
(netSyLeft, netPtReceived, netSyFee,) = _fillLimit(receiver, netSyLeft, limit);
|
|
170
|
+
_transferOut(address(SY), market, netSyLeft);
|
|
171
|
+
}
|
|
258
172
|
|
|
259
|
-
(
|
|
260
|
-
|
|
261
|
-
market,
|
|
262
|
-
SY,
|
|
263
|
-
YT,
|
|
264
|
-
netSyIn,
|
|
265
|
-
minLpOut,
|
|
266
|
-
minYtOut
|
|
173
|
+
(uint256 netPtOutMarket,,) = _readMarket(market).approxSwapSyToAddLiquidity(
|
|
174
|
+
YT.newIndex(), netSyLeft, netPtReceived, block.timestamp, guessPtReceivedFromSy
|
|
267
175
|
);
|
|
268
176
|
|
|
269
|
-
|
|
177
|
+
(uint256 netSySwapMarket, uint256 netSyFeeMarket) =
|
|
178
|
+
IPMarket(market).swapSyForExactPt(market, netPtOutMarket, EMPTY_BYTES);
|
|
179
|
+
|
|
180
|
+
netSyLeft -= netSySwapMarket;
|
|
181
|
+
netPtReceived += netPtOutMarket;
|
|
182
|
+
netSyFee += netSyFeeMarket;
|
|
183
|
+
|
|
184
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyLeft, netPtReceived);
|
|
185
|
+
|
|
186
|
+
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
270
187
|
}
|
|
271
188
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
* is first swapped through Kyberswap to a SY-mintable token, the rest is the same as
|
|
275
|
-
* `addLiquiditySingleSyKeepYt()`
|
|
276
|
-
* @param input data for input token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
277
|
-
* @return netLpOut actual LP output, will not be lower than `minLpOut`
|
|
278
|
-
* @return netYtOut actual YT output, will not be lower than `minYtOut`
|
|
279
|
-
* @dev Reverts if market is expired
|
|
280
|
-
*/
|
|
189
|
+
// ------------------ ADD LIQUIDITY SINGLE TOKEN KEEP YT ------------------
|
|
190
|
+
|
|
281
191
|
function addLiquiditySingleTokenKeepYt(
|
|
282
192
|
address receiver,
|
|
283
193
|
address market,
|
|
@@ -285,67 +195,66 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
285
195
|
uint256 minYtOut,
|
|
286
196
|
TokenInput calldata input
|
|
287
197
|
) external returns (uint256 netLpOut, uint256 netYtOut) {
|
|
288
|
-
(IStandardizedYield SY
|
|
198
|
+
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
289
199
|
|
|
290
200
|
uint256 netSyUsed = _mintSyFromToken(address(this), address(SY), 1, input);
|
|
291
201
|
|
|
292
|
-
(netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(
|
|
293
|
-
receiver,
|
|
294
|
-
market,
|
|
295
|
-
SY,
|
|
296
|
-
YT,
|
|
297
|
-
netSyUsed,
|
|
298
|
-
minLpOut,
|
|
299
|
-
minYtOut
|
|
300
|
-
);
|
|
202
|
+
(netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyUsed, minLpOut, minYtOut);
|
|
301
203
|
|
|
302
204
|
emit AddLiquiditySingleTokenKeepYt(
|
|
303
|
-
msg.sender,
|
|
304
|
-
market,
|
|
305
|
-
input.tokenIn,
|
|
306
|
-
receiver,
|
|
307
|
-
input.netTokenIn,
|
|
308
|
-
netLpOut,
|
|
309
|
-
netYtOut
|
|
205
|
+
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netYtOut
|
|
310
206
|
);
|
|
311
207
|
}
|
|
312
208
|
|
|
313
|
-
|
|
314
|
-
* @notice Burns LP token to remove SY/PT liquidity
|
|
315
|
-
* @param netLpToRemove amount of LP to be burned from caller
|
|
316
|
-
* @dev Will work even if market is expired
|
|
317
|
-
*/
|
|
318
|
-
function removeLiquidityDualSyAndPt(
|
|
209
|
+
function addLiquiditySingleSyKeepYt(
|
|
319
210
|
address receiver,
|
|
320
211
|
address market,
|
|
321
|
-
uint256
|
|
322
|
-
uint256
|
|
323
|
-
uint256
|
|
324
|
-
) external returns (uint256
|
|
325
|
-
|
|
212
|
+
uint256 netSyIn,
|
|
213
|
+
uint256 minLpOut,
|
|
214
|
+
uint256 minYtOut
|
|
215
|
+
) external returns (uint256 netLpOut, uint256 netYtOut) {
|
|
216
|
+
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
326
217
|
|
|
327
|
-
(
|
|
218
|
+
_transferIn(address(SY), msg.sender, netSyIn);
|
|
328
219
|
|
|
329
|
-
|
|
330
|
-
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
220
|
+
(netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyIn, minLpOut, minYtOut);
|
|
331
221
|
|
|
332
|
-
emit
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
222
|
+
emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netLpOut, netYtOut);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
function _addLiquiditySingleSyKeepYt(
|
|
226
|
+
address receiver,
|
|
227
|
+
address market,
|
|
228
|
+
IStandardizedYield SY,
|
|
229
|
+
IPYieldToken YT,
|
|
230
|
+
uint256 netSyIn,
|
|
231
|
+
uint256 minLpOut,
|
|
232
|
+
uint256 minYtOut
|
|
233
|
+
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
234
|
+
MarketState memory state = _readMarket(market);
|
|
235
|
+
|
|
236
|
+
PYIndex pyIndex = YT.newIndex();
|
|
237
|
+
|
|
238
|
+
uint256 netSyToPt =
|
|
239
|
+
(netSyIn * state.totalPt.Uint()) / (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
240
|
+
|
|
241
|
+
// transfer SY to mint PY
|
|
242
|
+
_transferOut(address(SY), address(YT), netSyToPt);
|
|
243
|
+
|
|
244
|
+
// the rest of SY goes to market
|
|
245
|
+
_transferOut(address(SY), market, netSyIn - netSyToPt);
|
|
246
|
+
|
|
247
|
+
// PT goes to market, YT goes to receiver
|
|
248
|
+
netYtOut = YT.mintPY(market, receiver);
|
|
249
|
+
|
|
250
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyIn - netSyToPt, netYtOut);
|
|
251
|
+
|
|
252
|
+
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
253
|
+
if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
|
|
340
254
|
}
|
|
341
255
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
* swaps SY redeemings through Kyberswap to desired output token.
|
|
345
|
-
* @param netLpToRemove amount of LP to be burned from caller
|
|
346
|
-
* @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
347
|
-
* @dev Will work even if market is expired
|
|
348
|
-
*/
|
|
256
|
+
// ------------------ REMOVE LIQUIDITY DUAL ------------------
|
|
257
|
+
|
|
349
258
|
function removeLiquidityDualTokenAndPt(
|
|
350
259
|
address receiver,
|
|
351
260
|
address market,
|
|
@@ -353,266 +262,142 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
353
262
|
TokenOutput calldata output,
|
|
354
263
|
uint256 minPtOut
|
|
355
264
|
) external returns (uint256 netTokenOut, uint256 netPtOut) {
|
|
356
|
-
(IStandardizedYield SY
|
|
265
|
+
(IStandardizedYield SY,,) = IPMarket(market).readTokens();
|
|
357
266
|
|
|
358
|
-
// burn LP, SY sent to
|
|
267
|
+
// burn LP, SY sent to SY, PT sent to receiver
|
|
359
268
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
360
269
|
|
|
361
270
|
uint256 netSyOut;
|
|
362
|
-
(netSyOut, netPtOut) = IPMarket(market).burn(
|
|
363
|
-
_syOrBulk(address(SY), output),
|
|
364
|
-
receiver,
|
|
365
|
-
netLpToRemove
|
|
366
|
-
);
|
|
367
|
-
|
|
271
|
+
(netSyOut, netPtOut) = IPMarket(market).burn(address(SY), receiver, netLpToRemove);
|
|
368
272
|
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
369
273
|
|
|
370
274
|
// redeem SY to token
|
|
371
275
|
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyOut, output, false);
|
|
372
|
-
|
|
373
276
|
emit RemoveLiquidityDualTokenAndPt(
|
|
374
|
-
msg.sender,
|
|
375
|
-
market,
|
|
376
|
-
output.tokenOut,
|
|
377
|
-
receiver,
|
|
378
|
-
netLpToRemove,
|
|
379
|
-
netPtOut,
|
|
380
|
-
netTokenOut
|
|
277
|
+
msg.sender, market, output.tokenOut, receiver, netLpToRemove, netPtOut, netTokenOut
|
|
381
278
|
);
|
|
382
279
|
}
|
|
383
280
|
|
|
384
|
-
|
|
385
|
-
* @notice Removes SY/PT liquidity, then swaps all resulting SY to return only PT
|
|
386
|
-
* @param netLpToRemove amount of LP to be burned from caller
|
|
387
|
-
* @param guessPtReceivedFromSy approximate info for the swap
|
|
388
|
-
* @return netPtOut total PT output, will not be lower than `minPtOut`
|
|
389
|
-
* @return netSyFee amount of SY fee incurred from the swap
|
|
390
|
-
* @dev Reverts if market is expired
|
|
391
|
-
*/
|
|
392
|
-
function removeLiquiditySinglePt(
|
|
281
|
+
function removeLiquidityDualSyAndPt(
|
|
393
282
|
address receiver,
|
|
394
283
|
address market,
|
|
395
284
|
uint256 netLpToRemove,
|
|
396
|
-
uint256
|
|
397
|
-
|
|
398
|
-
) external returns (uint256
|
|
399
|
-
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
400
|
-
|
|
401
|
-
// calculate the total amount of PT received from burning & selling SY
|
|
402
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
403
|
-
(uint256 syFromBurn, uint256 ptFromBurn) = state.removeLiquidity(netLpToRemove);
|
|
404
|
-
(uint256 ptFromSwap, ) = state.approxSwapExactSyForPt(
|
|
405
|
-
YT.newIndex(),
|
|
406
|
-
syFromBurn,
|
|
407
|
-
block.timestamp,
|
|
408
|
-
guessPtReceivedFromSy
|
|
409
|
-
);
|
|
410
|
-
|
|
411
|
-
if (ptFromBurn + ptFromSwap < minPtOut)
|
|
412
|
-
revert Errors.RouterInsufficientPtOut(ptFromBurn + ptFromSwap, minPtOut);
|
|
413
|
-
|
|
414
|
-
// execute the burn & the swap
|
|
285
|
+
uint256 minSyOut,
|
|
286
|
+
uint256 minPtOut
|
|
287
|
+
) external returns (uint256 netSyOut, uint256 netPtOut) {
|
|
415
288
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
416
289
|
|
|
417
|
-
(,
|
|
418
|
-
(, netSyFee) = IPMarket(market).swapSyForExactPt(receiver, ptFromSwap, EMPTY_BYTES);
|
|
419
|
-
|
|
420
|
-
netPtOut = ptFromBurn + ptFromSwap;
|
|
290
|
+
(netSyOut, netPtOut) = IPMarket(market).burn(receiver, receiver, netLpToRemove);
|
|
421
291
|
|
|
422
|
-
|
|
423
|
-
if (netPtOut < minPtOut)
|
|
292
|
+
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
293
|
+
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
424
294
|
|
|
425
|
-
emit
|
|
295
|
+
emit RemoveLiquidityDualSyAndPt(msg.sender, market, receiver, netLpToRemove, netPtOut, netSyOut);
|
|
426
296
|
}
|
|
427
297
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
* @dev Conversion is done with market swap if not expired, or with PT redeeming if expired
|
|
431
|
-
* @param netLpToRemove amount of LP to be burned from caller
|
|
432
|
-
* @return netSyOut total SY output, will not be lower than `minSyOut`
|
|
433
|
-
* @return netSyFee amount of SY fee incurred from the swap
|
|
434
|
-
* @dev Will work even if market is expired
|
|
435
|
-
*/
|
|
436
|
-
function removeLiquiditySingleSy(
|
|
298
|
+
// ------------------ REMOVE LIQUIDITY SINGLE PT ------------------
|
|
299
|
+
function removeLiquiditySinglePt(
|
|
437
300
|
address receiver,
|
|
438
301
|
address market,
|
|
439
302
|
uint256 netLpToRemove,
|
|
440
|
-
uint256
|
|
441
|
-
|
|
442
|
-
|
|
303
|
+
uint256 minPtOut,
|
|
304
|
+
ApproxParams calldata guessPtReceivedFromSy,
|
|
305
|
+
LimitOrderData calldata limit
|
|
306
|
+
) external returns (uint256 netPtOut, uint256 netSyFee) {
|
|
307
|
+
uint256 netSyLeft;
|
|
308
|
+
|
|
309
|
+
// execute the burn
|
|
443
310
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
311
|
+
(uint256 netSyOutBurn, uint256 netPtOutBurn) =
|
|
312
|
+
IPMarket(market).burn(_entry_swapExactSyForPt(market, limit), receiver, netLpToRemove);
|
|
313
|
+
netSyLeft += netSyOutBurn;
|
|
314
|
+
netPtOut += netPtOutBurn;
|
|
444
315
|
|
|
445
|
-
|
|
446
|
-
|
|
316
|
+
(uint256 netPtOutSwap, uint256 netSyFeeSwap) =
|
|
317
|
+
_swapExactSyForPt(receiver, market, netSyLeft, 0, guessPtReceivedFromSy, limit);
|
|
318
|
+
netPtOut += netPtOutSwap;
|
|
319
|
+
netSyFee += netSyFeeSwap;
|
|
447
320
|
|
|
448
|
-
|
|
321
|
+
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
322
|
+
|
|
323
|
+
emit RemoveLiquiditySinglePt(msg.sender, market, receiver, netLpToRemove, netPtOut);
|
|
449
324
|
}
|
|
450
325
|
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
* @dev inner workings of this function:
|
|
454
|
-
- Removes SY/PT liquidity to only SY (see `removeLiquiditySingleSy()`)
|
|
455
|
-
- Burns SY to redeem SY-mintable tokens
|
|
456
|
-
- (If needed) swaps resulting tokens to desired output token using Kyberswap
|
|
457
|
-
* @param netLpToRemove amount of LP to be burned from caller
|
|
458
|
-
* @param output data for desired output token, see {`./kyberswap/KyberSwapHelper.sol`}
|
|
459
|
-
* @return netTokenOut total token output, will not be lower than `output.minTokenOut`
|
|
460
|
-
* @return netSyFee amount of SY fee incurred from the swap
|
|
461
|
-
* @dev Will work even if market is expired
|
|
462
|
-
*/
|
|
326
|
+
// ------------------ REMOVE LIQUIDITY SINGLE TOKEN ------------------
|
|
327
|
+
|
|
463
328
|
function removeLiquiditySingleToken(
|
|
464
329
|
address receiver,
|
|
465
330
|
address market,
|
|
466
331
|
uint256 netLpToRemove,
|
|
467
|
-
TokenOutput calldata output
|
|
332
|
+
TokenOutput calldata output,
|
|
333
|
+
LimitOrderData calldata limit
|
|
468
334
|
) external returns (uint256 netTokenOut, uint256 netSyFee) {
|
|
469
|
-
(IStandardizedYield SY
|
|
335
|
+
(IStandardizedYield SY,,) = IPMarket(market).readTokens();
|
|
470
336
|
|
|
471
|
-
// transfer LP to market, burn LP, SY sent to either SY or bulk
|
|
472
337
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
473
338
|
|
|
474
339
|
uint256 netSyReceived;
|
|
340
|
+
(netSyReceived, netSyFee) = _removeLiquiditySingleSy(address(SY), market, netLpToRemove, 1, limit);
|
|
475
341
|
|
|
476
|
-
(netSyReceived, netSyFee) = _removeLiquiditySingleSy(
|
|
477
|
-
_syOrBulk(address(SY), output),
|
|
478
|
-
market,
|
|
479
|
-
netLpToRemove,
|
|
480
|
-
1
|
|
481
|
-
);
|
|
482
|
-
|
|
483
|
-
// redeem SY to token
|
|
484
342
|
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyReceived, output, false);
|
|
485
343
|
|
|
486
|
-
emit RemoveLiquiditySingleToken(
|
|
487
|
-
msg.sender,
|
|
488
|
-
market,
|
|
489
|
-
output.tokenOut,
|
|
490
|
-
receiver,
|
|
491
|
-
netLpToRemove,
|
|
492
|
-
netTokenOut
|
|
493
|
-
);
|
|
344
|
+
emit RemoveLiquiditySingleToken(msg.sender, market, output.tokenOut, receiver, netLpToRemove, netTokenOut);
|
|
494
345
|
}
|
|
495
346
|
|
|
496
|
-
|
|
497
|
-
function _addLiquiditySingleSy(
|
|
498
|
-
address receiver,
|
|
499
|
-
address market,
|
|
500
|
-
IPYieldToken YT,
|
|
501
|
-
uint256 netSyIn,
|
|
502
|
-
uint256 minLpOut,
|
|
503
|
-
ApproxParams calldata guessPtReceivedFromSy
|
|
504
|
-
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
505
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
506
|
-
|
|
507
|
-
// calculate the PT amount needed to add liquidity
|
|
508
|
-
(uint256 netPtFromSwap, , ) = state.approxSwapSyToAddLiquidity(
|
|
509
|
-
YT.newIndex(),
|
|
510
|
-
netSyIn,
|
|
511
|
-
block.timestamp,
|
|
512
|
-
guessPtReceivedFromSy
|
|
513
|
-
);
|
|
514
|
-
|
|
515
|
-
// execute the swap & the addLiquidity
|
|
516
|
-
uint256 netSySwapped;
|
|
517
|
-
(netSySwapped, netSyFee) = IPMarket(market).swapSyForExactPt(
|
|
518
|
-
market,
|
|
519
|
-
netPtFromSwap,
|
|
520
|
-
EMPTY_BYTES
|
|
521
|
-
);
|
|
522
|
-
|
|
523
|
-
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyIn - netSySwapped, netPtFromSwap);
|
|
524
|
-
|
|
525
|
-
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
/**
|
|
529
|
-
* @dev algorithm:
|
|
530
|
-
- Split SY into a SY and b SY (with a + b = netSyIn)
|
|
531
|
-
- Mint PY with a SY ---> gives (a * pyIndex / ONE) PT + YT
|
|
532
|
-
- Mint LP with (a * pyIndex / ONE) PT and b SY
|
|
533
|
-
|
|
534
|
-
-> We want (a * pyIndex / ONE) / totalPt = b / totalSy
|
|
535
|
-
-> a * (1 + pyIndex * totalSy / ONE / totalPt) = netSyIn
|
|
536
|
-
-> a = (netSyIn * totalPt) / (totalPt + (pyIndex * totalSy / ONE))
|
|
537
|
-
-> a = (netSyIn * totalPt) / (totalPt + totalAsset)
|
|
538
|
-
*/
|
|
539
|
-
function _addLiquiditySingleSyKeepYt(
|
|
347
|
+
function removeLiquiditySingleSy(
|
|
540
348
|
address receiver,
|
|
541
349
|
address market,
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
548
|
-
MarketState memory state = IPMarket(market).readState(address(this));
|
|
549
|
-
|
|
550
|
-
PYIndex pyIndex = YT.newIndex();
|
|
551
|
-
|
|
552
|
-
uint256 netSyToPt = (netSyIn * state.totalPt.Uint()) /
|
|
553
|
-
(state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
554
|
-
|
|
555
|
-
// transfer SY to mint PY
|
|
556
|
-
_transferOut(address(SY), address(YT), netSyToPt);
|
|
557
|
-
|
|
558
|
-
// the rest of SY goes to market
|
|
559
|
-
_transferOut(address(SY), market, netSyIn - netSyToPt);
|
|
560
|
-
|
|
561
|
-
// PT goes to market, YT goes to receiver
|
|
562
|
-
netYtOut = YT.mintPY(market, receiver);
|
|
350
|
+
uint256 netLpToRemove,
|
|
351
|
+
uint256 minSyOut,
|
|
352
|
+
LimitOrderData calldata limit
|
|
353
|
+
) external returns (uint256 netSyOut, uint256 netSyFee) {
|
|
354
|
+
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
563
355
|
|
|
564
|
-
(
|
|
356
|
+
(netSyOut, netSyFee) = _removeLiquiditySingleSy(receiver, market, netLpToRemove, minSyOut, limit);
|
|
565
357
|
|
|
566
|
-
|
|
567
|
-
if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
|
|
358
|
+
emit RemoveLiquiditySingleSy(msg.sender, market, receiver, netLpToRemove, netSyOut);
|
|
568
359
|
}
|
|
569
360
|
|
|
570
|
-
|
|
361
|
+
// the entry of this will always be market
|
|
571
362
|
function _removeLiquiditySingleSy(
|
|
572
363
|
address receiver,
|
|
573
364
|
address market,
|
|
574
365
|
uint256 netLpToRemove,
|
|
575
|
-
uint256 minSyOut
|
|
366
|
+
uint256 minSyOut,
|
|
367
|
+
LimitOrderData calldata limit
|
|
576
368
|
) internal returns (uint256 netSyOut, uint256 netSyFee) {
|
|
577
369
|
if (IPMarket(market).isExpired()) {
|
|
578
370
|
netSyOut = __removeLpToSyAfterExpiry(receiver, market, netLpToRemove);
|
|
579
371
|
} else {
|
|
580
|
-
(netSyOut, netSyFee) = __removeLpToSyBeforeExpiry(receiver, market, netLpToRemove);
|
|
372
|
+
(netSyOut, netSyFee) = __removeLpToSyBeforeExpiry(receiver, market, netLpToRemove, limit);
|
|
581
373
|
}
|
|
582
|
-
|
|
583
374
|
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
584
375
|
}
|
|
585
376
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
593
|
-
(uint256 syFromBurn, ) = IPMarket(market).burn(receiver, address(YT), netLpToRemove);
|
|
377
|
+
function __removeLpToSyAfterExpiry(address receiver, address market, uint256 netLpToRemove)
|
|
378
|
+
internal
|
|
379
|
+
returns (uint256 netSyOut)
|
|
380
|
+
{
|
|
381
|
+
(,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
382
|
+
(uint256 syFromBurn,) = IPMarket(market).burn(receiver, address(YT), netLpToRemove);
|
|
594
383
|
netSyOut = syFromBurn + YT.redeemPY(receiver);
|
|
595
384
|
}
|
|
596
385
|
|
|
597
|
-
/// @dev swaps PT to SY pre-expiry
|
|
598
386
|
function __removeLpToSyBeforeExpiry(
|
|
599
387
|
address receiver,
|
|
600
388
|
address market,
|
|
601
|
-
uint256 netLpToRemove
|
|
389
|
+
uint256 netLpToRemove,
|
|
390
|
+
LimitOrderData calldata limit
|
|
602
391
|
) internal returns (uint256 netSyOut, uint256 netSyFee) {
|
|
603
|
-
|
|
604
|
-
receiver,
|
|
605
|
-
market,
|
|
606
|
-
netLpToRemove
|
|
607
|
-
);
|
|
392
|
+
uint256 netPtLeft;
|
|
608
393
|
|
|
609
|
-
uint256
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
EMPTY_BYTES
|
|
614
|
-
);
|
|
394
|
+
(uint256 netSyOutBurn, uint256 netPtOutBurn) =
|
|
395
|
+
IPMarket(market).burn(receiver, _entry_swapExactPtForSy(market, limit), netLpToRemove);
|
|
396
|
+
netSyOut += netSyOutBurn;
|
|
397
|
+
netPtLeft += netPtOutBurn;
|
|
615
398
|
|
|
616
|
-
|
|
399
|
+
(uint256 netSyOutSwap, uint256 netSyFeeSwap) = _swapExactPtForSy(receiver, market, netPtLeft, 0, limit);
|
|
400
|
+
netSyOut += netSyOutSwap;
|
|
401
|
+
netSyFee += netSyFeeSwap;
|
|
617
402
|
}
|
|
618
403
|
}
|