@pendle/core-v2 6.4.4-swaphubtest → 6.5.0
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/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol/PendleGaugeControllerUpg.json +401 -0
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
- 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/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol/VotingEscrowPendleMainchain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/VotingEscrow/VotingEscrowTokenBase.sol/VotingEscrowTokenBase.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeBalanceLib.sol/VeBalanceLib.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/CheckpointHelper.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.dbg.json +4 -0
- package/build/artifacts/contracts/LiquidityMining/sPendle/StakedPendle.sol/StakedPendle.json +733 -0
- package/build/artifacts/contracts/StPendle.sol/RoundDataLib.dbg.json +4 -0
- package/build/artifacts/contracts/StPendle.sol/RoundDataLib.json +10 -0
- package/build/artifacts/contracts/StPendle.sol/StPendle.dbg.json +4 -0
- package/build/artifacts/contracts/StPendle.sol/StPendle.json +228 -0
- 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/PendleGauge.sol/PendleGauge.json +0 -51
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.dbg.json +4 -0
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV7Upg.sol/PendleMarketFactoryV7Upg.json +618 -0
- package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.dbg.json +4 -0
- package/build/artifacts/contracts/core/Market/PendleMarketV7.sol/PendleMarketV7.json +1157 -0
- 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/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/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/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- 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 +3 -3
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- 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/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.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/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
- 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/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.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/IPActionCrossChain.sol/IPActionCrossChain.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/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.json +0 -51
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.json +47 -12
- package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.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/IPLPWrapperFactory.sol/IPLPWrapperFactory.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/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 -19
- 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/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPStakedPendle.sol/IPStakedPendle.json +351 -0
- package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.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/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/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/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- 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/BalanceReader.sol/ILegacyMarket.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/ILegacyMarket.json +30 -0
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- 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/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/MarketSweed.sol/MarketSweed.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
- 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/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- 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 +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMerkleDepositor.sol/PendleMerkleDepositor.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
- 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/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
- 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/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/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/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/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.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/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
- 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/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.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/RouterStorage.sol/RouterStorage.dbg.json +1 -1
- 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/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- 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/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/contracts/LiquidityMining/GaugeController/PendleGaugeControllerUpg.sol +112 -0
- package/contracts/LiquidityMining/sPendle/StakedPendle.sol +129 -0
- package/contracts/StPendle.sol +121 -0
- package/contracts/core/Market/PendleGauge.sol +1 -76
- package/contracts/core/Market/{PendleMarketFactoryV6Upg.sol → PendleMarketFactoryV7Upg.sol} +3 -6
- package/contracts/core/Market/{PendleMarketV6.sol → PendleMarketV7.sol} +16 -16
- package/contracts/core/libraries/Errors.sol +1 -1
- package/contracts/core/libraries/math/PMath.sol +5 -0
- package/contracts/interfaces/IPGauge.sol +0 -6
- package/contracts/interfaces/IPGaugeController.sol +16 -3
- package/contracts/interfaces/IPMarket.sol +12 -0
- package/contracts/interfaces/IPStakedPendle.sol +69 -0
- package/contracts/offchain-helpers/BalanceReader.sol +11 -1
- package/contracts/offchain-helpers/MarketSweed.sol +46 -54
- package/contracts/offchain-helpers/PendleMerkleDepositor.sol +5 -6
- package/contracts/router/ActionCrossChain.sol +14 -18
- package/contracts/router/Reflector.sol +19 -2
- package/deployments/1-core.json +3 -2
- package/deployments/10-core.json +1 -1
- package/deployments/130-core.json +2 -1
- package/deployments/146-core.json +1 -1
- package/deployments/42161-core.json +1 -1
- package/deployments/5000-core.json +1 -1
- package/deployments/56-core.json +1 -1
- package/deployments/80094-core.json +1 -1
- package/deployments/8453-core.json +1 -1
- package/deployments/9745-core.json +4 -3
- package/deployments/999-core.json +6 -6
- package/package.json +2 -2
- package/typechain-types/ERC20Upgradeable.ts +426 -0
- package/typechain-types/IERC20MetadataUpgradeable.ts +339 -0
- package/typechain-types/IERC20Upgradeable.ts +300 -0
- package/typechain-types/ILegacyMarket.ts +93 -0
- package/typechain-types/IPGauge.ts +7 -81
- package/typechain-types/IPGaugeController.ts +91 -47
- package/typechain-types/IPMarket.ts +0 -19
- package/typechain-types/IPStakedPendle.ts +558 -0
- package/typechain-types/PendleGauge.ts +0 -63
- package/typechain-types/{PendleGaugeControllerBaseUpg.ts → PendleGaugeControllerUpg.ts} +82 -171
- package/typechain-types/{PendleMarketFactoryV6Upg.ts → PendleMarketFactoryV7Upg.ts} +5 -18
- package/typechain-types/{PendleMarketV6.ts → PendleMarketV7.ts} +10 -29
- package/typechain-types/StPendle.ts +362 -0
- package/typechain-types/StakedPendle.ts +1058 -0
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCrossChain__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/BalanceReader__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/ERC20Upgradeable__factory.ts +347 -0
- package/typechain-types/factories/Errors__factory.ts +2 -2
- 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/IERC20MetadataUpgradeable__factory.ts +252 -0
- package/typechain-types/factories/{IPGaugeControllerMainchain__factory.ts → IERC20Upgradeable__factory.ts} +90 -83
- package/typechain-types/factories/ILegacyMarket__factory.ts +42 -0
- package/typechain-types/factories/IPGaugeController__factory.ts +47 -12
- package/typechain-types/factories/IPGauge__factory.ts +0 -51
- package/typechain-types/factories/IPMarket__factory.ts +0 -19
- package/typechain-types/factories/IPStakedPendle__factory.ts +366 -0
- package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
- package/typechain-types/factories/MarketSweed__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/PendleBoringOneracle__factory.ts +1 -1
- package/typechain-types/factories/PendleBoringSolvBTCOneracle__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/PendleExchangeRateOracleApp__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/PendleFeeSetter__factory.ts +1 -1
- package/typechain-types/factories/PendleGaugeControllerUpg__factory.ts +463 -0
- package/typechain-types/factories/PendleGauge__factory.ts +0 -51
- 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/PendleMarketFactoryV7Upg__factory.ts +710 -0
- package/typechain-types/factories/PendleMarketV7__factory.ts +1233 -0
- package/typechain-types/factories/PendleMerkleDepositor__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/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/PendleRedStoneRateOracleAdapter__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/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/SimulateHelper__factory.ts +1 -1
- package/typechain-types/factories/StPendle__factory.ts +260 -0
- package/typechain-types/factories/StakedPendle__factory.ts +785 -0
- package/typechain-types/factories/VotingEscrowPendleMainchain__factory.ts +1 -1
- package/typechain-types/factories/VotingEscrowPendleSidechain__factory.ts +1 -1
- package/typechain-types/hardhat.d.ts +69 -132
- package/typechain-types/index.ts +20 -32
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol/PendleGaugeControllerBaseUpg.json +0 -451
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol/PendleGaugeControllerMainchainUpg.json +0 -557
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.json +0 -547
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.json +0 -1311
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.dbg.json +0 -4
- package/build/artifacts/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +0 -764
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/PendleMarketFactoryV6Upg.sol/PendleMarketFactoryV6Upg.json +0 -636
- package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +0 -4
- package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +0 -1181
- package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +0 -4
- package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +0 -170
- package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +0 -4
- package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +0 -1214
- package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +0 -4
- package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +0 -1176
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +0 -4
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.json +0 -598
- package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +0 -1026
- package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +0 -124
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.json +0 -183
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.dbg.json +0 -4
- package/build/artifacts/contracts/interfaces/IPVotingController.sol/IPVotingController.json +0 -380
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +0 -4
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +0 -262
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +0 -164
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +0 -42
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +0 -36
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +0 -304
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +0 -301
- package/contracts/cross-chain/swap-hub/DepositBox.sol +0 -66
- package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +0 -178
- package/contracts/cross-chain/swap-hub/SwapHubBase.sol +0 -274
- package/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol +0 -204
- package/contracts/interfaces/IPCrossChainSwapHub.sol +0 -147
- package/contracts/interfaces/IPDepositBox.sol +0 -22
- package/contracts/interfaces/IPGaugeControllerMainchain.sol +0 -8
- package/contracts/interfaces/IPVotingController.sol +0 -43
- package/contracts/offchain-helpers/Broadcaster.sol +0 -48
- package/typechain-types/Broadcaster.ts +0 -455
- package/typechain-types/DepositBox.ts +0 -260
- package/typechain-types/IPCrossChainSwapHub.ts +0 -882
- package/typechain-types/IPDepositBox.ts +0 -213
- package/typechain-types/IPGaugeControllerMainchain.ts +0 -319
- package/typechain-types/IPVotingController.ts +0 -534
- package/typechain-types/PendleCrossChainSwapHub.ts +0 -1119
- package/typechain-types/PendleFeeDistributor.ts +0 -746
- package/typechain-types/PendleGaugeControllerMainchainUpg.ts +0 -778
- package/typechain-types/PendleGaugeControllerSidechainUpg.ts +0 -770
- package/typechain-types/PendleVotingControllerUpg.ts +0 -1731
- package/typechain-types/SwapHubBase.ts +0 -1094
- package/typechain-types/VotingControllerStorageUpg.ts +0 -984
- package/typechain-types/factories/Broadcaster__factory.ts +0 -317
- package/typechain-types/factories/DepositBox__factory.ts +0 -222
- package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +0 -1041
- package/typechain-types/factories/IPDepositBox__factory.ts +0 -136
- package/typechain-types/factories/IPVotingController__factory.ts +0 -395
- package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +0 -1287
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +0 -671
- package/typechain-types/factories/PendleGaugeControllerBaseUpg__factory.ts +0 -470
- package/typechain-types/factories/PendleGaugeControllerMainchainUpg__factory.ts +0 -648
- package/typechain-types/factories/PendleGaugeControllerSidechainUpg__factory.ts +0 -638
- package/typechain-types/factories/PendleMarketFactoryV6Upg__factory.ts +0 -732
- package/typechain-types/factories/PendleMarketV6__factory.ts +0 -1261
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +0 -1391
- package/typechain-types/factories/SwapHubBase__factory.ts +0 -1188
- package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +0 -783
|
@@ -10,10 +10,10 @@ import "../libraries/BaseSplitCodeFactory.sol";
|
|
|
10
10
|
import "../libraries/BoringOwnableUpgradeableV2.sol";
|
|
11
11
|
import "../libraries/Errors.sol";
|
|
12
12
|
|
|
13
|
-
contract
|
|
13
|
+
contract PendleMarketFactoryV7Upg is BoringOwnableUpgradeableV2, IPMarketFactory {
|
|
14
14
|
using EnumerableSet for EnumerableSet.AddressSet;
|
|
15
15
|
|
|
16
|
-
uint256 public constant VERSION =
|
|
16
|
+
uint256 public constant VERSION = 7;
|
|
17
17
|
|
|
18
18
|
address public immutable marketCreationCodeContractA;
|
|
19
19
|
uint256 public immutable marketCreationCodeSizeA;
|
|
@@ -21,7 +21,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
|
|
|
21
21
|
uint256 public immutable marketCreationCodeSizeB;
|
|
22
22
|
|
|
23
23
|
address public immutable yieldContractFactory;
|
|
24
|
-
address public immutable vePendle;
|
|
25
24
|
address public immutable gaugeController;
|
|
26
25
|
|
|
27
26
|
uint256 public immutable maxLnFeeRateRoot;
|
|
@@ -44,7 +43,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
|
|
|
44
43
|
uint256 _marketCreationCodeSizeA,
|
|
45
44
|
address _marketCreationCodeContractB,
|
|
46
45
|
uint256 _marketCreationCodeSizeB,
|
|
47
|
-
address _vePendle,
|
|
48
46
|
address _gaugeController
|
|
49
47
|
) {
|
|
50
48
|
yieldContractFactory = _yieldContractFactory;
|
|
@@ -55,7 +53,6 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
|
|
|
55
53
|
marketCreationCodeContractB = _marketCreationCodeContractB;
|
|
56
54
|
marketCreationCodeSizeB = _marketCreationCodeSizeB;
|
|
57
55
|
|
|
58
|
-
vePendle = _vePendle;
|
|
59
56
|
gaugeController = _gaugeController;
|
|
60
57
|
|
|
61
58
|
_disableInitializers();
|
|
@@ -91,7 +88,7 @@ contract PendleMarketFactoryV6Upg is BoringOwnableUpgradeableV2, IPMarketFactory
|
|
|
91
88
|
market = BaseSplitCodeFactory._create2(
|
|
92
89
|
0,
|
|
93
90
|
bytes32(block.chainid),
|
|
94
|
-
abi.encode(PT, scalarRoot, initialAnchor, lnFeeRateRoot,
|
|
91
|
+
abi.encode(PT, scalarRoot, initialAnchor, lnFeeRateRoot, gaugeController),
|
|
95
92
|
marketCreationCodeContractA,
|
|
96
93
|
marketCreationCodeSizeA,
|
|
97
94
|
marketCreationCodeContractB,
|
|
@@ -16,7 +16,7 @@ import "./PendleGauge.sol";
|
|
|
16
16
|
* - address(0) & address(this) should never have any rewards & activeBalance accounting done. This is
|
|
17
17
|
* guaranteed by address(0) & address(this) check in each updateForTwo function
|
|
18
18
|
*/
|
|
19
|
-
contract
|
|
19
|
+
contract PendleMarketV7 is PendleERC20, PendleGauge, IPMarket {
|
|
20
20
|
using PMath for uint256;
|
|
21
21
|
using PMath for int256;
|
|
22
22
|
using MarketMathCore for MarketState;
|
|
@@ -44,7 +44,7 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
|
|
|
44
44
|
string private constant LP_NAME_PREF = "PLP ";
|
|
45
45
|
string private constant LP_SYMBOL_PREF = "PLP-";
|
|
46
46
|
|
|
47
|
-
uint256 public constant VERSION =
|
|
47
|
+
uint256 public constant VERSION = 7;
|
|
48
48
|
|
|
49
49
|
IPPrincipalToken internal immutable PT;
|
|
50
50
|
IStandardizedYield internal immutable SY;
|
|
@@ -66,16 +66,9 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
|
|
|
66
66
|
_;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
constructor(
|
|
70
|
-
address _PT,
|
|
71
|
-
int256 _scalarRoot,
|
|
72
|
-
int256 _initialAnchor,
|
|
73
|
-
uint80 _lnFeeRateRoot,
|
|
74
|
-
address _vePendle,
|
|
75
|
-
address _gaugeController
|
|
76
|
-
)
|
|
69
|
+
constructor(address _PT, int256 _scalarRoot, int256 _initialAnchor, uint80 _lnFeeRateRoot, address _gaugeController)
|
|
77
70
|
PendleERC20(_getLPName(_PT), _getLPSymbol(_PT), 18)
|
|
78
|
-
PendleGauge(IPPrincipalToken(_PT).SY(),
|
|
71
|
+
PendleGauge(IPPrincipalToken(_PT).SY(), _gaugeController)
|
|
79
72
|
{
|
|
80
73
|
PT = IPPrincipalToken(_PT);
|
|
81
74
|
SY = IStandardizedYield(PT.SY());
|
|
@@ -370,11 +363,11 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
|
|
|
370
363
|
PENDLE GAUGE - RELATED
|
|
371
364
|
//////////////////////////////////////////////////////////////*/
|
|
372
365
|
|
|
373
|
-
function
|
|
366
|
+
function _rewardSharesUser(address user) internal view override returns (uint256) {
|
|
374
367
|
return balanceOf(user);
|
|
375
368
|
}
|
|
376
369
|
|
|
377
|
-
function
|
|
370
|
+
function _rewardSharesTotal() internal view override returns (uint256) {
|
|
378
371
|
return totalSupply();
|
|
379
372
|
}
|
|
380
373
|
|
|
@@ -386,8 +379,15 @@ contract PendleMarketV6 is PendleERC20, PendleGauge, IPMarket {
|
|
|
386
379
|
PendleGauge._beforeTokenTransfer(from, to, amount);
|
|
387
380
|
}
|
|
388
381
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
382
|
+
/*///////////////////////////////////////////////////////////////
|
|
383
|
+
LEGACY FUNCTIONS
|
|
384
|
+
//////////////////////////////////////////////////////////////*/
|
|
385
|
+
|
|
386
|
+
function totalActiveSupply() external view returns (uint256) {
|
|
387
|
+
return totalSupply();
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
function activeBalance(address user) external view returns (uint256) {
|
|
391
|
+
return balanceOf(user);
|
|
392
392
|
}
|
|
393
393
|
}
|
|
@@ -138,7 +138,7 @@ library Errors {
|
|
|
138
138
|
error VEReceiveOldSupply(uint256 msgTime);
|
|
139
139
|
|
|
140
140
|
error GCNotPendleMarket(address caller);
|
|
141
|
-
error
|
|
141
|
+
error GCNotRewardDataUpdater(address caller);
|
|
142
142
|
|
|
143
143
|
error InvalidWTime(uint256 wTime);
|
|
144
144
|
error ExpiryInThePast(uint256 expiry);
|
|
@@ -211,6 +211,11 @@ library PMath {
|
|
|
211
211
|
return uint80(x);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
+
function Uint152(uint256 x) internal pure returns (uint152) {
|
|
215
|
+
require(x <= type(uint152).max);
|
|
216
|
+
return uint152(x);
|
|
217
|
+
}
|
|
218
|
+
|
|
214
219
|
function isAApproxB(uint256 a, uint256 b, uint256 eps) internal pure returns (bool) {
|
|
215
220
|
return mulDown(b, ONE - eps) <= a && a <= mulDown(b, ONE + eps);
|
|
216
221
|
}
|
|
@@ -3,10 +3,4 @@ pragma solidity ^0.8.0;
|
|
|
3
3
|
|
|
4
4
|
interface IPGauge {
|
|
5
5
|
event RedeemRewards(address indexed user, uint256[] rewardsOut);
|
|
6
|
-
|
|
7
|
-
event UpdateActiveBalance(address indexed user, uint256 newActiveBalance);
|
|
8
|
-
|
|
9
|
-
function totalActiveSupply() external view returns (uint256);
|
|
10
|
-
|
|
11
|
-
function activeBalance(address user) external view returns (uint256);
|
|
12
6
|
}
|
|
@@ -4,17 +4,30 @@ pragma solidity ^0.8.0;
|
|
|
4
4
|
interface IPGaugeController {
|
|
5
5
|
event MarketClaimReward(address indexed market, uint256 amount);
|
|
6
6
|
|
|
7
|
+
// deprecated from MarketV7 onwards
|
|
7
8
|
event ReceiveVotingResults(uint128 indexed wTime, address[] markets, uint256[] pendleAmounts);
|
|
8
9
|
|
|
10
|
+
// deprecated from MarketV7 onwards
|
|
9
11
|
event UpdateMarketReward(address indexed market, uint256 pendlePerSec, uint256 incentiveEndsAt);
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
event UpdateMarketRewardV2(address indexed market, uint128 pendlePerSec, uint128 incentiveEndsAt);
|
|
14
|
+
|
|
15
|
+
function setRewardDatas(
|
|
16
|
+
address[] calldata markets,
|
|
17
|
+
uint128[] calldata pendlePerSecs,
|
|
18
|
+
uint128[] calldata incentiveEndsAts
|
|
19
|
+
) external;
|
|
12
20
|
|
|
13
21
|
function withdrawPendle(uint256 amount) external;
|
|
14
22
|
|
|
15
|
-
function pendle() external returns (address);
|
|
23
|
+
function pendle() external view returns (address);
|
|
16
24
|
|
|
17
25
|
function redeemMarketReward() external;
|
|
18
26
|
|
|
19
|
-
function rewardData(
|
|
27
|
+
function rewardData(
|
|
28
|
+
address market
|
|
29
|
+
)
|
|
30
|
+
external
|
|
31
|
+
view
|
|
32
|
+
returns (uint128 pendlePerSec, uint128 accumulatedPendle, uint128 lastUpdated, uint128 incentiveEndsAt);
|
|
20
33
|
}
|
|
@@ -86,4 +86,16 @@ interface IPMarket is IPGauge, IERC20Metadata {
|
|
|
86
86
|
function VERSION() external pure returns (uint256);
|
|
87
87
|
|
|
88
88
|
function reentrancyGuardEntered() external view returns (bool);
|
|
89
|
+
|
|
90
|
+
/*///////////////////////////////////////////////////////////////
|
|
91
|
+
LEGACY FUNCTIONS
|
|
92
|
+
//////////////////////////////////////////////////////////////*/
|
|
93
|
+
|
|
94
|
+
/// @dev Kept for backward compatibility
|
|
95
|
+
/// @dev From version 7, this function returns `totalSupply()`.
|
|
96
|
+
function totalActiveSupply() external view returns (uint256);
|
|
97
|
+
|
|
98
|
+
/// @dev Kept for backward compatibility
|
|
99
|
+
/// @dev From version 7, this function returns `balanceOf(user)`.
|
|
100
|
+
function activeBalance(address user) external view returns (uint256);
|
|
89
101
|
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
pragma solidity ^0.8.17;
|
|
3
|
+
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
|
5
|
+
|
|
6
|
+
interface IPStakedPendle {
|
|
7
|
+
struct Call3 {
|
|
8
|
+
bool allowFailure;
|
|
9
|
+
bytes callData;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
struct Result {
|
|
13
|
+
bool success;
|
|
14
|
+
bytes returnData;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
struct UserCooldown {
|
|
18
|
+
uint104 cooldownStart;
|
|
19
|
+
uint152 amount;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
event CooldownDurationAndFeeUpdated(uint24 newDuration, uint64 instantUnstakeFeeRate);
|
|
23
|
+
|
|
24
|
+
event Staked(address indexed user, uint256 amount);
|
|
25
|
+
|
|
26
|
+
event Unstaked(address indexed user, uint256 amountAfterFee, uint256 fee);
|
|
27
|
+
|
|
28
|
+
event CooldownCanceled(address indexed user, uint256 amount);
|
|
29
|
+
|
|
30
|
+
event CooldownInitiated(address indexed user, uint256 amount, uint256 cooldownStart);
|
|
31
|
+
|
|
32
|
+
event FeeReceiverUpdated(address indexed feeReceiver);
|
|
33
|
+
|
|
34
|
+
// ======== Getters ========
|
|
35
|
+
|
|
36
|
+
function PENDLE() external view returns (address);
|
|
37
|
+
|
|
38
|
+
function cooldownDuration() external view returns (uint24);
|
|
39
|
+
|
|
40
|
+
function instantUnstakeFeeRate() external view returns (uint64);
|
|
41
|
+
|
|
42
|
+
function feeReceiver() external view returns (address);
|
|
43
|
+
|
|
44
|
+
// ======== Staking functions ========
|
|
45
|
+
|
|
46
|
+
function userCooldown(address user) external view returns (uint104 cooldownStart, uint152 amount);
|
|
47
|
+
|
|
48
|
+
function stake(uint256 amount) external;
|
|
49
|
+
|
|
50
|
+
function cooldown(uint256 amount) external;
|
|
51
|
+
|
|
52
|
+
function cancelCooldown() external;
|
|
53
|
+
|
|
54
|
+
// fee-free, after cooldown
|
|
55
|
+
function finalizeCooldown() external returns (uint256 amount);
|
|
56
|
+
|
|
57
|
+
// instant, but with fee
|
|
58
|
+
function instantUnstake(uint256 amount) external returns (uint256 amountAfterFee, uint256 fee);
|
|
59
|
+
|
|
60
|
+
// ======== Misc helper functions =======
|
|
61
|
+
|
|
62
|
+
function multicall(Call3[] calldata calls) external returns (Result[] memory res);
|
|
63
|
+
|
|
64
|
+
// ======== Admin functions ========
|
|
65
|
+
|
|
66
|
+
function setCooldownDurationAndFee(uint24 newDuration, uint64 newInstantUnstakeFeeRate) external;
|
|
67
|
+
|
|
68
|
+
function setFeeReceiver(address newFeeReceiver) external;
|
|
69
|
+
}
|
|
@@ -6,6 +6,10 @@ import "../interfaces/IPMarket.sol";
|
|
|
6
6
|
import "../interfaces/IStandardizedYield.sol";
|
|
7
7
|
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
8
8
|
|
|
9
|
+
interface ILegacyMarket {
|
|
10
|
+
function activeBalance(address user) external view returns (uint256);
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
contract BalanceReader is UUPSUpgradeable, BoringOwnableUpgradeableV2 {
|
|
10
14
|
struct UserMarketInfo {
|
|
11
15
|
uint256 lpBalance;
|
|
@@ -44,7 +48,13 @@ contract BalanceReader is UUPSUpgradeable, BoringOwnableUpgradeableV2 {
|
|
|
44
48
|
(, IPPrincipalToken PT, IPYieldToken YT) = market.readTokens();
|
|
45
49
|
|
|
46
50
|
info.lpBalance = market.balanceOf(user);
|
|
47
|
-
|
|
51
|
+
|
|
52
|
+
try ILegacyMarket(address(market)).activeBalance(user) returns (uint256 activeBalance) {
|
|
53
|
+
info.lpActiveBalance = activeBalance;
|
|
54
|
+
} catch {
|
|
55
|
+
info.lpActiveBalance = 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
48
58
|
info.lpRewardsOut = _redeemRewards(market, user);
|
|
49
59
|
|
|
50
60
|
info.ytBalance = YT.balanceOf(user);
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
pragma solidity ^0.8.17;
|
|
4
4
|
|
|
5
|
+
import "../interfaces/IMarketSweed.sol";
|
|
5
6
|
import "../interfaces/IPMarket.sol";
|
|
6
|
-
import "../router/math/MarketApproxLibOnchain.sol";
|
|
7
7
|
import "../router/base/ActionBase.sol";
|
|
8
|
-
import "../
|
|
8
|
+
import "../router/math/MarketApproxLibOnchain.sol";
|
|
9
9
|
|
|
10
10
|
contract MarketSweed is ActionBase, IMarketSweed {
|
|
11
11
|
using PMath for uint256;
|
|
@@ -40,29 +40,31 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
40
40
|
(netPtOut, netYtOut, guessedAmountPtToSwap) = _swap(receiver, market, tokens, sweedParams);
|
|
41
41
|
|
|
42
42
|
uint256 netYtFromSeed;
|
|
43
|
-
(netLpOut, netYtFromSeed,
|
|
43
|
+
(netLpOut, netYtFromSeed,) = _seed(receiver, market, tokens, _selfBalance(tokens.SY), netPtOut);
|
|
44
44
|
netYtOut += netYtFromSeed;
|
|
45
45
|
|
|
46
46
|
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
47
47
|
if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function mintPYFromToken__noCall(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
function mintPYFromToken__noCall(address YT, TokenInput calldata input)
|
|
51
|
+
external
|
|
52
|
+
payable
|
|
53
|
+
returns (uint256 netPYOut)
|
|
54
|
+
{
|
|
54
55
|
address SY = IPYieldToken(YT).SY();
|
|
55
56
|
_mintSyFromToken(YT, SY, 1, input);
|
|
56
57
|
netPYOut = IPYieldToken(YT).mintPY(msg.sender, msg.sender);
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
function _seed(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
function _seed(address receiver, address market, MarketTokens memory tokens, uint256 netSyIn, uint256 netPtIn)
|
|
61
|
+
internal
|
|
62
|
+
returns (
|
|
63
|
+
uint256, /*netLpOut*/
|
|
64
|
+
uint256, /*netYtOut*/
|
|
65
|
+
uint256 /*netSyMintPy*/
|
|
66
|
+
)
|
|
67
|
+
{
|
|
66
68
|
uint256 netSyMintPy = _calcSyToMintPYSeed(market, tokens, netSyIn, netPtIn);
|
|
67
69
|
|
|
68
70
|
// transfer SY to mint PY
|
|
@@ -74,16 +76,14 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
74
76
|
_transferOut(address(tokens.SY), market, netSyAddLiquidity);
|
|
75
77
|
_transferOut(address(tokens.PT), market, netPtIn);
|
|
76
78
|
|
|
77
|
-
(uint256 netLpOut
|
|
79
|
+
(uint256 netLpOut,,) = IPMarket(market).mint(receiver, netSyAddLiquidity, netPYMinted + netPtIn);
|
|
78
80
|
return (netLpOut, netPYMinted, netSyMintPy);
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
function _swap(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
ApproxSweedParams memory sweedParams
|
|
86
|
-
) internal returns (uint256 amountPtToAccount, uint256 amountYTToAccount, int256 guessedSwap) {
|
|
83
|
+
function _swap(address receiver, address market, MarketTokens memory tokens, ApproxSweedParams memory sweedParams)
|
|
84
|
+
internal
|
|
85
|
+
returns (uint256 amountPtToAccount, uint256 amountYTToAccount, int256 guessedSwap)
|
|
86
|
+
{
|
|
87
87
|
PYIndex index = _getPYIndex(market);
|
|
88
88
|
MarketState memory state = _readMarket(market);
|
|
89
89
|
MarketPreCompute memory comp = state.getMarketPreCompute(index, block.timestamp);
|
|
@@ -94,10 +94,8 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
94
94
|
|
|
95
95
|
if (state.lastLnImpliedRate > sweedParams.targetLnImpliedRate) {
|
|
96
96
|
// Normalize maxPtToSwap
|
|
97
|
-
sweedParams.maxPtToSwap =
|
|
98
|
-
sweedParams.maxPtToSwap,
|
|
99
|
-
MarketApproxPtOutLibOnchain.calcMaxPtOut(comp, state.totalPt)
|
|
100
|
-
);
|
|
97
|
+
sweedParams.maxPtToSwap =
|
|
98
|
+
PMath.min(sweedParams.maxPtToSwap, MarketApproxPtOutLibOnchain.calcMaxPtOut(comp, state.totalPt));
|
|
101
99
|
|
|
102
100
|
int256 amountSyToAccount;
|
|
103
101
|
|
|
@@ -108,10 +106,8 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
108
106
|
IPMarket(market).swapSyForExactPt(address(this), guessedSwap.abs(), EMPTY_BYTES);
|
|
109
107
|
} else {
|
|
110
108
|
// Normalize maxPtToSwap
|
|
111
|
-
sweedParams.maxPtToSwap =
|
|
112
|
-
sweedParams.maxPtToSwap,
|
|
113
|
-
MarketApproxPtInLibOnchain.calcSoftMaxPtIn(state, comp)
|
|
114
|
-
);
|
|
109
|
+
sweedParams.maxPtToSwap =
|
|
110
|
+
PMath.min(sweedParams.maxPtToSwap, MarketApproxPtInLibOnchain.calcSoftMaxPtIn(state, comp));
|
|
115
111
|
|
|
116
112
|
guessedSwap = _calcAmountPtToSell(state, index, sweedParams);
|
|
117
113
|
|
|
@@ -128,11 +124,11 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
128
124
|
}
|
|
129
125
|
}
|
|
130
126
|
|
|
131
|
-
function _calcAmountPtToBuy(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
127
|
+
function _calcAmountPtToBuy(MarketState memory state, PYIndex index, ApproxSweedParams memory sweedParams)
|
|
128
|
+
internal
|
|
129
|
+
view
|
|
130
|
+
returns (int256 amountPtToSwapToAccount, int256 amountSyToAccount)
|
|
131
|
+
{
|
|
136
132
|
int256 refAmt = sweedParams.maxPtToSwap.Int();
|
|
137
133
|
int256 accPtToAccount = 0;
|
|
138
134
|
MarketState memory localState;
|
|
@@ -148,7 +144,7 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
148
144
|
|
|
149
145
|
_makeACopyTo(state, localState);
|
|
150
146
|
// Will not revert. maxPtToBuy should already be normalized
|
|
151
|
-
(int256 localAmountSyToAccount
|
|
147
|
+
(int256 localAmountSyToAccount,,) = localState.executeTradeCore(index, guess, block.timestamp);
|
|
152
148
|
|
|
153
149
|
if (PMath.isAApproxB(localState.lastLnImpliedRate, sweedParams.targetLnImpliedRate, sweedParams.eps)) {
|
|
154
150
|
return (guess, localAmountSyToAccount);
|
|
@@ -161,11 +157,11 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
161
157
|
revert("_calcAmountPtToBuy: failed");
|
|
162
158
|
}
|
|
163
159
|
|
|
164
|
-
function _calcAmountPtToSell(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
160
|
+
function _calcAmountPtToSell(MarketState memory state, PYIndex index, ApproxSweedParams memory sweedParams)
|
|
161
|
+
internal
|
|
162
|
+
view
|
|
163
|
+
returns (int256 amountPtToSwapToAccount)
|
|
164
|
+
{
|
|
169
165
|
int256 refAmt = sweedParams.maxPtToSwap.Int();
|
|
170
166
|
int256 accPtToAccount = 0;
|
|
171
167
|
MarketState memory localState;
|
|
@@ -195,19 +191,16 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
195
191
|
revert("_calcAmountPtToSell: failed");
|
|
196
192
|
}
|
|
197
193
|
|
|
198
|
-
function _calcSyToMintPYSeed(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
194
|
+
function _calcSyToMintPYSeed(address market, MarketTokens memory tokens, uint256 netSyIn, uint256 netPtIn)
|
|
195
|
+
internal
|
|
196
|
+
returns (
|
|
197
|
+
uint256 /* netSyMintPy */
|
|
198
|
+
)
|
|
199
|
+
{
|
|
204
200
|
uint256 netSyMintPy = netSyIn;
|
|
205
201
|
if (netPtIn > 0) {
|
|
206
|
-
(
|
|
207
|
-
netSyIn,
|
|
208
|
-
netPtIn,
|
|
209
|
-
block.timestamp
|
|
210
|
-
);
|
|
202
|
+
(,, uint256 netSyDual, uint256 netPtDual) =
|
|
203
|
+
_readMarket(market).addLiquidity(netSyIn, netPtIn, block.timestamp);
|
|
211
204
|
if (netPtDual < netPtIn) {
|
|
212
205
|
revert("MS: Bought too much PT");
|
|
213
206
|
}
|
|
@@ -217,14 +210,13 @@ contract MarketSweed is ActionBase, IMarketSweed {
|
|
|
217
210
|
MarketState memory state = _readMarket(market);
|
|
218
211
|
PYIndex pyIndex = tokens.YT.newIndex();
|
|
219
212
|
netSyMintPy =
|
|
220
|
-
(netSyMintPy * state.totalPt.Uint()) /
|
|
221
|
-
(state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
213
|
+
(netSyMintPy * state.totalPt.Uint()) / (state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
222
214
|
|
|
223
215
|
return netSyMintPy;
|
|
224
216
|
}
|
|
225
217
|
|
|
226
218
|
function _getPYIndex(address market) internal returns (PYIndex) {
|
|
227
|
-
(
|
|
219
|
+
(,, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
228
220
|
return PYIndex.wrap(YT.pyIndexCurrent());
|
|
229
221
|
}
|
|
230
222
|
|
|
@@ -16,11 +16,10 @@ contract PendleMerkleDepositor {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/// @notice The `tokens` array must be sorted in strictly ascending order with no duplicates.
|
|
19
|
-
function depositToMerkleCampaign(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
) external payable {
|
|
19
|
+
function depositToMerkleCampaign(bytes32 campaignId, address[] calldata tokens, uint256[] calldata amounts)
|
|
20
|
+
external
|
|
21
|
+
payable
|
|
22
|
+
{
|
|
24
23
|
uint256 length = tokens.length;
|
|
25
24
|
|
|
26
25
|
require(length != 0, "PMD: empty array");
|
|
@@ -51,7 +50,7 @@ contract PendleMerkleDepositor {
|
|
|
51
50
|
|
|
52
51
|
function _transferFrom(address token, address from, address to, uint256 amount) internal {
|
|
53
52
|
if (token == NATIVE) {
|
|
54
|
-
(bool success,
|
|
53
|
+
(bool success,) = to.call{value: amount}("");
|
|
55
54
|
require(success, "PMD: eth send failed");
|
|
56
55
|
} else {
|
|
57
56
|
IERC20(token).safeTransferFrom(from, to, amount);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
2
|
pragma solidity ^0.8.0;
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
import {TokenOutput, IPActionCrossChain} from "../interfaces/IPActionCrossChain.sol";
|
|
4
|
+
import {IPActionCrossChain, TokenOutput} from "../interfaces/IPActionCrossChain.sol";
|
|
6
5
|
import {IPFixedPricePTAMM} from "../interfaces/IPFixedPricePTAMM.sol";
|
|
6
|
+
import {ActionBase} from "./base/ActionBase.sol";
|
|
7
|
+
import {IPSwapAggregator, SwapType} from "./swap-aggregator/IPSwapAggregator.sol";
|
|
7
8
|
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
8
|
-
import {SwapType, IPSwapAggregator} from "./swap-aggregator/IPSwapAggregator.sol";
|
|
9
9
|
|
|
10
10
|
contract ActionCrossChain is ActionBase, IPActionCrossChain {
|
|
11
11
|
function swapWithFixedPricePTAMM(
|
|
@@ -16,13 +16,8 @@ contract ActionCrossChain is ActionBase, IPActionCrossChain {
|
|
|
16
16
|
TokenOutput calldata out
|
|
17
17
|
) external returns (uint256 netTokenOut) {
|
|
18
18
|
_transferFrom(IERC20(PT), msg.sender, fixedPricePTAMM, exactPtIn);
|
|
19
|
-
uint256 tokenOut = IPFixedPricePTAMM(fixedPricePTAMM)
|
|
20
|
-
__swapDestination(receiver, out),
|
|
21
|
-
PT,
|
|
22
|
-
exactPtIn,
|
|
23
|
-
out.tokenRedeemSy,
|
|
24
|
-
EMPTY_BYTES
|
|
25
|
-
);
|
|
19
|
+
uint256 tokenOut = IPFixedPricePTAMM(fixedPricePTAMM)
|
|
20
|
+
.swapExactPtForToken(__swapDestination(receiver, out), PT, exactPtIn, out.tokenRedeemSy, EMPTY_BYTES);
|
|
26
21
|
return __handleTokenOutput(receiver, tokenOut, out);
|
|
27
22
|
}
|
|
28
23
|
|
|
@@ -41,15 +36,16 @@ contract ActionCrossChain is ActionBase, IPActionCrossChain {
|
|
|
41
36
|
else return out.pendleSwap;
|
|
42
37
|
}
|
|
43
38
|
|
|
44
|
-
/// @dev The caller must ensure that the address returned by `__swapDestination(...)` has `netTokenRedeemSy` amount
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
39
|
+
/// @dev The caller must ensure that the address returned by `__swapDestination(...)` has `netTokenRedeemSy` amount
|
|
40
|
+
/// of `out.tokenRedeemSy` tokens before calling this function.
|
|
41
|
+
function __handleTokenOutput(address receiver, uint256 netTokenRedeemSy, TokenOutput calldata out)
|
|
42
|
+
internal
|
|
43
|
+
returns (uint256 netTokenOut)
|
|
44
|
+
{
|
|
50
45
|
SwapType swapType = out.swapData.swapType;
|
|
51
|
-
if (swapType == SwapType.NONE)
|
|
52
|
-
|
|
46
|
+
if (swapType == SwapType.NONE) {
|
|
47
|
+
netTokenOut = netTokenRedeemSy;
|
|
48
|
+
} else if (swapType == SwapType.ETH_WETH) {
|
|
53
49
|
netTokenOut = netTokenRedeemSy; // ETH:WETH is 1:1
|
|
54
50
|
_wrap_unwrap_ETH(out.tokenRedeemSy, out.tokenOut, netTokenOut);
|
|
55
51
|
_transferOut(out.tokenOut, receiver, netTokenOut);
|
|
@@ -16,7 +16,7 @@ contract Reflector is TokenHelper, IPReflector {
|
|
|
16
16
|
receive() external payable {}
|
|
17
17
|
|
|
18
18
|
function reflect(bytes calldata inputData) external returns (bytes memory result) {
|
|
19
|
-
(uint256 value, bytes memory newCalldata) = _getNewCalldata(inputData);
|
|
19
|
+
(uint256 value, bytes memory newCalldata, address receiver, address market) = _getNewCalldata(inputData);
|
|
20
20
|
bool success;
|
|
21
21
|
|
|
22
22
|
(success, result) = ROUTER.call{value: value}(newCalldata);
|
|
@@ -26,9 +26,14 @@ contract Reflector is TokenHelper, IPReflector {
|
|
|
26
26
|
revert(add(32, result), mload(result))
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
if (market != address(0)) _sweepMarketDustBalance(receiver, market);
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
function _getNewCalldata(bytes calldata inputData)
|
|
33
|
+
function _getNewCalldata(bytes calldata inputData)
|
|
34
|
+
internal
|
|
35
|
+
returns (uint256 value, bytes memory newCalldata, address receiver, address market)
|
|
36
|
+
{
|
|
32
37
|
bytes4 selector = bytes4(inputData[:4]);
|
|
33
38
|
bytes calldata data = inputData[4:];
|
|
34
39
|
|
|
@@ -48,12 +53,14 @@ contract Reflector is TokenHelper, IPReflector {
|
|
|
48
53
|
|
|
49
54
|
value = _scaleTokenInputAndGetValue(v5);
|
|
50
55
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5, v6);
|
|
56
|
+
(receiver, market) = (v1, v2);
|
|
51
57
|
} else if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleTokenKeepYt.selector) {
|
|
52
58
|
(address v1, address v2, uint256 v3, uint256 v4, TokenInput memory v5) =
|
|
53
59
|
abi.decode(data, (address, address, uint256, uint256, TokenInput));
|
|
54
60
|
|
|
55
61
|
value = _scaleTokenInputAndGetValue(v5);
|
|
56
62
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, v3, v4, v5);
|
|
63
|
+
(receiver, market) = (v1, v2);
|
|
57
64
|
} else if (
|
|
58
65
|
selector == IPActionAddRemoveLiqV3.addLiquiditySingleSy.selector
|
|
59
66
|
|| selector == IPActionSwapPTV3.swapExactSyForPt.selector
|
|
@@ -63,11 +70,13 @@ contract Reflector is TokenHelper, IPReflector {
|
|
|
63
70
|
abi.decode(data, (address, address, uint256, uint256, ApproxParams, LimitOrderData));
|
|
64
71
|
|
|
65
72
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, _scaleSyInput(v2), v4, v5, v6);
|
|
73
|
+
(receiver, market) = (v1, v2);
|
|
66
74
|
} else if (selector == IPActionAddRemoveLiqV3.addLiquiditySingleSyKeepYt.selector) {
|
|
67
75
|
(address v1, address v2,, uint256 v4, uint256 v5) =
|
|
68
76
|
abi.decode(data, (address, address, uint256, uint256, uint256));
|
|
69
77
|
|
|
70
78
|
newCalldata = abi.encodeWithSelector(selector, v1, v2, _scaleSyInput(v2), v4, v5);
|
|
79
|
+
(receiver, market) = (v1, v2);
|
|
71
80
|
} else {
|
|
72
81
|
revert("UNSUPPORTED_SELECTOR");
|
|
73
82
|
}
|
|
@@ -97,4 +106,12 @@ contract Reflector is TokenHelper, IPReflector {
|
|
|
97
106
|
approved[address(SY)] = true;
|
|
98
107
|
}
|
|
99
108
|
}
|
|
109
|
+
|
|
110
|
+
function _sweepMarketDustBalance(address receiver, address market) internal {
|
|
111
|
+
(IStandardizedYield SY, IPPrincipalToken PT, IPYieldToken YT) = IPMarket(market).readTokens();
|
|
112
|
+
|
|
113
|
+
_transferOut(address(SY), receiver, _selfBalance(SY));
|
|
114
|
+
_transferOut(address(PT), receiver, _selfBalance(PT));
|
|
115
|
+
_transferOut(address(YT), receiver, _selfBalance(YT));
|
|
116
|
+
}
|
|
100
117
|
}
|
package/deployments/1-core.json
CHANGED
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"poolDeployHelperV2": "0xF642d8Daa026B8aEd6dFE82FACbA2E077AF199E2",
|
|
47
47
|
"limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
|
|
48
48
|
"proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
|
|
49
|
-
"reflector": "
|
|
49
|
+
"reflector": "0x30544e00Cf296B34A9eE59E5540Ae2f9CCCD55DD",
|
|
50
50
|
"commonDeploy": "0x2Ed473F528E5B320f850d17ADfe0e558f0298aA9",
|
|
51
51
|
"syFactory": "0x466CeD3b33045Ea986B2f306C8D0aA8067961CF8",
|
|
52
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
57
57
|
},
|
|
58
58
|
"vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
|
|
59
|
+
"sPendle": "0x999999999991E178D52Cd95AFd4b00d066664144",
|
|
59
60
|
"senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
|
|
60
61
|
"votingController": "0x44087E105137a5095c008AaB6a6530182821F2F0",
|
|
61
62
|
"gaugeController": "0x47D74516B33eD5D70ddE7119A40839f6Fcc24e57",
|
|
@@ -71,4 +72,4 @@
|
|
|
71
72
|
"ptOftAdapterFactory": "0x905aF80C4DE82E0075a19fDE2f5777f1A6636732"
|
|
72
73
|
},
|
|
73
74
|
"merkleDepositor": "0x3dAe3d1734cA3C7B3089D4DD03C9876e0A0102b4"
|
|
74
|
-
}
|
|
75
|
+
}
|