@pendle/core-v2 3.0.0-beta-3 → 3.0.0-beta-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/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/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/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/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/PendleMarketFactory.sol/PendleMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleGaugeV2.sol/PendleGaugeV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketFactoryV2.sol/PendleMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/v2/PendleMarketV2.sol/PendleMarketV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/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/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraEthxBbAWethSY.sol/AuraEthxBbAWethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/AuraSwEthBbAWethSYV2.sol/AuraSwEthBbAWethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraBbAWethSwethSY.sol/PendleAuraBbAWethSwethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSYV2.sol/PendleAuraWethAnkrethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRocketEthSYV2.sol/PendleAuraWethRocketEthSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethStafiEthSY.sol/PendleAuraWethStafiEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethVethSY.sol/PendleAuraWethVethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSYV2.sol/PendleAuraWethWstethSYV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWstethAnkreth.sol/PendleAuraWstethAnkreth.dbg.json +1 -1
- 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/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- 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/PendleCamelotV1VolatileSY.sol/PendleCamelotV1VolatileSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkReceiver.sol/PendleChainlinkReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/ChainlinkRelayer/PendleChainlinkRelayer.sol/PendleChainlinkRelayer.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- 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/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/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/MantleStakedEth/PendleMantleStakedEthSY.sol/PendleMantleStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/MantleStakedEth/PendleOracleForSyProxy.sol/PendleOracleForSyProxy.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleArbitrumStakedEthSY.sol/PendleArbitrumStakedEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleBridgedLSDSY.sol/PendleBridgedLSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleERC4626SY.sol/PendleERC4626SY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleEUSDSY.sol/PendleEUSDSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleSfrxEthSY.sol/PendleSfrxEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleStargateLPSY.sol/PendleStargateLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWbEthSY.sol/PendleWbEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Stader/PendleETHXSY.sol/PendleETHXSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Swell/PendleSwETH.sol/SwETHSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/PendleThenaSY.sol/PendleThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaLpHelper.sol/ThenaLpHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaMath.sol/ThenaMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/IThenaSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Thena/ThenaPreview.sol/ThenaPreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
- 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 +2 -2
- 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 +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.json → IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.json} +80 -3
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionMisc.sol/IPActionMisc.json → IPActionMiscV3.sol/IPActionMiscV3.json} +124 -34
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionSwapPT.sol/IPActionSwapPT.json → IPActionSwapPTV3.sol/IPActionSwapPTV3.json} +18 -2
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPActionSwapYT.sol/IPActionSwapYT.json → IPActionSwapYTV3.sol/IPActionSwapYTV3.json} +19 -3
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/{IPAllAction.sol/IPAllAction.json → IPAllActionV3.sol/IPAllActionV3.json} +235 -36
- 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 +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +18 -52
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixin.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPOrderMixinType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactoryV2.sol/IPMarketFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPtOracle.sol/IPPtOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterHelper.sol/IPRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldContractFactory.sol/IPYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPendlePreviewHelper.sol/IPendlePreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLP.sol/IStargateLP.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateStaking.sol/IStargateStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISwETH.sol/ISwETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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 +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +35 -69
- package/build/artifacts/contracts/limit/PendleOrderMixin.sol/PendleOrderMixin.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/ArgumentsDecoder.sol/ArgumentsDecoder.json +2 -2
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.json +2 -2
- package/build/artifacts/contracts/limit/helpers/Permitable.sol/Permitable.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/RevertReasonParser.sol/RevertReasonParser.json +2 -2
- 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/ChainlinkRelayerGelato.sol/ChainlinkRelayerGelato.dbg.json +1 -1
- 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 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PendlePtOracle.sol/PendlePtOracle.dbg.json +1 -1
- 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/PendlePtGlpOracle.sol/PendlePtGlpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/samples/PendlePtUsdChainlinkOracle.sol/PendlePtUsdChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2780 -0
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +1040 -0
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +1303 -0
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +1553 -0
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/RouterV2InterfaceForRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.dbg.json +4 -0
- package/build/artifacts/contracts/router/PendleRouterV3.sol/PendleRouterV3.json +174 -0
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.json +2 -2
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.json +2 -2
- package/build/artifacts/contracts/router/base/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/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/interfaces/{IPActionAddRemoveLiq.sol → IPActionAddRemoveLiqV3.sol} +46 -40
- package/contracts/interfaces/{IPActionMisc.sol → IPActionMiscV3.sol} +17 -14
- package/contracts/interfaces/IPActionStorageStatic.sol +1 -1
- package/contracts/interfaces/{IPActionSwapPT.sol → IPActionSwapPTV3.sol} +16 -15
- package/contracts/interfaces/{IPActionSwapYT.sol → IPActionSwapYTV3.sol} +20 -19
- package/contracts/interfaces/IPAllActionV3.sol +19 -0
- package/contracts/interfaces/IPLimitRouter.sol +13 -11
- package/contracts/interfaces/IPRouterHelper.sol +1 -1
- package/contracts/limit/PendleLimitRouter.sol +29 -34
- package/contracts/limit/PendleOrderMixin.sol +17 -11
- package/contracts/limit/helpers/NonceManager.sol +2 -0
- package/contracts/router/{ActionAddRemoveLiq.sol → ActionAddRemoveLiqV3.sol} +43 -37
- package/contracts/router/{ActionMisc.sol → ActionMiscV3.sol} +28 -30
- package/contracts/router/{ActionSwapPT.sol → ActionSwapPTV3.sol} +15 -15
- package/contracts/router/{ActionSwapYT.sol → ActionSwapYTV3.sol} +19 -17
- package/contracts/router/PendleRouterHelper.sol +1 -1
- package/contracts/router/{PendleRouter.sol → PendleRouterV3.sol} +20 -20
- package/contracts/router/base/ActionBase.sol +7 -4
- package/contracts/router/swap-aggregator/PendleSwap.sol +1 -1
- package/deployments/42161-core.json +3 -3
- package/package.json +7 -7
- package/typechain-types/{ActionAddRemoveLiq.ts → ActionAddRemoveLiqV3.ts} +95 -39
- package/typechain-types/{IPActionMisc.ts → ActionMiscV3.ts} +111 -77
- package/typechain-types/{IPActionSwapPT.ts → ActionSwapPTV3.ts} +23 -12
- package/typechain-types/{ActionSwapYT.ts → ActionSwapYTV3.ts} +23 -12
- package/typechain-types/{IPActionAddRemoveLiq.ts → IPActionAddRemoveLiqV3.ts} +100 -44
- package/typechain-types/{ActionMisc.ts → IPActionMiscV3.ts} +111 -77
- package/typechain-types/{ActionSwapPT.ts → IPActionSwapPTV3.ts} +23 -12
- package/typechain-types/{IPActionSwapYT.ts → IPActionSwapYTV3.ts} +28 -17
- package/typechain-types/{IPAllAction.ts → IPAllActionV3.ts} +258 -146
- package/typechain-types/IPLimitRouter.ts +59 -100
- package/typechain-types/PendleLimitRouter.ts +85 -126
- package/typechain-types/{PendleRouter.ts → PendleRouterV3.ts} +5 -5
- package/typechain-types/factories/{ActionAddRemoveLiq__factory.ts → ActionAddRemoveLiqV3__factory.ts} +102 -21
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +1090 -0
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/{ActionSwapPT__factory.ts → ActionSwapPTV3__factory.ts} +38 -19
- package/typechain-types/factories/{ActionSwapYT__factory.ts → ActionSwapYTV3__factory.ts} +38 -19
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AddressProvider__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/ERC20__factory.ts +1 -1
- package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +1 -1
- package/typechain-types/factories/{IPActionAddRemoveLiq__factory.ts → IPActionAddRemoveLiqV3__factory.ts} +86 -9
- package/typechain-types/factories/{IPActionMisc__factory.ts → IPActionMiscV3__factory.ts} +131 -38
- package/typechain-types/factories/{IPActionSwapPT__factory.ts → IPActionSwapPTV3__factory.ts} +24 -8
- package/typechain-types/factories/{IPActionSwapYT__factory.ts → IPActionSwapYTV3__factory.ts} +25 -9
- package/typechain-types/factories/{IPAllAction__factory.ts → IPAllActionV3__factory.ts} +239 -40
- package/typechain-types/factories/IPLimitRouter__factory.ts +17 -51
- 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 +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleLimitRouter__factory.ts +34 -68
- package/typechain-types/factories/PendleMulticallV1__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallV2__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterHelper__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterV3__factory.ts +247 -0
- package/typechain-types/factories/PendleSwap__factory.ts +1 -1
- package/typechain-types/factories/PtAndLpToAsset__factory.ts +1 -1
- package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +45 -144
- package/typechain-types/index.ts +20 -42
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol/ChainlinkRelayerAutomation.json +0 -176
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +0 -2703
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +0 -950
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +0 -1287
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +0 -4
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +0 -1537
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +0 -4
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +0 -174
- package/contracts/interfaces/IPAllAction.sol +0 -19
- package/contracts/offchain-helpers/ChainlinkRelayerAutomation.sol +0 -45
- package/typechain-types/AccessControlUpgradeable.ts +0 -369
- package/typechain-types/ActionLimitOrdersStatic.ts +0 -262
- package/typechain-types/ActionMintRedeem.ts +0 -667
- package/typechain-types/AllErrorsDirectory.ts +0 -57
- package/typechain-types/AuraWethVethSYUpg.ts +0 -1547
- package/typechain-types/AutomationBase.ts +0 -57
- package/typechain-types/AutomationCompatible.ts +0 -140
- package/typechain-types/AutomationCompatibleInterface.ts +0 -141
- package/typechain-types/BeaconProxy.ts +0 -97
- package/typechain-types/BulkSeller.ts +0 -743
- package/typechain-types/BulkSellerFactory.ts +0 -712
- package/typechain-types/BulkSellerOffchain.ts +0 -251
- package/typechain-types/ChainlinkRelayerAutomation.ts +0 -305
- package/typechain-types/ContextUpgradeable.ts +0 -68
- package/typechain-types/ERC165Upgradeable.ts +0 -113
- package/typechain-types/IAccessControlUpgradeable.ts +0 -305
- package/typechain-types/IERC165Upgradeable.ts +0 -102
- package/typechain-types/IKyberElasticFactory.ts +0 -734
- package/typechain-types/IKyberElasticPool.ts +0 -514
- package/typechain-types/IKyberElasticRouter.ts +0 -315
- package/typechain-types/IKyberLiquidityMining.ts +0 -968
- package/typechain-types/IKyberMathHelper.ts +0 -231
- package/typechain-types/IKyberPositionManager.ts +0 -773
- package/typechain-types/IPActionMintRedeem.ts +0 -667
- package/typechain-types/IPBulkSeller.ts +0 -391
- package/typechain-types/IPBulkSellerCallback.ts +0 -115
- package/typechain-types/IPBulkSellerFactory.ts +0 -152
- package/typechain-types/KyberMathHelper.ts +0 -604
- package/typechain-types/KyberNftManagerBaseUpg.ts +0 -148
- package/typechain-types/PendleAuraBalancerStableLPSYV3Upg.ts +0 -1512
- package/typechain-types/PendleERC20PermitUpg.ts +0 -452
- package/typechain-types/PendleERC20Upg.ts +0 -348
- package/typechain-types/PendleKyberElasticSY.ts +0 -1583
- package/typechain-types/PredicateHelper.ts +0 -298
- package/typechain-types/ReentrancyGuardUpgradeable.ts +0 -68
- package/typechain-types/SYBaseUpg.ts +0 -1205
- package/typechain-types/SYBaseWithRewardsUpg.ts +0 -1298
- package/typechain-types/factories/AccessControlUpgradeable__factory.ts +0 -247
- package/typechain-types/factories/ActionLimitOrdersStatic__factory.ts +0 -499
- package/typechain-types/factories/ActionMintRedeem__factory.ts +0 -786
- package/typechain-types/factories/ActionMisc__factory.ts +0 -1000
- package/typechain-types/factories/AllErrorsDirectory__factory.ts +0 -1596
- package/typechain-types/factories/AuraWethVethSYUpg__factory.ts +0 -1215
- package/typechain-types/factories/AutomationBase__factory.ts +0 -69
- package/typechain-types/factories/AutomationCompatibleInterface__factory.ts +0 -67
- package/typechain-types/factories/AutomationCompatible__factory.ts +0 -72
- package/typechain-types/factories/BeaconProxy__factory.ts +0 -141
- package/typechain-types/factories/BulkSellerFactory__factory.ts +0 -574
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +0 -178
- package/typechain-types/factories/BulkSeller__factory.ts +0 -692
- package/typechain-types/factories/ChainlinkRelayerAutomation__factory.ts +0 -238
- package/typechain-types/factories/ContextUpgradeable__factory.ts +0 -39
- package/typechain-types/factories/ERC165Upgradeable__factory.ts +0 -58
- package/typechain-types/factories/IAccessControlUpgradeable__factory.ts +0 -202
- package/typechain-types/factories/IERC165Upgradeable__factory.ts +0 -45
- package/typechain-types/factories/IKyberElasticFactory__factory.ts +0 -455
- package/typechain-types/factories/IKyberElasticPool__factory.ts +0 -315
- package/typechain-types/factories/IKyberElasticRouter__factory.ts +0 -240
- package/typechain-types/factories/IKyberLiquidityMining__factory.ts +0 -913
- package/typechain-types/factories/IKyberMathHelper__factory.ts +0 -143
- package/typechain-types/factories/IKyberPositionManager__factory.ts +0 -633
- package/typechain-types/factories/IPActionMintRedeem__factory.ts +0 -700
- package/typechain-types/factories/IPBulkSellerCallback__factory.ts +0 -53
- package/typechain-types/factories/IPBulkSellerFactory__factory.ts +0 -107
- package/typechain-types/factories/IPBulkSeller__factory.ts +0 -333
- package/typechain-types/factories/KyberMathHelper__factory.ts +0 -430
- package/typechain-types/factories/KyberNftManagerBaseUpg__factory.ts +0 -101
- package/typechain-types/factories/PendleAuraBalancerStableLPSYV3Upg__factory.ts +0 -1160
- package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -340
- package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
- package/typechain-types/factories/PendleKyberElasticSY__factory.ts +0 -1302
- package/typechain-types/factories/PendleRouter__factory.ts +0 -244
- package/typechain-types/factories/PredicateHelper__factory.ts +0 -218
- package/typechain-types/factories/ReentrancyGuardUpgradeable__factory.ts +0 -43
- package/typechain-types/factories/SYBaseUpg__factory.ts +0 -939
- package/typechain-types/factories/SYBaseWithRewardsUpg__factory.ts +0 -1012
- /package/contracts/interfaces/{IPAllActionType.sol → IPAllActionTypeV3.sol} +0 -0
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
pragma solidity ^0.8.0;
|
|
3
3
|
|
|
4
4
|
import "../router/base/MarketApproxLib.sol";
|
|
5
|
-
import "./
|
|
5
|
+
import "./IPAllActionTypeV3.sol";
|
|
6
6
|
|
|
7
|
-
interface
|
|
7
|
+
interface IPActionSwapYTV3 {
|
|
8
8
|
event SwapYtAndSy(
|
|
9
9
|
address indexed caller,
|
|
10
10
|
address indexed market,
|
|
@@ -19,7 +19,8 @@ interface IPActionSwapYT {
|
|
|
19
19
|
address indexed token,
|
|
20
20
|
address receiver,
|
|
21
21
|
int256 netYtToAccount,
|
|
22
|
-
int256 netTokenToAccount
|
|
22
|
+
int256 netTokenToAccount,
|
|
23
|
+
uint256 netSyInterm
|
|
23
24
|
);
|
|
24
25
|
|
|
25
26
|
event SwapPtAndYt(
|
|
@@ -30,31 +31,23 @@ interface IPActionSwapYT {
|
|
|
30
31
|
int256 netYtToAccount
|
|
31
32
|
);
|
|
32
33
|
|
|
33
|
-
function
|
|
34
|
+
function swapExactTokenForYt(
|
|
34
35
|
address receiver,
|
|
35
36
|
address market,
|
|
36
|
-
uint256 exactSyIn,
|
|
37
37
|
uint256 minYtOut,
|
|
38
38
|
ApproxParams calldata guessYtOut,
|
|
39
|
+
TokenInput calldata input,
|
|
39
40
|
LimitOrderData calldata limit
|
|
40
|
-
) external returns (uint256 netYtOut, uint256 netSyFee);
|
|
41
|
-
|
|
42
|
-
function swapExactYtForSy(
|
|
43
|
-
address receiver,
|
|
44
|
-
address market,
|
|
45
|
-
uint256 exactYtIn,
|
|
46
|
-
uint256 minSyOut,
|
|
47
|
-
LimitOrderData calldata limit
|
|
48
|
-
) external returns (uint256 netSyOut, uint256 netSyFee);
|
|
41
|
+
) external payable returns (uint256 netYtOut, uint256 netSyFee, uint256 netSyInterm);
|
|
49
42
|
|
|
50
|
-
function
|
|
43
|
+
function swapExactSyForYt(
|
|
51
44
|
address receiver,
|
|
52
45
|
address market,
|
|
46
|
+
uint256 exactSyIn,
|
|
53
47
|
uint256 minYtOut,
|
|
54
48
|
ApproxParams calldata guessYtOut,
|
|
55
|
-
TokenInput calldata input,
|
|
56
49
|
LimitOrderData calldata limit
|
|
57
|
-
) external
|
|
50
|
+
) external returns (uint256 netYtOut, uint256 netSyFee);
|
|
58
51
|
|
|
59
52
|
function swapExactYtForToken(
|
|
60
53
|
address receiver,
|
|
@@ -62,7 +55,15 @@ interface IPActionSwapYT {
|
|
|
62
55
|
uint256 exactYtIn,
|
|
63
56
|
TokenOutput calldata output,
|
|
64
57
|
LimitOrderData calldata limit
|
|
65
|
-
) external returns (uint256 netTokenOut, uint256 netSyFee);
|
|
58
|
+
) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm);
|
|
59
|
+
|
|
60
|
+
function swapExactYtForSy(
|
|
61
|
+
address receiver,
|
|
62
|
+
address market,
|
|
63
|
+
uint256 exactYtIn,
|
|
64
|
+
uint256 minSyOut,
|
|
65
|
+
LimitOrderData calldata limit
|
|
66
|
+
) external returns (uint256 netSyOut, uint256 netSyFee);
|
|
66
67
|
|
|
67
68
|
function swapExactPtForYt(
|
|
68
69
|
address receiver,
|
|
@@ -77,6 +78,6 @@ interface IPActionSwapYT {
|
|
|
77
78
|
address market,
|
|
78
79
|
uint256 exactYtIn,
|
|
79
80
|
uint256 minPtOut,
|
|
80
|
-
ApproxParams calldata
|
|
81
|
+
ApproxParams calldata guessTotalPtFromSwap
|
|
81
82
|
) external returns (uint256 netPtOut, uint256 netSyFee);
|
|
82
83
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
|
|
3
|
+
pragma solidity ^0.8.0;
|
|
4
|
+
|
|
5
|
+
import "./IPActionAddRemoveLiqV3.sol";
|
|
6
|
+
import "./IPActionSwapPTV3.sol";
|
|
7
|
+
import "./IPActionSwapYTV3.sol";
|
|
8
|
+
import "./IPActionMiscV3.sol";
|
|
9
|
+
import "./IPMarketSwapCallback.sol";
|
|
10
|
+
import "./IDiamondLoupe.sol";
|
|
11
|
+
|
|
12
|
+
interface IPAllActionV3 is
|
|
13
|
+
IPActionAddRemoveLiqV3,
|
|
14
|
+
IPActionSwapPTV3,
|
|
15
|
+
IPActionSwapYTV3,
|
|
16
|
+
IPActionMiscV3,
|
|
17
|
+
IPMarketSwapCallback,
|
|
18
|
+
IDiamondLoupe
|
|
19
|
+
{}
|
|
@@ -60,6 +60,11 @@ struct FillOrderParams {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
interface IPOrderMixin is IPOrderMixinType {
|
|
63
|
+
struct OrderStatus {
|
|
64
|
+
uint128 filledAmount;
|
|
65
|
+
uint128 remaining;
|
|
66
|
+
}
|
|
67
|
+
|
|
63
68
|
event OrderCanceled(address indexed maker, bytes32 indexed orderHash);
|
|
64
69
|
|
|
65
70
|
event OrderFilled(
|
|
@@ -126,22 +131,19 @@ interface ILimitOrderCallee is IPOrderMixinType {
|
|
|
126
131
|
}
|
|
127
132
|
|
|
128
133
|
interface IPLimitRouter is IPOrderMixin {
|
|
129
|
-
struct MultiApproval {
|
|
130
|
-
address[] tokens;
|
|
131
|
-
address spender;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
134
|
function cancelSingle(Order calldata order) external;
|
|
135
135
|
|
|
136
136
|
function cancelBatch(Order[] calldata orders) external;
|
|
137
137
|
|
|
138
|
-
function
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
function remainingRaw(bytes32 orderHash) external view returns (uint256);
|
|
138
|
+
function orderStatusesRaw(bytes32[] memory orderHashes)
|
|
139
|
+
external
|
|
140
|
+
view
|
|
141
|
+
returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts);
|
|
143
142
|
|
|
144
|
-
function
|
|
143
|
+
function orderStatuses(bytes32[] memory orderHashes)
|
|
144
|
+
external
|
|
145
|
+
view
|
|
146
|
+
returns (uint256[] memory remainings, uint256[] memory filledAmounts);
|
|
145
147
|
|
|
146
148
|
function DOMAIN_SEPARATOR() external view returns (bytes32);
|
|
147
149
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "./PendleOrderMixin.sol";
|
|
5
5
|
import "./helpers/NonceManager.sol";
|
|
@@ -10,7 +10,9 @@ contract PendleLimitRouter is PendleOrderMixin, IPLimitRouter {
|
|
|
10
10
|
using ArgumentsDecoder for bytes;
|
|
11
11
|
using Address for address;
|
|
12
12
|
|
|
13
|
-
constructor(address _WNATIVE)
|
|
13
|
+
constructor(address _WNATIVE) PendleOrderMixin(_WNATIVE) {
|
|
14
|
+
_disableInitializers();
|
|
15
|
+
}
|
|
14
16
|
|
|
15
17
|
/// @notice Cancels multiple orders by setting remaining amount to zero
|
|
16
18
|
function cancelBatch(Order[] calldata orders) external {
|
|
@@ -19,51 +21,44 @@ contract PendleLimitRouter is PendleOrderMixin, IPLimitRouter {
|
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
function approveInf(MultiApproval[] calldata arr) external {
|
|
23
|
-
for (uint256 i = 0; i < arr.length;) {
|
|
24
|
-
MultiApproval calldata ele = arr[i];
|
|
25
|
-
for (uint256 j = 0; j < ele.tokens.length;) {
|
|
26
|
-
_safeApproveInf(ele.tokens[j], ele.spender);
|
|
27
|
-
unchecked {
|
|
28
|
-
j++;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
unchecked {
|
|
32
|
-
i++;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
24
|
/// @notice Cancels order by setting remaining amount to zero
|
|
38
25
|
function cancelSingle(Order calldata order) public {
|
|
39
26
|
require(order.maker == msg.sender, "LOP: Access denied");
|
|
40
27
|
|
|
41
28
|
bytes32 orderHash = hashOrder(order);
|
|
42
|
-
require(
|
|
43
|
-
|
|
29
|
+
require(_status[orderHash].remaining != _ORDER_FILLED, "LOP: already filled");
|
|
30
|
+
_status[orderHash].remaining = _ORDER_FILLED;
|
|
44
31
|
|
|
45
32
|
emit OrderCanceled(msg.sender, orderHash);
|
|
46
33
|
}
|
|
47
34
|
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
function orderStatusesRaw(bytes32[] memory orderHashes)
|
|
36
|
+
public
|
|
37
|
+
view
|
|
38
|
+
returns (uint256[] memory remainingsRaw, uint256[] memory filledAmounts)
|
|
39
|
+
{
|
|
40
|
+
uint256 len = orderHashes.length;
|
|
41
|
+
remainingsRaw = new uint256[](len);
|
|
42
|
+
filledAmounts = new uint256[](len);
|
|
56
43
|
|
|
57
|
-
|
|
58
|
-
|
|
44
|
+
for (uint256 i = 0; i < len; i++) {
|
|
45
|
+
OrderStatus memory status = _status[orderHashes[i]];
|
|
46
|
+
(remainingsRaw[i], filledAmounts[i]) = (status.remaining, status.filledAmount);
|
|
47
|
+
}
|
|
59
48
|
}
|
|
60
49
|
|
|
61
|
-
function
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
50
|
+
function orderStatuses(bytes32[] memory orderHashes)
|
|
51
|
+
external
|
|
52
|
+
view
|
|
53
|
+
returns (uint256[] memory remainings, uint256[] memory filledAmounts)
|
|
54
|
+
{
|
|
55
|
+
(remainings, filledAmounts) = orderStatusesRaw(orderHashes);
|
|
56
|
+
for (uint256 i = 0; i < remainings.length; i++) {
|
|
57
|
+
require(remainings[i] != _ORDER_DOES_NOT_EXIST, "LOP: Unknown order");
|
|
58
|
+
unchecked {
|
|
59
|
+
remainings[i] -= 1;
|
|
60
|
+
}
|
|
65
61
|
}
|
|
66
|
-
return results;
|
|
67
62
|
}
|
|
68
63
|
|
|
69
64
|
function DOMAIN_SEPARATOR() external view returns (bytes32) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
|
|
3
|
-
pragma solidity 0.8.
|
|
3
|
+
pragma solidity ^0.8.17;
|
|
4
4
|
|
|
5
5
|
import "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
|
|
6
6
|
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
@@ -36,15 +36,17 @@ abstract contract PendleOrderMixin is
|
|
|
36
36
|
"Order(uint256 salt,uint256 expiry,uint256 nonce,uint8 orderType,address token,address YT,address maker,address receiver,uint256 makingAmount,uint256 lnImpliedRate,uint256 failSafeRate,bytes permit)"
|
|
37
37
|
);
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
uint128 internal constant _ORDER_DOES_NOT_EXIST = 0;
|
|
40
|
+
uint128 internal constant _ORDER_FILLED = 1;
|
|
41
41
|
|
|
42
42
|
address public feeRecipient;
|
|
43
43
|
uint96 public lnFeeRateRoot;
|
|
44
44
|
|
|
45
45
|
address private immutable WNATIVE;
|
|
46
46
|
|
|
47
|
-
mapping(bytes32 =>
|
|
47
|
+
mapping(bytes32 => OrderStatus) internal _status;
|
|
48
|
+
|
|
49
|
+
uint256[100] private __gap;
|
|
48
50
|
|
|
49
51
|
constructor(address _WNATIVE) {
|
|
50
52
|
WNATIVE = _WNATIVE;
|
|
@@ -288,12 +290,14 @@ abstract contract PendleOrderMixin is
|
|
|
288
290
|
for (uint256 i = 0; i < len; i = _inc1(i)) {
|
|
289
291
|
FillOrderParams memory param = params[i];
|
|
290
292
|
|
|
291
|
-
(bytes32 orderHash, uint256 remainingMakerAmount) =
|
|
293
|
+
(bytes32 orderHash, uint256 remainingMakerAmount, uint256 filledMakerAmount) =
|
|
294
|
+
_checkSig_doPermit(param.order, param.signature);
|
|
292
295
|
uint256 netMaking = PMath.min(param.makingAmount, remainingMakerAmount);
|
|
293
296
|
|
|
294
297
|
unchecked {
|
|
295
298
|
remainingMakerAmount = remainingMakerAmount - netMaking;
|
|
296
|
-
|
|
299
|
+
_status[orderHash] =
|
|
300
|
+
OrderStatus((remainingMakerAmount + 1).Uint128(), (filledMakerAmount + netMaking).Uint128());
|
|
297
301
|
}
|
|
298
302
|
|
|
299
303
|
param.makingAmount = netMaking;
|
|
@@ -337,12 +341,13 @@ abstract contract PendleOrderMixin is
|
|
|
337
341
|
|
|
338
342
|
function _checkSig_doPermit(Order memory order, bytes memory signature)
|
|
339
343
|
internal
|
|
340
|
-
returns (bytes32, /*orderHash*/ uint256 /*remainingMakerAmount*/ )
|
|
344
|
+
returns (bytes32, /*orderHash*/ uint256, /*remainingMakerAmount*/ uint256 /*filledMakerAmount*/ )
|
|
341
345
|
{
|
|
342
346
|
bytes32 orderHash = hashOrder(order);
|
|
343
|
-
|
|
347
|
+
OrderStatus memory status = _status[orderHash];
|
|
348
|
+
(uint256 remainingMakerAmount, uint256 filledMakerAmount) = (status.remaining, status.filledAmount);
|
|
344
349
|
|
|
345
|
-
if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0);
|
|
350
|
+
if (remainingMakerAmount == _ORDER_FILLED) return (orderHash, 0, filledMakerAmount);
|
|
346
351
|
|
|
347
352
|
if (remainingMakerAmount == _ORDER_DOES_NOT_EXIST) {
|
|
348
353
|
require(SignatureChecker.isValidSignatureNow(order.maker, orderHash, signature), "LOP: bad signature");
|
|
@@ -354,7 +359,7 @@ abstract contract PendleOrderMixin is
|
|
|
354
359
|
// proceed only if permit length is enough to store address
|
|
355
360
|
(address token, bytes memory permit) = order.permit.decodeTargetAndCalldata();
|
|
356
361
|
_permitMemory(token, permit);
|
|
357
|
-
require(
|
|
362
|
+
require(_status[orderHash].remaining == _ORDER_DOES_NOT_EXIST, "LOP: reentrancy detected");
|
|
358
363
|
}
|
|
359
364
|
} else {
|
|
360
365
|
unchecked {
|
|
@@ -362,7 +367,7 @@ abstract contract PendleOrderMixin is
|
|
|
362
367
|
}
|
|
363
368
|
}
|
|
364
369
|
|
|
365
|
-
return (orderHash, remainingMakerAmount);
|
|
370
|
+
return (orderHash, remainingMakerAmount, filledMakerAmount);
|
|
366
371
|
}
|
|
367
372
|
|
|
368
373
|
// ----------------- simple helper functions functions -----------------
|
|
@@ -397,6 +402,7 @@ abstract contract PendleOrderMixin is
|
|
|
397
402
|
_wrap_unwrap_ETH(WNATIVE, NATIVE, netTokenIn);
|
|
398
403
|
token = NATIVE;
|
|
399
404
|
}
|
|
405
|
+
_safeApproveInf(token, SY);
|
|
400
406
|
return
|
|
401
407
|
IStandardizedYield(SY).deposit{value: token == NATIVE ? netTokenIn : 0}(address(this), token, netTokenIn, 0);
|
|
402
408
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "./base/ActionBase.sol";
|
|
5
|
-
import "../interfaces/
|
|
5
|
+
import "../interfaces/IPActionAddRemoveLiqV3.sol";
|
|
6
6
|
|
|
7
|
-
contract
|
|
7
|
+
contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase {
|
|
8
8
|
using PMath for uint256;
|
|
9
9
|
using PMath for int256;
|
|
10
10
|
using MarketMathCore for MarketState;
|
|
@@ -20,16 +20,16 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
20
20
|
TokenInput calldata input,
|
|
21
21
|
uint256 netPtDesired,
|
|
22
22
|
uint256 minLpOut
|
|
23
|
-
) external payable returns (uint256 netLpOut, uint256 netPtUsed) {
|
|
23
|
+
) external payable returns (uint256 netLpOut, uint256 netPtUsed, uint256 netSyInterm) {
|
|
24
24
|
(IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
netSyInterm = _mintSyFromToken(market, address(SY), 1, input);
|
|
27
27
|
uint256 netSyUsed;
|
|
28
28
|
|
|
29
|
-
(,, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(
|
|
29
|
+
(,, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(netSyInterm, netPtDesired, block.timestamp);
|
|
30
30
|
|
|
31
|
-
if (
|
|
32
|
-
revert Errors.RouterNotAllSyUsed(
|
|
31
|
+
if (netSyInterm != netSyUsed) {
|
|
32
|
+
revert Errors.RouterNotAllSyUsed(netSyInterm, netSyUsed);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
// SY has been minted and transferred to the market
|
|
@@ -39,7 +39,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
39
39
|
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
40
40
|
|
|
41
41
|
emit AddLiquidityDualTokenAndPt(
|
|
42
|
-
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netPtUsed, netLpOut
|
|
42
|
+
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netPtUsed, netLpOut, netSyInterm
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -82,7 +82,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
82
82
|
uint256 netSyReceived;
|
|
83
83
|
|
|
84
84
|
if (!_isEmptyLimit(limit)) {
|
|
85
|
-
(netPtLeft, netSyReceived, netSyFee,) = _fillLimit(market, netPtLeft, limit);
|
|
85
|
+
(netPtLeft, netSyReceived, netSyFee,) = _fillLimit(market, PT, netPtLeft, limit);
|
|
86
86
|
_transferOut(address(PT), market, netPtLeft);
|
|
87
87
|
}
|
|
88
88
|
|
|
@@ -119,15 +119,17 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
119
119
|
ApproxParams calldata guessPtReceivedFromSy,
|
|
120
120
|
TokenInput calldata input,
|
|
121
121
|
LimitOrderData calldata limit
|
|
122
|
-
) external payable returns (uint256 netLpOut, uint256 netSyFee) {
|
|
122
|
+
) external payable returns (uint256 netLpOut, uint256 netSyFee, uint256 netSyInterm) {
|
|
123
123
|
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
netSyInterm = _mintSyFromToken(_entry_addLiquiditySingleSy(market, limit), address(SY), 1, input);
|
|
126
126
|
|
|
127
127
|
(netLpOut, netSyFee) =
|
|
128
|
-
_addLiquiditySingleSy(receiver, market, SY, YT,
|
|
128
|
+
_addLiquiditySingleSy(receiver, market, SY, YT, netSyInterm, minLpOut, guessPtReceivedFromSy, limit);
|
|
129
129
|
|
|
130
|
-
emit AddLiquiditySingleToken(
|
|
130
|
+
emit AddLiquiditySingleToken(
|
|
131
|
+
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netSyInterm
|
|
132
|
+
);
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
function addLiquiditySingleSy(
|
|
@@ -166,7 +168,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
166
168
|
uint256 netPtReceived;
|
|
167
169
|
|
|
168
170
|
if (!_isEmptyLimit(limit)) {
|
|
169
|
-
(netSyLeft, netPtReceived, netSyFee,) = _fillLimit(market, netSyLeft, limit);
|
|
171
|
+
(netSyLeft, netPtReceived, netSyFee,) = _fillLimit(market, SY, netSyLeft, limit);
|
|
170
172
|
_transferOut(address(SY), market, netSyLeft);
|
|
171
173
|
}
|
|
172
174
|
|
|
@@ -194,15 +196,16 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
194
196
|
uint256 minLpOut,
|
|
195
197
|
uint256 minYtOut,
|
|
196
198
|
TokenInput calldata input
|
|
197
|
-
) external payable returns (uint256 netLpOut, uint256 netYtOut) {
|
|
199
|
+
) external payable returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy, uint256 netSyInterm) {
|
|
198
200
|
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
199
201
|
|
|
200
|
-
|
|
202
|
+
netSyInterm = _mintSyFromToken(address(this), address(SY), 1, input);
|
|
201
203
|
|
|
202
|
-
(netLpOut, netYtOut) =
|
|
204
|
+
(netLpOut, netYtOut, netSyMintPy) =
|
|
205
|
+
_addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyInterm, minLpOut, minYtOut);
|
|
203
206
|
|
|
204
207
|
emit AddLiquiditySingleTokenKeepYt(
|
|
205
|
-
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netYtOut
|
|
208
|
+
msg.sender, market, input.tokenIn, receiver, input.netTokenIn, netLpOut, netYtOut, netSyMintPy, netSyInterm
|
|
206
209
|
);
|
|
207
210
|
}
|
|
208
211
|
|
|
@@ -212,14 +215,15 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
212
215
|
uint256 netSyIn,
|
|
213
216
|
uint256 minLpOut,
|
|
214
217
|
uint256 minYtOut
|
|
215
|
-
) external returns (uint256 netLpOut, uint256 netYtOut) {
|
|
218
|
+
) external returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy) {
|
|
216
219
|
(IStandardizedYield SY,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
217
220
|
|
|
218
221
|
_transferIn(address(SY), msg.sender, netSyIn);
|
|
219
222
|
|
|
220
|
-
(netLpOut, netYtOut) =
|
|
223
|
+
(netLpOut, netYtOut, netSyMintPy) =
|
|
224
|
+
_addLiquiditySingleSyKeepYt(receiver, market, SY, YT, netSyIn, minLpOut, minYtOut);
|
|
221
225
|
|
|
222
|
-
emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netLpOut, netYtOut);
|
|
226
|
+
emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netSyMintPy, netLpOut, netYtOut);
|
|
223
227
|
}
|
|
224
228
|
|
|
225
229
|
function _addLiquiditySingleSyKeepYt(
|
|
@@ -230,24 +234,26 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
230
234
|
uint256 netSyIn,
|
|
231
235
|
uint256 minLpOut,
|
|
232
236
|
uint256 minYtOut
|
|
233
|
-
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
237
|
+
) internal returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy) {
|
|
234
238
|
MarketState memory state = _readMarket(market);
|
|
235
239
|
|
|
236
240
|
PYIndex pyIndex = YT.newIndex();
|
|
237
241
|
|
|
238
|
-
|
|
242
|
+
netSyMintPy =
|
|
239
243
|
(netSyIn * state.totalPt.Uint()) / (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
240
244
|
|
|
245
|
+
uint256 netSyAddLiquidity = netSyIn - netSyMintPy;
|
|
246
|
+
|
|
241
247
|
// transfer SY to mint PY
|
|
242
|
-
_transferOut(address(SY), address(YT),
|
|
248
|
+
_transferOut(address(SY), address(YT), netSyMintPy);
|
|
243
249
|
|
|
244
250
|
// the rest of SY goes to market
|
|
245
|
-
_transferOut(address(SY), market,
|
|
251
|
+
_transferOut(address(SY), market, netSyAddLiquidity);
|
|
246
252
|
|
|
247
253
|
// PT goes to market, YT goes to receiver
|
|
248
254
|
netYtOut = YT.mintPY(market, receiver);
|
|
249
255
|
|
|
250
|
-
(netLpOut,,) = IPMarket(market).mint(receiver,
|
|
256
|
+
(netLpOut,,) = IPMarket(market).mint(receiver, netSyAddLiquidity, netYtOut);
|
|
251
257
|
|
|
252
258
|
if (netLpOut < minLpOut) revert Errors.RouterInsufficientLpOut(netLpOut, minLpOut);
|
|
253
259
|
if (netYtOut < minYtOut) revert Errors.RouterInsufficientYtOut(netYtOut, minYtOut);
|
|
@@ -261,20 +267,19 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
261
267
|
uint256 netLpToRemove,
|
|
262
268
|
TokenOutput calldata output,
|
|
263
269
|
uint256 minPtOut
|
|
264
|
-
) external returns (uint256 netTokenOut, uint256 netPtOut) {
|
|
270
|
+
) external returns (uint256 netTokenOut, uint256 netPtOut, uint256 netSyInterm) {
|
|
265
271
|
(IStandardizedYield SY,,) = IPMarket(market).readTokens();
|
|
266
272
|
|
|
267
273
|
// burn LP, SY sent to SY, PT sent to receiver
|
|
268
274
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
269
275
|
|
|
270
|
-
|
|
271
|
-
(netSyOut, netPtOut) = IPMarket(market).burn(address(SY), receiver, netLpToRemove);
|
|
276
|
+
(netSyInterm, netPtOut) = IPMarket(market).burn(address(SY), receiver, netLpToRemove);
|
|
272
277
|
if (netPtOut < minPtOut) revert Errors.RouterInsufficientPtOut(netPtOut, minPtOut);
|
|
273
278
|
|
|
274
279
|
// redeem SY to token
|
|
275
|
-
netTokenOut = _redeemSyToToken(receiver, address(SY),
|
|
280
|
+
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
|
|
276
281
|
emit RemoveLiquidityDualTokenAndPt(
|
|
277
|
-
msg.sender, market, output.tokenOut, receiver, netLpToRemove, netPtOut, netTokenOut
|
|
282
|
+
msg.sender, market, output.tokenOut, receiver, netLpToRemove, netPtOut, netTokenOut, netSyInterm
|
|
278
283
|
);
|
|
279
284
|
}
|
|
280
285
|
|
|
@@ -331,17 +336,18 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBase {
|
|
|
331
336
|
uint256 netLpToRemove,
|
|
332
337
|
TokenOutput calldata output,
|
|
333
338
|
LimitOrderData calldata limit
|
|
334
|
-
) external returns (uint256 netTokenOut, uint256 netSyFee) {
|
|
339
|
+
) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm) {
|
|
335
340
|
(IStandardizedYield SY,,) = IPMarket(market).readTokens();
|
|
336
341
|
|
|
337
342
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
338
343
|
|
|
339
|
-
|
|
340
|
-
(netSyReceived, netSyFee) = _removeLiquiditySingleSy(address(SY), market, netLpToRemove, 1, limit);
|
|
344
|
+
(netSyInterm, netSyFee) = _removeLiquiditySingleSy(address(SY), market, netLpToRemove, 1, limit);
|
|
341
345
|
|
|
342
|
-
netTokenOut = _redeemSyToToken(receiver, address(SY),
|
|
346
|
+
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
|
|
343
347
|
|
|
344
|
-
emit RemoveLiquiditySingleToken(
|
|
348
|
+
emit RemoveLiquiditySingleToken(
|
|
349
|
+
msg.sender, market, output.tokenOut, receiver, netLpToRemove, netTokenOut, netSyInterm
|
|
350
|
+
);
|
|
345
351
|
}
|
|
346
352
|
|
|
347
353
|
function removeLiquiditySingleSy(
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
4
|
import "./base/ActionBase.sol";
|
|
5
5
|
import "./base/SimulateHelper.sol";
|
|
6
|
-
import "../interfaces/
|
|
6
|
+
import "../interfaces/IPActionMiscV3.sol";
|
|
7
7
|
|
|
8
|
-
contract
|
|
8
|
+
contract ActionMiscV3 is IPActionMiscV3, ActionBase, SimulateHelper {
|
|
9
9
|
function mintSyFromToken(address receiver, address SY, uint256 minSyOut, TokenInput calldata input)
|
|
10
10
|
external
|
|
11
11
|
payable
|
|
@@ -26,26 +26,26 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
|
|
|
26
26
|
function mintPyFromToken(address receiver, address YT, uint256 minPyOut, TokenInput calldata input)
|
|
27
27
|
external
|
|
28
28
|
payable
|
|
29
|
-
returns (uint256 netPyOut)
|
|
29
|
+
returns (uint256 netPyOut, uint256 netSyInterm)
|
|
30
30
|
{
|
|
31
31
|
address SY = IPYieldToken(YT).SY();
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
netPyOut = _mintPyFromSy(receiver, SY, YT,
|
|
33
|
+
netSyInterm = _mintSyFromToken(YT, SY, 0, input);
|
|
34
|
+
netPyOut = _mintPyFromSy(receiver, SY, YT, netSyInterm, minPyOut, false);
|
|
35
35
|
|
|
36
|
-
emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut);
|
|
36
|
+
emit MintPyFromToken(msg.sender, input.tokenIn, YT, receiver, input.netTokenIn, netPyOut, netSyInterm);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
function redeemPyToToken(address receiver, address YT, uint256 netPyIn, TokenOutput calldata output)
|
|
40
40
|
external
|
|
41
|
-
returns (uint256 netTokenOut)
|
|
41
|
+
returns (uint256 netTokenOut, uint256 netSyInterm)
|
|
42
42
|
{
|
|
43
43
|
address SY = IPYieldToken(YT).SY();
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
netTokenOut = _redeemSyToToken(receiver, SY,
|
|
45
|
+
netSyInterm = _redeemPyToSy(SY, YT, netPyIn, 1);
|
|
46
|
+
netTokenOut = _redeemSyToToken(receiver, SY, netSyInterm, output, false);
|
|
47
47
|
|
|
48
|
-
emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut);
|
|
48
|
+
emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut, netSyInterm);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
function mintPyFromSy(address receiver, address YT, uint256 netSyIn, uint256 minPyOut)
|
|
@@ -93,29 +93,27 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
|
|
|
93
93
|
_swapTokenInput(inp);
|
|
94
94
|
|
|
95
95
|
netTokenOut = _selfBalance(inp.tokenMintSy);
|
|
96
|
-
if (netTokenOut < minTokenOut)
|
|
96
|
+
if (netTokenOut < minTokenOut) {
|
|
97
|
+
revert Errors.RouterInsufficientTokenOut(netTokenOut, minTokenOut);
|
|
98
|
+
}
|
|
97
99
|
|
|
98
100
|
_transferOut(receiver, receiver, netTokenOut);
|
|
99
101
|
}
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
unchecked {
|
|
113
|
-
i++;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
103
|
+
function swapTokenToTokenViaSy(
|
|
104
|
+
address receiver,
|
|
105
|
+
address SY,
|
|
106
|
+
TokenInput calldata input,
|
|
107
|
+
address tokenRedeemSy,
|
|
108
|
+
uint256 minTokenOut
|
|
109
|
+
) external payable returns (uint256 netTokenOut, uint256 netSyInterm) {
|
|
110
|
+
netSyInterm = _mintSyFromToken(address(this), SY, 0, input);
|
|
111
|
+
netTokenOut = IStandardizedYield(SY).redeem(receiver, netSyInterm, tokenRedeemSy, minTokenOut, true);
|
|
116
112
|
}
|
|
117
113
|
|
|
118
|
-
|
|
114
|
+
// ----------------- MISC FUNCTIONS -----------------
|
|
115
|
+
|
|
116
|
+
function boostMarkets(address[] memory markets) external {
|
|
119
117
|
for (uint256 i = 0; i < markets.length;) {
|
|
120
118
|
IPMarket(markets[i]).transferFrom(msg.sender, markets[i], 0);
|
|
121
119
|
unchecked {
|
|
@@ -153,13 +151,13 @@ contract ActionMisc is IPActionMisc, ActionBase, SimulateHelper {
|
|
|
153
151
|
function multicallRevert(uint256 gasLimit, bytes[] calldata callDatas)
|
|
154
152
|
public
|
|
155
153
|
payable
|
|
156
|
-
override(
|
|
154
|
+
override(IPActionMiscV3, SimulateHelper)
|
|
157
155
|
returns (bytes[] memory res, uint256[] memory gasUsed)
|
|
158
156
|
{
|
|
159
157
|
return super.multicallRevert(gasLimit, callDatas);
|
|
160
158
|
}
|
|
161
159
|
|
|
162
|
-
function callThenRevert(bytes memory callData) public payable override(
|
|
160
|
+
function callThenRevert(bytes memory callData) public payable override(IPActionMiscV3, SimulateHelper) {
|
|
163
161
|
return super.callThenRevert(callData);
|
|
164
162
|
}
|
|
165
163
|
}
|