@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
|
@@ -7,11 +7,6 @@ import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
|
7
7
|
|
|
8
8
|
abstract contract OKXScaleHelper {
|
|
9
9
|
address public immutable _tokenApprove;
|
|
10
|
-
uint256 internal constant TRIM_FLAG_MASK = 0xffffffffffff0000000000000000000000000000000000000000000000000000;
|
|
11
|
-
uint256 internal constant TRIM_FLAG = 0x7777777711110000000000000000000000000000000000000000000000000000;
|
|
12
|
-
uint256 internal constant TRIM_DUAL_FLAG = 0x7777777722220000000000000000000000000000000000000000000000000000;
|
|
13
|
-
uint256 internal constant TRIM_EXPECT_AMOUNT_OUT_MASK =
|
|
14
|
-
0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff;
|
|
15
10
|
|
|
16
11
|
// @dev `allowUnsupportedChain` is a safe guard to prevent deploying this contract on unsupported chains by mistake
|
|
17
12
|
// @dev Please add new `__getTokenApproveForChain` entry when deploying to a new chain.
|
|
@@ -33,7 +28,7 @@ abstract contract OKXScaleHelper {
|
|
|
33
28
|
if (chainid == 56) {
|
|
34
29
|
return 0x2c34A2Fb1d0b4f55de51E1d0bDEfaDDce6b7cDD6;
|
|
35
30
|
}
|
|
36
|
-
if (chainid ==
|
|
31
|
+
if (chainid == 42161) {
|
|
37
32
|
return 0x70cBb871E8f30Fc8Ce23609E9E0Ea87B6b222F58;
|
|
38
33
|
}
|
|
39
34
|
if (chainid == 8453 || chainid == 5000) {
|
|
@@ -53,22 +48,23 @@ abstract contract OKXScaleHelper {
|
|
|
53
48
|
return _tokenApprove;
|
|
54
49
|
}
|
|
55
50
|
|
|
56
|
-
function _okxScaling(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
{
|
|
51
|
+
function _okxScaling(
|
|
52
|
+
bytes calldata rawCallData,
|
|
53
|
+
uint256 actualAmount
|
|
54
|
+
) internal pure returns (bytes memory scaledCallData) {
|
|
61
55
|
bytes4 selector = bytes4(rawCallData[:4]);
|
|
62
56
|
bytes calldata dataToDecode = rawCallData[4:];
|
|
63
|
-
|
|
57
|
+
|
|
64
58
|
if (selector == IOKXDexRouter.uniswapV3SwapTo.selector) {
|
|
65
|
-
(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) =
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) = abi.decode(
|
|
60
|
+
dataToDecode,
|
|
61
|
+
(uint256, uint256, uint256, uint256[])
|
|
62
|
+
);
|
|
63
|
+
|
|
68
64
|
minReturn = (minReturn * actualAmount) / amount;
|
|
69
65
|
amount = actualAmount;
|
|
70
66
|
|
|
71
|
-
|
|
67
|
+
return abi.encodeWithSelector(selector, receiver, amount, minReturn, pools);
|
|
72
68
|
} else if (selector == IOKXDexRouter.smartSwapTo.selector) {
|
|
73
69
|
(
|
|
74
70
|
uint256 orderId,
|
|
@@ -78,41 +74,40 @@ abstract contract OKXScaleHelper {
|
|
|
78
74
|
IOKXDexRouter.RouterPath[][] memory batches,
|
|
79
75
|
IOKXDexRouter.PMMSwapRequest[] memory extraData
|
|
80
76
|
) = abi.decode(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
77
|
+
dataToDecode,
|
|
78
|
+
(
|
|
79
|
+
uint256,
|
|
80
|
+
address,
|
|
81
|
+
IOKXDexRouter.BaseRequest,
|
|
82
|
+
uint256[],
|
|
83
|
+
IOKXDexRouter.RouterPath[][],
|
|
84
|
+
IOKXDexRouter.PMMSwapRequest[]
|
|
85
|
+
)
|
|
86
|
+
);
|
|
87
|
+
|
|
92
88
|
batchesAmount = _scaleArray(batchesAmount, actualAmount, baseRequest.fromTokenAmount);
|
|
93
89
|
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
94
90
|
baseRequest.fromTokenAmount = actualAmount;
|
|
95
91
|
|
|
96
|
-
|
|
97
|
-
abi.encodeWithSelector(selector, orderId, receiver, baseRequest, batchesAmount, batches, extraData);
|
|
92
|
+
return abi.encodeWithSelector(selector, orderId, receiver, baseRequest, batchesAmount, batches, extraData);
|
|
98
93
|
} else if (selector == IOKXDexRouter.unxswapTo.selector) {
|
|
99
|
-
(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) =
|
|
100
|
-
|
|
94
|
+
(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) = abi
|
|
95
|
+
.decode(dataToDecode, (uint256, uint256, uint256, address, bytes32[]));
|
|
101
96
|
|
|
102
97
|
minReturn = (minReturn * actualAmount) / amount;
|
|
103
|
-
rawAmountIn = amount;
|
|
104
98
|
amount = actualAmount;
|
|
105
99
|
|
|
106
|
-
|
|
100
|
+
return abi.encodeWithSelector(selector, srcToken, amount, minReturn, receiver, pools);
|
|
107
101
|
} else if (selector == IOKXDexRouter.unxswapByOrderId.selector) {
|
|
108
|
-
(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) =
|
|
109
|
-
|
|
110
|
-
|
|
102
|
+
(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) = abi.decode(
|
|
103
|
+
dataToDecode,
|
|
104
|
+
(uint256, uint256, uint256, bytes32[])
|
|
105
|
+
);
|
|
111
106
|
|
|
112
107
|
minReturn = (minReturn * actualAmount) / amount;
|
|
113
108
|
amount = actualAmount;
|
|
114
109
|
|
|
115
|
-
|
|
110
|
+
return abi.encodeWithSelector(selector, srcToken, amount, minReturn, pools);
|
|
116
111
|
} else if (selector == IOKXDexRouter.smartSwapByOrderId.selector) {
|
|
117
112
|
(
|
|
118
113
|
uint256 orderId,
|
|
@@ -121,159 +116,39 @@ abstract contract OKXScaleHelper {
|
|
|
121
116
|
IOKXDexRouter.RouterPath[][] memory batches,
|
|
122
117
|
IOKXDexRouter.PMMSwapRequest[] memory extraData
|
|
123
118
|
) = abi.decode(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
rawAmountIn = baseRequest.fromTokenAmount;
|
|
134
|
-
batchesAmount = _scaleArray(batchesAmount, actualAmount, baseRequest.fromTokenAmount);
|
|
135
|
-
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
136
|
-
baseRequest.fromTokenAmount = actualAmount;
|
|
137
|
-
|
|
138
|
-
scaledCallData = abi.encodeWithSelector(selector, orderId, baseRequest, batchesAmount, batches, extraData);
|
|
139
|
-
} else if (selector == IOKXDexRouter.dagSwapTo.selector) {
|
|
140
|
-
(
|
|
141
|
-
uint256 orderId,
|
|
142
|
-
address receiver,
|
|
143
|
-
IOKXDexRouter.BaseRequest memory baseRequest,
|
|
144
|
-
IOKXDexRouter.RouterPath[] memory paths
|
|
145
|
-
) = abi.decode(dataToDecode, (uint256, address, IOKXDexRouter.BaseRequest, IOKXDexRouter.RouterPath[]));
|
|
146
|
-
|
|
147
|
-
rawAmountIn = baseRequest.fromTokenAmount;
|
|
148
|
-
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
149
|
-
baseRequest.fromTokenAmount = actualAmount;
|
|
119
|
+
dataToDecode,
|
|
120
|
+
(
|
|
121
|
+
uint256,
|
|
122
|
+
IOKXDexRouter.BaseRequest,
|
|
123
|
+
uint256[],
|
|
124
|
+
IOKXDexRouter.RouterPath[][],
|
|
125
|
+
IOKXDexRouter.PMMSwapRequest[]
|
|
126
|
+
)
|
|
127
|
+
);
|
|
150
128
|
|
|
151
|
-
|
|
152
|
-
} else if (selector == IOKXDexRouter.dagSwapByOrderId.selector) {
|
|
153
|
-
(uint256 orderId, IOKXDexRouter.BaseRequest memory baseRequest, IOKXDexRouter.RouterPath[] memory paths) =
|
|
154
|
-
abi.decode(dataToDecode, (uint256, IOKXDexRouter.BaseRequest, IOKXDexRouter.RouterPath[]));
|
|
155
|
-
rawAmountIn = baseRequest.fromTokenAmount;
|
|
129
|
+
batchesAmount = _scaleArray(batchesAmount, actualAmount, baseRequest.fromTokenAmount);
|
|
156
130
|
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
157
131
|
baseRequest.fromTokenAmount = actualAmount;
|
|
158
132
|
|
|
159
|
-
|
|
133
|
+
return abi.encodeWithSelector(selector, orderId, baseRequest, batchesAmount, batches, extraData);
|
|
160
134
|
} else {
|
|
161
135
|
revert("PendleSwap: OKX selector not supported");
|
|
162
136
|
}
|
|
163
|
-
|
|
164
|
-
scaledCallData = _scaleTrimInfo(dataToDecode, scaledCallData, actualAmount, rawAmountIn);
|
|
165
|
-
return scaledCallData;
|
|
166
137
|
}
|
|
167
138
|
|
|
168
|
-
function _scaleArray(
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
{
|
|
139
|
+
function _scaleArray(
|
|
140
|
+
uint256[] memory arr,
|
|
141
|
+
uint256 newAmount,
|
|
142
|
+
uint256 oldAmount
|
|
143
|
+
) internal pure returns (uint256[] memory scaledArr) {
|
|
173
144
|
scaledArr = new uint256[](arr.length);
|
|
174
145
|
for (uint256 i = 0; i < arr.length; i++) {
|
|
175
146
|
scaledArr[i] = (arr[i] * newAmount) / oldAmount;
|
|
176
147
|
}
|
|
177
148
|
}
|
|
178
|
-
|
|
179
|
-
// ┌─────────────┬─────────────┬─────────────────┬─────────────┬─────────────┬─────────────────┐
|
|
180
|
-
// │ trim_flag │ padding │ expect_amount │ trim_flag │ trim_rate │ trim_address │
|
|
181
|
-
// │ 6 bytes │ 6 bytes │ 20 bytes │ 6 bytes │ 6 bytes │ 20 bytes │
|
|
182
|
-
// │0x777777771111│0x000000000000│ │0x777777771111│ │ │
|
|
183
|
-
// └─────────────┴─────────────┴─────────────────┴─────────────┴─────────────┴─────────────────┘
|
|
184
|
-
// ←────────────── 32 bytes ──────────────→
|
|
185
|
-
// ←────────────── 32 bytes ──────────────→
|
|
186
|
-
|
|
187
|
-
// ┌─────────────┬─────────────┬─────────────────┬─────────────┬─────────────┬─────────────────┬─────────────┬─────────────┬─────────────────┐
|
|
188
|
-
// │ trim_flag │ charge_rate │ charge_address │ trim_flag │ padding │ expect_amount │
|
|
189
|
-
// trim_flag │ trim_rate1 │ trim_address1 │
|
|
190
|
-
// │ 6 bytes │ 6 bytes │ 20 bytes │ 6 bytes │ 6 bytes │ 20 bytes │ 6
|
|
191
|
-
// bytes │ 6 bytes │ 20 bytes │ │0x777777772222│ │
|
|
192
|
-
// │0x777777772222│0x000000000000│ │0x77777772222│ │ │
|
|
193
|
-
// └─────────────┴─────────────┴─────────────────┴─────────────┴─────────────┴─────────────────┴─────────────┴─────────────┴─────────────────┘
|
|
194
|
-
// ←────────────── 32 bytes ──────────────→
|
|
195
|
-
// ←────────────── 32 bytes ──────────────→
|
|
196
|
-
// ←────────────── 32 bytes ──────────────→
|
|
197
|
-
function _scaleTrimInfo(
|
|
198
|
-
bytes calldata dataToDecode,
|
|
199
|
-
bytes memory scaledCallData,
|
|
200
|
-
uint256 actualAmountIn,
|
|
201
|
-
uint256 rawAmountIn
|
|
202
|
-
) internal pure returns (bytes memory) {
|
|
203
|
-
uint256 length = dataToDecode.length;
|
|
204
|
-
// search trim flag from back to front, get the index
|
|
205
|
-
uint256 firstFlagIndex = length - 32;
|
|
206
|
-
while (firstFlagIndex > 0) {
|
|
207
|
-
if (
|
|
208
|
-
uint256(bytes32(dataToDecode[firstFlagIndex:firstFlagIndex + 32])) & TRIM_FLAG_MASK == TRIM_FLAG
|
|
209
|
-
|| uint256(bytes32(dataToDecode[firstFlagIndex:firstFlagIndex + 32])) & TRIM_FLAG_MASK
|
|
210
|
-
== TRIM_DUAL_FLAG
|
|
211
|
-
) {
|
|
212
|
-
break;
|
|
213
|
-
}
|
|
214
|
-
firstFlagIndex -= 32;
|
|
215
|
-
}
|
|
216
|
-
require(
|
|
217
|
-
firstFlagIndex == 0 || firstFlagIndex > scaledCallData.length + 32,
|
|
218
|
-
"PendleSwap: OKX calldata length mismatch"
|
|
219
|
-
);
|
|
220
|
-
if (firstFlagIndex > scaledCallData.length + 32) {
|
|
221
|
-
uint256 middleFlagIndex = firstFlagIndex - 32;
|
|
222
|
-
uint256 data = uint256(bytes32(dataToDecode[middleFlagIndex:middleFlagIndex + 32]));
|
|
223
|
-
require(
|
|
224
|
-
data & TRIM_FLAG_MASK == TRIM_FLAG || data & TRIM_FLAG_MASK == TRIM_DUAL_FLAG,
|
|
225
|
-
"PendleSwap: OKX trim flag not found in expected position"
|
|
226
|
-
);
|
|
227
|
-
uint256 expectAmountOut =
|
|
228
|
-
uint256(bytes32(dataToDecode[middleFlagIndex:middleFlagIndex + 32])) & TRIM_EXPECT_AMOUNT_OUT_MASK;
|
|
229
|
-
|
|
230
|
-
uint256 acutalExpectAmountOut = (expectAmountOut * actualAmountIn) / rawAmountIn;
|
|
231
|
-
|
|
232
|
-
if (data & TRIM_FLAG_MASK == TRIM_FLAG) {
|
|
233
|
-
bytes32 middle = bytes32(
|
|
234
|
-
abi.encodePacked(bytes6(bytes32(uint256(TRIM_FLAG))), uint48(0), uint160(acutalExpectAmountOut))
|
|
235
|
-
);
|
|
236
|
-
bytes32 first = bytes32(dataToDecode[firstFlagIndex:firstFlagIndex + 32]);
|
|
237
|
-
scaledCallData = abi.encodePacked(scaledCallData, middle, first);
|
|
238
|
-
} else {
|
|
239
|
-
bytes32 last = bytes32(dataToDecode[middleFlagIndex - 32:middleFlagIndex]);
|
|
240
|
-
bytes32 middle = bytes32(
|
|
241
|
-
abi.encodePacked(
|
|
242
|
-
bytes6(bytes32(uint256(TRIM_DUAL_FLAG))), uint48(0), uint160(acutalExpectAmountOut)
|
|
243
|
-
)
|
|
244
|
-
);
|
|
245
|
-
bytes32 first = bytes32(dataToDecode[firstFlagIndex:firstFlagIndex + 32]);
|
|
246
|
-
|
|
247
|
-
scaledCallData = abi.encodePacked(scaledCallData, last, middle, first);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
return scaledCallData;
|
|
251
|
-
}
|
|
252
149
|
}
|
|
253
150
|
|
|
254
151
|
interface IOKXDexRouter {
|
|
255
|
-
struct CommissionInfo {
|
|
256
|
-
bool isFromTokenCommission; //0x00
|
|
257
|
-
bool isToTokenCommission; //0x20
|
|
258
|
-
uint256 commissionRate; //0x40
|
|
259
|
-
address refererAddress; //0x60
|
|
260
|
-
address token; //0x80
|
|
261
|
-
uint256 commissionRate2; //0xa0
|
|
262
|
-
address refererAddress2; //0xc0
|
|
263
|
-
bool isToBCommission; //0xe0
|
|
264
|
-
uint256 commissionRate3; //0x100
|
|
265
|
-
address refererAddress3; //0x120
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
struct TrimInfo {
|
|
269
|
-
bool hasTrim; // 0x00
|
|
270
|
-
uint256 trimRate; // 0x20
|
|
271
|
-
address trimAddress; // 0x40
|
|
272
|
-
uint256 expectAmountOut; // 0x60
|
|
273
|
-
uint256 chargeRate; // 0x80
|
|
274
|
-
address chargeAddress; // 0xa0
|
|
275
|
-
}
|
|
276
|
-
|
|
277
152
|
struct BaseRequest {
|
|
278
153
|
uint256 fromToken;
|
|
279
154
|
address toToken;
|
|
@@ -316,10 +191,12 @@ interface IOKXDexRouter {
|
|
|
316
191
|
// address to
|
|
317
192
|
// ) external payable;
|
|
318
193
|
|
|
319
|
-
function uniswapV3SwapTo(
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
194
|
+
function uniswapV3SwapTo(
|
|
195
|
+
uint256 receiver,
|
|
196
|
+
uint256 amount,
|
|
197
|
+
uint256 minReturn,
|
|
198
|
+
uint256[] calldata pools
|
|
199
|
+
) external payable returns (uint256 returnAmount);
|
|
323
200
|
|
|
324
201
|
function smartSwapTo(
|
|
325
202
|
uint256 orderId,
|
|
@@ -345,10 +222,7 @@ interface IOKXDexRouter {
|
|
|
345
222
|
uint256 minReturn,
|
|
346
223
|
// solhint-disable-next-line no-unused-vars
|
|
347
224
|
bytes32[] calldata pools
|
|
348
|
-
)
|
|
349
|
-
external
|
|
350
|
-
payable
|
|
351
|
-
returns (uint256 returnAmount);
|
|
225
|
+
) external payable returns (uint256 returnAmount);
|
|
352
226
|
|
|
353
227
|
function smartSwapByOrderId(
|
|
354
228
|
uint256 orderId,
|
|
@@ -357,14 +231,4 @@ interface IOKXDexRouter {
|
|
|
357
231
|
RouterPath[][] calldata batches,
|
|
358
232
|
PMMSwapRequest[] calldata extraData
|
|
359
233
|
) external payable returns (uint256 returnAmount);
|
|
360
|
-
|
|
361
|
-
function dagSwapTo(uint256 orderId, address receiver, BaseRequest calldata baseRequest, RouterPath[] calldata paths)
|
|
362
|
-
external
|
|
363
|
-
payable
|
|
364
|
-
returns (uint256 returnAmount);
|
|
365
|
-
|
|
366
|
-
function dagSwapByOrderId(uint256 orderId, BaseRequest calldata baseRequest, RouterPath[] calldata paths)
|
|
367
|
-
external
|
|
368
|
-
payable
|
|
369
|
-
returns (uint256 returnAmount);
|
|
370
234
|
}
|
|
@@ -36,10 +36,11 @@ interface IAugustusV6 {
|
|
|
36
36
|
bytes pools;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
function swapExactAmountInOnUniswapV2(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
function swapExactAmountInOnUniswapV2(
|
|
40
|
+
UniswapV2Data calldata uniData,
|
|
41
|
+
uint256 partnerAndFee,
|
|
42
|
+
bytes calldata permit
|
|
43
|
+
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
43
44
|
|
|
44
45
|
// ============ UniswapV3 Swap ============
|
|
45
46
|
struct UniswapV3Data {
|
|
@@ -53,10 +54,11 @@ interface IAugustusV6 {
|
|
|
53
54
|
bytes pools;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
function swapExactAmountInOnUniswapV3(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
function swapExactAmountInOnUniswapV3(
|
|
58
|
+
UniswapV3Data calldata uniData,
|
|
59
|
+
uint256 partnerAndFee,
|
|
60
|
+
bytes calldata permit
|
|
61
|
+
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
60
62
|
|
|
61
63
|
// ============ BalancerV2 Swap ============
|
|
62
64
|
struct BalancerV2Data {
|
|
@@ -87,10 +89,11 @@ interface IAugustusV6 {
|
|
|
87
89
|
address payable beneficiary;
|
|
88
90
|
}
|
|
89
91
|
|
|
90
|
-
function swapExactAmountInOnCurveV1(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
function swapExactAmountInOnCurveV1(
|
|
93
|
+
CurveV1Data calldata curveV1Data,
|
|
94
|
+
uint256 partnerAndFee,
|
|
95
|
+
bytes calldata permit
|
|
96
|
+
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
94
97
|
|
|
95
98
|
// ============ CurveV2 Swap ============
|
|
96
99
|
struct CurveV2Data {
|
|
@@ -107,10 +110,11 @@ interface IAugustusV6 {
|
|
|
107
110
|
address payable beneficiary;
|
|
108
111
|
}
|
|
109
112
|
|
|
110
|
-
function swapExactAmountInOnCurveV2(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
function swapExactAmountInOnCurveV2(
|
|
114
|
+
CurveV2Data calldata curveV2Data,
|
|
115
|
+
uint256 partnerAndFee,
|
|
116
|
+
bytes calldata permit
|
|
117
|
+
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
114
118
|
|
|
115
119
|
// ============ MakerPSM Swap ============
|
|
116
120
|
struct MakerPSMData {
|
|
@@ -126,17 +130,17 @@ interface IAugustusV6 {
|
|
|
126
130
|
uint256 beneficiaryDirectionApproveFlag;
|
|
127
131
|
}
|
|
128
132
|
|
|
129
|
-
function swapExactAmountInOutOnMakerPSM(
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
function swapExactAmountInOutOnMakerPSM(
|
|
134
|
+
MakerPSMData calldata makerPSMData,
|
|
135
|
+
bytes calldata permit
|
|
136
|
+
) external returns (uint256 spentAmount, uint256 receivedAmount);
|
|
132
137
|
}
|
|
133
138
|
|
|
134
139
|
contract ParaswapScaleHelper {
|
|
135
|
-
function _paraswapScaling(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
{
|
|
140
|
+
function _paraswapScaling(
|
|
141
|
+
bytes calldata rawCallData,
|
|
142
|
+
uint256 amountIn
|
|
143
|
+
) internal pure returns (bytes memory scaledCallData) {
|
|
140
144
|
bytes4 selector = bytes4(rawCallData[:4]);
|
|
141
145
|
bytes calldata dataToDecode = rawCallData[4:];
|
|
142
146
|
|
|
@@ -159,8 +163,10 @@ contract ParaswapScaleHelper {
|
|
|
159
163
|
}
|
|
160
164
|
// Handle UniswapV2
|
|
161
165
|
else if (selector == IAugustusV6.swapExactAmountInOnUniswapV2.selector) {
|
|
162
|
-
(IAugustusV6.UniswapV2Data memory uniData, uint256 partnerAndFee, bytes memory permit) =
|
|
163
|
-
|
|
166
|
+
(IAugustusV6.UniswapV2Data memory uniData, uint256 partnerAndFee, bytes memory permit) = abi.decode(
|
|
167
|
+
dataToDecode,
|
|
168
|
+
(IAugustusV6.UniswapV2Data, uint256, bytes)
|
|
169
|
+
);
|
|
164
170
|
|
|
165
171
|
// Direct scaling calculation
|
|
166
172
|
uniData.toAmount = (uniData.toAmount * amountIn) / uniData.fromAmount;
|
|
@@ -171,8 +177,10 @@ contract ParaswapScaleHelper {
|
|
|
171
177
|
}
|
|
172
178
|
// Handle UniswapV3
|
|
173
179
|
else if (selector == IAugustusV6.swapExactAmountInOnUniswapV3.selector) {
|
|
174
|
-
(IAugustusV6.UniswapV3Data memory uniV3Data, uint256 partnerAndFee, bytes memory permit) =
|
|
175
|
-
|
|
180
|
+
(IAugustusV6.UniswapV3Data memory uniV3Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
|
|
181
|
+
dataToDecode,
|
|
182
|
+
(IAugustusV6.UniswapV3Data, uint256, bytes)
|
|
183
|
+
);
|
|
176
184
|
|
|
177
185
|
// Direct scaling calculation
|
|
178
186
|
uniV3Data.toAmount = (uniV3Data.toAmount * amountIn) / uniV3Data.fromAmount;
|
|
@@ -199,8 +207,10 @@ contract ParaswapScaleHelper {
|
|
|
199
207
|
}
|
|
200
208
|
// Handle CurveV1
|
|
201
209
|
else if (selector == IAugustusV6.swapExactAmountInOnCurveV1.selector) {
|
|
202
|
-
(IAugustusV6.CurveV1Data memory curveV1Data, uint256 partnerAndFee, bytes memory permit) =
|
|
203
|
-
|
|
210
|
+
(IAugustusV6.CurveV1Data memory curveV1Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
|
|
211
|
+
dataToDecode,
|
|
212
|
+
(IAugustusV6.CurveV1Data, uint256, bytes)
|
|
213
|
+
);
|
|
204
214
|
|
|
205
215
|
// Direct scaling calculation
|
|
206
216
|
curveV1Data.toAmount = (curveV1Data.toAmount * amountIn) / curveV1Data.fromAmount;
|
|
@@ -211,8 +221,10 @@ contract ParaswapScaleHelper {
|
|
|
211
221
|
}
|
|
212
222
|
// Handle CurveV2
|
|
213
223
|
else if (selector == IAugustusV6.swapExactAmountInOnCurveV2.selector) {
|
|
214
|
-
(IAugustusV6.CurveV2Data memory curveV2Data, uint256 partnerAndFee, bytes memory permit) =
|
|
215
|
-
|
|
224
|
+
(IAugustusV6.CurveV2Data memory curveV2Data, uint256 partnerAndFee, bytes memory permit) = abi.decode(
|
|
225
|
+
dataToDecode,
|
|
226
|
+
(IAugustusV6.CurveV2Data, uint256, bytes)
|
|
227
|
+
);
|
|
216
228
|
|
|
217
229
|
// Direct scaling calculation
|
|
218
230
|
curveV2Data.toAmount = (curveV2Data.toAmount * amountIn) / curveV2Data.fromAmount;
|
|
@@ -223,8 +235,10 @@ contract ParaswapScaleHelper {
|
|
|
223
235
|
}
|
|
224
236
|
// Handle MakerPSM
|
|
225
237
|
else if (selector == IAugustusV6.swapExactAmountInOutOnMakerPSM.selector) {
|
|
226
|
-
(IAugustusV6.MakerPSMData memory makerPSMData, bytes memory permit) =
|
|
227
|
-
|
|
238
|
+
(IAugustusV6.MakerPSMData memory makerPSMData, bytes memory permit) = abi.decode(
|
|
239
|
+
dataToDecode,
|
|
240
|
+
(IAugustusV6.MakerPSMData, bytes)
|
|
241
|
+
);
|
|
228
242
|
|
|
229
243
|
// Direct scaling calculation
|
|
230
244
|
makerPSMData.toAmount = (makerPSMData.toAmount * amountIn) / makerPSMData.fromAmount;
|
|
@@ -3,9 +3,9 @@ pragma solidity ^0.8.17;
|
|
|
3
3
|
|
|
4
4
|
import "../../core/libraries/TokenHelper.sol";
|
|
5
5
|
import "./IPSwapAggregator.sol";
|
|
6
|
+
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
6
7
|
import "./OKXScaleHelper.sol";
|
|
7
8
|
import "./ParaswapScaleHelper.sol";
|
|
8
|
-
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
9
9
|
|
|
10
10
|
import "../../core/libraries/BoringOwnableUpgradeableV2.sol";
|
|
11
11
|
import "@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol";
|
|
@@ -33,11 +33,10 @@ contract PendleSwap is
|
|
|
33
33
|
|
|
34
34
|
function swap(address tokenIn, uint256 amountIn, SwapData calldata data) external payable {
|
|
35
35
|
_approveForExtRouter(tokenIn, data);
|
|
36
|
-
data.extRouter
|
|
37
|
-
.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
);
|
|
36
|
+
data.extRouter.functionCallWithValue(
|
|
37
|
+
data.needScale ? _getScaledInputData(data.swapType, data.extCalldata, amountIn) : data.extCalldata,
|
|
38
|
+
tokenIn == NATIVE ? amountIn : 0
|
|
39
|
+
);
|
|
41
40
|
|
|
42
41
|
emit SwapSingle(data.swapType, tokenIn, amountIn);
|
|
43
42
|
}
|
|
@@ -58,15 +57,17 @@ contract PendleSwap is
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
function _getScaledInputData(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
{
|
|
60
|
+
function _getScaledInputData(
|
|
61
|
+
SwapType swapType,
|
|
62
|
+
bytes calldata rawCallData,
|
|
63
|
+
uint256 amountIn
|
|
64
|
+
) internal view returns (bytes memory scaledCallData) {
|
|
66
65
|
if (swapType == SwapType.KYBERSWAP) {
|
|
67
66
|
bool isSuccess;
|
|
68
|
-
(isSuccess, scaledCallData) =
|
|
69
|
-
|
|
67
|
+
(isSuccess, scaledCallData) = IKyberScalingHelper(KYBER_SCALING_HELPER).getScaledInputData(
|
|
68
|
+
rawCallData,
|
|
69
|
+
amountIn
|
|
70
|
+
);
|
|
70
71
|
|
|
71
72
|
require(isSuccess, "PendleSwap: Kyber scaling failed");
|
|
72
73
|
} else if (swapType == SwapType.ODOS) {
|
|
@@ -80,11 +81,10 @@ contract PendleSwap is
|
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
function _odosScaling(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
{
|
|
84
|
+
function _odosScaling(
|
|
85
|
+
bytes calldata rawCallData,
|
|
86
|
+
uint256 amountIn
|
|
87
|
+
) internal pure returns (bytes memory scaledCallData) {
|
|
88
88
|
bytes4 selector = bytes4(rawCallData[:4]);
|
|
89
89
|
bytes calldata dataToDecode = rawCallData[4:];
|
|
90
90
|
|
|
@@ -109,10 +109,10 @@ contract PendleSwap is
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
interface IKyberScalingHelper {
|
|
112
|
-
function getScaledInputData(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
function getScaledInputData(
|
|
113
|
+
bytes calldata inputData,
|
|
114
|
+
uint256 newAmount
|
|
115
|
+
) external view returns (bool isSuccess, bytes memory data);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
interface IOdosRouterV2 {
|
|
@@ -126,8 +126,10 @@ interface IOdosRouterV2 {
|
|
|
126
126
|
address outputReceiver;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
function swap(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
function swap(
|
|
130
|
+
swapTokenInfo memory tokenInfo,
|
|
131
|
+
bytes calldata pathDefinition,
|
|
132
|
+
address executor,
|
|
133
|
+
uint32 referralCode
|
|
134
|
+
) external payable returns (uint256 amountOut);
|
|
133
135
|
}
|
package/deployments/1-core.json
CHANGED
|
@@ -7,6 +7,5 @@
|
|
|
7
7
|
"balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
|
|
8
8
|
"limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
|
|
9
9
|
"checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
|
|
10
|
-
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
11
|
-
"feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
|
|
10
|
+
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
12
11
|
}
|
package/deployments/10-core.json
CHANGED
|
@@ -6,6 +6,5 @@
|
|
|
6
6
|
"balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
|
|
7
7
|
"limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
|
|
8
8
|
"checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
|
|
9
|
-
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
10
|
-
"feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
|
|
9
|
+
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
11
10
|
}
|
|
@@ -6,6 +6,5 @@
|
|
|
6
6
|
"balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
|
|
7
7
|
"limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
|
|
8
8
|
"checkSolvent": "0x21332dCAe68b603B9170d25D21fda68f18Da91df",
|
|
9
|
-
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
10
|
-
"feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
|
|
9
|
+
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
11
10
|
}
|
|
@@ -7,6 +7,5 @@
|
|
|
7
7
|
"balanceReader": "0x2085F50305f656f96b22ECBfe0A4f5e786Ff0438",
|
|
8
8
|
"limitBackendHelperV2": "0xf02CdbD8F6A18c73B73331FEe3C2110e74508977",
|
|
9
9
|
"checkSolvent": "0x1dE943933417D50738557Ac98FF96405CeeeeCD5",
|
|
10
|
-
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
11
|
-
"feeSetter": "0x0185921C7C6A21F1f5c45A34456C379c9bEC6A81"
|
|
10
|
+
"externalCapGate": "0x65E04a3b2af7716B7f0765dE62Fa2f1B3290C23F"
|
|
12
11
|
}
|