@pendle/core-v2 1.2.1-testnet → 1.3.0-testnet
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/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/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSeller.sol/BulkSeller.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.json +2 -2
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.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/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/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/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/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol/PendleAuraWethAnkrethSY.json +1192 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.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/MetaStable/MetaStablePreview.sol/MetaStablePreview.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/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/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/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/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/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/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/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/Math.sol/Math.json +2 -2
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.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/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/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.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/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.json +0 -10
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.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/IPLiquidityMigrator.sol/IPLiquidityMigrator.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPLiquidityMigrator.sol/IPLiquidityMigrator.json +655 -0
- 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/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.json +2 -12
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldToken.sol/IPYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPYieldTokenV2.sol/IPYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- 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/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/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/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.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/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 -12
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +4 -4
- 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 +4 -0
- package/build/artifacts/contracts/{router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.json → offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.json} +2 -2
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.json +2 -2
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.json +2 -2
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.json +2 -2
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.dbg.json +4 -0
- package/build/artifacts/contracts/router/PendleRouterHelper.sol/PendleRouterHelper.json +773 -0
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/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/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapArbitrum.sol/PendleSwapArbitrum.json +76 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapEthereum.sol/PendleSwapEthereum.json +76 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IAggregationExecutor.sol/IAggregationExecutor.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol/IExecutorHelper1.json +388 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol/IExecutorHelper2.json +40 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IHashflow.sol/IHashflow.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol/IHashflow.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol/KyberHelperArbitrum.json +10 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol/ScaleDataHelperArbitrum.json +10 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol/IAggregationExecutor.json +65 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol/IHashflow.json +101 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.json +215 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/KyberHelperEthereum.sol/KyberHelperEthereum.json +10 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.dbg.json +4 -0
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ethereum/ScaleDataHelperEthereum.sol/ScaleDataHelperEthereum.json +10 -0
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +4 -5
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +3 -5
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +7 -10
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +8 -10
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +16 -8
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +3 -5
- package/contracts/LiquidityMining/README.md +49 -46
- package/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol +9 -14
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +4 -10
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +23 -36
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +18 -24
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +3 -4
- package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +20 -26
- package/contracts/core/BulkSeller/BulkSeller.sol +1 -5
- package/contracts/core/BulkSeller/BulkSellerFactory.sol +4 -5
- package/contracts/core/BulkSeller/BulkSellerMathCore.sol +20 -25
- package/contracts/core/Market/MarketMathCore.sol +23 -69
- package/contracts/core/Market/OracleLib.sol +4 -4
- package/contracts/core/Market/PendleGauge.sol +7 -20
- package/contracts/core/Market/PendleMarket.sol +5 -15
- package/contracts/core/Market/PendleMarketFactory.sol +3 -9
- package/contracts/core/RewardManager/RewardManager.sol +4 -6
- package/contracts/core/RewardManager/RewardManagerAbstract.sol +4 -4
- package/contracts/core/StandardizedYield/PYIndex.sol +7 -36
- package/contracts/core/StandardizedYield/SYBase.sol +20 -26
- package/contracts/core/StandardizedYield/SYBaseWithRewards.sol +7 -19
- package/contracts/core/StandardizedYield/SYUtils.sol +4 -5
- package/contracts/core/StandardizedYield/StEthHelper.sol +12 -16
- package/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol +14 -24
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethAnkrethSY.sol +127 -0
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol +12 -20
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol +12 -20
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol +1 -5
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol +28 -44
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol +28 -47
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol +6 -10
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol +6 -10
- package/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol +13 -22
- package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol +20 -27
- package/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol +20 -27
- package/contracts/core/StandardizedYield/implementations/Convex/README.md +4 -4
- package/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol +32 -40
- package/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol +10 -12
- package/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol +14 -18
- package/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol +32 -48
- package/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol +6 -7
- package/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol +14 -24
- package/contracts/core/StandardizedYield/implementations/GLP/README.md +15 -13
- package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +12 -38
- package/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol +13 -23
- package/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol +13 -23
- package/contracts/core/YieldContracts/PendleYieldContractFactory.sol +0 -10
- package/contracts/core/YieldContracts/PendleYieldToken.sol +28 -44
- package/contracts/core/YieldContractsV2/InterestManagerYTV2.sol +4 -4
- package/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol +1 -1
- package/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol +24 -38
- package/contracts/core/erc20/PendleERC20.sol +14 -44
- package/contracts/core/libraries/ArrayLib.sol +4 -5
- package/contracts/core/libraries/BaseSplitCodeFactory.sol +5 -7
- package/contracts/core/libraries/BoringOwnableUpgradeable.sol +1 -5
- package/contracts/core/libraries/StringLib.sol +14 -20
- package/contracts/core/libraries/TokenHelper.sol +6 -31
- package/contracts/core/libraries/math/LogExpMath.sol +2 -2
- package/contracts/core/libraries/math/Math.sol +3 -15
- package/contracts/interfaces/Balancer/IComposableStable.sol +4 -14
- package/contracts/interfaces/Balancer/IMetaStablePool.sol +4 -13
- package/contracts/interfaces/Balancer/IVault.sol +4 -6
- package/contracts/interfaces/ConvexCurve/IBooster.sol +4 -16
- package/contracts/interfaces/ConvexCurve/ICrvDepositor.sol +1 -5
- package/contracts/interfaces/ConvexCurve/IRewards.sol +1 -4
- package/contracts/interfaces/Curve/ICrvPool.sol +12 -11
- package/contracts/interfaces/Curve/ITriCrvPool.sol +4 -4
- package/contracts/interfaces/GMX/IGMXVault.sol +4 -4
- package/contracts/interfaces/GMX/IRewardRouterV2.sol +4 -4
- package/contracts/interfaces/IApeStaking.sol +3 -4
- package/contracts/interfaces/IDiamondLoupe.sol +3 -1
- package/contracts/interfaces/IERC4626.sol +1 -5
- package/contracts/interfaces/IPActionAddRemoveLiq.sol +2 -15
- package/contracts/interfaces/IPActionInfoStatic.sol +7 -7
- package/contracts/interfaces/IPActionMarketAuxStatic.sol +11 -7
- package/contracts/interfaces/IPActionMarketCoreStatic.sol +67 -49
- package/contracts/interfaces/IPActionMintRedeemStatic.sol +10 -15
- package/contracts/interfaces/IPActionStorageStatic.sol +5 -6
- package/contracts/interfaces/IPBulkSellerSYCallback.sol +1 -5
- package/contracts/interfaces/IPFeeDistributor.sol +4 -3
- package/contracts/interfaces/IPGaugeController.sol +3 -9
- package/contracts/interfaces/IPInterestManagerYT.sol +3 -4
- package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -6
- package/contracts/interfaces/IPLiquidityMigrator.sol +130 -0
- package/contracts/interfaces/IPMarket.sol +5 -16
- package/contracts/interfaces/IPMarketFactory.sol +3 -8
- package/contracts/interfaces/IPMarketSwapCallback.sol +1 -5
- package/contracts/interfaces/IPVotingController.sol +5 -6
- package/contracts/interfaces/IPVotingEscrowMainchain.sol +8 -7
- package/contracts/interfaces/IPYieldToken.sol +4 -3
- package/contracts/interfaces/IPYieldTokenV2.sol +4 -3
- package/contracts/interfaces/IRewardManager.sol +4 -4
- package/contracts/interfaces/IStETH.sol +4 -3
- package/contracts/interfaces/IStandardizedYield.sol +9 -13
- package/contracts/interfaces/IStargateRouter.sol +1 -5
- package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +4 -1
- package/contracts/offchain-helpers/BulkSellerOffchain.sol +7 -11
- package/contracts/offchain-helpers/Multicall2.sol +14 -24
- package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +11 -14
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +31 -32
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +76 -65
- package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +12 -20
- package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +13 -12
- package/contracts/offchain-helpers/router-static/{StorageLayout.sol → base/StorageLayout.sol} +3 -3
- package/contracts/router/ActionAddRemoveLiq.sol +2 -18
- package/contracts/router/ActionSwapYT.sol +9 -3
- package/contracts/router/PendleRouterHelper.sol +315 -0
- package/contracts/router/base/ActionBaseCallback.sol +2 -2
- package/contracts/router/base/ActionBaseMintRedeem.sol +8 -9
- package/contracts/router/base/CallbackHelper.sol +16 -27
- package/contracts/router/base/MarketApproxLib.sol +18 -82
- package/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol +4 -10
- package/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol +4 -5
- package/contracts/router/swap-aggregator/IPSwapAggregator.sol +1 -5
- package/contracts/router/swap-aggregator/{PendleSwapAggregator.sol → PendleSwapArbitrum.sol} +7 -8
- package/contracts/router/swap-aggregator/PendleSwapEthereum.sol +44 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/IAggregationExecutor.sol +17 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper1.sol +195 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/IExecutorHelper2.sol +10 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/IMetaAggregationRouterV2.sol +41 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/KyberHelperArbitrum.sol +200 -0
- package/contracts/router/swap-aggregator/kyberswap/arbitrum/ScaleDataHelperArbitrum.sol +135 -0
- package/contracts/router/swap-aggregator/kyberswap/ethereum/IAggregationExecutor.sol +17 -0
- package/contracts/router/swap-aggregator/kyberswap/ethereum/IHashflow.sol +30 -0
- package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IMetaAggregationRouterV2.sol +3 -4
- package/contracts/router/swap-aggregator/kyberswap/{KyberAggregationRouterHelper.sol → ethereum/KyberHelperEthereum.sol} +20 -33
- package/contracts/router/swap-aggregator/kyberswap/{ScaleDataHelperEthereum1.sol → ethereum/ScaleDataHelperEthereum.sol} +2 -2
- package/deployments/43113-core.json +1 -0
- package/deployments/80001-core.json +1 -0
- package/package.json +6 -5
- package/typechain-types/ActionMarketCoreStatic.ts +0 -4
- package/typechain-types/ActionStorageStatic.ts +5 -3
- package/typechain-types/IChainlinkAggregator.ts +246 -0
- package/typechain-types/IExecutorHelper1.ts +643 -0
- package/typechain-types/IExecutorHelper2.ts +115 -0
- package/typechain-types/IPActionMarketCoreStatic.ts +0 -4
- package/typechain-types/IPActionStorageStatic.ts +5 -3
- package/typechain-types/IPLiquidityMigrator.ts +565 -0
- package/typechain-types/IPRouterStatic.ts +5 -7
- package/typechain-types/IStargateLP.ts +306 -0
- package/typechain-types/IStargateStaking.ts +232 -0
- package/typechain-types/InputScalingHelper.ts +108 -0
- package/typechain-types/PendleAuraWethAnkrethSY.ts +1523 -0
- package/typechain-types/PendlePtOracleBase.ts +139 -0
- package/typechain-types/PendleRouterHelper.ts +647 -0
- package/typechain-types/PendleStargateLP.ts +1442 -0
- package/typechain-types/PendleSwapArbitrum.ts +126 -0
- package/typechain-types/PendleSwapEthereum.ts +126 -0
- package/typechain-types/PtFraxUsdcOracle.ts +176 -0
- package/typechain-types/PtStETHOracle.ts +163 -0
- package/typechain-types/RouterStatic.ts +92 -0
- package/typechain-types/factories/ActionAddRemoveLiq__factory.ts +1 -1
- package/typechain-types/factories/ActionInfoStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1 -11
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMintRedeem__factory.ts +1 -1
- package/typechain-types/factories/ActionMisc__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +3 -3
- package/typechain-types/factories/ActionSwapPT__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYT__factory.ts +1 -1
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +1 -1
- package/typechain-types/factories/AddressProvider__factory.ts +1 -1
- package/typechain-types/factories/BaseSplitCodeFactoryContract__factory.ts +1 -1
- package/typechain-types/factories/BoringOwnableUpgradeableData__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerFactory__factory.ts +1 -1
- package/typechain-types/factories/BulkSellerOffchain__factory.ts +1 -1
- package/typechain-types/factories/BulkSeller__factory.ts +1 -1
- package/typechain-types/factories/IChainlinkAggregator__factory.ts +170 -0
- package/typechain-types/factories/IExecutorHelper1__factory.ts +403 -0
- package/typechain-types/factories/IExecutorHelper2__factory.ts +55 -0
- package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +0 -10
- package/typechain-types/factories/IPActionStorageStatic__factory.ts +2 -2
- package/typechain-types/factories/IPLiquidityMigrator__factory.ts +677 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +2 -12
- package/typechain-types/factories/IStargateLP__factory.ts +212 -0
- package/typechain-types/factories/IStargateStaking__factory.ts +145 -0
- package/typechain-types/factories/InputScalingHelper__factory.ts +88 -0
- package/typechain-types/factories/MarketMathStatic__factory.ts +1 -1
- package/typechain-types/factories/MetaStableMath__factory.ts +1 -1
- package/typechain-types/factories/MetaStablePreview__factory.ts +1 -1
- package/typechain-types/factories/Multicall2__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethAnkrethSY__factory.ts +1265 -0
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSY__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/PendleERC20Permit__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__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/PendleLooksStakingSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactory__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/PendlePrincipalTokenV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendlePtOracleBase__factory.ts +78 -0
- package/typechain-types/factories/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterHelper__factory.ts +841 -0
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleStargateLP__factory.ts +1241 -0
- package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
- package/typechain-types/factories/PendleSwapArbitrum__factory.ts +129 -0
- package/typechain-types/factories/PendleSwapEthereum__factory.ts +129 -0
- package/typechain-types/factories/PendleVotingControllerUpg__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/PtFraxUsdcOracle__factory.ts +226 -0
- package/typechain-types/factories/PtStETHOracle__factory.ts +201 -0
- package/typechain-types/factories/RouterStatic__factory.ts +72 -4
- package/typechain-types/factories/SAPE__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 +146 -146
- package/typechain-types/index.ts +24 -34
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.json +0 -252
- package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.json +0 -87
- package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.json +0 -59
- package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.json +0 -162
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.json +0 -87
- package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPGovernanceManager.sol/IPGovernanceManager.json +0 -24
- package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.json +0 -24
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.json +0 -92
- package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.json +0 -199
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.json +0 -168
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.json +0 -252
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.json +0 -132
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.json +0 -148
- package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/legacy/MarketMathStatic.sol/MarketMathStatic.json +0 -259
- package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/legacy/RouterStatic.sol/RouterStatic.json +0 -2741
- package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/router-static/StorageLayout.sol/StorageLayout.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +0 -72
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.json +0 -10
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +0 -4
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +0 -4
- package/contracts/interfaces/IAToken.sol +0 -44
- package/contracts/interfaces/IAavePool.sol +0 -41
- package/contracts/interfaces/IAaveRewardsController.sol +0 -32
- package/contracts/interfaces/IEulerEToken.sol +0 -60
- package/contracts/interfaces/IEulerMarkets.sol +0 -46
- package/contracts/interfaces/IPGovernanceManager.sol +0 -28
- package/contracts/interfaces/IPPermissionsV2Upg.sol +0 -28
- package/contracts/interfaces/IREDACTEDStaking.sol +0 -35
- package/contracts/interfaces/ISAvax.sol +0 -61
- package/contracts/interfaces/ISJoe.sol +0 -57
- package/contracts/interfaces/IWAvax.sol +0 -34
- package/contracts/interfaces/IWXBTRFLY.sol +0 -39
- package/contracts/interfaces/IYearnVault.sol +0 -46
- package/contracts/offchain-helpers/legacy/MarketMathStatic.sol +0 -557
- package/contracts/offchain-helpers/legacy/RouterStatic.sol +0 -903
- package/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol +0 -17
- /package/contracts/router/swap-aggregator/kyberswap/{interfaces → arbitrum}/IHashflow.sol +0 -0
- /package/contracts/router/swap-aggregator/kyberswap/{interfaces → ethereum}/IExecutorHelperEthereum1.sol +0 -0
|
@@ -4,24 +4,24 @@ pragma solidity 0.8.17;
|
|
|
4
4
|
import "../../../interfaces/IPRouterStatic.sol";
|
|
5
5
|
import "../../../interfaces/IPBulkSeller.sol";
|
|
6
6
|
import "../../../interfaces/IPBulkSellerFactory.sol";
|
|
7
|
-
import "
|
|
7
|
+
import "./StorageLayout.sol";
|
|
8
8
|
|
|
9
9
|
contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
|
|
10
10
|
using Math for uint256;
|
|
11
11
|
using BulkSellerMathCore for BulkSellerState;
|
|
12
12
|
|
|
13
|
-
function mintPyFromSyStatic(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
{
|
|
13
|
+
function mintPyFromSyStatic(
|
|
14
|
+
address YT,
|
|
15
|
+
uint256 netSyToMint
|
|
16
|
+
) public returns (uint256 netPYOut) {
|
|
17
17
|
if (IPYieldToken(YT).isExpired()) revert Errors.YCExpired();
|
|
18
18
|
return netSyToMint.mulDown(IPYieldToken(YT).pyIndexCurrent());
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
function redeemPyToSyStatic(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
21
|
+
function redeemPyToSyStatic(
|
|
22
|
+
address YT,
|
|
23
|
+
uint256 netPYToRedeem
|
|
24
|
+
) public returns (uint256 netSyOut) {
|
|
25
25
|
return netPYToRedeem.divDown(IPYieldToken(YT).pyIndexCurrent());
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -80,11 +80,11 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
|
|
|
80
80
|
address tokenIn,
|
|
81
81
|
address bulk,
|
|
82
82
|
uint256 netSyOut
|
|
83
|
-
)
|
|
83
|
+
) external view returns (uint256 netTokenIn) {
|
|
84
84
|
uint256 pivotAmount;
|
|
85
85
|
|
|
86
86
|
if (tokenIn == address(0)) pivotAmount = 1e18;
|
|
87
|
-
else pivotAmount = 10**IStandardizedYield(SY).decimals();
|
|
87
|
+
else pivotAmount = 10 ** IStandardizedYield(SY).decimals();
|
|
88
88
|
|
|
89
89
|
uint256 low = pivotAmount;
|
|
90
90
|
{
|
|
@@ -124,15 +124,7 @@ contract ActionMintRedeemStatic is StorageLayout, IPActionMintRedeemStatic {
|
|
|
124
124
|
address SY,
|
|
125
125
|
uint256 netTokenIn,
|
|
126
126
|
uint256 netSyIn
|
|
127
|
-
)
|
|
128
|
-
public
|
|
129
|
-
view
|
|
130
|
-
returns (
|
|
131
|
-
address bulk,
|
|
132
|
-
uint256 totalToken,
|
|
133
|
-
uint256 totalSy
|
|
134
|
-
)
|
|
135
|
-
{
|
|
127
|
+
) external view returns (address bulk, uint256 totalToken, uint256 totalSy) {
|
|
136
128
|
if (address(bulkSellerFactory) == address(0)) return (address(0), 0, 0);
|
|
137
129
|
|
|
138
130
|
bulk = bulkSellerFactory.get(token, SY);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity 0.8.17;
|
|
3
3
|
|
|
4
|
-
import "
|
|
4
|
+
import "./StorageLayout.sol";
|
|
5
5
|
import "../../../interfaces/IPActionStorageStatic.sol";
|
|
6
6
|
import "../../../interfaces/IPMiniDiamond.sol";
|
|
7
7
|
|
|
8
8
|
contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiamond {
|
|
9
|
-
function setDefaultApproxParams(ApproxParams memory params)
|
|
9
|
+
function setDefaultApproxParams(ApproxParams memory params) external onlyOwner {
|
|
10
10
|
defaultApproxParams = params;
|
|
11
11
|
}
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
|
|
|
14
14
|
bulkSellerFactory = IPBulkSellerFactory(_bulkSellerFactory);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
function getDefaultApproxParams()
|
|
17
|
+
function getDefaultApproxParams() external view returns (ApproxParams memory) {
|
|
18
18
|
return defaultApproxParams;
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -22,8 +22,13 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
|
|
|
22
22
|
return address(bulkSellerFactory);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
function getOwnerAndPendingOwner()
|
|
26
|
-
|
|
25
|
+
function getOwnerAndPendingOwner()
|
|
26
|
+
external
|
|
27
|
+
view
|
|
28
|
+
returns (address _owner, address _pendingOwner)
|
|
29
|
+
{
|
|
30
|
+
_owner = owner;
|
|
31
|
+
_pendingOwner = pendingOwner;
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
function setFacetForSelectors(SelectorsToFacet[] calldata arr) external onlyOwner {
|
|
@@ -41,17 +46,13 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
|
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
48
|
|
|
44
|
-
function facetAddress(bytes4 selector)
|
|
49
|
+
function facetAddress(bytes4 selector) external view returns (address res) {
|
|
45
50
|
res = selectorToFacet[selector];
|
|
46
51
|
require(res != address(0), "selector not found");
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
// Ownable
|
|
50
|
-
function transferOwnership(
|
|
51
|
-
address newOwner,
|
|
52
|
-
bool direct,
|
|
53
|
-
bool renounce
|
|
54
|
-
) public onlyOwner {
|
|
55
|
+
function transferOwnership(address newOwner, bool direct, bool renounce) external onlyOwner {
|
|
55
56
|
if (direct) {
|
|
56
57
|
require(newOwner != address(0) || renounce, "Ownable: zero address");
|
|
57
58
|
|
|
@@ -63,7 +64,7 @@ contract ActionStorageStatic is StorageLayout, IPActionStorageStatic, IPMiniDiam
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
function claimOwnership()
|
|
67
|
+
function claimOwnership() external {
|
|
67
68
|
address _pendingOwner = pendingOwner;
|
|
68
69
|
|
|
69
70
|
require(msg.sender == _pendingOwner, "Ownable: caller != pending owner");
|
package/contracts/offchain-helpers/router-static/{StorageLayout.sol → base/StorageLayout.sol}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity 0.8.17;
|
|
3
3
|
|
|
4
|
-
import "
|
|
5
|
-
import "
|
|
4
|
+
import "../../../router/base/MarketApproxLib.sol";
|
|
5
|
+
import "../../../interfaces/IPBulkSellerFactory.sol";
|
|
6
6
|
|
|
7
|
-
contract StorageLayout {
|
|
7
|
+
abstract contract StorageLayout {
|
|
8
8
|
address internal owner;
|
|
9
9
|
address internal pendingOwner;
|
|
10
10
|
|
|
@@ -22,7 +22,6 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
22
22
|
using MarketApproxPtOutLib for MarketState;
|
|
23
23
|
using PYIndexLib for IPYieldToken;
|
|
24
24
|
using PYIndexLib for PYIndex;
|
|
25
|
-
using BulkSellerMathCore for BulkSellerState;
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
27
|
* @notice Adds liquidity to the SY/PT market, granting LP tokens in return
|
|
@@ -37,14 +36,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
37
36
|
uint256 netSyDesired,
|
|
38
37
|
uint256 netPtDesired,
|
|
39
38
|
uint256 minLpOut
|
|
40
|
-
)
|
|
41
|
-
external
|
|
42
|
-
returns (
|
|
43
|
-
uint256 netLpOut,
|
|
44
|
-
uint256 netSyUsed,
|
|
45
|
-
uint256 netPtUsed
|
|
46
|
-
)
|
|
47
|
-
{
|
|
39
|
+
) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
|
|
48
40
|
(IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
49
41
|
|
|
50
42
|
// calculate the amount of SY and PT to be used
|
|
@@ -87,15 +79,7 @@ contract ActionAddRemoveLiq is IPActionAddRemoveLiq, ActionBaseMintRedeem {
|
|
|
87
79
|
TokenInput calldata input,
|
|
88
80
|
uint256 netPtDesired,
|
|
89
81
|
uint256 minLpOut
|
|
90
|
-
)
|
|
91
|
-
external
|
|
92
|
-
payable
|
|
93
|
-
returns (
|
|
94
|
-
uint256 netLpOut,
|
|
95
|
-
uint256 netTokenUsed,
|
|
96
|
-
uint256 netPtUsed
|
|
97
|
-
)
|
|
98
|
-
{
|
|
82
|
+
) external payable returns (uint256 netLpOut, uint256 netTokenUsed, uint256 netPtUsed) {
|
|
99
83
|
(IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
100
84
|
|
|
101
85
|
uint256 netSyDesired = _mintSyFromToken(market, address(SY), 1, input);
|
|
@@ -19,9 +19,15 @@ contract ActionSwapYT is ActionBaseCallback, IPActionSwapYT, ActionBaseMintRedee
|
|
|
19
19
|
using MarketApproxPtOutLib for MarketState;
|
|
20
20
|
using PYIndexLib for IPYieldToken;
|
|
21
21
|
|
|
22
|
-
constructor(
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
constructor(
|
|
23
|
+
IAddressProvider provider,
|
|
24
|
+
uint256 providerId
|
|
25
|
+
) ActionBaseCallback(_getMarketFactory(provider, providerId)) {}
|
|
26
|
+
|
|
27
|
+
function _getMarketFactory(
|
|
28
|
+
IAddressProvider provider,
|
|
29
|
+
uint256 providerId
|
|
30
|
+
) internal view returns (address) {
|
|
25
31
|
return provider.get(providerId);
|
|
26
32
|
}
|
|
27
33
|
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity 0.8.17;
|
|
3
|
+
|
|
4
|
+
import "../interfaces/IPAllAction.sol";
|
|
5
|
+
import "../interfaces/IPMarket.sol";
|
|
6
|
+
import "../interfaces/IPLiquidityMigrator.sol";
|
|
7
|
+
import "./base/ActionBaseMintRedeem.sol";
|
|
8
|
+
import "./base/MarketApproxLib.sol";
|
|
9
|
+
|
|
10
|
+
contract PendleRouterHelper is TokenHelper, IPLiquidityMigrator {
|
|
11
|
+
IPAllAction private immutable ROUTER;
|
|
12
|
+
address private immutable WETH;
|
|
13
|
+
|
|
14
|
+
constructor(address _ROUTER, address _WETH) {
|
|
15
|
+
ROUTER = IPAllAction(_ROUTER);
|
|
16
|
+
WETH = _WETH;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
receive() external payable {}
|
|
20
|
+
|
|
21
|
+
/// @dev input should be all based on input token being WETH
|
|
22
|
+
function addLiquiditySingleTokenKeepYtWithEth(
|
|
23
|
+
address receiver,
|
|
24
|
+
address market,
|
|
25
|
+
uint256 minLpOut,
|
|
26
|
+
uint256 minYtOut,
|
|
27
|
+
TokenInput calldata input
|
|
28
|
+
) external payable returns (uint256 netLpOut, uint256 netYtOut) {
|
|
29
|
+
_wrap_unwrap_ETH(NATIVE, WETH, msg.value);
|
|
30
|
+
|
|
31
|
+
_safeApproveInf(WETH, address(ROUTER));
|
|
32
|
+
|
|
33
|
+
(netLpOut, netYtOut) = ROUTER.addLiquiditySingleTokenKeepYt(
|
|
34
|
+
receiver,
|
|
35
|
+
market,
|
|
36
|
+
minLpOut,
|
|
37
|
+
minYtOut,
|
|
38
|
+
input
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// ============ Same SY ============
|
|
43
|
+
|
|
44
|
+
function migrateDifferentSyNormal(
|
|
45
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
46
|
+
AddLiquiditySingleTokenStruct calldata toMarket
|
|
47
|
+
)
|
|
48
|
+
external
|
|
49
|
+
returns (
|
|
50
|
+
uint256 netLpOut,
|
|
51
|
+
uint256 netTokenZapIn,
|
|
52
|
+
uint256 netSyFeeOfRemove,
|
|
53
|
+
uint256 netSyFeeOfAdd
|
|
54
|
+
)
|
|
55
|
+
{
|
|
56
|
+
(netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
|
|
57
|
+
(netLpOut, netSyFeeOfAdd) = _addLiquiditySingleToken(
|
|
58
|
+
toMarket,
|
|
59
|
+
fromMarket.output.tokenOut,
|
|
60
|
+
netTokenZapIn
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
emit MigrateDifferentSyNormal(
|
|
64
|
+
fromMarket.market,
|
|
65
|
+
toMarket.market,
|
|
66
|
+
msg.sender,
|
|
67
|
+
fromMarket.netLpToRemove,
|
|
68
|
+
netLpOut
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function migrateDifferentSyKeepYt(
|
|
73
|
+
RemoveLiquiditySingleTokenStruct calldata fromMarket,
|
|
74
|
+
AddLiquiditySingleTokenKeepYtStruct calldata toMarket
|
|
75
|
+
)
|
|
76
|
+
external
|
|
77
|
+
returns (
|
|
78
|
+
uint256 netLpOut,
|
|
79
|
+
uint256 netYtOut,
|
|
80
|
+
uint256 netTokenZapIn,
|
|
81
|
+
uint256 netSyFeeOfRemove
|
|
82
|
+
)
|
|
83
|
+
{
|
|
84
|
+
(netTokenZapIn, netSyFeeOfRemove) = _removeLiquiditySingleToken(fromMarket);
|
|
85
|
+
(netLpOut, netYtOut) = _addLiquiditySingleTokenKeepYt(
|
|
86
|
+
toMarket,
|
|
87
|
+
fromMarket.output.tokenOut,
|
|
88
|
+
netTokenZapIn
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
emit MigrateDifferentSyKeepYt(
|
|
92
|
+
fromMarket.market,
|
|
93
|
+
toMarket.market,
|
|
94
|
+
msg.sender,
|
|
95
|
+
fromMarket.netLpToRemove,
|
|
96
|
+
netLpOut,
|
|
97
|
+
netYtOut
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function migrateSameSyNormal(
|
|
102
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
103
|
+
AddLiquiditySingleSyStruct calldata toMarket
|
|
104
|
+
)
|
|
105
|
+
external
|
|
106
|
+
returns (
|
|
107
|
+
uint256 netLpOut,
|
|
108
|
+
uint256 netSyMigrated,
|
|
109
|
+
uint256 netSyFeeOfRemove,
|
|
110
|
+
uint256 netSyFeeOfAdd
|
|
111
|
+
)
|
|
112
|
+
{
|
|
113
|
+
(netSyMigrated, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
|
|
114
|
+
(netLpOut, netSyFeeOfAdd) = _addLiquiditySingleSy(toMarket, netSyMigrated);
|
|
115
|
+
emit MigrateSameSyNormal(
|
|
116
|
+
fromMarket.market,
|
|
117
|
+
toMarket.market,
|
|
118
|
+
msg.sender,
|
|
119
|
+
fromMarket.netLpToRemove,
|
|
120
|
+
netLpOut
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function migrateSameSyKeepYt(
|
|
125
|
+
RemoveLiquiditySingleSyStruct calldata fromMarket,
|
|
126
|
+
AddLiquiditySingleSyKeepYtStruct calldata toMarket
|
|
127
|
+
)
|
|
128
|
+
external
|
|
129
|
+
returns (
|
|
130
|
+
uint256 netLpOut,
|
|
131
|
+
uint256 netYtOut,
|
|
132
|
+
uint256 netSyMigrated,
|
|
133
|
+
uint256 netSyFeeOfRemove
|
|
134
|
+
)
|
|
135
|
+
{
|
|
136
|
+
(netSyMigrated, netSyFeeOfRemove) = _removeLiquiditySingleSy(fromMarket);
|
|
137
|
+
(netLpOut, netYtOut) = _addLiquiditySingleSyKeepYt(toMarket, netSyMigrated);
|
|
138
|
+
emit MigrateSameSyKeepYt(
|
|
139
|
+
fromMarket.market,
|
|
140
|
+
toMarket.market,
|
|
141
|
+
msg.sender,
|
|
142
|
+
fromMarket.netLpToRemove,
|
|
143
|
+
netLpOut,
|
|
144
|
+
netYtOut
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function _removeLiquiditySingleToken(RemoveLiquiditySingleTokenStruct calldata fromMarket)
|
|
149
|
+
internal
|
|
150
|
+
returns (uint256 netTokenOut, uint256 netSyFee)
|
|
151
|
+
{
|
|
152
|
+
_transferFrom(
|
|
153
|
+
IERC20(fromMarket.market),
|
|
154
|
+
msg.sender,
|
|
155
|
+
address(this),
|
|
156
|
+
fromMarket.netLpToRemove
|
|
157
|
+
);
|
|
158
|
+
|
|
159
|
+
_safeApproveInf(fromMarket.market, address(ROUTER));
|
|
160
|
+
|
|
161
|
+
(netTokenOut, netSyFee) = ROUTER.removeLiquiditySingleToken(
|
|
162
|
+
address(this),
|
|
163
|
+
fromMarket.market,
|
|
164
|
+
fromMarket.netLpToRemove,
|
|
165
|
+
fromMarket.output
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
if (fromMarket.doRedeemRewards) {
|
|
169
|
+
IPMarket(fromMarket.market).redeemRewards(msg.sender);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function _removeLiquiditySingleSy(RemoveLiquiditySingleSyStruct calldata fromMarket)
|
|
174
|
+
internal
|
|
175
|
+
returns (uint256 netSyOut, uint256 netSyFee)
|
|
176
|
+
{
|
|
177
|
+
_transferFrom(
|
|
178
|
+
IERC20(fromMarket.market),
|
|
179
|
+
msg.sender,
|
|
180
|
+
address(this),
|
|
181
|
+
fromMarket.netLpToRemove
|
|
182
|
+
);
|
|
183
|
+
|
|
184
|
+
_safeApproveInf(fromMarket.market, address(ROUTER));
|
|
185
|
+
|
|
186
|
+
(netSyOut, netSyFee) = ROUTER.removeLiquiditySingleSy(
|
|
187
|
+
address(this),
|
|
188
|
+
fromMarket.market,
|
|
189
|
+
fromMarket.netLpToRemove,
|
|
190
|
+
0
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
if (fromMarket.doRedeemRewards) {
|
|
194
|
+
IPMarket(fromMarket.market).redeemRewards(msg.sender);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function _addLiquiditySingleToken(
|
|
199
|
+
AddLiquiditySingleTokenStruct calldata toMarket,
|
|
200
|
+
address tokenToZapIn,
|
|
201
|
+
uint256 actualNetTokenIn
|
|
202
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
203
|
+
uint256 netNativeToAttach;
|
|
204
|
+
if (tokenToZapIn == NATIVE) {
|
|
205
|
+
netNativeToAttach = actualNetTokenIn;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
_safeApproveInf(tokenToZapIn, address(ROUTER));
|
|
209
|
+
|
|
210
|
+
(netLpOut, netSyFee) = ROUTER.addLiquiditySingleToken{ value: netNativeToAttach }(
|
|
211
|
+
msg.sender,
|
|
212
|
+
toMarket.market,
|
|
213
|
+
toMarket.minLpOut,
|
|
214
|
+
_scaleApproxParams(
|
|
215
|
+
toMarket.guessPtReceivedFromSy,
|
|
216
|
+
toMarket.guessNetTokenIn,
|
|
217
|
+
actualNetTokenIn
|
|
218
|
+
),
|
|
219
|
+
_newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function _addLiquiditySingleSy(
|
|
224
|
+
AddLiquiditySingleSyStruct calldata toMarket,
|
|
225
|
+
uint256 actualNetSyIn
|
|
226
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
227
|
+
(IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
|
|
228
|
+
|
|
229
|
+
_safeApproveInf(address(SY), address(ROUTER));
|
|
230
|
+
|
|
231
|
+
(netLpOut, netSyFee) = ROUTER.addLiquiditySingleSy(
|
|
232
|
+
msg.sender,
|
|
233
|
+
toMarket.market,
|
|
234
|
+
actualNetSyIn,
|
|
235
|
+
toMarket.minLpOut,
|
|
236
|
+
_scaleApproxParams(
|
|
237
|
+
toMarket.guessPtReceivedFromSy,
|
|
238
|
+
toMarket.guessNetSyIn,
|
|
239
|
+
actualNetSyIn
|
|
240
|
+
)
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
function _addLiquiditySingleTokenKeepYt(
|
|
245
|
+
AddLiquiditySingleTokenKeepYtStruct calldata toMarket,
|
|
246
|
+
address tokenToZapIn,
|
|
247
|
+
uint256 actualNetTokenIn
|
|
248
|
+
) internal returns (uint256 netLpOut, uint256 netSyFee) {
|
|
249
|
+
if (tokenToZapIn == NATIVE) {
|
|
250
|
+
tokenToZapIn = WETH;
|
|
251
|
+
_wrap_unwrap_ETH(NATIVE, WETH, actualNetTokenIn);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
_safeApproveInf(tokenToZapIn, address(ROUTER));
|
|
255
|
+
|
|
256
|
+
(netLpOut, netSyFee) = ROUTER.addLiquiditySingleTokenKeepYt(
|
|
257
|
+
msg.sender,
|
|
258
|
+
toMarket.market,
|
|
259
|
+
toMarket.minLpOut,
|
|
260
|
+
toMarket.minYtOut,
|
|
261
|
+
_newTokenInputStruct(tokenToZapIn, actualNetTokenIn, toMarket.bulk)
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function _addLiquiditySingleSyKeepYt(
|
|
266
|
+
AddLiquiditySingleSyKeepYtStruct calldata toMarket,
|
|
267
|
+
uint256 actualNetSyIn
|
|
268
|
+
) internal returns (uint256 netLpOut, uint256 netYtOut) {
|
|
269
|
+
(IStandardizedYield SY, , ) = IPMarket(toMarket.market).readTokens();
|
|
270
|
+
|
|
271
|
+
_safeApproveInf(address(SY), address(ROUTER));
|
|
272
|
+
|
|
273
|
+
(netLpOut, netYtOut) = ROUTER.addLiquiditySingleSyKeepYt(
|
|
274
|
+
msg.sender,
|
|
275
|
+
toMarket.market,
|
|
276
|
+
actualNetSyIn,
|
|
277
|
+
toMarket.minLpOut,
|
|
278
|
+
toMarket.minYtOut
|
|
279
|
+
);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// ============ struct helpers ============
|
|
283
|
+
|
|
284
|
+
function _newTokenInputStruct(
|
|
285
|
+
address tokenIn,
|
|
286
|
+
uint256 netTokenIn,
|
|
287
|
+
address bulk
|
|
288
|
+
) internal pure returns (TokenInput memory res) {
|
|
289
|
+
res.tokenIn = res.tokenMintSy = tokenIn;
|
|
290
|
+
res.netTokenIn = netTokenIn;
|
|
291
|
+
res.bulk = bulk;
|
|
292
|
+
return res;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/// @dev either SY or Token here is good since token->sy conversion is almost linearly proportional
|
|
296
|
+
function _scaleApproxParams(
|
|
297
|
+
ApproxParams calldata params,
|
|
298
|
+
uint256 guessNetTokenIn,
|
|
299
|
+
uint256 actualNetTokenIn
|
|
300
|
+
) internal pure returns (ApproxParams memory) {
|
|
301
|
+
if (params.guessOffchain == 0) {
|
|
302
|
+
require(params.guessMin == 0 && params.guessMax == type(uint256).max, "invalid guess");
|
|
303
|
+
return params;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
return
|
|
307
|
+
ApproxParams({
|
|
308
|
+
guessMin: (params.guessMin * actualNetTokenIn) / guessNetTokenIn,
|
|
309
|
+
guessMax: (params.guessMax * actualNetTokenIn) / guessNetTokenIn,
|
|
310
|
+
guessOffchain: (params.guessOffchain * actualNetTokenIn) / guessNetTokenIn,
|
|
311
|
+
maxIteration: params.maxIteration,
|
|
312
|
+
eps: params.eps
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
@@ -58,7 +58,7 @@ abstract contract ActionBaseCallback is IPMarketSwapCallback, CallbackHelper, To
|
|
|
58
58
|
/// @dev refer to _swapExactSyForYt
|
|
59
59
|
function _callbackSwapExactSyForYt(
|
|
60
60
|
int256 ptToAccount,
|
|
61
|
-
int256
|
|
61
|
+
int256 /*syToAccount*/,
|
|
62
62
|
bytes calldata data
|
|
63
63
|
) internal {
|
|
64
64
|
(address receiver, uint256 minYtOut, IPYieldToken YT) = _decodeSwapExactSyForYt(data);
|
|
@@ -139,7 +139,7 @@ abstract contract ActionBaseCallback is IPMarketSwapCallback, CallbackHelper, To
|
|
|
139
139
|
|
|
140
140
|
function _callbackSwapExactPtForYt(
|
|
141
141
|
int256 ptToAccount,
|
|
142
|
-
int256
|
|
142
|
+
int256 /*syToAccount*/,
|
|
143
143
|
bytes calldata data
|
|
144
144
|
) internal {
|
|
145
145
|
(
|
|
@@ -39,7 +39,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
39
39
|
address receiver,
|
|
40
40
|
address SY,
|
|
41
41
|
uint256 minSyOut,
|
|
42
|
-
TokenInput
|
|
42
|
+
TokenInput memory inp
|
|
43
43
|
) internal returns (uint256 netSyOut) {
|
|
44
44
|
SwapType swapType = inp.swapData.swapType;
|
|
45
45
|
|
|
@@ -73,7 +73,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
73
73
|
address SY,
|
|
74
74
|
uint256 netTokenMintSy,
|
|
75
75
|
uint256 minSyOut,
|
|
76
|
-
TokenInput
|
|
76
|
+
TokenInput memory inp
|
|
77
77
|
) private returns (uint256 netSyOut) {
|
|
78
78
|
uint256 netNative = inp.tokenMintSy == NATIVE ? netTokenMintSy : 0;
|
|
79
79
|
|
|
@@ -97,7 +97,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
97
97
|
address receiver,
|
|
98
98
|
address SY,
|
|
99
99
|
uint256 netSyIn,
|
|
100
|
-
TokenOutput
|
|
100
|
+
TokenOutput memory out,
|
|
101
101
|
bool doPull
|
|
102
102
|
) internal returns (uint256 netTokenOut) {
|
|
103
103
|
SwapType swapType = out.swapData.swapType;
|
|
@@ -135,7 +135,7 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
135
135
|
address receiver,
|
|
136
136
|
address SY,
|
|
137
137
|
uint256 netSyIn,
|
|
138
|
-
TokenOutput
|
|
138
|
+
TokenOutput memory out,
|
|
139
139
|
bool doPull
|
|
140
140
|
) private returns (uint256 netTokenRedeemed) {
|
|
141
141
|
if (doPull) {
|
|
@@ -193,11 +193,10 @@ abstract contract ActionBaseMintRedeem is TokenHelper {
|
|
|
193
193
|
if (netSyOut < minSyOut) revert Errors.RouterInsufficientSyOut(netSyOut, minSyOut);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
function _syOrBulk(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
{
|
|
196
|
+
function _syOrBulk(
|
|
197
|
+
address SY,
|
|
198
|
+
TokenOutput memory output
|
|
199
|
+
) internal pure returns (address addr) {
|
|
201
200
|
return output.bulk != address(0) ? output.bulk : SY;
|
|
202
201
|
}
|
|
203
202
|
}
|
|
@@ -34,15 +34,9 @@ abstract contract CallbackHelper {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
function _decodeSwapExactSyForYt(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
returns (
|
|
41
|
-
address receiver,
|
|
42
|
-
uint256 minYtOut,
|
|
43
|
-
IPYieldToken YT
|
|
44
|
-
)
|
|
45
|
-
{
|
|
37
|
+
function _decodeSwapExactSyForYt(
|
|
38
|
+
bytes calldata data
|
|
39
|
+
) internal pure returns (address receiver, uint256 minYtOut, IPYieldToken YT) {
|
|
46
40
|
assembly {
|
|
47
41
|
// first 32 bytes is ActionType
|
|
48
42
|
receiver := calldataload(add(data.offset, 32))
|
|
@@ -75,7 +69,9 @@ abstract contract CallbackHelper {
|
|
|
75
69
|
}
|
|
76
70
|
}
|
|
77
71
|
|
|
78
|
-
function _decodeSwapSyForExactYt(
|
|
72
|
+
function _decodeSwapSyForExactYt(
|
|
73
|
+
bytes calldata data
|
|
74
|
+
)
|
|
79
75
|
internal
|
|
80
76
|
pure
|
|
81
77
|
returns (
|
|
@@ -116,15 +112,9 @@ abstract contract CallbackHelper {
|
|
|
116
112
|
}
|
|
117
113
|
}
|
|
118
114
|
|
|
119
|
-
function _decodeSwapYtForSy(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
returns (
|
|
123
|
-
address receiver,
|
|
124
|
-
uint256 minSyOut,
|
|
125
|
-
IPYieldToken YT
|
|
126
|
-
)
|
|
127
|
-
{
|
|
115
|
+
function _decodeSwapYtForSy(
|
|
116
|
+
bytes calldata data
|
|
117
|
+
) internal pure returns (address receiver, uint256 minSyOut, IPYieldToken YT) {
|
|
128
118
|
assembly {
|
|
129
119
|
// first 32 bytes is ActionType
|
|
130
120
|
receiver := calldataload(add(data.offset, 32))
|
|
@@ -153,7 +143,9 @@ abstract contract CallbackHelper {
|
|
|
153
143
|
}
|
|
154
144
|
}
|
|
155
145
|
|
|
156
|
-
function _decodeSwapExactYtForPt(
|
|
146
|
+
function _decodeSwapExactYtForPt(
|
|
147
|
+
bytes calldata data
|
|
148
|
+
)
|
|
157
149
|
internal
|
|
158
150
|
pure
|
|
159
151
|
returns (
|
|
@@ -192,15 +184,12 @@ abstract contract CallbackHelper {
|
|
|
192
184
|
}
|
|
193
185
|
}
|
|
194
186
|
|
|
195
|
-
function _decodeSwapExactPtForYt(
|
|
187
|
+
function _decodeSwapExactPtForYt(
|
|
188
|
+
bytes calldata data
|
|
189
|
+
)
|
|
196
190
|
internal
|
|
197
191
|
pure
|
|
198
|
-
returns (
|
|
199
|
-
address receiver,
|
|
200
|
-
uint256 exactPtIn,
|
|
201
|
-
uint256 minYtOut,
|
|
202
|
-
IPYieldToken YT
|
|
203
|
-
)
|
|
192
|
+
returns (address receiver, uint256 exactPtIn, uint256 minYtOut, IPYieldToken YT)
|
|
204
193
|
{
|
|
205
194
|
assembly {
|
|
206
195
|
// first 32 bytes is ActionType
|