@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
|
@@ -392,10 +392,6 @@ declare module "hardhat/types/runtime" {
|
|
|
392
392
|
name: "IPActionCallbackV3",
|
|
393
393
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
394
394
|
): Promise<Contracts.IPActionCallbackV3__factory>;
|
|
395
|
-
getContractFactory(
|
|
396
|
-
name: "IPActionCrossChain",
|
|
397
|
-
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
398
|
-
): Promise<Contracts.IPActionCrossChain__factory>;
|
|
399
395
|
getContractFactory(
|
|
400
396
|
name: "IPActionInfoStatic",
|
|
401
397
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
@@ -840,6 +836,10 @@ declare module "hardhat/types/runtime" {
|
|
|
840
836
|
name: "PendleLPWrapperFactory",
|
|
841
837
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
842
838
|
): Promise<Contracts.PendleLPWrapperFactory__factory>;
|
|
839
|
+
getContractFactory(
|
|
840
|
+
name: "PendleMerkleDepositor",
|
|
841
|
+
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
842
|
+
): Promise<Contracts.PendleMerkleDepositor__factory>;
|
|
843
843
|
getContractFactory(
|
|
844
844
|
name: "PendleMulticallOwnerV1",
|
|
845
845
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
@@ -992,10 +992,6 @@ declare module "hardhat/types/runtime" {
|
|
|
992
992
|
name: "ActionCallbackV3",
|
|
993
993
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
994
994
|
): Promise<Contracts.ActionCallbackV3__factory>;
|
|
995
|
-
getContractFactory(
|
|
996
|
-
name: "ActionCrossChain",
|
|
997
|
-
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
998
|
-
): Promise<Contracts.ActionCrossChain__factory>;
|
|
999
995
|
getContractFactory(
|
|
1000
996
|
name: "ActionMiscV3",
|
|
1001
997
|
signerOrOptions?: ethers.Signer | FactoryOptions
|
|
@@ -1528,11 +1524,6 @@ declare module "hardhat/types/runtime" {
|
|
|
1528
1524
|
address: string,
|
|
1529
1525
|
signer?: ethers.Signer
|
|
1530
1526
|
): Promise<Contracts.IPActionCallbackV3>;
|
|
1531
|
-
getContractAt(
|
|
1532
|
-
name: "IPActionCrossChain",
|
|
1533
|
-
address: string,
|
|
1534
|
-
signer?: ethers.Signer
|
|
1535
|
-
): Promise<Contracts.IPActionCrossChain>;
|
|
1536
1527
|
getContractAt(
|
|
1537
1528
|
name: "IPActionInfoStatic",
|
|
1538
1529
|
address: string,
|
|
@@ -2088,6 +2079,11 @@ declare module "hardhat/types/runtime" {
|
|
|
2088
2079
|
address: string,
|
|
2089
2080
|
signer?: ethers.Signer
|
|
2090
2081
|
): Promise<Contracts.PendleLPWrapperFactory>;
|
|
2082
|
+
getContractAt(
|
|
2083
|
+
name: "PendleMerkleDepositor",
|
|
2084
|
+
address: string,
|
|
2085
|
+
signer?: ethers.Signer
|
|
2086
|
+
): Promise<Contracts.PendleMerkleDepositor>;
|
|
2091
2087
|
getContractAt(
|
|
2092
2088
|
name: "PendleMulticallOwnerV1",
|
|
2093
2089
|
address: string,
|
|
@@ -2278,11 +2274,6 @@ declare module "hardhat/types/runtime" {
|
|
|
2278
2274
|
address: string,
|
|
2279
2275
|
signer?: ethers.Signer
|
|
2280
2276
|
): Promise<Contracts.ActionCallbackV3>;
|
|
2281
|
-
getContractAt(
|
|
2282
|
-
name: "ActionCrossChain",
|
|
2283
|
-
address: string,
|
|
2284
|
-
signer?: ethers.Signer
|
|
2285
|
-
): Promise<Contracts.ActionCrossChain>;
|
|
2286
2277
|
getContractAt(
|
|
2287
2278
|
name: "ActionMiscV3",
|
|
2288
2279
|
address: string,
|
package/typechain-types/index.ts
CHANGED
|
@@ -94,7 +94,6 @@ export type { ILPWrapper } from "./ILPWrapper";
|
|
|
94
94
|
export type { IOwnable } from "./IOwnable";
|
|
95
95
|
export type { IPActionAddRemoveLiqV3 } from "./IPActionAddRemoveLiqV3";
|
|
96
96
|
export type { IPActionCallbackV3 } from "./IPActionCallbackV3";
|
|
97
|
-
export type { IPActionCrossChain } from "./IPActionCrossChain";
|
|
98
97
|
export type { IPActionInfoStatic } from "./IPActionInfoStatic";
|
|
99
98
|
export type { IPActionMarketAuxStatic } from "./IPActionMarketAuxStatic";
|
|
100
99
|
export type { IPActionMarketCoreStatic } from "./IPActionMarketCoreStatic";
|
|
@@ -206,6 +205,7 @@ export type { PendleFeeSetter } from "./PendleFeeSetter";
|
|
|
206
205
|
export type { PendleGovernanceProxy } from "./PendleGovernanceProxy";
|
|
207
206
|
export type { PendleLPWrapper } from "./PendleLPWrapper";
|
|
208
207
|
export type { PendleLPWrapperFactory } from "./PendleLPWrapperFactory";
|
|
208
|
+
export type { PendleMerkleDepositor } from "./PendleMerkleDepositor";
|
|
209
209
|
export type { PendleMulticallOwnerV1 } from "./PendleMulticallOwnerV1";
|
|
210
210
|
export type { PendleMulticallV1 } from "./PendleMulticallV1";
|
|
211
211
|
export type { PendleMulticallV2 } from "./PendleMulticallV2";
|
|
@@ -244,7 +244,6 @@ export type { PendleLinearDiscountOracleWrapper } from "./PendleLinearDiscountOr
|
|
|
244
244
|
export type { PendleSparkLinearDiscountOracleFactoryWrapper } from "./PendleSparkLinearDiscountOracleFactoryWrapper";
|
|
245
245
|
export type { ActionAddRemoveLiqV3 } from "./ActionAddRemoveLiqV3";
|
|
246
246
|
export type { ActionCallbackV3 } from "./ActionCallbackV3";
|
|
247
|
-
export type { ActionCrossChain } from "./ActionCrossChain";
|
|
248
247
|
export type { ActionMiscV3 } from "./ActionMiscV3";
|
|
249
248
|
export type { ActionSimple } from "./ActionSimple";
|
|
250
249
|
export type { ActionStorageV4 } from "./ActionStorageV4";
|
|
@@ -353,7 +352,6 @@ export { ILPWrapper__factory } from "./factories/ILPWrapper__factory";
|
|
|
353
352
|
export { IOwnable__factory } from "./factories/IOwnable__factory";
|
|
354
353
|
export { IPActionAddRemoveLiqV3__factory } from "./factories/IPActionAddRemoveLiqV3__factory";
|
|
355
354
|
export { IPActionCallbackV3__factory } from "./factories/IPActionCallbackV3__factory";
|
|
356
|
-
export { IPActionCrossChain__factory } from "./factories/IPActionCrossChain__factory";
|
|
357
355
|
export { IPActionInfoStatic__factory } from "./factories/IPActionInfoStatic__factory";
|
|
358
356
|
export { IPActionMarketAuxStatic__factory } from "./factories/IPActionMarketAuxStatic__factory";
|
|
359
357
|
export { IPActionMarketCoreStatic__factory } from "./factories/IPActionMarketCoreStatic__factory";
|
|
@@ -465,6 +463,7 @@ export { PendleFeeSetter__factory } from "./factories/PendleFeeSetter__factory";
|
|
|
465
463
|
export { PendleGovernanceProxy__factory } from "./factories/PendleGovernanceProxy__factory";
|
|
466
464
|
export { PendleLPWrapper__factory } from "./factories/PendleLPWrapper__factory";
|
|
467
465
|
export { PendleLPWrapperFactory__factory } from "./factories/PendleLPWrapperFactory__factory";
|
|
466
|
+
export { PendleMerkleDepositor__factory } from "./factories/PendleMerkleDepositor__factory";
|
|
468
467
|
export { PendleMulticallOwnerV1__factory } from "./factories/PendleMulticallOwnerV1__factory";
|
|
469
468
|
export { PendleMulticallV1__factory } from "./factories/PendleMulticallV1__factory";
|
|
470
469
|
export { PendleMulticallV2__factory } from "./factories/PendleMulticallV2__factory";
|
|
@@ -503,7 +502,6 @@ export { PendleLinearDiscountOracleWrapper__factory } from "./factories/PendleLi
|
|
|
503
502
|
export { PendleSparkLinearDiscountOracleFactoryWrapper__factory } from "./factories/PendleSparkLinearDiscountOracleFactoryWrapper__factory";
|
|
504
503
|
export { ActionAddRemoveLiqV3__factory } from "./factories/ActionAddRemoveLiqV3__factory";
|
|
505
504
|
export { ActionCallbackV3__factory } from "./factories/ActionCallbackV3__factory";
|
|
506
|
-
export { ActionCrossChain__factory } from "./factories/ActionCrossChain__factory";
|
|
507
505
|
export { ActionMiscV3__factory } from "./factories/ActionMiscV3__factory";
|
|
508
506
|
export { ActionSimple__factory } from "./factories/ActionSimple__factory";
|
|
509
507
|
export { ActionStorageV4__factory } from "./factories/ActionStorageV4__factory";
|
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "PendleFeeSetter",
|
|
4
|
-
"sourceName": "contracts/offchain-helpers/PendleFeeSetter.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "address",
|
|
10
|
-
"name": "_router",
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "address",
|
|
15
|
-
"name": "_limitRouter",
|
|
16
|
-
"type": "address"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"internalType": "address",
|
|
20
|
-
"name": "_govProxy",
|
|
21
|
-
"type": "address"
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"stateMutability": "nonpayable",
|
|
25
|
-
"type": "constructor"
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"anonymous": false,
|
|
29
|
-
"inputs": [
|
|
30
|
-
{
|
|
31
|
-
"indexed": false,
|
|
32
|
-
"internalType": "uint128",
|
|
33
|
-
"name": "impliedRateToFeeFactor",
|
|
34
|
-
"type": "uint128"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"indexed": false,
|
|
38
|
-
"internalType": "uint128",
|
|
39
|
-
"name": "routerLnFeeToLimitLnFeeFactor",
|
|
40
|
-
"type": "uint128"
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"name": "FeeFactorSet",
|
|
44
|
-
"type": "event"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"anonymous": false,
|
|
48
|
-
"inputs": [
|
|
49
|
-
{
|
|
50
|
-
"indexed": false,
|
|
51
|
-
"internalType": "uint8",
|
|
52
|
-
"name": "version",
|
|
53
|
-
"type": "uint8"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"name": "Initialized",
|
|
57
|
-
"type": "event"
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"anonymous": false,
|
|
61
|
-
"inputs": [
|
|
62
|
-
{
|
|
63
|
-
"indexed": true,
|
|
64
|
-
"internalType": "address",
|
|
65
|
-
"name": "previousOwner",
|
|
66
|
-
"type": "address"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"indexed": true,
|
|
70
|
-
"internalType": "address",
|
|
71
|
-
"name": "newOwner",
|
|
72
|
-
"type": "address"
|
|
73
|
-
}
|
|
74
|
-
],
|
|
75
|
-
"name": "OwnershipTransferred",
|
|
76
|
-
"type": "event"
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"anonymous": false,
|
|
80
|
-
"inputs": [
|
|
81
|
-
{
|
|
82
|
-
"indexed": true,
|
|
83
|
-
"internalType": "address",
|
|
84
|
-
"name": "setter",
|
|
85
|
-
"type": "address"
|
|
86
|
-
}
|
|
87
|
-
],
|
|
88
|
-
"name": "SetterSet",
|
|
89
|
-
"type": "event"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"inputs": [],
|
|
93
|
-
"name": "claimOwnership",
|
|
94
|
-
"outputs": [],
|
|
95
|
-
"stateMutability": "nonpayable",
|
|
96
|
-
"type": "function"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"inputs": [],
|
|
100
|
-
"name": "govProxy",
|
|
101
|
-
"outputs": [
|
|
102
|
-
{
|
|
103
|
-
"internalType": "contract IPGovernanceProxy",
|
|
104
|
-
"name": "",
|
|
105
|
-
"type": "address"
|
|
106
|
-
}
|
|
107
|
-
],
|
|
108
|
-
"stateMutability": "view",
|
|
109
|
-
"type": "function"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"inputs": [],
|
|
113
|
-
"name": "impliedRateToFeeFactor",
|
|
114
|
-
"outputs": [
|
|
115
|
-
{
|
|
116
|
-
"internalType": "uint128",
|
|
117
|
-
"name": "",
|
|
118
|
-
"type": "uint128"
|
|
119
|
-
}
|
|
120
|
-
],
|
|
121
|
-
"stateMutability": "view",
|
|
122
|
-
"type": "function"
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
"inputs": [
|
|
126
|
-
{
|
|
127
|
-
"internalType": "address",
|
|
128
|
-
"name": "_owner",
|
|
129
|
-
"type": "address"
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"internalType": "uint128",
|
|
133
|
-
"name": "_impliedRateToFeeFactor",
|
|
134
|
-
"type": "uint128"
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
"internalType": "uint128",
|
|
138
|
-
"name": "_routerLnFeeToLimitLnFeeFactor",
|
|
139
|
-
"type": "uint128"
|
|
140
|
-
}
|
|
141
|
-
],
|
|
142
|
-
"name": "initialize",
|
|
143
|
-
"outputs": [],
|
|
144
|
-
"stateMutability": "nonpayable",
|
|
145
|
-
"type": "function"
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"inputs": [],
|
|
149
|
-
"name": "limitRouter",
|
|
150
|
-
"outputs": [
|
|
151
|
-
{
|
|
152
|
-
"internalType": "contract IPLimitRouter",
|
|
153
|
-
"name": "",
|
|
154
|
-
"type": "address"
|
|
155
|
-
}
|
|
156
|
-
],
|
|
157
|
-
"stateMutability": "view",
|
|
158
|
-
"type": "function"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"inputs": [],
|
|
162
|
-
"name": "owner",
|
|
163
|
-
"outputs": [
|
|
164
|
-
{
|
|
165
|
-
"internalType": "address",
|
|
166
|
-
"name": "",
|
|
167
|
-
"type": "address"
|
|
168
|
-
}
|
|
169
|
-
],
|
|
170
|
-
"stateMutability": "view",
|
|
171
|
-
"type": "function"
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
"inputs": [],
|
|
175
|
-
"name": "pendingOwner",
|
|
176
|
-
"outputs": [
|
|
177
|
-
{
|
|
178
|
-
"internalType": "address",
|
|
179
|
-
"name": "",
|
|
180
|
-
"type": "address"
|
|
181
|
-
}
|
|
182
|
-
],
|
|
183
|
-
"stateMutability": "view",
|
|
184
|
-
"type": "function"
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"inputs": [
|
|
188
|
-
{
|
|
189
|
-
"internalType": "address[]",
|
|
190
|
-
"name": "markets",
|
|
191
|
-
"type": "address[]"
|
|
192
|
-
}
|
|
193
|
-
],
|
|
194
|
-
"name": "readFeesAndImpliedRate",
|
|
195
|
-
"outputs": [
|
|
196
|
-
{
|
|
197
|
-
"internalType": "uint256[]",
|
|
198
|
-
"name": "routerLnFeeRateRoots",
|
|
199
|
-
"type": "uint256[]"
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
"internalType": "uint256[]",
|
|
203
|
-
"name": "limitLnFeeRateRoots",
|
|
204
|
-
"type": "uint256[]"
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
"internalType": "uint256[]",
|
|
208
|
-
"name": "lnImpliedRates",
|
|
209
|
-
"type": "uint256[]"
|
|
210
|
-
}
|
|
211
|
-
],
|
|
212
|
-
"stateMutability": "view",
|
|
213
|
-
"type": "function"
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
"inputs": [],
|
|
217
|
-
"name": "router",
|
|
218
|
-
"outputs": [
|
|
219
|
-
{
|
|
220
|
-
"internalType": "address",
|
|
221
|
-
"name": "",
|
|
222
|
-
"type": "address"
|
|
223
|
-
}
|
|
224
|
-
],
|
|
225
|
-
"stateMutability": "view",
|
|
226
|
-
"type": "function"
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
"inputs": [],
|
|
230
|
-
"name": "routerLnFeeToLimitLnFeeFactor",
|
|
231
|
-
"outputs": [
|
|
232
|
-
{
|
|
233
|
-
"internalType": "uint128",
|
|
234
|
-
"name": "",
|
|
235
|
-
"type": "uint128"
|
|
236
|
-
}
|
|
237
|
-
],
|
|
238
|
-
"stateMutability": "view",
|
|
239
|
-
"type": "function"
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
"inputs": [
|
|
243
|
-
{
|
|
244
|
-
"internalType": "uint128",
|
|
245
|
-
"name": "_impliedRateToFeeFactor",
|
|
246
|
-
"type": "uint128"
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
"internalType": "uint128",
|
|
250
|
-
"name": "_routerLnFeeToLimitLnFeeFactor",
|
|
251
|
-
"type": "uint128"
|
|
252
|
-
}
|
|
253
|
-
],
|
|
254
|
-
"name": "setFeeFactors",
|
|
255
|
-
"outputs": [],
|
|
256
|
-
"stateMutability": "nonpayable",
|
|
257
|
-
"type": "function"
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
"inputs": [
|
|
261
|
-
{
|
|
262
|
-
"internalType": "address[]",
|
|
263
|
-
"name": "markets",
|
|
264
|
-
"type": "address[]"
|
|
265
|
-
}
|
|
266
|
-
],
|
|
267
|
-
"name": "setFees",
|
|
268
|
-
"outputs": [],
|
|
269
|
-
"stateMutability": "nonpayable",
|
|
270
|
-
"type": "function"
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
"inputs": [
|
|
274
|
-
{
|
|
275
|
-
"internalType": "address",
|
|
276
|
-
"name": "_setter",
|
|
277
|
-
"type": "address"
|
|
278
|
-
}
|
|
279
|
-
],
|
|
280
|
-
"name": "setSetter",
|
|
281
|
-
"outputs": [],
|
|
282
|
-
"stateMutability": "nonpayable",
|
|
283
|
-
"type": "function"
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
"inputs": [],
|
|
287
|
-
"name": "setter",
|
|
288
|
-
"outputs": [
|
|
289
|
-
{
|
|
290
|
-
"internalType": "address",
|
|
291
|
-
"name": "",
|
|
292
|
-
"type": "address"
|
|
293
|
-
}
|
|
294
|
-
],
|
|
295
|
-
"stateMutability": "view",
|
|
296
|
-
"type": "function"
|
|
297
|
-
},
|
|
298
|
-
{
|
|
299
|
-
"inputs": [
|
|
300
|
-
{
|
|
301
|
-
"internalType": "address",
|
|
302
|
-
"name": "newOwner",
|
|
303
|
-
"type": "address"
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
"internalType": "bool",
|
|
307
|
-
"name": "direct",
|
|
308
|
-
"type": "bool"
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
"internalType": "bool",
|
|
312
|
-
"name": "renounce",
|
|
313
|
-
"type": "bool"
|
|
314
|
-
}
|
|
315
|
-
],
|
|
316
|
-
"name": "transferOwnership",
|
|
317
|
-
"outputs": [],
|
|
318
|
-
"stateMutability": "nonpayable",
|
|
319
|
-
"type": "function"
|
|
320
|
-
}
|
|
321
|
-
],
|
|
322
|
-
"bytecode": "0x60e060405234801561000f575f5ffd5b5060405161238f38038061238f83398101604081905261002e9161013a565b610036610053565b6001600160a01b0392831660805290821660a0521660c05261017a565b600154600160a81b900460ff16156100c15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff9081161461011d576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b0381168114610135575f5ffd5b919050565b5f5f5f6060848603121561014c575f5ffd5b6101558461011f565b92506101636020850161011f565b91506101716040850161011f565b90509250925092565b60805160a05160c0516121c16101ce5f395f8181610138015261080401525f81816101af015281816107570152610d1201525f81816102250152818161068a01528181610bba0152610ed001526121c15ff3fe608060405234801561000f575f5ffd5b50600436106100c3575f3560e01c8063078dfbe7146100c75780633758361b146100dc5780633f3108f7146100ef5780634e71e0c8146101185780636de6ad0b146101205780637a36fd94146101335780638da5cb5b1461015a578063ad0d913c1461016c578063cb6b449e14610197578063df699830146101aa578063e30c3978146101d1578063e81a184f146101e4578063e9a4213c146101fe578063f887ea4014610220578063f99aa03d14610247575b5f5ffd5b6100da6100d5366004611aca565b61025a565b005b6100da6100ea366004611b9b565b61035c565b603354610102906001600160a01b031681565b60405161010f9190611c39565b60405180910390f35b6100da61089a565b6100da61012e366004611c63565b610942565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b5f54610102906001600160a01b031681565b60325461017f906001600160801b031681565b6040516001600160801b03909116815260200161010f565b6100da6101a5366004611c9c565b610a78565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b600154610102906001600160a01b031681565b60325461017f90600160801b90046001600160801b031681565b61021161020c366004611b9b565b610aaf565b60405161010f93929190611d07565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b6100da610255366004611d3f565b610dde565b5f546001600160a01b0316331461028c5760405162461bcd60e51b815260040161028390611d5a565b60405180910390fd5b811561033a576001600160a01b0383161515806102a65750805b6102ea5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610283565b5f80546040516001600160a01b03808716939216915f51602061216c5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6033546001600160a01b031633148061037e57505f546001600160a01b031633145b6103c05760405162461bcd60e51b81526020600482015260136024820152723737ba1039b2ba3a32b91037b91037bbb732b960691b6044820152606401610283565b80515f6103ce826001611da3565b6001600160401b038111156103e5576103e5611b0c565b60405190808252806020026020018201604052801561043157816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816104035790505b5090505f826001600160401b0381111561044d5761044d611b0c565b604051908082528060200260200182016040528015610476578160200160208202803683370190505b5090505f836001600160401b0381111561049257610492611b0c565b6040519080825280602002602001820160405280156104bb578160200160208202803683370190505b506032549091506001600160801b0380821691600160801b9004165f5b86811015610754575f8882815181106104f3576104f3611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610536573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055a9190611dca565b925050505f5f61058486868d878151811061057757610577611db6565b6020026020010151610e50565b915091508288858151811061059b5761059b611db6565b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106105ce576105ce611db6565b6020026020010181815250508a84815181106105ec576105ec611db6565b60200260200101516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106539190611e1f565b89858151811061066557610665611db6565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008b85815181106106bb576106bb611db6565b60200260200101516106cc84610ff0565b6040516001600160a01b0393841660248201529290911660448301526001600160501b0316606482015260840160408051601f198184030181529190526020810180516001600160e01b031663c821db0d60e01b17905289518a908690811061073757610737611db6565b6020026020010151604001819052505050508060010190506104d8565b507f000000000000000000000000000000000000000000000000000000000000000085878151811061078857610788611db6565b60209081029190910101516001600160a01b0390911690526040516107b590859085905f90602401611e3a565b60408051601f198184030181529190526020810180516001600160e01b031663097cf58b60e41b17905285518690889081106107f3576107f3611db6565b6020026020010151604001819052507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45ce972866040518263ffffffff1660e01b815260040161084e9190611ec6565b5f604051808303815f875af1158015610869573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108909190810190611f6b565b5050505050505050565b6001546001600160a01b03163381146108f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610283565b5f80546040516001600160a01b03808516939216915f51602061216c5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff1615808015610968575060018054600160a01b900460ff16105b806109885750303b158015610988575060018054600160a01b900460ff16145b6109eb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610283565b6001805460ff60a01b1916600160a01b1790558015610a18576001805460ff60a81b1916600160a81b1790555b610a2184611008565b610a2b8383611096565b8015610a72576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b5f546001600160a01b03163314610aa15760405162461bcd60e51b815260040161028390611d5a565b610aab8282611096565b5050565b60608060605f84519050806001600160401b03811115610ad157610ad1611b0c565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b509350806001600160401b03811115610b1557610b15611b0c565b604051908082528060200260200182016040528015610b3e578160200160208202803683370190505b509250806001600160401b03811115610b5957610b59611b0c565b604051908082528060200260200182016040528015610b82578160200160208202803683370190505b5091505f5b81811015610dd5575f868281518110610ba257610ba2611db6565b60200260200101516001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610bf59190611c39565b61012060405180830381865afa158015610c11573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c359190612070565b90508060c00151868381518110610c4e57610c4e611db6565b602002602001018181525050806101000151848381518110610c7257610c72611db6565b6020026020010181815250505f878381518110610c9157610c91611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610cd4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf89190611dca565b604051632545e4bd60e01b81529093506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632545e4bd9150610d49908490600401611c39565b602060405180830381865afa925050508015610d82575060408051601f3d908101601f19168201909252610d7f918101906120f0565b60015b610daa575f868481518110610d9957610d99611db6565b602002602001018181525050610dcb565b80878581518110610dbd57610dbd611db6565b602002602001018181525050505b5050600101610b87565b50509193909250565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161028390611d5a565b603380546001600160a01b0319166001600160a01b0383169081179091556040517fef4137533708c1185e7c87a07e24a517f3e36549552a38f4b989ecda65ee6625905f90a250565b5f5f5f836001600160a01b031663e4f8b2e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190612107565b6001600160501b031690505f846001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f0b9190611c39565b61012060405180830381865afa158015610f27573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612070565b90505f610f6c610f67610f628461010001516110ef565b611103565b611514565b90505f670de0b6b3a7640000610f8c8a610f86838661212d565b90611521565b610f969190611da3565b90505f610fad610f67610fa8846110ef565b611542565b9050610fb985826115d2565b9650610fd6610fc8888b611521565b66ad566553da1bc3906115d2565b9550848703610fe3575f96505b5050505050935093915050565b5f6001600160501b03821115611004575f5ffd5b5090565b600154600160a81b900460ff166110755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610283565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160801b03828116600160801b91831691820281176032556040805191825260208201929092527f7fae094c28df65ca0db0d359049ee267753fb7799293d619bbbc97c42c5496cc910160405180910390a15050565b5f6001600160ff1b03821115611004575f5ffd5b5f680238fd42c5cf03ffff198212158015611127575068070c1cc73b00c800008213155b6111665760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610283565b5f82121561119c57611179825f03611103565b6a0c097ce7bc90715b34b9f160241b8161119557611195612140565b0592915050565b5f6806f05b59d3b200000083126111d957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61120f565b6803782dace9d9000000831261120b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061120f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261125f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261129b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126112d557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261130f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261134857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126113815768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126113ba576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126113f35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b5f5f821215611004575f5ffd5b5f8061152d8385612154565b670de0b6b3a764000090049150505b92915050565b5f5f82136115825760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610283565b670c7d713b49da0000821380156115a05750670f43fc2c04ee000082125b156115c457670de0b6b3a76400006115b7836115e9565b8161119557611195612140565b61153c82611706565b919050565b5f8183106115e057816115e2565b825b9392505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161162957611629612140565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a76400008212156117455761173d826a0c097ce7bc90715b34b9f160241b8161173757611737612140565b05611706565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b831261178f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126117c6576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261180e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611849576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261188057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126118b757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118ec5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261191757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261194c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611981576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126119b5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126119e9576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d631000008086030281611a1157611a11612140565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114611ab8575f5ffd5b50565b803580151581146115cd575f5ffd5b5f5f5f60608486031215611adc575f5ffd5b8335611ae781611aa4565b9250611af560208501611abb565b9150611b0360408501611abb565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715611b4357611b43611b0c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611b7157611b71611b0c565b604052919050565b5f6001600160401b03821115611b9157611b91611b0c565b5060051b60200190565b5f60208284031215611bab575f5ffd5b81356001600160401b03811115611bc0575f5ffd5b8201601f81018413611bd0575f5ffd5b8035611be3611bde82611b79565b611b49565b8082825260208201915060208360051b850101925086831115611c04575f5ffd5b6020840193505b82841015611c2f578335611c1e81611aa4565b825260209384019390910190611c0b565b9695505050505050565b6001600160a01b0391909116815260200190565b80356001600160801b03811681146115cd575f5ffd5b5f5f5f60608486031215611c75575f5ffd5b8335611c8081611aa4565b9250611c8e60208501611c4d565b9150611b0360408501611c4d565b5f5f60408385031215611cad575f5ffd5b611cb683611c4d565b9150611cc460208401611c4d565b90509250929050565b5f8151808452602084019350602083015f5b82811015611cfd578151865260209586019590910190600101611cdf565b5093949350505050565b606081525f611d196060830186611ccd565b8281036020840152611d2b8186611ccd565b90508281036040840152611c2f8185611ccd565b5f60208284031215611d4f575f5ffd5b81356115e281611aa4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561153c5761153c611d8f565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215611ddc575f5ffd5b8351611de781611aa4565b6020850151909350611df881611aa4565b6040850151909250611e0981611aa4565b809150509250925092565b80516115cd81611aa4565b5f60208284031215611e2f575f5ffd5b81516115e281611aa4565b606080825284519082018190525f9060208601906080840190835b81811015611e7c5783516001600160a01b0316835260209384019390920191600101611e55565b50508381036020850152611e908187611ccd565b925050508215156040830152949350505050565b5f5b83811015611ebe578181015183820152602001611ea6565b50505f910152565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611f5f57603f19878603018452815160018060a01b0381511686526020810151602087015260408101519050606060408701528051806060880152611f3c816080890160208501611ea4565b601f01601f19169590950160800194506020938401939190910190600101611eec565b50929695505050505050565b5f60208284031215611f7b575f5ffd5b81516001600160401b03811115611f90575f5ffd5b8201601f81018413611fa0575f5ffd5b8051611fae611bde82611b79565b8082825260208201915060208360051b850101925086831115611fcf575f5ffd5b602084015b838110156120655780516001600160401b03811115611ff1575f5ffd5b8501603f81018913612001575f5ffd5b60208101516001600160401b0381111561201d5761201d611b0c565b612030601f8201601f1916602001611b49565b8181526040838301018b1015612044575f5ffd5b612055826020830160408601611ea4565b8552505060209283019201611fd4565b509695505050505050565b5f610120828403128015612082575f5ffd5b5061208b611b20565b8251815260208084015190820152604080840151908201526120af60608401611e14565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100928301519281019290925250919050565b5f60208284031215612100575f5ffd5b5051919050565b5f60208284031215612117575f5ffd5b81516001600160501b03811681146115e2575f5ffd5b8181038181111561153c5761153c611d8f565b634e487b7160e01b5f52601260045260245ffd5b808202811582820484141761153c5761153c611d8f56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122026d2baff0703dd7927e4aeb82b4361ff81c7a9f66e8a761170c8358630f257ed64736f6c634300081e0033",
|
|
323
|
-
"deployedBytecode": "0x608060405234801561000f575f5ffd5b50600436106100c3575f3560e01c8063078dfbe7146100c75780633758361b146100dc5780633f3108f7146100ef5780634e71e0c8146101185780636de6ad0b146101205780637a36fd94146101335780638da5cb5b1461015a578063ad0d913c1461016c578063cb6b449e14610197578063df699830146101aa578063e30c3978146101d1578063e81a184f146101e4578063e9a4213c146101fe578063f887ea4014610220578063f99aa03d14610247575b5f5ffd5b6100da6100d5366004611aca565b61025a565b005b6100da6100ea366004611b9b565b61035c565b603354610102906001600160a01b031681565b60405161010f9190611c39565b60405180910390f35b6100da61089a565b6100da61012e366004611c63565b610942565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b5f54610102906001600160a01b031681565b60325461017f906001600160801b031681565b6040516001600160801b03909116815260200161010f565b6100da6101a5366004611c9c565b610a78565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b600154610102906001600160a01b031681565b60325461017f90600160801b90046001600160801b031681565b61021161020c366004611b9b565b610aaf565b60405161010f93929190611d07565b6101027f000000000000000000000000000000000000000000000000000000000000000081565b6100da610255366004611d3f565b610dde565b5f546001600160a01b0316331461028c5760405162461bcd60e51b815260040161028390611d5a565b60405180910390fd5b811561033a576001600160a01b0383161515806102a65750805b6102ea5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610283565b5f80546040516001600160a01b03808716939216915f51602061216c5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0385166001600160a01b0319909116179055505050565b6033546001600160a01b031633148061037e57505f546001600160a01b031633145b6103c05760405162461bcd60e51b81526020600482015260136024820152723737ba1039b2ba3a32b91037b91037bbb732b960691b6044820152606401610283565b80515f6103ce826001611da3565b6001600160401b038111156103e5576103e5611b0c565b60405190808252806020026020018201604052801561043157816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816104035790505b5090505f826001600160401b0381111561044d5761044d611b0c565b604051908082528060200260200182016040528015610476578160200160208202803683370190505b5090505f836001600160401b0381111561049257610492611b0c565b6040519080825280602002602001820160405280156104bb578160200160208202803683370190505b506032549091506001600160801b0380821691600160801b9004165f5b86811015610754575f8882815181106104f3576104f3611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610536573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061055a9190611dca565b925050505f5f61058486868d878151811061057757610577611db6565b6020026020010151610e50565b915091508288858151811061059b5761059b611db6565b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106105ce576105ce611db6565b6020026020010181815250508a84815181106105ec576105ec611db6565b60200260200101516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106539190611e1f565b89858151811061066557610665611db6565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008b85815181106106bb576106bb611db6565b60200260200101516106cc84610ff0565b6040516001600160a01b0393841660248201529290911660448301526001600160501b0316606482015260840160408051601f198184030181529190526020810180516001600160e01b031663c821db0d60e01b17905289518a908690811061073757610737611db6565b6020026020010151604001819052505050508060010190506104d8565b507f000000000000000000000000000000000000000000000000000000000000000085878151811061078857610788611db6565b60209081029190910101516001600160a01b0390911690526040516107b590859085905f90602401611e3a565b60408051601f198184030181529190526020810180516001600160e01b031663097cf58b60e41b17905285518690889081106107f3576107f3611db6565b6020026020010151604001819052507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c45ce972866040518263ffffffff1660e01b815260040161084e9190611ec6565b5f604051808303815f875af1158015610869573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108909190810190611f6b565b5050505050505050565b6001546001600160a01b03163381146108f55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610283565b5f80546040516001600160a01b03808516939216915f51602061216c5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600154600160a81b900460ff1615808015610968575060018054600160a01b900460ff16105b806109885750303b158015610988575060018054600160a01b900460ff16145b6109eb5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610283565b6001805460ff60a01b1916600160a01b1790558015610a18576001805460ff60a81b1916600160a81b1790555b610a2184611008565b610a2b8383611096565b8015610a72576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b5f546001600160a01b03163314610aa15760405162461bcd60e51b815260040161028390611d5a565b610aab8282611096565b5050565b60608060605f84519050806001600160401b03811115610ad157610ad1611b0c565b604051908082528060200260200182016040528015610afa578160200160208202803683370190505b509350806001600160401b03811115610b1557610b15611b0c565b604051908082528060200260200182016040528015610b3e578160200160208202803683370190505b509250806001600160401b03811115610b5957610b59611b0c565b604051908082528060200260200182016040528015610b82578160200160208202803683370190505b5091505f5b81811015610dd5575f868281518110610ba257610ba2611db6565b60200260200101516001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610bf59190611c39565b61012060405180830381865afa158015610c11573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c359190612070565b90508060c00151868381518110610c4e57610c4e611db6565b602002602001018181525050806101000151848381518110610c7257610c72611db6565b6020026020010181815250505f878381518110610c9157610c91611db6565b60200260200101516001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610cd4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cf89190611dca565b604051632545e4bd60e01b81529093506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632545e4bd9150610d49908490600401611c39565b602060405180830381865afa925050508015610d82575060408051601f3d908101601f19168201909252610d7f918101906120f0565b60015b610daa575f868481518110610d9957610d99611db6565b602002602001018181525050610dcb565b80878581518110610dbd57610dbd611db6565b602002602001018181525050505b5050600101610b87565b50509193909250565b5f546001600160a01b03163314610e075760405162461bcd60e51b815260040161028390611d5a565b603380546001600160a01b0319166001600160a01b0383169081179091556040517fef4137533708c1185e7c87a07e24a517f3e36549552a38f4b989ecda65ee6625905f90a250565b5f5f5f836001600160a01b031663e4f8b2e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb39190612107565b6001600160501b031690505f846001600160a01b031663794052f37f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f0b9190611c39565b61012060405180830381865afa158015610f27573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4b9190612070565b90505f610f6c610f67610f628461010001516110ef565b611103565b611514565b90505f670de0b6b3a7640000610f8c8a610f86838661212d565b90611521565b610f969190611da3565b90505f610fad610f67610fa8846110ef565b611542565b9050610fb985826115d2565b9650610fd6610fc8888b611521565b66ad566553da1bc3906115d2565b9550848703610fe3575f96505b5050505050935093915050565b5f6001600160501b03821115611004575f5ffd5b5090565b600154600160a81b900460ff166110755760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610283565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160801b03828116600160801b91831691820281176032556040805191825260208201929092527f7fae094c28df65ca0db0d359049ee267753fb7799293d619bbbc97c42c5496cc910160405180910390a15050565b5f6001600160ff1b03821115611004575f5ffd5b5f680238fd42c5cf03ffff198212158015611127575068070c1cc73b00c800008213155b6111665760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a5908195e1c1bdb995b9d60821b6044820152606401610283565b5f82121561119c57611179825f03611103565b6a0c097ce7bc90715b34b9f160241b8161119557611195612140565b0592915050565b5f6806f05b59d3b200000083126111d957506806f05b59d3b1ffffff199091019072195e54c5dd42177f53a27172fa9ec63026282760241b61120f565b6803782dace9d9000000831261120b57506803782dace9d8ffffff19909101906b1425982cf597cd205cef738061120f565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac62000000841261125f5768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261129b576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126112d557682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c400000841261130f576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261134857680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126113815768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126113ba576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126113f35768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b5f5f821215611004575f5ffd5b5f8061152d8385612154565b670de0b6b3a764000090049150505b92915050565b5f5f82136115825760405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606401610283565b670c7d713b49da0000821380156115a05750670f43fc2c04ee000082125b156115c457670de0b6b3a76400006115b7836115e9565b8161119557611195612140565b61153c82611706565b919050565b5f8183106115e057816115e2565b825b9392505050565b670de0b6b3a7640000025f806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff198501028161162957611629612140565b0590505f6a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f82050160020295945050505050565b5f670de0b6b3a76400008212156117455761173d826a0c097ce7bc90715b34b9f160241b8161173757611737612140565b05611706565b5f0392915050565b5f775803bcc5cb9634ba4cfb2213f784019318ed4dcb6017880f60361b831261178f5772195e54c5dd42177f53a27172fa9ec63026282760241b830592506806f05b59d3b2000000015b6f8bcc0026baae9e45e470190267a230cf60191b83126117c6576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff0084000831261180e576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a7008312611849576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf850831261188057693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e283126118b757690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126118ec5768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261191757680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d831261194c576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f17757889379378312611981576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b28660383126119b5576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac83126119e9576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b5f68056bc75e2d63100000840168056bc75e2d631000008086030281611a1157611a11612140565b0590505f68056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6001600160a01b0381168114611ab8575f5ffd5b50565b803580151581146115cd575f5ffd5b5f5f5f60608486031215611adc575f5ffd5b8335611ae781611aa4565b9250611af560208501611abb565b9150611b0360408501611abb565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b0381118282101715611b4357611b43611b0c565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611b7157611b71611b0c565b604052919050565b5f6001600160401b03821115611b9157611b91611b0c565b5060051b60200190565b5f60208284031215611bab575f5ffd5b81356001600160401b03811115611bc0575f5ffd5b8201601f81018413611bd0575f5ffd5b8035611be3611bde82611b79565b611b49565b8082825260208201915060208360051b850101925086831115611c04575f5ffd5b6020840193505b82841015611c2f578335611c1e81611aa4565b825260209384019390910190611c0b565b9695505050505050565b6001600160a01b0391909116815260200190565b80356001600160801b03811681146115cd575f5ffd5b5f5f5f60608486031215611c75575f5ffd5b8335611c8081611aa4565b9250611c8e60208501611c4d565b9150611b0360408501611c4d565b5f5f60408385031215611cad575f5ffd5b611cb683611c4d565b9150611cc460208401611c4d565b90509250929050565b5f8151808452602084019350602083015f5b82811015611cfd578151865260209586019590910190600101611cdf565b5093949350505050565b606081525f611d196060830186611ccd565b8281036020840152611d2b8186611ccd565b90508281036040840152611c2f8185611ccd565b5f60208284031215611d4f575f5ffd5b81356115e281611aa4565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561153c5761153c611d8f565b634e487b7160e01b5f52603260045260245ffd5b5f5f5f60608486031215611ddc575f5ffd5b8351611de781611aa4565b6020850151909350611df881611aa4565b6040850151909250611e0981611aa4565b809150509250925092565b80516115cd81611aa4565b5f60208284031215611e2f575f5ffd5b81516115e281611aa4565b606080825284519082018190525f9060208601906080840190835b81811015611e7c5783516001600160a01b0316835260209384019390920191600101611e55565b50508381036020850152611e908187611ccd565b925050508215156040830152949350505050565b5f5b83811015611ebe578181015183820152602001611ea6565b50505f910152565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611f5f57603f19878603018452815160018060a01b0381511686526020810151602087015260408101519050606060408701528051806060880152611f3c816080890160208501611ea4565b601f01601f19169590950160800194506020938401939190910190600101611eec565b50929695505050505050565b5f60208284031215611f7b575f5ffd5b81516001600160401b03811115611f90575f5ffd5b8201601f81018413611fa0575f5ffd5b8051611fae611bde82611b79565b8082825260208201915060208360051b850101925086831115611fcf575f5ffd5b602084015b838110156120655780516001600160401b03811115611ff1575f5ffd5b8501603f81018913612001575f5ffd5b60208101516001600160401b0381111561201d5761201d611b0c565b612030601f8201601f1916602001611b49565b8181526040838301018b1015612044575f5ffd5b612055826020830160408601611ea4565b8552505060209283019201611fd4565b509695505050505050565b5f610120828403128015612082575f5ffd5b5061208b611b20565b8251815260208084015190820152604080840151908201526120af60608401611e14565b60608201526080838101519082015260a0808401519082015260c0808401519082015260e08084015190820152610100928301519281019290925250919050565b5f60208284031215612100575f5ffd5b5051919050565b5f60208284031215612117575f5ffd5b81516001600160501b03811681146115e2575f5ffd5b8181038181111561153c5761153c611d8f565b634e487b7160e01b5f52601260045260245ffd5b808202811582820484141761153c5761153c611d8f56fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122026d2baff0703dd7927e4aeb82b4361ff81c7a9f66e8a761170c8358630f257ed64736f6c634300081e0033",
|
|
324
|
-
"linkReferences": {},
|
|
325
|
-
"deployedLinkReferences": {}
|
|
326
|
-
}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity ^0.8.0;
|
|
3
|
-
|
|
4
|
-
import {IPGovernanceProxy} from "../interfaces/IPGovernanceProxy.sol";
|
|
5
|
-
import {IPLimitRouter} from "../interfaces/IPLimitRouter.sol";
|
|
6
|
-
import {IPMarket, MarketState} from "../interfaces/IPMarket.sol";
|
|
7
|
-
import {IPMarketFactory} from "../interfaces/IPMarketFactory.sol";
|
|
8
|
-
import {IPYieldToken} from "../interfaces/IPYieldToken.sol";
|
|
9
|
-
|
|
10
|
-
import {BoringOwnableUpgradeableV2} from "../core/libraries/BoringOwnableUpgradeableV2.sol";
|
|
11
|
-
import {Errors} from "../core/libraries/Errors.sol";
|
|
12
|
-
import {LogExpMath} from "../core/libraries/math/LogExpMath.sol";
|
|
13
|
-
import {PMath} from "../core/libraries/math/PMath.sol";
|
|
14
|
-
|
|
15
|
-
contract PendleFeeSetter is BoringOwnableUpgradeableV2 {
|
|
16
|
-
using PMath for uint256;
|
|
17
|
-
using PMath for int256;
|
|
18
|
-
using LogExpMath for int256;
|
|
19
|
-
|
|
20
|
-
event FeeFactorSet(uint128 impliedRateToFeeFactor, uint128 routerLnFeeToLimitLnFeeFactor);
|
|
21
|
-
event SetterSet(address indexed setter);
|
|
22
|
-
|
|
23
|
-
uint256 internal constant LIMIT_MAX_LN_FEE_RATE_ROOT = 48_790_164_169_432_003; // ln(1.05)
|
|
24
|
-
|
|
25
|
-
address public immutable router;
|
|
26
|
-
IPLimitRouter public immutable limitRouter;
|
|
27
|
-
IPGovernanceProxy public immutable govProxy;
|
|
28
|
-
|
|
29
|
-
uint128 public impliedRateToFeeFactor;
|
|
30
|
-
uint128 public routerLnFeeToLimitLnFeeFactor;
|
|
31
|
-
address public setter;
|
|
32
|
-
|
|
33
|
-
modifier onlyOwnerOrSetter() {
|
|
34
|
-
require(msg.sender == setter || msg.sender == owner, "not setter or owner");
|
|
35
|
-
_;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
constructor(address _router, address _limitRouter, address _govProxy) {
|
|
39
|
-
_disableInitializers();
|
|
40
|
-
router = _router;
|
|
41
|
-
limitRouter = IPLimitRouter(_limitRouter);
|
|
42
|
-
govProxy = IPGovernanceProxy(_govProxy);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
function initialize(address _owner, uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor)
|
|
46
|
-
external
|
|
47
|
-
initializer
|
|
48
|
-
{
|
|
49
|
-
__BoringOwnableV2_init(_owner);
|
|
50
|
-
_setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function setFees(address[] memory markets) external onlyOwnerOrSetter {
|
|
54
|
-
uint256 n = markets.length;
|
|
55
|
-
|
|
56
|
-
IPGovernanceProxy.Call[] memory calls = new IPGovernanceProxy.Call[](n + 1);
|
|
57
|
-
|
|
58
|
-
address[] memory YTs = new address[](n);
|
|
59
|
-
uint256[] memory limitLnFeeRateRoots = new uint256[](n);
|
|
60
|
-
|
|
61
|
-
uint256 _impliedRateToFeeFactor = impliedRateToFeeFactor;
|
|
62
|
-
uint256 _routerLnFeeToLimitLnFeeFactor = routerLnFeeToLimitLnFeeFactor;
|
|
63
|
-
for (uint256 i = 0; i < n; ++i) {
|
|
64
|
-
(,, IPYieldToken yt) = IPMarket(markets[i]).readTokens();
|
|
65
|
-
(uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot) =
|
|
66
|
-
_calcFee(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor, markets[i]);
|
|
67
|
-
|
|
68
|
-
YTs[i] = address(yt);
|
|
69
|
-
limitLnFeeRateRoots[i] = limitLnFeeRateRoot;
|
|
70
|
-
|
|
71
|
-
calls[i].target = IPMarket(markets[i]).factory();
|
|
72
|
-
calls[i].callData =
|
|
73
|
-
abi.encodeCall(IPMarketFactory.setOverriddenFee, (router, markets[i], routerLnFeeRateRoot.Uint80()));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
calls[n].target = address(limitRouter);
|
|
77
|
-
calls[n].callData = abi.encodeCall(
|
|
78
|
-
IPLimitRouter.setLnFeeRateRoots, (YTs, limitLnFeeRateRoots, /* allowZeroFees */ false)
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
govProxy.aggregateWithScopedAccess(calls);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function _calcFee(uint256 _impliedRateToFeeFactor, uint256 _routerLnFeeToLimitLnFeeFactor, address market)
|
|
85
|
-
internal
|
|
86
|
-
view
|
|
87
|
-
returns (uint256 routerLnFeeRateRoot, uint256 limitLnFeeRateRoot)
|
|
88
|
-
{
|
|
89
|
-
uint256 marketLnFee = IPMarket(market).getNonOverrideLnFeeRateRoot();
|
|
90
|
-
MarketState memory state = IPMarket(market).readState(router);
|
|
91
|
-
uint256 impliedRate = state.lastLnImpliedRate.Int().exp().Uint();
|
|
92
|
-
|
|
93
|
-
uint256 newFee = (impliedRate - PMath.ONE).mulDown(_impliedRateToFeeFactor) + PMath.ONE;
|
|
94
|
-
uint256 newLnFeeRateRoot = newFee.Int().ln().Uint();
|
|
95
|
-
|
|
96
|
-
routerLnFeeRateRoot = marketLnFee.min(newLnFeeRateRoot);
|
|
97
|
-
limitLnFeeRateRoot = LIMIT_MAX_LN_FEE_RATE_ROOT.min(routerLnFeeRateRoot.mulDown(_routerLnFeeToLimitLnFeeFactor));
|
|
98
|
-
|
|
99
|
-
// Fix up `routerLnFeeRateRoot` for this case:
|
|
100
|
-
// https://github.com/pendle-finance/pendle-core-v2/blob/6169376d0a8c12030307e3d64d02e84b07ffe4f9/contracts/core/Market/v3/PendleMarketFactoryV3.sol#L131-L135
|
|
101
|
-
if (routerLnFeeRateRoot == marketLnFee) routerLnFeeRateRoot = 0;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
function readFeesAndImpliedRate(address[] memory markets)
|
|
105
|
-
external
|
|
106
|
-
view
|
|
107
|
-
returns (
|
|
108
|
-
uint256[] memory routerLnFeeRateRoots,
|
|
109
|
-
uint256[] memory limitLnFeeRateRoots,
|
|
110
|
-
uint256[] memory lnImpliedRates
|
|
111
|
-
)
|
|
112
|
-
{
|
|
113
|
-
uint256 n = markets.length;
|
|
114
|
-
routerLnFeeRateRoots = new uint256[](n);
|
|
115
|
-
limitLnFeeRateRoots = new uint256[](n);
|
|
116
|
-
lnImpliedRates = new uint256[](n);
|
|
117
|
-
|
|
118
|
-
for (uint256 i = 0; i < n; ++i) {
|
|
119
|
-
MarketState memory state = IPMarket(markets[i]).readState(router);
|
|
120
|
-
routerLnFeeRateRoots[i] = state.lnFeeRateRoot;
|
|
121
|
-
lnImpliedRates[i] = state.lastLnImpliedRate;
|
|
122
|
-
|
|
123
|
-
(,, IPYieldToken yt) = IPMarket(markets[i]).readTokens();
|
|
124
|
-
try limitRouter.getLnFeeRateRoot(address(yt)) returns (uint256 _fee) {
|
|
125
|
-
limitLnFeeRateRoots[i] = _fee;
|
|
126
|
-
} catch {
|
|
127
|
-
limitLnFeeRateRoots[i] = 0;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
// ============================== Admin functions ==============================
|
|
133
|
-
|
|
134
|
-
function setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) external onlyOwner {
|
|
135
|
-
_setFeeFactors(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function _setFeeFactors(uint128 _impliedRateToFeeFactor, uint128 _routerLnFeeToLimitLnFeeFactor) internal {
|
|
139
|
-
impliedRateToFeeFactor = _impliedRateToFeeFactor;
|
|
140
|
-
routerLnFeeToLimitLnFeeFactor = _routerLnFeeToLimitLnFeeFactor;
|
|
141
|
-
|
|
142
|
-
emit FeeFactorSet(_impliedRateToFeeFactor, _routerLnFeeToLimitLnFeeFactor);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function setSetter(address _setter) external onlyOwner {
|
|
146
|
-
setter = _setter;
|
|
147
|
-
emit SetterSet(setter);
|
|
148
|
-
}
|
|
149
|
-
}
|