@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
|
@@ -10,24 +10,24 @@ struct ApproxParams {
|
|
|
10
10
|
uint256 guessOffchain; // pass 0 in to skip this variable
|
|
11
11
|
uint256 maxIteration; // every iteration, the diff between guessMin and guessMax will be divided by 2
|
|
12
12
|
uint256 eps; // the max eps between the returned result & the correct result, base 1e18. Normally this number will be set
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/// Further explanation of the eps. Take swapExactSyForPt for example. To calc the corresponding amount of Pt to swap out,
|
|
16
|
-
/// it's necessary to run an approximation algorithm, because by default there only exists the Pt to Sy formula
|
|
17
|
-
/// To approx, the 5 values above will have to be provided, and the approx process will run as follows:
|
|
18
|
-
/// mid = (guessMin + guessMax) / 2 // mid here is the current guess of the amount of Pt out
|
|
19
|
-
/// netSyNeed = calcSwapSyForExactPt(mid)
|
|
20
|
-
/// if (netSyNeed > exactSyIn) guessMax = mid - 1 // since the maximum Sy in can't exceed the exactSyIn
|
|
21
|
-
/// else guessMin = mid (1)
|
|
22
|
-
/// For the (1), since netSyNeed <= exactSyIn, the result might be usable. If the netSyNeed is within eps of
|
|
23
|
-
/// exactSyIn (ex eps=0.1% => we have used 99.9% the amount of Sy specified), mid will be chosen as the final guess result
|
|
24
|
-
|
|
25
|
-
/// for guessOffchain, this is to provide a shortcut to guessing. The offchain SDK can precalculate the exact result
|
|
26
|
-
/// before the tx is sent. When the tx reaches the contract, the guessOffchain will be checked first, and if it satisfies the
|
|
27
|
-
/// approximation, it will be used (and save all the guessing). It's expected that this shortcut will be used in most cases
|
|
28
|
-
/// except in cases that there is a trade in the same market right before the tx
|
|
13
|
+
// to 1e15 (1e18/1000 = 0.1%)
|
|
29
14
|
}
|
|
30
15
|
|
|
16
|
+
/// Further explanation of the eps. Take swapExactSyForPt for example. To calc the corresponding amount of Pt to swap out,
|
|
17
|
+
/// it's necessary to run an approximation algorithm, because by default there only exists the Pt to Sy formula
|
|
18
|
+
/// To approx, the 5 values above will have to be provided, and the approx process will run as follows:
|
|
19
|
+
/// mid = (guessMin + guessMax) / 2 // mid here is the current guess of the amount of Pt out
|
|
20
|
+
/// netSyNeed = calcSwapSyForExactPt(mid)
|
|
21
|
+
/// if (netSyNeed > exactSyIn) guessMax = mid - 1 // since the maximum Sy in can't exceed the exactSyIn
|
|
22
|
+
/// else guessMin = mid (1)
|
|
23
|
+
/// For the (1), since netSyNeed <= exactSyIn, the result might be usable. If the netSyNeed is within eps of
|
|
24
|
+
/// exactSyIn (ex eps=0.1% => we have used 99.9% the amount of Sy specified), mid will be chosen as the final guess result
|
|
25
|
+
|
|
26
|
+
/// for guessOffchain, this is to provide a shortcut to guessing. The offchain SDK can precalculate the exact result
|
|
27
|
+
/// before the tx is sent. When the tx reaches the contract, the guessOffchain will be checked first, and if it satisfies the
|
|
28
|
+
/// approximation, it will be used (and save all the guessing). It's expected that this shortcut will be used in most cases
|
|
29
|
+
/// except in cases that there is a trade in the same market right before the tx
|
|
30
|
+
|
|
31
31
|
library MarketApproxPtInLib {
|
|
32
32
|
using MarketMathCore for MarketState;
|
|
33
33
|
using PYIndexLib for PYIndex;
|
|
@@ -37,10 +37,10 @@ library MarketApproxPtInLib {
|
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* @dev algorithm:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
* - Bin search the amount of PT to swap in
|
|
41
|
+
* - Try swapping & get netSyOut
|
|
42
|
+
* - Stop when netSyOut greater & approx minSyOut
|
|
43
|
+
* - guess & approx is for netPtIn
|
|
44
44
|
*/
|
|
45
45
|
function approxSwapPtForExactSy(
|
|
46
46
|
MarketState memory market,
|
|
@@ -48,7 +48,7 @@ library MarketApproxPtInLib {
|
|
|
48
48
|
uint256 minSyOut,
|
|
49
49
|
uint256 blockTime,
|
|
50
50
|
ApproxParams memory approx
|
|
51
|
-
) internal pure returns (uint256 /*netPtIn
|
|
51
|
+
) internal pure returns (uint256, /*netPtIn*/ uint256, /*netSyOut*/ uint256 /*netSyFee*/ ) {
|
|
52
52
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
53
53
|
if (approx.guessOffchain == 0) {
|
|
54
54
|
// no limit on min
|
|
@@ -58,11 +58,12 @@ library MarketApproxPtInLib {
|
|
|
58
58
|
|
|
59
59
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
60
60
|
uint256 guess = nextGuess(approx, iter);
|
|
61
|
-
(uint256 netSyOut, uint256 netSyFee,
|
|
61
|
+
(uint256 netSyOut, uint256 netSyFee,) = calcSyOut(market, comp, index, guess);
|
|
62
62
|
|
|
63
63
|
if (netSyOut >= minSyOut) {
|
|
64
|
-
if (PMath.isAGreaterApproxB(netSyOut, minSyOut, approx.eps))
|
|
64
|
+
if (PMath.isAGreaterApproxB(netSyOut, minSyOut, approx.eps)) {
|
|
65
65
|
return (guess, netSyOut, netSyFee);
|
|
66
|
+
}
|
|
66
67
|
approx.guessMax = guess;
|
|
67
68
|
} else {
|
|
68
69
|
approx.guessMin = guess;
|
|
@@ -73,12 +74,12 @@ library MarketApproxPtInLib {
|
|
|
73
74
|
|
|
74
75
|
/**
|
|
75
76
|
* @dev algorithm:
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
* - Bin search the amount of PT to swap in
|
|
78
|
+
* - Flashswap the corresponding amount of SY out
|
|
79
|
+
* - Pair those amount with exactSyIn SY to tokenize into PT & YT
|
|
80
|
+
* - PT to repay the flashswap, YT transferred to user
|
|
81
|
+
* - Stop when the amount of SY to be pulled to tokenize PT to repay loan approx the exactSyIn
|
|
82
|
+
* - guess & approx is for netYtOut (also netPtIn)
|
|
82
83
|
*/
|
|
83
84
|
function approxSwapExactSyForYt(
|
|
84
85
|
MarketState memory market,
|
|
@@ -86,7 +87,7 @@ library MarketApproxPtInLib {
|
|
|
86
87
|
uint256 exactSyIn,
|
|
87
88
|
uint256 blockTime,
|
|
88
89
|
ApproxParams memory approx
|
|
89
|
-
) internal pure returns (uint256 /*netYtOut
|
|
90
|
+
) internal pure returns (uint256, /*netYtOut*/ uint256 /*netSyFee*/ ) {
|
|
90
91
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
91
92
|
if (approx.guessOffchain == 0) {
|
|
92
93
|
approx.guessMin = PMath.max(approx.guessMin, index.syToAsset(exactSyIn));
|
|
@@ -99,7 +100,7 @@ library MarketApproxPtInLib {
|
|
|
99
100
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
100
101
|
uint256 guess = nextGuess(approx, iter);
|
|
101
102
|
|
|
102
|
-
(uint256 netSyOut, uint256 netSyFee,
|
|
103
|
+
(uint256 netSyOut, uint256 netSyFee,) = calcSyOut(market, comp, index, guess);
|
|
103
104
|
|
|
104
105
|
uint256 netSyToTokenizePt = index.assetToSyUp(guess);
|
|
105
106
|
|
|
@@ -107,8 +108,9 @@ library MarketApproxPtInLib {
|
|
|
107
108
|
uint256 netSyToPull = netSyToTokenizePt - netSyOut;
|
|
108
109
|
|
|
109
110
|
if (netSyToPull <= exactSyIn) {
|
|
110
|
-
if (PMath.isASmallerApproxB(netSyToPull, exactSyIn, approx.eps))
|
|
111
|
+
if (PMath.isASmallerApproxB(netSyToPull, exactSyIn, approx.eps)) {
|
|
111
112
|
return (guess, netSyFee);
|
|
113
|
+
}
|
|
112
114
|
approx.guessMin = guess;
|
|
113
115
|
} else {
|
|
114
116
|
approx.guessMax = guess - 1;
|
|
@@ -117,47 +119,50 @@ library MarketApproxPtInLib {
|
|
|
117
119
|
revert Errors.ApproxFail();
|
|
118
120
|
}
|
|
119
121
|
|
|
122
|
+
struct Args5 {
|
|
123
|
+
MarketState market;
|
|
124
|
+
PYIndex index;
|
|
125
|
+
uint256 totalPtIn;
|
|
126
|
+
uint256 netSyHolding;
|
|
127
|
+
uint256 blockTime;
|
|
128
|
+
ApproxParams approx;
|
|
129
|
+
}
|
|
130
|
+
|
|
120
131
|
/**
|
|
121
132
|
* @dev algorithm:
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
133
|
+
* - Bin search the amount of PT to swap to SY
|
|
134
|
+
* - Swap PT to SY
|
|
135
|
+
* - Pair the remaining PT with the SY to add liquidity
|
|
136
|
+
* - Stop when the ratio of PT / totalPt & SY / totalSy is approx
|
|
137
|
+
* - guess & approx is for netPtSwap
|
|
127
138
|
*/
|
|
128
139
|
function approxSwapPtToAddLiquidity(
|
|
129
|
-
MarketState memory
|
|
130
|
-
PYIndex
|
|
131
|
-
uint256
|
|
132
|
-
uint256
|
|
140
|
+
MarketState memory _market,
|
|
141
|
+
PYIndex _index,
|
|
142
|
+
uint256 _totalPtIn,
|
|
143
|
+
uint256 _netSyHolding,
|
|
144
|
+
uint256 _blockTime,
|
|
133
145
|
ApproxParams memory approx
|
|
134
|
-
)
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
returns (uint256 /*netPtSwap*/, uint256 /*netSyFromSwap*/, uint256 /*netSyFee*/)
|
|
138
|
-
{
|
|
139
|
-
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
146
|
+
) internal pure returns (uint256, /*netPtSwap*/ uint256, /*netSyFromSwap*/ uint256 /*netSyFee*/ ) {
|
|
147
|
+
Args5 memory a = Args5(_market, _index, _totalPtIn, _netSyHolding, _blockTime, approx);
|
|
148
|
+
MarketPreCompute memory comp = a.market.getMarketPreCompute(a.index, a.blockTime);
|
|
140
149
|
if (approx.guessOffchain == 0) {
|
|
141
150
|
// no limit on min
|
|
142
|
-
approx.guessMax = PMath.min(approx.guessMax, calcMaxPtIn(market, comp));
|
|
143
|
-
approx.guessMax = PMath.min(approx.guessMax, totalPtIn);
|
|
151
|
+
approx.guessMax = PMath.min(approx.guessMax, calcMaxPtIn(a.market, comp));
|
|
152
|
+
approx.guessMax = PMath.min(approx.guessMax, a.totalPtIn);
|
|
144
153
|
validateApprox(approx);
|
|
145
|
-
require(market.totalLp != 0, "no existing lp");
|
|
154
|
+
require(a.market.totalLp != 0, "no existing lp");
|
|
146
155
|
}
|
|
147
156
|
|
|
148
157
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
149
158
|
uint256 guess = nextGuess(approx, iter);
|
|
150
159
|
|
|
151
|
-
(
|
|
152
|
-
|
|
153
|
-
uint256 ptNumerator,
|
|
154
|
-
uint256 netSyOut,
|
|
155
|
-
uint256 netSyFee,
|
|
160
|
+
(uint256 syNumerator, uint256 ptNumerator, uint256 netSyOut, uint256 netSyFee,) =
|
|
161
|
+
calcNumerators(a.market, a.index, a.totalPtIn, a.netSyHolding, comp, guess);
|
|
156
162
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
if (PMath.isAApproxB(syNumerator, ptNumerator, approx.eps))
|
|
163
|
+
if (PMath.isAApproxB(syNumerator, ptNumerator, approx.eps)) {
|
|
160
164
|
return (guess, netSyOut, netSyFee);
|
|
165
|
+
}
|
|
161
166
|
|
|
162
167
|
if (syNumerator <= ptNumerator) {
|
|
163
168
|
// needs more SY --> swap more PT
|
|
@@ -174,18 +179,13 @@ library MarketApproxPtInLib {
|
|
|
174
179
|
MarketState memory market,
|
|
175
180
|
PYIndex index,
|
|
176
181
|
uint256 totalPtIn,
|
|
182
|
+
uint256 netSyHolding,
|
|
177
183
|
MarketPreCompute memory comp,
|
|
178
184
|
uint256 guess
|
|
179
185
|
)
|
|
180
186
|
internal
|
|
181
187
|
pure
|
|
182
|
-
returns (
|
|
183
|
-
uint256 syNumerator,
|
|
184
|
-
uint256 ptNumerator,
|
|
185
|
-
uint256 netSyOut,
|
|
186
|
-
uint256 netSyFee,
|
|
187
|
-
uint256 netSyToReserve
|
|
188
|
-
)
|
|
188
|
+
returns (uint256 syNumerator, uint256 ptNumerator, uint256 netSyOut, uint256 netSyFee, uint256 netSyToReserve)
|
|
189
189
|
{
|
|
190
190
|
(netSyOut, netSyFee, netSyToReserve) = calcSyOut(market, comp, index, guess);
|
|
191
191
|
|
|
@@ -193,29 +193,22 @@ library MarketApproxPtInLib {
|
|
|
193
193
|
uint256 newTotalSy = (uint256(market.totalSy) - netSyOut - netSyToReserve);
|
|
194
194
|
|
|
195
195
|
// it is desired that
|
|
196
|
-
// netSyOut / newTotalSy = netPtRemaining / newTotalPt
|
|
196
|
+
// (netSyOut + netSyHolding) / newTotalSy = netPtRemaining / newTotalPt
|
|
197
197
|
// which is equivalent to
|
|
198
198
|
// netSyOut * newTotalPt = netPtRemaining * newTotalSy
|
|
199
199
|
|
|
200
|
-
syNumerator = netSyOut * newTotalPt;
|
|
200
|
+
syNumerator = (netSyOut + netSyHolding) * newTotalPt;
|
|
201
201
|
ptNumerator = (totalPtIn - guess) * newTotalSy;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
struct Args7 {
|
|
205
|
-
MarketState market;
|
|
206
|
-
PYIndex index;
|
|
207
|
-
uint256 exactPtIn;
|
|
208
|
-
uint256 blockTime;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
204
|
/**
|
|
212
205
|
* @dev algorithm:
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
206
|
+
* - Bin search the amount of PT to swap to SY
|
|
207
|
+
* - Flashswap the corresponding amount of SY out
|
|
208
|
+
* - Tokenize all the SY into PT + YT
|
|
209
|
+
* - PT to repay the flashswap, YT transferred to user
|
|
210
|
+
* - Stop when the additional amount of PT to pull to repay the loan approx the exactPtIn
|
|
211
|
+
* - guess & approx is for totalPtToSwap
|
|
219
212
|
*/
|
|
220
213
|
function approxSwapExactPtForYt(
|
|
221
214
|
MarketState memory market,
|
|
@@ -223,11 +216,7 @@ library MarketApproxPtInLib {
|
|
|
223
216
|
uint256 exactPtIn,
|
|
224
217
|
uint256 blockTime,
|
|
225
218
|
ApproxParams memory approx
|
|
226
|
-
)
|
|
227
|
-
internal
|
|
228
|
-
pure
|
|
229
|
-
returns (uint256 /*netYtOut*/, uint256 /*totalPtToSwap*/, uint256 /*netSyFee*/)
|
|
230
|
-
{
|
|
219
|
+
) internal pure returns (uint256, /*netYtOut*/ uint256, /*totalPtToSwap*/ uint256 /*netSyFee*/ ) {
|
|
231
220
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
232
221
|
if (approx.guessOffchain == 0) {
|
|
233
222
|
approx.guessMin = PMath.max(approx.guessMin, exactPtIn);
|
|
@@ -238,7 +227,7 @@ library MarketApproxPtInLib {
|
|
|
238
227
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
239
228
|
uint256 guess = nextGuess(approx, iter);
|
|
240
229
|
|
|
241
|
-
(uint256 netSyOut, uint256 netSyFee,
|
|
230
|
+
(uint256 netSyOut, uint256 netSyFee,) = calcSyOut(market, comp, index, guess);
|
|
242
231
|
|
|
243
232
|
uint256 netAssetOut = index.syToAsset(netSyOut);
|
|
244
233
|
|
|
@@ -246,8 +235,9 @@ library MarketApproxPtInLib {
|
|
|
246
235
|
uint256 netPtToPull = guess - netAssetOut;
|
|
247
236
|
|
|
248
237
|
if (netPtToPull <= exactPtIn) {
|
|
249
|
-
if (PMath.isASmallerApproxB(netPtToPull, exactPtIn, approx.eps))
|
|
238
|
+
if (PMath.isASmallerApproxB(netPtToPull, exactPtIn, approx.eps)) {
|
|
250
239
|
return (netAssetOut, guess, netSyFee);
|
|
240
|
+
}
|
|
251
241
|
approx.guessMin = guess;
|
|
252
242
|
} else {
|
|
253
243
|
approx.guessMax = guess - 1;
|
|
@@ -258,17 +248,12 @@ library MarketApproxPtInLib {
|
|
|
258
248
|
|
|
259
249
|
////////////////////////////////////////////////////////////////////////////////
|
|
260
250
|
|
|
261
|
-
function calcSyOut(
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
(int256 _netSyOut, int256 _netSyFee, int256 _netSyToReserve) = market.calcTrade(
|
|
268
|
-
comp,
|
|
269
|
-
index,
|
|
270
|
-
-int256(netPtIn)
|
|
271
|
-
);
|
|
251
|
+
function calcSyOut(MarketState memory market, MarketPreCompute memory comp, PYIndex index, uint256 netPtIn)
|
|
252
|
+
internal
|
|
253
|
+
pure
|
|
254
|
+
returns (uint256 netSyOut, uint256 netSyFee, uint256 netSyToReserve)
|
|
255
|
+
{
|
|
256
|
+
(int256 _netSyOut, int256 _netSyFee, int256 _netSyToReserve) = market.calcTrade(comp, index, -int256(netPtIn));
|
|
272
257
|
netSyOut = uint256(_netSyOut);
|
|
273
258
|
netSyFee = uint256(_netSyFee);
|
|
274
259
|
netSyToReserve = uint256(_netSyToReserve);
|
|
@@ -283,14 +268,12 @@ library MarketApproxPtInLib {
|
|
|
283
268
|
/// INTENDED TO BE CALLED BY WHEN GUESS.OFFCHAIN == 0 ONLY ///
|
|
284
269
|
|
|
285
270
|
function validateApprox(ApproxParams memory approx) internal pure {
|
|
286
|
-
if (approx.guessMin > approx.guessMax || approx.eps > PMath.ONE)
|
|
271
|
+
if (approx.guessMin > approx.guessMax || approx.eps > PMath.ONE) {
|
|
287
272
|
revert Errors.ApproxParamsInvalid(approx.guessMin, approx.guessMax, approx.eps);
|
|
273
|
+
}
|
|
288
274
|
}
|
|
289
275
|
|
|
290
|
-
function calcMaxPtIn(
|
|
291
|
-
MarketState memory market,
|
|
292
|
-
MarketPreCompute memory comp
|
|
293
|
-
) internal pure returns (uint256) {
|
|
276
|
+
function calcMaxPtIn(MarketState memory market, MarketPreCompute memory comp) internal pure returns (uint256) {
|
|
294
277
|
uint256 low = 0;
|
|
295
278
|
uint256 hi = uint256(comp.totalAsset) - 1;
|
|
296
279
|
|
|
@@ -302,19 +285,17 @@ library MarketApproxPtInLib {
|
|
|
302
285
|
return low;
|
|
303
286
|
}
|
|
304
287
|
|
|
305
|
-
function calcSlope(
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
int256
|
|
309
|
-
|
|
288
|
+
function calcSlope(MarketPreCompute memory comp, int256 totalPt, int256 ptToMarket)
|
|
289
|
+
internal
|
|
290
|
+
pure
|
|
291
|
+
returns (int256)
|
|
292
|
+
{
|
|
310
293
|
int256 diffAssetPtToMarket = comp.totalAsset - ptToMarket;
|
|
311
294
|
int256 sumPt = ptToMarket + totalPt;
|
|
312
295
|
|
|
313
296
|
require(diffAssetPtToMarket > 0 && sumPt > 0, "invalid ptToMarket");
|
|
314
297
|
|
|
315
|
-
int256 part1 = (ptToMarket * (totalPt + comp.totalAsset)).divDown(
|
|
316
|
-
sumPt * diffAssetPtToMarket
|
|
317
|
-
);
|
|
298
|
+
int256 part1 = (ptToMarket * (totalPt + comp.totalAsset)).divDown(sumPt * diffAssetPtToMarket);
|
|
318
299
|
|
|
319
300
|
int256 part2 = sumPt.divDown(diffAssetPtToMarket).ln();
|
|
320
301
|
int256 part3 = PMath.IONE.divDown(comp.rateScalar);
|
|
@@ -332,10 +313,10 @@ library MarketApproxPtOutLib {
|
|
|
332
313
|
|
|
333
314
|
/**
|
|
334
315
|
* @dev algorithm:
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
316
|
+
* - Bin search the amount of PT to swapExactOut
|
|
317
|
+
* - Calculate the amount of SY needed
|
|
318
|
+
* - Stop when the netSyIn is smaller approx exactSyIn
|
|
319
|
+
* - guess & approx is for netSyIn
|
|
339
320
|
*/
|
|
340
321
|
function approxSwapExactSyForPt(
|
|
341
322
|
MarketState memory market,
|
|
@@ -343,7 +324,7 @@ library MarketApproxPtOutLib {
|
|
|
343
324
|
uint256 exactSyIn,
|
|
344
325
|
uint256 blockTime,
|
|
345
326
|
ApproxParams memory approx
|
|
346
|
-
) internal pure returns (uint256 /*netPtOut
|
|
327
|
+
) internal pure returns (uint256, /*netPtOut*/ uint256 /*netSyFee*/ ) {
|
|
347
328
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
348
329
|
if (approx.guessOffchain == 0) {
|
|
349
330
|
// no limit on min
|
|
@@ -354,11 +335,12 @@ library MarketApproxPtOutLib {
|
|
|
354
335
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
355
336
|
uint256 guess = nextGuess(approx, iter);
|
|
356
337
|
|
|
357
|
-
(uint256 netSyIn, uint256 netSyFee,
|
|
338
|
+
(uint256 netSyIn, uint256 netSyFee,) = calcSyIn(market, comp, index, guess);
|
|
358
339
|
|
|
359
340
|
if (netSyIn <= exactSyIn) {
|
|
360
|
-
if (PMath.isASmallerApproxB(netSyIn, exactSyIn, approx.eps))
|
|
341
|
+
if (PMath.isASmallerApproxB(netSyIn, exactSyIn, approx.eps)) {
|
|
361
342
|
return (guess, netSyFee);
|
|
343
|
+
}
|
|
362
344
|
approx.guessMin = guess;
|
|
363
345
|
} else {
|
|
364
346
|
approx.guessMax = guess - 1;
|
|
@@ -370,11 +352,11 @@ library MarketApproxPtOutLib {
|
|
|
370
352
|
|
|
371
353
|
/**
|
|
372
354
|
* @dev algorithm:
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
355
|
+
* - Bin search the amount of PT to swapExactOut
|
|
356
|
+
* - Flashswap that amount of PT & pair with YT to redeem SY
|
|
357
|
+
* - Use the SY to repay the flashswap debt and the remaining is transferred to user
|
|
358
|
+
* - Stop when the netSyOut is greater approx the minSyOut
|
|
359
|
+
* - guess & approx is for netSyOut
|
|
378
360
|
*/
|
|
379
361
|
function approxSwapYtForExactSy(
|
|
380
362
|
MarketState memory market,
|
|
@@ -382,7 +364,7 @@ library MarketApproxPtOutLib {
|
|
|
382
364
|
uint256 minSyOut,
|
|
383
365
|
uint256 blockTime,
|
|
384
366
|
ApproxParams memory approx
|
|
385
|
-
) internal pure returns (uint256 /*netYtIn
|
|
367
|
+
) internal pure returns (uint256, /*netYtIn*/ uint256, /*netSyOut*/ uint256 /*netSyFee*/ ) {
|
|
386
368
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
387
369
|
if (approx.guessOffchain == 0) {
|
|
388
370
|
// no limit on min
|
|
@@ -393,14 +375,15 @@ library MarketApproxPtOutLib {
|
|
|
393
375
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
394
376
|
uint256 guess = nextGuess(approx, iter);
|
|
395
377
|
|
|
396
|
-
(uint256 netSyOwed, uint256 netSyFee,
|
|
378
|
+
(uint256 netSyOwed, uint256 netSyFee,) = calcSyIn(market, comp, index, guess);
|
|
397
379
|
|
|
398
380
|
uint256 netAssetToRepay = index.syToAssetUp(netSyOwed);
|
|
399
381
|
uint256 netSyOut = index.assetToSy(guess - netAssetToRepay);
|
|
400
382
|
|
|
401
383
|
if (netSyOut >= minSyOut) {
|
|
402
|
-
if (PMath.isAGreaterApproxB(netSyOut, minSyOut, approx.eps))
|
|
384
|
+
if (PMath.isAGreaterApproxB(netSyOut, minSyOut, approx.eps)) {
|
|
403
385
|
return (guess, netSyOut, netSyFee);
|
|
386
|
+
}
|
|
404
387
|
approx.guessMax = guess;
|
|
405
388
|
} else {
|
|
406
389
|
approx.guessMin = guess + 1;
|
|
@@ -413,30 +396,28 @@ library MarketApproxPtOutLib {
|
|
|
413
396
|
MarketState market;
|
|
414
397
|
PYIndex index;
|
|
415
398
|
uint256 totalSyIn;
|
|
399
|
+
uint256 netPtHolding;
|
|
416
400
|
uint256 blockTime;
|
|
417
401
|
ApproxParams approx;
|
|
418
402
|
}
|
|
419
403
|
|
|
420
404
|
/**
|
|
421
405
|
* @dev algorithm:
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
406
|
+
* - Bin search the amount of PT to swapExactOut
|
|
407
|
+
* - Swap that amount of PT out
|
|
408
|
+
* - Pair the remaining PT with the SY to add liquidity
|
|
409
|
+
* - Stop when the ratio of PT / totalPt & SY / totalSy is approx
|
|
410
|
+
* - guess & approx is for netPtFromSwap
|
|
427
411
|
*/
|
|
428
412
|
function approxSwapSyToAddLiquidity(
|
|
429
413
|
MarketState memory _market,
|
|
430
414
|
PYIndex _index,
|
|
431
415
|
uint256 _totalSyIn,
|
|
416
|
+
uint256 _netPtHolding,
|
|
432
417
|
uint256 _blockTime,
|
|
433
418
|
ApproxParams memory _approx
|
|
434
|
-
)
|
|
435
|
-
|
|
436
|
-
pure
|
|
437
|
-
returns (uint256 /*netPtFromSwap*/, uint256 /*netSySwap*/, uint256 /*netSyFee*/)
|
|
438
|
-
{
|
|
439
|
-
Args6 memory a = Args6(_market, _index, _totalSyIn, _blockTime, _approx);
|
|
419
|
+
) internal pure returns (uint256, /*netPtFromSwap*/ uint256, /*netSySwap*/ uint256 /*netSyFee*/ ) {
|
|
420
|
+
Args6 memory a = Args6(_market, _index, _totalSyIn, _netPtHolding, _blockTime, _approx);
|
|
440
421
|
|
|
441
422
|
MarketPreCompute memory comp = a.market.getMarketPreCompute(a.index, a.blockTime);
|
|
442
423
|
if (a.approx.guessOffchain == 0) {
|
|
@@ -449,12 +430,7 @@ library MarketApproxPtOutLib {
|
|
|
449
430
|
for (uint256 iter = 0; iter < a.approx.maxIteration; ++iter) {
|
|
450
431
|
uint256 guess = nextGuess(a.approx, iter);
|
|
451
432
|
|
|
452
|
-
(uint256 netSyIn, uint256 netSyFee, uint256 netSyToReserve) = calcSyIn(
|
|
453
|
-
a.market,
|
|
454
|
-
comp,
|
|
455
|
-
a.index,
|
|
456
|
-
guess
|
|
457
|
-
);
|
|
433
|
+
(uint256 netSyIn, uint256 netSyFee, uint256 netSyToReserve) = calcSyIn(a.market, comp, a.index, guess);
|
|
458
434
|
|
|
459
435
|
if (netSyIn > a.totalSyIn) {
|
|
460
436
|
a.approx.guessMax = guess - 1;
|
|
@@ -469,16 +445,17 @@ library MarketApproxPtOutLib {
|
|
|
469
445
|
uint256 netTotalSy = uint256(a.market.totalSy) + netSyIn - netSyToReserve;
|
|
470
446
|
|
|
471
447
|
// it is desired that
|
|
472
|
-
// netPtFromSwap / newTotalPt = netSyRemaining / netTotalSy
|
|
448
|
+
// (netPtFromSwap + netPtHolding) / newTotalPt = netSyRemaining / netTotalSy
|
|
473
449
|
// which is equivalent to
|
|
474
|
-
// netPtFromSwap * netTotalSy = netSyRemaining * newTotalPt
|
|
450
|
+
// (netPtFromSwap + netPtHolding) * netTotalSy = netSyRemaining * newTotalPt
|
|
475
451
|
|
|
476
|
-
ptNumerator = guess * netTotalSy;
|
|
452
|
+
ptNumerator = (guess + a.netPtHolding) * netTotalSy;
|
|
477
453
|
syNumerator = (a.totalSyIn - netSyIn) * newTotalPt;
|
|
478
454
|
}
|
|
479
455
|
|
|
480
|
-
if (PMath.isAApproxB(ptNumerator, syNumerator, a.approx.eps))
|
|
456
|
+
if (PMath.isAApproxB(ptNumerator, syNumerator, a.approx.eps)) {
|
|
481
457
|
return (guess, netSyIn, netSyFee);
|
|
458
|
+
}
|
|
482
459
|
|
|
483
460
|
if (ptNumerator <= syNumerator) {
|
|
484
461
|
// needs more PT
|
|
@@ -493,12 +470,12 @@ library MarketApproxPtOutLib {
|
|
|
493
470
|
|
|
494
471
|
/**
|
|
495
472
|
* @dev algorithm:
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
473
|
+
* - Bin search the amount of PT to swapExactOut
|
|
474
|
+
* - Flashswap that amount of PT out
|
|
475
|
+
* - Pair all the PT with the YT to redeem SY
|
|
476
|
+
* - Use the SY to repay the flashswap debt
|
|
477
|
+
* - Stop when the amount of YT required to pair with PT is approx exactYtIn
|
|
478
|
+
* - guess & approx is for netPtFromSwap
|
|
502
479
|
*/
|
|
503
480
|
function approxSwapExactYtForPt(
|
|
504
481
|
MarketState memory market,
|
|
@@ -506,11 +483,7 @@ library MarketApproxPtOutLib {
|
|
|
506
483
|
uint256 exactYtIn,
|
|
507
484
|
uint256 blockTime,
|
|
508
485
|
ApproxParams memory approx
|
|
509
|
-
)
|
|
510
|
-
internal
|
|
511
|
-
pure
|
|
512
|
-
returns (uint256 /*netPtOut*/, uint256 /*totalPtSwapped*/, uint256 /*netSyFee*/)
|
|
513
|
-
{
|
|
486
|
+
) internal pure returns (uint256, /*netPtOut*/ uint256, /*totalPtSwapped*/ uint256 /*netSyFee*/ ) {
|
|
514
487
|
MarketPreCompute memory comp = market.getMarketPreCompute(index, blockTime);
|
|
515
488
|
if (approx.guessOffchain == 0) {
|
|
516
489
|
approx.guessMin = PMath.max(approx.guessMin, exactYtIn);
|
|
@@ -521,13 +494,14 @@ library MarketApproxPtOutLib {
|
|
|
521
494
|
for (uint256 iter = 0; iter < approx.maxIteration; ++iter) {
|
|
522
495
|
uint256 guess = nextGuess(approx, iter);
|
|
523
496
|
|
|
524
|
-
(uint256 netSyOwed, uint256 netSyFee,
|
|
497
|
+
(uint256 netSyOwed, uint256 netSyFee,) = calcSyIn(market, comp, index, guess);
|
|
525
498
|
|
|
526
499
|
uint256 netYtToPull = index.syToAssetUp(netSyOwed);
|
|
527
500
|
|
|
528
501
|
if (netYtToPull <= exactYtIn) {
|
|
529
|
-
if (PMath.isASmallerApproxB(netYtToPull, exactYtIn, approx.eps))
|
|
502
|
+
if (PMath.isASmallerApproxB(netYtToPull, exactYtIn, approx.eps)) {
|
|
530
503
|
return (guess - netYtToPull, guess, netSyFee);
|
|
504
|
+
}
|
|
531
505
|
approx.guessMin = guess;
|
|
532
506
|
} else {
|
|
533
507
|
approx.guessMax = guess - 1;
|
|
@@ -538,17 +512,12 @@ library MarketApproxPtOutLib {
|
|
|
538
512
|
|
|
539
513
|
////////////////////////////////////////////////////////////////////////////////
|
|
540
514
|
|
|
541
|
-
function calcSyIn(
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
(int256 _netSyIn, int256 _netSyFee, int256 _netSyToReserve) = market.calcTrade(
|
|
548
|
-
comp,
|
|
549
|
-
index,
|
|
550
|
-
int256(netPtOut)
|
|
551
|
-
);
|
|
515
|
+
function calcSyIn(MarketState memory market, MarketPreCompute memory comp, PYIndex index, uint256 netPtOut)
|
|
516
|
+
internal
|
|
517
|
+
pure
|
|
518
|
+
returns (uint256 netSyIn, uint256 netSyFee, uint256 netSyToReserve)
|
|
519
|
+
{
|
|
520
|
+
(int256 _netSyIn, int256 _netSyFee, int256 _netSyToReserve) = market.calcTrade(comp, index, int256(netPtOut));
|
|
552
521
|
|
|
553
522
|
// all safe since totalPt and totalSy is int128
|
|
554
523
|
netSyIn = uint256(-_netSyIn);
|
|
@@ -556,10 +525,7 @@ library MarketApproxPtOutLib {
|
|
|
556
525
|
netSyToReserve = uint256(_netSyToReserve);
|
|
557
526
|
}
|
|
558
527
|
|
|
559
|
-
function calcMaxPtOut(
|
|
560
|
-
MarketPreCompute memory comp,
|
|
561
|
-
int256 totalPt
|
|
562
|
-
) internal pure returns (uint256) {
|
|
528
|
+
function calcMaxPtOut(MarketPreCompute memory comp, int256 totalPt) internal pure returns (uint256) {
|
|
563
529
|
int256 logitP = (comp.feeRate - comp.rateAnchor).mulDown(comp.rateScalar).exp();
|
|
564
530
|
int256 proportion = logitP.divDown(logitP + PMath.IONE);
|
|
565
531
|
int256 numerator = proportion.mulDown(totalPt + comp.totalAsset);
|
|
@@ -575,7 +541,8 @@ library MarketApproxPtOutLib {
|
|
|
575
541
|
}
|
|
576
542
|
|
|
577
543
|
function validateApprox(ApproxParams memory approx) internal pure {
|
|
578
|
-
if (approx.guessMin > approx.guessMax || approx.eps > PMath.ONE)
|
|
544
|
+
if (approx.guessMin > approx.guessMax || approx.eps > PMath.ONE) {
|
|
579
545
|
revert Errors.ApproxParamsInvalid(approx.guessMin, approx.guessMax, approx.eps);
|
|
546
|
+
}
|
|
580
547
|
}
|
|
581
548
|
}
|
|
@@ -1,38 +1,27 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.
|
|
2
|
+
pragma solidity 0.8.21;
|
|
3
3
|
|
|
4
4
|
import "../../core/libraries/TokenHelper.sol";
|
|
5
5
|
import "./IPSwapAggregator.sol";
|
|
6
6
|
import "./kyberswap/KyberInputScalingHelper.sol";
|
|
7
7
|
import "./oneinch/OneInchAggregationRouterHelper.sol";
|
|
8
8
|
|
|
9
|
-
contract PendleSwap is
|
|
10
|
-
IPSwapAggregator,
|
|
11
|
-
TokenHelper,
|
|
12
|
-
KyberInputScalingHelper,
|
|
13
|
-
OneInchAggregationRouterHelper
|
|
14
|
-
{
|
|
9
|
+
contract PendleSwap is IPSwapAggregator, TokenHelper, KyberInputScalingHelper, OneInchAggregationRouterHelper {
|
|
15
10
|
using Address for address;
|
|
16
11
|
|
|
17
|
-
function swap(
|
|
18
|
-
address tokenIn,
|
|
19
|
-
uint256 amountIn,
|
|
20
|
-
SwapData calldata data
|
|
21
|
-
) external payable {
|
|
12
|
+
function swap(address tokenIn, uint256 amountIn, SwapData calldata data) external payable {
|
|
22
13
|
_safeApproveInf(tokenIn, data.extRouter);
|
|
23
14
|
data.extRouter.functionCallWithValue(
|
|
24
|
-
data.needScale
|
|
25
|
-
? _getScaledInputData(data.swapType, data.extCalldata, amountIn)
|
|
26
|
-
: data.extCalldata,
|
|
15
|
+
data.needScale ? _getScaledInputData(data.swapType, data.extCalldata, amountIn) : data.extCalldata,
|
|
27
16
|
tokenIn == NATIVE ? amountIn : 0
|
|
28
17
|
);
|
|
29
18
|
}
|
|
30
19
|
|
|
31
|
-
function _getScaledInputData(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
20
|
+
function _getScaledInputData(SwapType swapType, bytes calldata rawCallData, uint256 amountIn)
|
|
21
|
+
internal
|
|
22
|
+
pure
|
|
23
|
+
returns (bytes memory scaledCallData)
|
|
24
|
+
{
|
|
36
25
|
if (swapType == SwapType.KYBERSWAP) {
|
|
37
26
|
scaledCallData = _getKyberScaledInputData(rawCallData, amountIn);
|
|
38
27
|
} else if (swapType == SwapType.ONE_INCH) {
|