@pendle/core-v2 6.3.1 → 6.3.2-pendle-merkle-transfer
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/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/MarketMathCore.sol/MarketMathCore.json +2 -2
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/OracleLib.sol/OracleLib.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.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/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/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.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/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/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/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.json +2 -2
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.json +2 -2
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.json +2 -2
- package/build/artifacts/contracts/core/libraries/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/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
- package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +2 -2
- package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.json +2 -2
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +2 -2
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.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/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.json +0 -42
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.json +0 -13
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVotingEscrowMainchain.sol/IPVotingEscrowMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.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/BytesLib.sol/BytesLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.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/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.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/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.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/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +102 -0
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.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/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol/ActionMarketAuxStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol/ActionMintRedeemStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol/ActionStorageStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol/ActionVePendleStatic.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtInLibV1.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol/MarketApproxPtOutLibV1.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/router-static/base/StorageLayout.sol/StorageLayout.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol/PendleExchangeRateOracleApp.json +2 -2
- package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.json +2 -2
- package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol/BoringLpSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol/BoringPYUsdChainlinkAssetOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.json +2 -2
- package/build/artifacts/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol/BoringPtSeller.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.json +0 -171
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.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/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol +17 -15
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +16 -14
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +3 -2
- package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +12 -9
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +12 -12
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +10 -8
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +12 -6
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +11 -4
- package/contracts/LiquidityMining/PendleMerkleDistributor.sol +13 -11
- package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +22 -17
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +28 -21
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +27 -31
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +23 -19
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +8 -7
- package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +5 -6
- package/contracts/core/Market/MarketMathCore.sol +112 -78
- package/contracts/core/Market/OracleLib.sol +41 -34
- package/contracts/core/Market/PendleGauge.sol +8 -8
- package/contracts/core/Market/PendleMarketFactoryV6Upg.sol +16 -19
- package/contracts/core/Market/PendleMarketV6.sol +65 -63
- package/contracts/core/RewardManager/RewardManager.sol +8 -8
- package/contracts/core/RewardManager/RewardManagerAbstract.sol +5 -6
- package/contracts/core/StandardizedYield/PYIndex.sol +2 -2
- package/contracts/core/YieldContracts/InterestManagerYT.sol +9 -8
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +8 -4
- package/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol +12 -15
- package/contracts/core/YieldContracts/PendleYieldToken.sol +41 -54
- package/contracts/core/erc20/PendleERC20.sol +6 -9
- package/contracts/core/libraries/ArrayLib.sol +13 -11
- package/contracts/core/libraries/BaseSplitCodeFactory.sol +29 -22
- package/contracts/core/libraries/BoringOwnableUpgradeableV2.sol +1 -2
- package/contracts/core/libraries/Errors.sol +4 -1
- package/contracts/core/libraries/ExpiryUtilsLib.sol +10 -10
- package/contracts/core/libraries/StringLib.sol +13 -13
- package/contracts/core/libraries/TokenHelper.sol +3 -3
- package/contracts/core/libraries/math/LogExpMath.sol +67 -77
- package/contracts/cross-chain/FixedPricePTAMM.sol +39 -38
- package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +1 -1
- package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +1 -1
- package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +12 -15
- package/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol +24 -21
- package/contracts/interfaces/ILayerZeroEndpoint.sol +3 -5
- package/contracts/interfaces/IPActionCallbackV3.sol +1 -1
- package/contracts/interfaces/IPActionInfoStatic.sol +3 -1
- package/contracts/interfaces/IPActionMarketAuxStatic.sol +15 -11
- package/contracts/interfaces/IPActionMarketCoreStatic.sol +109 -58
- package/contracts/interfaces/IPActionMintRedeemStatic.sol +26 -21
- package/contracts/interfaces/IPActionMiscV3.sol +44 -24
- package/contracts/interfaces/IPActionSimple.sol +43 -24
- package/contracts/interfaces/IPActionVePendleStatic.sol +5 -4
- package/contracts/interfaces/IPAllActionTypeV3.sol +16 -14
- package/contracts/interfaces/IPAllActionV3.sol +4 -4
- package/contracts/interfaces/IPAllEventsV3.sol +21 -5
- package/contracts/interfaces/IPBridgedPrincipalToken.sol +2 -2
- package/contracts/interfaces/IPCommonSYFactory.sol +6 -3
- package/contracts/interfaces/IPExchangeRateOracleApp.sol +26 -25
- package/contracts/interfaces/IPFeeDistributorV2.sol +16 -13
- package/contracts/interfaces/IPFixedPricePTAMM.sol +34 -22
- package/contracts/interfaces/IPGovernanceProxy.sol +6 -2
- package/contracts/interfaces/IPInterestManagerYTV2.sol +3 -4
- package/contracts/interfaces/IPLimitRouter.sol +16 -16
- package/contracts/interfaces/IPMarket.sol +35 -25
- package/contracts/interfaces/IPMarketFactory.sol +16 -9
- package/contracts/interfaces/IPMerkleDistributor.sol +10 -6
- package/contracts/interfaces/IPMsgSendEndpoint.sol +12 -7
- package/contracts/interfaces/IPMultiTokenMerkleDistributor.sol +12 -6
- package/contracts/interfaces/IPPYLpOracle.sol +4 -1
- package/contracts/interfaces/IPRouterStatic.sol +3 -3
- package/contracts/interfaces/IPVotingController.sol +4 -4
- package/contracts/interfaces/IPVotingEscrowMainchain.sol +1 -1
- package/contracts/interfaces/IPYieldContractFactory.sol +5 -3
- package/contracts/interfaces/IPYieldToken.sol +11 -8
- package/contracts/interfaces/IPYieldTokenV2.sol +11 -8
- package/contracts/interfaces/IStandardizedYield.sol +17 -16
- package/contracts/limit/LimitMathCore.sol +56 -38
- package/contracts/limit/LimitRouterBase.sol +88 -66
- package/contracts/limit/PendleLimitRouter.sol +7 -11
- package/contracts/offchain-helpers/AddressProvider.sol +1 -1
- package/contracts/offchain-helpers/AutomateReady.sol +2 -2
- package/contracts/offchain-helpers/BalanceReader.sol +9 -21
- package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +7 -5
- package/contracts/offchain-helpers/Broadcaster.sol +3 -3
- package/contracts/offchain-helpers/BytesLib.sol +5 -3
- package/contracts/offchain-helpers/EmptyUUPS.sol +2 -2
- package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +8 -5
- package/contracts/offchain-helpers/LegacyNFTHelper.sol +5 -1
- package/contracts/offchain-helpers/LimitBackendHelperV2.sol +12 -12
- package/contracts/offchain-helpers/Multicall2.sol +7 -9
- package/contracts/offchain-helpers/PendleExchangeRateOracle.sol +8 -4
- package/contracts/offchain-helpers/PendleGovernanceProxy.sol +10 -7
- package/contracts/offchain-helpers/PendleLPWrapper.sol +3 -12
- package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +2 -2
- package/contracts/offchain-helpers/PendleMerkleDepositor.sol +64 -0
- package/contracts/offchain-helpers/PendleMulticallV1.sol +7 -7
- package/contracts/offchain-helpers/PendleMulticallV2.sol +12 -13
- package/contracts/offchain-helpers/PendleOffchainStorage.sol +1 -1
- package/contracts/offchain-helpers/PendleWstETHPriceFeed.sol +2 -4
- package/contracts/offchain-helpers/SimulateHelper.sol +6 -7
- package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +32 -13
- package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +11 -7
- package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +35 -16
- package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +35 -15
- package/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol +13 -12
- package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +4 -1
- package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +9 -12
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +91 -60
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +190 -103
- package/contracts/offchain-helpers/router-static/base/ActionMintRedeemStatic.sol +26 -26
- package/contracts/offchain-helpers/router-static/base/ActionStorageStatic.sol +3 -3
- package/contracts/offchain-helpers/router-static/base/ActionVePendleStatic.sol +10 -8
- package/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol +40 -100
- package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +6 -14
- package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +47 -55
- package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +3 -2
- package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +12 -12
- package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +20 -17
- package/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol +19 -15
- package/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol +6 -7
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +9 -13
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +21 -20
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +7 -4
- package/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol +2 -2
- package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol +10 -13
- package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol +10 -13
- package/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol +5 -6
- package/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol +1 -1
- package/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol +3 -3
- package/contracts/router/ActionAddRemoveLiqV3.sol +150 -55
- package/contracts/router/ActionCallbackV3.sol +13 -20
- package/contracts/router/ActionMiscV3.sol +78 -54
- package/contracts/router/ActionSimple.sol +128 -76
- package/contracts/router/ActionSwapPTV3.sol +19 -7
- package/contracts/router/ActionSwapYTV3.sol +20 -8
- package/contracts/router/PendleRouterV4.sol +1 -1
- package/contracts/router/Reflector.sol +21 -15
- package/contracts/router/base/ActionBase.sol +105 -61
- package/contracts/router/base/ActionDelegateBase.sol +38 -39
- package/contracts/router/base/CallbackHelper.sol +19 -21
- package/contracts/router/math/ApproxStateLib.sol +28 -28
- package/contracts/router/math/MarketApproxEstimateLib.sol +13 -11
- package/contracts/router/math/MarketApproxLibOnchain.sol +24 -47
- package/contracts/router/math/MarketApproxLibV2.sol +44 -63
- package/contracts/router/swap-aggregator/OKXScaleHelper.sol +55 -191
- package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +48 -34
- package/contracts/router/swap-aggregator/PendleSwap.sol +28 -26
- package/deployments/1-core.json +2 -1
- package/deployments/1-offchain-helper.json +1 -2
- package/deployments/10-core.json +2 -1
- package/deployments/10-offchain-helper.json +1 -2
- package/deployments/146-core.json +2 -1
- package/deployments/146-offchain-helper.json +1 -2
- package/deployments/42161-core.json +2 -1
- package/deployments/42161-offchain-helper.json +1 -2
- package/deployments/5000-core.json +2 -1
- package/deployments/5000-offchain-helper.json +1 -2
- package/deployments/56-core.json +2 -1
- package/deployments/56-offchain-helper.json +1 -2
- package/deployments/80094-core.json +2 -1
- package/deployments/80094-offchain-helper.json +1 -2
- package/deployments/8453-core.json +2 -1
- package/deployments/8453-offchain-helper.json +1 -2
- package/deployments/9745-core.json +2 -1
- package/deployments/9745-offchain-helper.json +1 -2
- package/deployments/999-core.json +2 -1
- package/deployments/999-offchain-helper.json +1 -2
- package/package.json +4 -2
- package/typechain-types/IOKXDexRouter.ts +0 -99
- package/typechain-types/IPLimitRouter.ts +0 -69
- package/typechain-types/IPMarket.ts +0 -13
- package/typechain-types/PendleMerkleDepositor.ts +171 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__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 -1
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSimple__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageStatic__factory.ts +1 -1
- package/typechain-types/factories/ActionStorageV4__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
- package/typechain-types/factories/ActionSwapYTV3__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/BalanceReader__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/BoringPYUsdChainlinkAssetOracle__factory.ts +1 -1
- package/typechain-types/factories/BoringPYUsdChainlinkSYOracle__factory.ts +1 -1
- package/typechain-types/factories/Broadcaster__factory.ts +1 -1
- package/typechain-types/factories/EmptyUUPS__factory.ts +1 -1
- package/typechain-types/factories/Errors__factory.ts +1 -1
- package/typechain-types/factories/ExchangeRateMsgCodec__factory.ts +1 -1
- package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
- package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
- package/typechain-types/factories/IOKXDexRouter__factory.ts +0 -171
- package/typechain-types/factories/IPLimitRouter__factory.ts +0 -42
- package/typechain-types/factories/IPMarket__factory.ts +0 -13
- package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
- package/typechain-types/factories/LimitBackendHelperV2__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/PendleBridgedPrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracleWithQuote__factory.ts +1 -1
- package/typechain-types/factories/PendleChainlinkOracle__factory.ts +1 -1
- package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
- package/typechain-types/factories/PendleCommonSYFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracleV2__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracle__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/PendleGaugeControllerMainchainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleGovernanceProxy__factory.ts +1 -1
- package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
- package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +1 -1
- package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
- package/typechain-types/factories/PendleMerkleDepositor__factory.ts +164 -0
- package/typechain-types/factories/PendleMerkleDistributor__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/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleMulticallOwnerV1__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/PendleOffchainStorage__factory.ts +1 -1
- package/typechain-types/factories/PendlePTOFTAdapterFactory__factory.ts +1 -1
- package/typechain-types/factories/PendlePYLpOracle__factory.ts +1 -1
- package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
- package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
- package/typechain-types/factories/PendlePrincipalToken__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterV4__factory.ts +1 -1
- package/typechain-types/factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory.ts +1 -1
- package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
- package/typechain-types/factories/PendleSwap__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleWstETHPriceFeed__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
- package/typechain-types/factories/Reflector__factory.ts +1 -1
- package/typechain-types/factories/SDKErrorsDirectory__factory.ts +1 -1
- package/typechain-types/factories/SimulateHelper__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 +9 -18
- package/typechain-types/index.ts +2 -4
- package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +0 -326
- package/contracts/offchain-helpers/PendleFeeSetter.sol +0 -149
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
|
-
import "../interfaces/IPActionAddRemoveLiqV3.sol";
|
|
5
4
|
import "./base/ActionBase.sol";
|
|
5
|
+
import "../interfaces/IPActionAddRemoveLiqV3.sol";
|
|
6
6
|
|
|
7
7
|
import {ActionDelegateBase} from "./base/ActionDelegateBase.sol";
|
|
8
8
|
|
|
@@ -25,12 +25,12 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
25
25
|
uint256 netPtDesired,
|
|
26
26
|
uint256 minLpOut
|
|
27
27
|
) external payable returns (uint256 netLpOut, uint256 netPtUsed, uint256 netSyInterm) {
|
|
28
|
-
(IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
|
|
28
|
+
(IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
29
29
|
|
|
30
30
|
netSyInterm = _mintSyFromToken(market, address(SY), 1, input);
|
|
31
31
|
uint256 netSyUsed;
|
|
32
32
|
|
|
33
|
-
(
|
|
33
|
+
(, , netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(netSyInterm, netPtDesired, block.timestamp);
|
|
34
34
|
|
|
35
35
|
if (netSyInterm != netSyUsed) {
|
|
36
36
|
revert("Slippage: NOT_ALL_SY_USED");
|
|
@@ -38,12 +38,19 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
38
38
|
|
|
39
39
|
// SY has been minted and transferred to the market
|
|
40
40
|
_transferFrom(PT, msg.sender, market, netPtUsed);
|
|
41
|
-
(netLpOut
|
|
41
|
+
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
|
|
42
42
|
|
|
43
43
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
44
44
|
|
|
45
45
|
emit AddLiquidityDualTokenAndPt(
|
|
46
|
-
msg.sender,
|
|
46
|
+
msg.sender,
|
|
47
|
+
market,
|
|
48
|
+
input.tokenIn,
|
|
49
|
+
receiver,
|
|
50
|
+
input.netTokenIn,
|
|
51
|
+
netPtUsed,
|
|
52
|
+
netLpOut,
|
|
53
|
+
netSyInterm
|
|
47
54
|
);
|
|
48
55
|
}
|
|
49
56
|
|
|
@@ -54,15 +61,18 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
54
61
|
uint256 netPtDesired,
|
|
55
62
|
uint256 minLpOut
|
|
56
63
|
) external returns (uint256 netLpOut, uint256 netSyUsed, uint256 netPtUsed) {
|
|
57
|
-
(IStandardizedYield SY, IPPrincipalToken PT,) = IPMarket(market).readTokens();
|
|
64
|
+
(IStandardizedYield SY, IPPrincipalToken PT, ) = IPMarket(market).readTokens();
|
|
58
65
|
|
|
59
66
|
// calculate the amount of SY and PT to be used
|
|
60
|
-
(, netLpOut, netSyUsed, netPtUsed) =
|
|
61
|
-
|
|
67
|
+
(, netLpOut, netSyUsed, netPtUsed) = _readMarket(market).addLiquidity(
|
|
68
|
+
netSyDesired,
|
|
69
|
+
netPtDesired,
|
|
70
|
+
block.timestamp
|
|
71
|
+
);
|
|
62
72
|
|
|
63
73
|
_transferFrom(SY, msg.sender, market, netSyUsed);
|
|
64
74
|
_transferFrom(PT, msg.sender, market, netPtUsed);
|
|
65
|
-
(netLpOut
|
|
75
|
+
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyUsed, netPtUsed);
|
|
66
76
|
|
|
67
77
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
68
78
|
|
|
@@ -90,23 +100,31 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
90
100
|
uint256 netSyReceived;
|
|
91
101
|
|
|
92
102
|
if (!_isEmptyLimit(limit)) {
|
|
93
|
-
(netPtLeft, netSyReceived, netSyFee,) = _fillLimit(market, PT, netPtLeft, limit);
|
|
103
|
+
(netPtLeft, netSyReceived, netSyFee, ) = _fillLimit(market, PT, netPtLeft, limit);
|
|
94
104
|
_transferOut(address(PT), market, netPtLeft);
|
|
95
105
|
}
|
|
96
106
|
|
|
97
|
-
(uint256 netPtSwapMarket
|
|
98
|
-
|
|
107
|
+
(uint256 netPtSwapMarket, , ) = _readMarket(market).approxSwapPtToAddLiquidityV2(
|
|
108
|
+
YT.newIndex(),
|
|
109
|
+
netPtLeft,
|
|
110
|
+
netSyReceived,
|
|
111
|
+
block.timestamp,
|
|
112
|
+
guessPtSwapToSy
|
|
113
|
+
);
|
|
99
114
|
|
|
100
115
|
// execute the swap
|
|
101
|
-
(uint256 netSyOutMarket, uint256 netSyFeeMarket) =
|
|
102
|
-
|
|
116
|
+
(uint256 netSyOutMarket, uint256 netSyFeeMarket) = IPMarket(market).swapExactPtForSy(
|
|
117
|
+
market,
|
|
118
|
+
netPtSwapMarket,
|
|
119
|
+
EMPTY_BYTES
|
|
120
|
+
);
|
|
103
121
|
|
|
104
122
|
netPtLeft -= netPtSwapMarket;
|
|
105
123
|
netSyReceived += netSyOutMarket;
|
|
106
124
|
netSyFee += netSyFeeMarket;
|
|
107
125
|
|
|
108
126
|
// execute the addLiquidity
|
|
109
|
-
(netLpOut
|
|
127
|
+
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyReceived, netPtLeft);
|
|
110
128
|
|
|
111
129
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
112
130
|
|
|
@@ -128,15 +146,29 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
128
146
|
return delegateToAddLiquiditySingleTokenSimple(receiver, market, minLpOut, input);
|
|
129
147
|
}
|
|
130
148
|
|
|
131
|
-
(IStandardizedYield SY
|
|
149
|
+
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
132
150
|
|
|
133
151
|
netSyInterm = _mintSyFromToken(_entry_addLiquiditySingleSy(market, limit), address(SY), 1, input);
|
|
134
152
|
|
|
135
|
-
(netLpOut, netSyFee) =
|
|
136
|
-
|
|
153
|
+
(netLpOut, netSyFee) = _addLiquiditySingleSy(
|
|
154
|
+
receiver,
|
|
155
|
+
market,
|
|
156
|
+
SY,
|
|
157
|
+
YT,
|
|
158
|
+
netSyInterm,
|
|
159
|
+
minLpOut,
|
|
160
|
+
guessPtReceivedFromSy,
|
|
161
|
+
limit
|
|
162
|
+
);
|
|
137
163
|
|
|
138
164
|
emit AddLiquiditySingleToken(
|
|
139
|
-
msg.sender,
|
|
165
|
+
msg.sender,
|
|
166
|
+
market,
|
|
167
|
+
input.tokenIn,
|
|
168
|
+
receiver,
|
|
169
|
+
input.netTokenIn,
|
|
170
|
+
netLpOut,
|
|
171
|
+
netSyInterm
|
|
140
172
|
);
|
|
141
173
|
}
|
|
142
174
|
|
|
@@ -153,12 +185,20 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
153
185
|
return delegateToAddLiquiditySingleSySimple(receiver, market, netSyIn, minLpOut);
|
|
154
186
|
}
|
|
155
187
|
|
|
156
|
-
(IStandardizedYield SY
|
|
188
|
+
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
157
189
|
|
|
158
190
|
_transferFrom(SY, msg.sender, _entry_addLiquiditySingleSy(market, limit), netSyIn);
|
|
159
191
|
|
|
160
|
-
(netLpOut, netSyFee) =
|
|
161
|
-
|
|
192
|
+
(netLpOut, netSyFee) = _addLiquiditySingleSy(
|
|
193
|
+
receiver,
|
|
194
|
+
market,
|
|
195
|
+
SY,
|
|
196
|
+
YT,
|
|
197
|
+
netSyIn,
|
|
198
|
+
minLpOut,
|
|
199
|
+
guessPtReceivedFromSy,
|
|
200
|
+
limit
|
|
201
|
+
);
|
|
162
202
|
|
|
163
203
|
emit AddLiquiditySingleSy(msg.sender, market, receiver, netSyIn, netLpOut);
|
|
164
204
|
}
|
|
@@ -177,23 +217,29 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
177
217
|
uint256 netPtReceived;
|
|
178
218
|
|
|
179
219
|
if (!_isEmptyLimit(limit)) {
|
|
180
|
-
(netSyLeft, netPtReceived, netSyFee,) = _fillLimit(market, SY, netSyLeft, limit);
|
|
220
|
+
(netSyLeft, netPtReceived, netSyFee, ) = _fillLimit(market, SY, netSyLeft, limit);
|
|
181
221
|
_transferOut(address(SY), market, netSyLeft);
|
|
182
222
|
}
|
|
183
223
|
|
|
184
|
-
(uint256 netPtOutMarket
|
|
185
|
-
.
|
|
186
|
-
|
|
187
|
-
|
|
224
|
+
(uint256 netPtOutMarket, , ) = _readMarket(market).approxSwapSyToAddLiquidityV2(
|
|
225
|
+
YT.newIndex(),
|
|
226
|
+
netSyLeft,
|
|
227
|
+
netPtReceived,
|
|
228
|
+
block.timestamp,
|
|
229
|
+
guessPtReceivedFromSy
|
|
230
|
+
);
|
|
188
231
|
|
|
189
|
-
(uint256 netSySwapMarket, uint256 netSyFeeMarket) =
|
|
190
|
-
|
|
232
|
+
(uint256 netSySwapMarket, uint256 netSyFeeMarket) = IPMarket(market).swapSyForExactPt(
|
|
233
|
+
market,
|
|
234
|
+
netPtOutMarket,
|
|
235
|
+
EMPTY_BYTES
|
|
236
|
+
);
|
|
191
237
|
|
|
192
238
|
netSyLeft -= netSySwapMarket;
|
|
193
239
|
netPtReceived += netPtOutMarket;
|
|
194
240
|
netSyFee += netSyFeeMarket;
|
|
195
241
|
|
|
196
|
-
(netLpOut
|
|
242
|
+
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyLeft, netPtReceived);
|
|
197
243
|
|
|
198
244
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
199
245
|
}
|
|
@@ -208,15 +254,30 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
208
254
|
uint256 minYtOut,
|
|
209
255
|
TokenInput calldata input
|
|
210
256
|
) external payable returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy, uint256 netSyInterm) {
|
|
211
|
-
(IStandardizedYield SY
|
|
257
|
+
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
212
258
|
|
|
213
259
|
netSyInterm = _mintSyFromToken(address(this), address(SY), 1, input);
|
|
214
260
|
|
|
215
|
-
(netLpOut, netYtOut, netSyMintPy) =
|
|
216
|
-
|
|
261
|
+
(netLpOut, netYtOut, netSyMintPy) = _addLiquiditySingleSyKeepYt(
|
|
262
|
+
receiver,
|
|
263
|
+
market,
|
|
264
|
+
SY,
|
|
265
|
+
YT,
|
|
266
|
+
netSyInterm,
|
|
267
|
+
minLpOut,
|
|
268
|
+
minYtOut
|
|
269
|
+
);
|
|
217
270
|
|
|
218
271
|
emit AddLiquiditySingleTokenKeepYt(
|
|
219
|
-
msg.sender,
|
|
272
|
+
msg.sender,
|
|
273
|
+
market,
|
|
274
|
+
input.tokenIn,
|
|
275
|
+
receiver,
|
|
276
|
+
input.netTokenIn,
|
|
277
|
+
netLpOut,
|
|
278
|
+
netYtOut,
|
|
279
|
+
netSyMintPy,
|
|
280
|
+
netSyInterm
|
|
220
281
|
);
|
|
221
282
|
}
|
|
222
283
|
|
|
@@ -227,12 +288,19 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
227
288
|
uint256 minLpOut,
|
|
228
289
|
uint256 minYtOut
|
|
229
290
|
) external returns (uint256 netLpOut, uint256 netYtOut, uint256 netSyMintPy) {
|
|
230
|
-
(IStandardizedYield SY
|
|
291
|
+
(IStandardizedYield SY, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
231
292
|
|
|
232
293
|
_transferIn(address(SY), msg.sender, netSyIn);
|
|
233
294
|
|
|
234
|
-
(netLpOut, netYtOut, netSyMintPy) =
|
|
235
|
-
|
|
295
|
+
(netLpOut, netYtOut, netSyMintPy) = _addLiquiditySingleSyKeepYt(
|
|
296
|
+
receiver,
|
|
297
|
+
market,
|
|
298
|
+
SY,
|
|
299
|
+
YT,
|
|
300
|
+
netSyIn,
|
|
301
|
+
minLpOut,
|
|
302
|
+
minYtOut
|
|
303
|
+
);
|
|
236
304
|
|
|
237
305
|
emit AddLiquiditySingleSyKeepYt(msg.sender, market, receiver, netSyIn, netSyMintPy, netLpOut, netYtOut);
|
|
238
306
|
}
|
|
@@ -251,7 +319,8 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
251
319
|
PYIndex pyIndex = YT.newIndex();
|
|
252
320
|
|
|
253
321
|
netSyMintPy =
|
|
254
|
-
(netSyIn * state.totalPt.Uint()) /
|
|
322
|
+
(netSyIn * state.totalPt.Uint()) /
|
|
323
|
+
(state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
255
324
|
|
|
256
325
|
uint256 netSyAddLiquidity = netSyIn - netSyMintPy;
|
|
257
326
|
|
|
@@ -264,7 +333,7 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
264
333
|
// PT goes to market, YT goes to receiver
|
|
265
334
|
netYtOut = YT.mintPY(market, receiver);
|
|
266
335
|
|
|
267
|
-
(netLpOut
|
|
336
|
+
(netLpOut, , ) = IPMarket(market).mint(receiver, netSyAddLiquidity, netYtOut);
|
|
268
337
|
|
|
269
338
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
270
339
|
if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
|
|
@@ -280,7 +349,7 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
280
349
|
TokenOutput calldata output,
|
|
281
350
|
uint256 minPtOut
|
|
282
351
|
) external returns (uint256 netTokenOut, uint256 netPtOut, uint256 netSyInterm) {
|
|
283
|
-
(IStandardizedYield SY
|
|
352
|
+
(IStandardizedYield SY, , ) = IPMarket(market).readTokens();
|
|
284
353
|
|
|
285
354
|
// burn LP, SY sent to SY, PT sent to receiver
|
|
286
355
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
@@ -291,7 +360,14 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
291
360
|
// redeem SY to token
|
|
292
361
|
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
|
|
293
362
|
emit RemoveLiquidityDualTokenAndPt(
|
|
294
|
-
msg.sender,
|
|
363
|
+
msg.sender,
|
|
364
|
+
market,
|
|
365
|
+
output.tokenOut,
|
|
366
|
+
receiver,
|
|
367
|
+
netLpToRemove,
|
|
368
|
+
netPtOut,
|
|
369
|
+
netTokenOut,
|
|
370
|
+
netSyInterm
|
|
295
371
|
);
|
|
296
372
|
}
|
|
297
373
|
|
|
@@ -331,13 +407,22 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
331
407
|
|
|
332
408
|
// execute the burn
|
|
333
409
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
334
|
-
(uint256 netSyOutBurn, uint256 netPtOutBurn) =
|
|
335
|
-
|
|
410
|
+
(uint256 netSyOutBurn, uint256 netPtOutBurn) = IPMarket(market).burn(
|
|
411
|
+
_entry_swapExactSyForPt(market, limit),
|
|
412
|
+
receiver,
|
|
413
|
+
netLpToRemove
|
|
414
|
+
);
|
|
336
415
|
netSyLeft += netSyOutBurn;
|
|
337
416
|
netPtOut += netPtOutBurn;
|
|
338
417
|
|
|
339
|
-
(uint256 netPtOutSwap, uint256 netSyFeeSwap) =
|
|
340
|
-
|
|
418
|
+
(uint256 netPtOutSwap, uint256 netSyFeeSwap) = _swapExactSyForPt(
|
|
419
|
+
receiver,
|
|
420
|
+
market,
|
|
421
|
+
netSyLeft,
|
|
422
|
+
0,
|
|
423
|
+
guessPtReceivedFromSy,
|
|
424
|
+
limit
|
|
425
|
+
);
|
|
341
426
|
netPtOut += netPtOutSwap;
|
|
342
427
|
netSyFee += netSyFeeSwap;
|
|
343
428
|
|
|
@@ -356,7 +441,7 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
356
441
|
TokenOutput calldata output,
|
|
357
442
|
LimitOrderData calldata limit
|
|
358
443
|
) external returns (uint256 netTokenOut, uint256 netSyFee, uint256 netSyInterm) {
|
|
359
|
-
(IStandardizedYield SY
|
|
444
|
+
(IStandardizedYield SY, , ) = IPMarket(market).readTokens();
|
|
360
445
|
|
|
361
446
|
_transferFrom(IERC20(market), msg.sender, market, netLpToRemove);
|
|
362
447
|
|
|
@@ -365,7 +450,13 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
365
450
|
netTokenOut = _redeemSyToToken(receiver, address(SY), netSyInterm, output, false);
|
|
366
451
|
|
|
367
452
|
emit RemoveLiquiditySingleToken(
|
|
368
|
-
msg.sender,
|
|
453
|
+
msg.sender,
|
|
454
|
+
market,
|
|
455
|
+
output.tokenOut,
|
|
456
|
+
receiver,
|
|
457
|
+
netLpToRemove,
|
|
458
|
+
netTokenOut,
|
|
459
|
+
netSyInterm
|
|
369
460
|
);
|
|
370
461
|
}
|
|
371
462
|
|
|
@@ -400,12 +491,13 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
400
491
|
if (netSyOut < minSyOut) revert("Slippage: INSUFFICIENT_SY_OUT");
|
|
401
492
|
}
|
|
402
493
|
|
|
403
|
-
function __removeLpToSyAfterExpiry(
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
(
|
|
494
|
+
function __removeLpToSyAfterExpiry(
|
|
495
|
+
address receiver,
|
|
496
|
+
address market,
|
|
497
|
+
uint256 netLpToRemove
|
|
498
|
+
) internal returns (uint256 netSyOut) {
|
|
499
|
+
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
500
|
+
(uint256 syFromBurn, ) = IPMarket(market).burn(receiver, address(YT), netLpToRemove);
|
|
409
501
|
netSyOut = syFromBurn + YT.redeemPY(receiver);
|
|
410
502
|
}
|
|
411
503
|
|
|
@@ -417,8 +509,11 @@ contract ActionAddRemoveLiqV3 is IPActionAddRemoveLiqV3, ActionBase, ActionDeleg
|
|
|
417
509
|
) internal returns (uint256 netSyOut, uint256 netSyFee) {
|
|
418
510
|
uint256 netPtLeft;
|
|
419
511
|
|
|
420
|
-
(uint256 netSyOutBurn, uint256 netPtOutBurn) =
|
|
421
|
-
|
|
512
|
+
(uint256 netSyOutBurn, uint256 netPtOutBurn) = IPMarket(market).burn(
|
|
513
|
+
receiver,
|
|
514
|
+
_entry_swapExactPtForSy(market, limit),
|
|
515
|
+
netLpToRemove
|
|
516
|
+
);
|
|
422
517
|
netSyOut += netSyOutBurn;
|
|
423
518
|
netPtLeft += netPtOutBurn;
|
|
424
519
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.0;
|
|
3
3
|
|
|
4
|
-
import "../core/libraries/Errors.sol";
|
|
5
4
|
import "../interfaces/IPActionCallbackV3.sol";
|
|
5
|
+
import "../core/libraries/Errors.sol";
|
|
6
6
|
import "./base/CallbackHelper.sol";
|
|
7
7
|
|
|
8
8
|
import "../core/libraries/TokenHelper.sol";
|
|
@@ -28,7 +28,12 @@ contract ActionCallbackV3 is IPLimitOrderType, IPActionCallbackV3, CallbackHelpe
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function limitRouterCallback(
|
|
31
|
+
function limitRouterCallback(
|
|
32
|
+
uint256 actualMaking,
|
|
33
|
+
uint256 actualTaking,
|
|
34
|
+
uint256 totalFee,
|
|
35
|
+
bytes memory data
|
|
36
|
+
)
|
|
32
37
|
external
|
|
33
38
|
returns (
|
|
34
39
|
bytes memory // encode as netTransferToLimit, netOutputFromLimit
|
|
@@ -39,8 +44,10 @@ contract ActionCallbackV3 is IPLimitOrderType, IPActionCallbackV3, CallbackHelpe
|
|
|
39
44
|
return abi.encode(0, 0);
|
|
40
45
|
}
|
|
41
46
|
|
|
42
|
-
(OrderType orderType, IPYieldToken YT, uint256 netRemaining, address receiver) =
|
|
43
|
-
|
|
47
|
+
(OrderType orderType, IPYieldToken YT, uint256 netRemaining, address receiver) = abi.decode(
|
|
48
|
+
data,
|
|
49
|
+
(OrderType, IPYieldToken, uint256, address)
|
|
50
|
+
);
|
|
44
51
|
|
|
45
52
|
if (orderType == OrderType.SY_FOR_PT || orderType == OrderType.SY_FOR_YT) {
|
|
46
53
|
PYIndex index = YT.newIndex();
|
|
@@ -85,14 +92,7 @@ contract ActionCallbackV3 is IPLimitOrderType, IPActionCallbackV3, CallbackHelpe
|
|
|
85
92
|
}
|
|
86
93
|
}
|
|
87
94
|
|
|
88
|
-
function _callbackSwapExactSyForYt(
|
|
89
|
-
int256 ptToAccount,
|
|
90
|
-
int256,
|
|
91
|
-
/*syToAccount*/
|
|
92
|
-
bytes calldata data
|
|
93
|
-
)
|
|
94
|
-
internal
|
|
95
|
-
{
|
|
95
|
+
function _callbackSwapExactSyForYt(int256 ptToAccount, int256, /*syToAccount*/ bytes calldata data) internal {
|
|
96
96
|
(address receiver, IPYieldToken YT) = _decodeSwapExactSyForYt(data);
|
|
97
97
|
|
|
98
98
|
uint256 ptOwed = ptToAccount.abs();
|
|
@@ -116,14 +116,7 @@ contract ActionCallbackV3 is IPLimitOrderType, IPActionCallbackV3, CallbackHelpe
|
|
|
116
116
|
YT.redeemPYMulti(receivers, amountPYToRedeems);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
function _callbackSwapExactPtForYt(
|
|
120
|
-
int256 ptToAccount,
|
|
121
|
-
int256,
|
|
122
|
-
/*syToAccount*/
|
|
123
|
-
bytes calldata data
|
|
124
|
-
)
|
|
125
|
-
internal
|
|
126
|
-
{
|
|
119
|
+
function _callbackSwapExactPtForYt(int256 ptToAccount, int256, /*syToAccount*/ bytes calldata data) internal {
|
|
127
120
|
(address receiver, uint256 exactPtIn, uint256 minYtOut, IPYieldToken YT) = _decodeSwapExactPtForYt(data);
|
|
128
121
|
uint256 netPtOwed = ptToAccount.abs();
|
|
129
122
|
|
|
@@ -1,37 +1,41 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.17;
|
|
3
3
|
|
|
4
|
+
import "./base/ActionBase.sol";
|
|
4
5
|
import "../interfaces/IPActionMiscV3.sol";
|
|
5
6
|
import "../interfaces/IPReflector.sol";
|
|
6
|
-
import "./base/ActionBase.sol";
|
|
7
7
|
|
|
8
8
|
contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
9
9
|
uint256 private constant NOT_FOUND = type(uint256).max;
|
|
10
10
|
|
|
11
|
-
function mintSyFromToken(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
function mintSyFromToken(
|
|
12
|
+
address receiver,
|
|
13
|
+
address SY,
|
|
14
|
+
uint256 minSyOut,
|
|
15
|
+
TokenInput calldata input
|
|
16
|
+
) external payable returns (uint256 netSyOut) {
|
|
16
17
|
netSyOut = _mintSyFromToken(receiver, SY, minSyOut, input);
|
|
17
18
|
emit MintSyFromToken(msg.sender, input.tokenIn, SY, receiver, input.netTokenIn, netSyOut);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
/// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
|
|
21
|
-
function redeemSyToToken(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
function redeemSyToToken(
|
|
23
|
+
address receiver,
|
|
24
|
+
address SY,
|
|
25
|
+
uint256 netSyIn,
|
|
26
|
+
TokenOutput calldata output
|
|
27
|
+
) external returns (uint256 netTokenOut) {
|
|
25
28
|
netTokenOut = _redeemSyToToken(receiver, SY, netSyIn, output, true);
|
|
26
29
|
emit RedeemSyToToken(msg.sender, output.tokenOut, SY, receiver, netSyIn, netTokenOut);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
/// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
|
|
30
|
-
function mintPyFromToken(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
function mintPyFromToken(
|
|
34
|
+
address receiver,
|
|
35
|
+
address YT,
|
|
36
|
+
uint256 minPyOut,
|
|
37
|
+
TokenInput calldata input
|
|
38
|
+
) external payable returns (uint256 netPyOut, uint256 netSyInterm) {
|
|
35
39
|
address SY = IPYieldToken(YT).SY();
|
|
36
40
|
|
|
37
41
|
netSyInterm = _mintSyFromToken(YT, SY, 0, input);
|
|
@@ -41,10 +45,12 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
/// @notice For details on the parameters (input, guessPtSwapToSy, limit, etc.), please refer to IPAllActionTypeV3.
|
|
44
|
-
function redeemPyToToken(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
function redeemPyToToken(
|
|
49
|
+
address receiver,
|
|
50
|
+
address YT,
|
|
51
|
+
uint256 netPyIn,
|
|
52
|
+
TokenOutput calldata output
|
|
53
|
+
) external returns (uint256 netTokenOut, uint256 netSyInterm) {
|
|
48
54
|
address SY = IPYieldToken(YT).SY();
|
|
49
55
|
|
|
50
56
|
netSyInterm = _redeemPyToSy(SY, YT, netPyIn, 1);
|
|
@@ -53,18 +59,22 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
53
59
|
emit RedeemPyToToken(msg.sender, output.tokenOut, YT, receiver, netPyIn, netTokenOut, netSyInterm);
|
|
54
60
|
}
|
|
55
61
|
|
|
56
|
-
function mintPyFromSy(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
62
|
+
function mintPyFromSy(
|
|
63
|
+
address receiver,
|
|
64
|
+
address YT,
|
|
65
|
+
uint256 netSyIn,
|
|
66
|
+
uint256 minPyOut
|
|
67
|
+
) external returns (uint256 netPyOut) {
|
|
60
68
|
netPyOut = _mintPyFromSy(receiver, IPYieldToken(YT).SY(), YT, netSyIn, minPyOut, true);
|
|
61
69
|
emit MintPyFromSy(msg.sender, receiver, YT, netSyIn, netPyOut);
|
|
62
70
|
}
|
|
63
71
|
|
|
64
|
-
function redeemPyToSy(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
function redeemPyToSy(
|
|
73
|
+
address receiver,
|
|
74
|
+
address YT,
|
|
75
|
+
uint256 netPyIn,
|
|
76
|
+
uint256 minSyOut
|
|
77
|
+
) external returns (uint256 netSyOut) {
|
|
68
78
|
netSyOut = _redeemPyToSy(receiver, YT, netPyIn, minSyOut);
|
|
69
79
|
emit RedeemPyToSy(msg.sender, receiver, YT, netPyIn, netSyOut);
|
|
70
80
|
}
|
|
@@ -109,13 +119,14 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
109
119
|
IPMarket[] calldata markets
|
|
110
120
|
) private returns (uint256[] memory netInterests) {
|
|
111
121
|
netInterests = new uint256[](YTs.length);
|
|
112
|
-
for (uint256 i = 0; i < SYs.length; ++i)
|
|
113
|
-
SYs[i].claimRewards(msg.sender);
|
|
114
|
-
}
|
|
122
|
+
for (uint256 i = 0; i < SYs.length; ++i) SYs[i].claimRewards(msg.sender);
|
|
115
123
|
|
|
116
124
|
for (uint256 i = 0; i < YTs.length; ++i) {
|
|
117
|
-
(uint256 netSyInt,) =
|
|
118
|
-
|
|
125
|
+
(uint256 netSyInt, ) = YTs[i].yt.redeemDueInterestAndRewards(
|
|
126
|
+
msg.sender,
|
|
127
|
+
YTs[i].doRedeemInterest,
|
|
128
|
+
YTs[i].doRedeemRewards
|
|
129
|
+
);
|
|
119
130
|
|
|
120
131
|
if (netSyInt == 0) continue;
|
|
121
132
|
|
|
@@ -124,9 +135,7 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
124
135
|
netInterests[i] = SY.redeem(msg.sender, netSyInt, YTs[i].tokenRedeemSy, YTs[i].minTokenRedeemOut, true);
|
|
125
136
|
}
|
|
126
137
|
|
|
127
|
-
for (uint256 i = 0; i < markets.length; ++i)
|
|
128
|
-
markets[i].redeemRewards(msg.sender);
|
|
129
|
-
}
|
|
138
|
+
for (uint256 i = 0; i < markets.length; ++i) markets[i].redeemRewards(msg.sender);
|
|
130
139
|
}
|
|
131
140
|
|
|
132
141
|
function __redeemDueInterestAndRewardsV2AndSwap(
|
|
@@ -146,8 +155,11 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
146
155
|
netInterests = new uint256[](YTs.length);
|
|
147
156
|
for (uint256 i = 0; i < YTs.length; ++i) {
|
|
148
157
|
uint256[] memory netRewards;
|
|
149
|
-
(netInterests[i], netRewards) =
|
|
150
|
-
|
|
158
|
+
(netInterests[i], netRewards) = YTs[i].yt.redeemDueInterestAndRewards(
|
|
159
|
+
msg.sender,
|
|
160
|
+
YTs[i].doRedeemInterest,
|
|
161
|
+
YTs[i].doRedeemRewards
|
|
162
|
+
);
|
|
151
163
|
|
|
152
164
|
if (YTs[i].doRedeemRewards) _add(swaps, netSwaps, YTs[i].yt.getRewardTokens(), netRewards);
|
|
153
165
|
}
|
|
@@ -163,13 +175,17 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
163
175
|
for (uint256 i = 0; i < YTs.length; ++i) {
|
|
164
176
|
if (netInterests[i] == 0) continue;
|
|
165
177
|
IStandardizedYield SY = IStandardizedYield(YTs[i].yt.SY());
|
|
166
|
-
netInterests[i] =
|
|
167
|
-
|
|
178
|
+
netInterests[i] = _redeemSyAndAdd(
|
|
179
|
+
swaps,
|
|
180
|
+
netSwaps,
|
|
181
|
+
SY,
|
|
182
|
+
netInterests[i],
|
|
183
|
+
YTs[i].tokenRedeemSy,
|
|
184
|
+
YTs[i].minTokenRedeemOut
|
|
185
|
+
);
|
|
168
186
|
}
|
|
169
187
|
|
|
170
|
-
for (uint256 i = 0; i < swaps.length; ++i)
|
|
171
|
-
netOutFromSwaps[i] = _swap(swaps[i], netSwaps[i], pendleSwap, true);
|
|
172
|
-
}
|
|
188
|
+
for (uint256 i = 0; i < swaps.length; ++i) netOutFromSwaps[i] = _swap(swaps[i], netSwaps[i], pendleSwap, true);
|
|
173
189
|
}
|
|
174
190
|
|
|
175
191
|
/// @dev The interface might change in the future, check with Pendle team before use
|
|
@@ -299,10 +315,13 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
299
315
|
}
|
|
300
316
|
|
|
301
317
|
/// @dev The interface might change in the future, check with Pendle team before use
|
|
302
|
-
function exitPostExpToSy(
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
318
|
+
function exitPostExpToSy(
|
|
319
|
+
address receiver,
|
|
320
|
+
address market,
|
|
321
|
+
uint256 netPtIn,
|
|
322
|
+
uint256 netLpIn,
|
|
323
|
+
uint256 minSyOut
|
|
324
|
+
) external returns (ExitPostExpReturnParams memory params) {
|
|
306
325
|
(, params) = _exitPostExpToSy(false, receiver, market, netPtIn, netLpIn);
|
|
307
326
|
require(params.totalSyOut >= minSyOut, "Slippage: INSUFFICIENT_SY_OUT");
|
|
308
327
|
|
|
@@ -342,10 +361,12 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
342
361
|
}
|
|
343
362
|
}
|
|
344
363
|
|
|
345
|
-
function _swap(
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
364
|
+
function _swap(
|
|
365
|
+
SwapDataExtra calldata $,
|
|
366
|
+
uint256 netSwap,
|
|
367
|
+
IPSwapAggregator pendleSwap,
|
|
368
|
+
bool needScale
|
|
369
|
+
) internal returns (uint256 netTokenOut) {
|
|
349
370
|
SwapType swapType = $.swapData.swapType;
|
|
350
371
|
assert(swapType != SwapType.NONE);
|
|
351
372
|
|
|
@@ -374,10 +395,13 @@ contract ActionMiscV3 is IPActionMiscV3, ActionBase {
|
|
|
374
395
|
return NOT_FOUND;
|
|
375
396
|
}
|
|
376
397
|
|
|
377
|
-
function _exitPostExpToSy(
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
398
|
+
function _exitPostExpToSy(
|
|
399
|
+
bool setReceiverToSy,
|
|
400
|
+
address receiver,
|
|
401
|
+
address market,
|
|
402
|
+
uint256 netPtIn,
|
|
403
|
+
uint256 netLpIn
|
|
404
|
+
) internal returns (IStandardizedYield SY, ExitPostExpReturnParams memory p) {
|
|
381
405
|
IPPrincipalToken PT;
|
|
382
406
|
IPYieldToken YT;
|
|
383
407
|
(SY, PT, YT) = IPMarket(market).readTokens();
|