@pendle/core-v2 6.3.0-fee-setter → 6.3.0-sweedtest
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/LiquidityMining/libraries/WeekMath.sol/WeekMath.dbg.json +1 -1
- 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/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendlePrincipalToken.sol/PendlePrincipalToken.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/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 +18 -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/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.json +2 -2
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.json +2 -2
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- 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/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/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/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILPWrapper.sol/ILPWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroEndpoint.sol/ILayerZeroEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILayerZeroReceiver.sol/ILayerZeroReceiver.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IMarketSweed.sol/IMarketSweed.json +141 -0
- package/build/artifacts/contracts/interfaces/IOwnable.sol/IOwnable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiqV3.sol/IPActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionCallbackV3.sol/IPActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionInfoStatic.sol/IPActionInfoStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketAuxStatic.sol/IPActionMarketAuxStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMarketCoreStatic.sol/IPActionMarketCoreStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeemStatic.sol/IPActionMintRedeemStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMiscV3.sol/IPActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSimple.sol/IPActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageStatic.sol/IPActionStorageStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionStorageV4.sol/IPActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPTV3.sol/IPActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYTV3.sol/IPActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionVePendleStatic.sol/IPActionVePendleStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllActionV3.sol/IPAllActionV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionAddRemoveLiqV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionMiscV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionStorageEvents.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapPTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPActionSwapYTV3Events.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllEventsV3.sol/IPAllEventsV3.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracle.sol/IPChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleFactory.sol/IPChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPChainlinkOracleWithQuote.sol/IPChainlinkOracleWithQuote.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonPoolDeployHelperV2.sol/IPCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPCommonSYFactory.sol/IPCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.json +135 -0
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeController.sol/IPGaugeController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGaugeControllerMainchain.sol/IPGaugeControllerMainchain.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGovernanceProxy.sol/IPGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYT.sol/IPInterestManagerYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPInterestManagerYTV2.sol/IPInterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLPWrapperFactory.sol/IPLPWrapperFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitOrderType.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPLimitRouter.sol/IPLimitRouterCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarket.sol/IPMarket.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketFactory.sol/IPMarketFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMarketSwapCallback.sol/IPMarketSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMerkleDistributor.sol/IPMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMiniDiamond.sol/IPMiniDiamond.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMultiTokenMerkleDistributor.sol/IPMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOffchainStorage.sol/IPOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPOracleForSy.sol/IPOracleForSy.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPYLpOracle.sol/IPPYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPausingInterface.sol/IPPausingInterface.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPoolDeployHelperV2.sol/IPPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPriceFeed.sol/IPPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPReflector.sol/IPReflector.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPRouterStatic.sol/IPRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPTokenWithSupplyCap.sol/IPTokenWithSupplyCap.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPVeToken.sol/IPVeToken.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/IRedstonePriceFeed.sol/IRedstonePriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.dbg.json +1 -1
- package/build/artifacts/contracts/limit/LimitMathCore.sol/LimitMathCore.json +2 -2
- package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
- package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/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/MarketSweed.sol/MarketSweed.dbg.json +4 -0
- package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +314 -0
- 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/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/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/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/SupplyCapReader.sol/IPossibleSupplyCapInterface.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SupplyCapReader.sol/SupplyCapReader.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
- package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/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/base/PendleCrossChainOracleBaseApp_Init.sol/PendleCrossChainOracleBaseApp_Init.json +13 -13
- 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 +150 -12
- 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/PendleLinearDiscountOracleWrapper.sol/PendleLinearDiscountOracleWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol/PendleSparkLinearDiscountOracleFactoryWrapper.json +2 -2
- package/build/artifacts/contracts/oracles/internal/PendleBoringOneracle.sol/PendleBoringOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleBoringSolvBTCOneracle.sol/PendleBoringSolvBTCOneracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/LPExpiry.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracle.sol/PendleLpLinearDiscountOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleLpLinearDiscountOracleFactory.sol/PendleLpLinearDiscountOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleRedStoneRateOracleAdapter.sol/PendleRedStoneRateOracleAdapter.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionStorageV4.sol/ActionStorageV4.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.json +2 -2
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
- package/build/artifacts/contracts/router/RouterStorage.sol/RouterStorage.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/ApproxStateLib.sol/ApproxStateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.json +2 -2
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.json +171 -0
- 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 +15 -17
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol +14 -16
- package/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol +2 -3
- package/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol +9 -12
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +12 -12
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerBaseUpg.sol +8 -10
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerMainchainUpg.sol +6 -12
- package/contracts/LiquidityMining/GaugeController/PendleGaugeControllerSidechainUpg.sol +4 -11
- package/contracts/LiquidityMining/PendleMerkleDistributor.sol +11 -13
- package/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol +17 -22
- package/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol +21 -28
- package/contracts/LiquidityMining/VotingController/VotingControllerStorageUpg.sol +31 -27
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleMainchain.sol +19 -23
- package/contracts/LiquidityMining/VotingEscrow/VotingEscrowPendleSidechain.sol +7 -8
- package/contracts/LiquidityMining/libraries/VeBalanceLib.sol +6 -5
- package/contracts/core/Market/MarketMathCore.sol +78 -112
- package/contracts/core/Market/OracleLib.sol +34 -41
- package/contracts/core/Market/PendleGauge.sol +8 -8
- package/contracts/core/Market/PendleMarketFactoryV6Upg.sol +19 -16
- package/contracts/core/Market/PendleMarketV6.sol +63 -65
- package/contracts/core/RewardManager/RewardManager.sol +8 -8
- package/contracts/core/RewardManager/RewardManagerAbstract.sol +6 -5
- package/contracts/core/StandardizedYield/PYIndex.sol +2 -2
- package/contracts/core/YieldContracts/InterestManagerYT.sol +8 -9
- package/contracts/core/YieldContracts/PendlePrincipalToken.sol +4 -8
- package/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol +15 -12
- package/contracts/core/YieldContracts/PendleYieldToken.sol +54 -41
- package/contracts/core/erc20/PendleERC20.sol +9 -6
- package/contracts/core/libraries/ArrayLib.sol +11 -13
- package/contracts/core/libraries/BaseSplitCodeFactory.sol +22 -29
- package/contracts/core/libraries/BoringOwnableUpgradeableV2.sol +2 -1
- package/contracts/core/libraries/Errors.sol +2 -4
- 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 +77 -67
- package/contracts/cross-chain/FixedPricePTAMM.sol +38 -39
- 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 +15 -12
- package/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol +21 -24
- package/contracts/interfaces/ILayerZeroEndpoint.sol +5 -3
- package/contracts/interfaces/IMarketSweed.sol +23 -0
- package/contracts/interfaces/IPActionCallbackV3.sol +1 -1
- package/contracts/interfaces/IPActionInfoStatic.sol +1 -3
- package/contracts/interfaces/IPActionMarketAuxStatic.sol +11 -15
- package/contracts/interfaces/IPActionMarketCoreStatic.sol +58 -109
- package/contracts/interfaces/IPActionMintRedeemStatic.sol +21 -26
- package/contracts/interfaces/IPActionMiscV3.sol +24 -44
- package/contracts/interfaces/IPActionSimple.sol +24 -43
- package/contracts/interfaces/IPActionVePendleStatic.sol +4 -5
- package/contracts/interfaces/IPAllActionTypeV3.sol +14 -16
- package/contracts/interfaces/IPAllActionV3.sol +4 -4
- package/contracts/interfaces/IPAllEventsV3.sol +5 -21
- package/contracts/interfaces/IPBridgedPrincipalToken.sol +2 -2
- package/contracts/interfaces/IPCommonSYFactory.sol +3 -6
- package/contracts/interfaces/IPExchangeRateOracleApp.sol +44 -17
- package/contracts/interfaces/IPFeeDistributorV2.sol +13 -16
- package/contracts/interfaces/IPFixedPricePTAMM.sol +22 -34
- package/contracts/interfaces/IPGovernanceProxy.sol +2 -6
- package/contracts/interfaces/IPInterestManagerYTV2.sol +4 -3
- package/contracts/interfaces/IPLimitRouter.sol +12 -16
- package/contracts/interfaces/IPMarket.sol +23 -35
- package/contracts/interfaces/IPMarketFactory.sol +9 -16
- package/contracts/interfaces/IPMerkleDistributor.sol +6 -10
- package/contracts/interfaces/IPMsgSendEndpoint.sol +7 -12
- package/contracts/interfaces/IPMultiTokenMerkleDistributor.sol +6 -12
- package/contracts/interfaces/IPPYLpOracle.sol +1 -4
- 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 +3 -5
- package/contracts/interfaces/IPYieldToken.sol +8 -11
- package/contracts/interfaces/IPYieldTokenV2.sol +8 -11
- package/contracts/interfaces/IStandardizedYield.sol +16 -17
- package/contracts/limit/LimitMathCore.sol +38 -56
- package/contracts/limit/LimitRouterBase.sol +66 -88
- package/contracts/limit/PendleLimitRouter.sol +11 -7
- package/contracts/offchain-helpers/AddressProvider.sol +1 -1
- package/contracts/offchain-helpers/AutomateReady.sol +2 -2
- package/contracts/offchain-helpers/BalanceReader.sol +21 -9
- package/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol +5 -7
- package/contracts/offchain-helpers/Broadcaster.sol +3 -3
- package/contracts/offchain-helpers/BytesLib.sol +3 -5
- package/contracts/offchain-helpers/EmptyUUPS.sol +2 -2
- package/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol +5 -8
- package/contracts/offchain-helpers/LegacyNFTHelper.sol +1 -5
- package/contracts/offchain-helpers/LimitBackendHelperV2.sol +12 -12
- package/contracts/offchain-helpers/MarketSweed.sol +246 -0
- package/contracts/offchain-helpers/Multicall2.sol +9 -7
- package/contracts/offchain-helpers/PendleExchangeRateOracle.sol +4 -8
- package/contracts/offchain-helpers/PendleFeeSetter.sol +24 -34
- package/contracts/offchain-helpers/PendleGovernanceProxy.sol +7 -10
- package/contracts/offchain-helpers/PendleLPWrapper.sol +12 -3
- package/contracts/offchain-helpers/PendleLPWrapperFactory.sol +2 -2
- package/contracts/offchain-helpers/PendleMulticallV1.sol +7 -7
- package/contracts/offchain-helpers/PendleMulticallV2.sol +13 -12
- package/contracts/offchain-helpers/PendleOffchainStorage.sol +1 -1
- package/contracts/offchain-helpers/PendleWstETHPriceFeed.sol +4 -2
- package/contracts/offchain-helpers/SimulateHelper.sol +7 -6
- package/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol +13 -32
- package/contracts/offchain-helpers/deploy/PendleCommonSYFactory.sol +7 -11
- package/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol +16 -35
- package/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol +15 -35
- package/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol +12 -13
- package/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol +1 -4
- package/contracts/offchain-helpers/router-static/PendleRouterStatic.sol +1 -1
- package/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol +12 -9
- package/contracts/offchain-helpers/router-static/base/ActionMarketAuxStatic.sol +60 -91
- package/contracts/offchain-helpers/router-static/base/ActionMarketCoreStatic.sol +103 -190
- 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 +8 -10
- package/contracts/offchain-helpers/router-static/base/MarketApproxLibV1.sol +100 -40
- package/contracts/oracles/CrossChainOracle/base/PendleCrossChainOracleBaseApp_Init.sol +18 -9
- package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleApp.sol +118 -52
- package/contracts/oracles/CrossChainOracle/exchangeRate/PendleExchangeRateOracleV2.sol +2 -3
- package/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol +12 -12
- package/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol +17 -20
- package/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol +15 -19
- package/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol +7 -6
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol +13 -9
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol +20 -21
- package/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol +4 -7
- package/contracts/oracles/PtYtLpOracle/samples/BoringLpSeller.sol +2 -2
- package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkAssetOracle.sol +13 -10
- package/contracts/oracles/PtYtLpOracle/samples/BoringPYUsdChainlinkSYOracle.sol +13 -10
- package/contracts/oracles/PtYtLpOracle/samples/BoringPtSeller.sol +6 -5
- package/contracts/oracles/StatelessWrapper/PendleSparkLinearDiscountOracleFactoryWrapper.sol +1 -1
- package/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol +3 -3
- package/contracts/router/ActionAddRemoveLiqV3.sol +55 -150
- package/contracts/router/ActionCallbackV3.sol +20 -13
- package/contracts/router/ActionMiscV3.sol +54 -78
- package/contracts/router/ActionSimple.sol +76 -128
- package/contracts/router/ActionSwapPTV3.sol +7 -19
- package/contracts/router/ActionSwapYTV3.sol +8 -20
- package/contracts/router/PendleRouterV4.sol +1 -1
- package/contracts/router/Reflector.sol +15 -21
- package/contracts/router/base/ActionBase.sol +61 -105
- package/contracts/router/base/ActionDelegateBase.sol +39 -38
- package/contracts/router/base/CallbackHelper.sol +21 -19
- package/contracts/router/math/ApproxStateLib.sol +28 -28
- package/contracts/router/math/MarketApproxEstimateLib.sol +11 -13
- package/contracts/router/math/MarketApproxLibOnchain.sol +47 -24
- package/contracts/router/math/MarketApproxLibV2.sol +63 -44
- package/contracts/router/swap-aggregator/OKXScaleHelper.sol +191 -55
- package/contracts/router/swap-aggregator/ParaswapScaleHelper.sol +34 -48
- package/contracts/router/swap-aggregator/PendleSwap.sol +26 -28
- package/deployments/1-core.json +5 -2
- package/deployments/10-core.json +5 -2
- package/deployments/146-core.json +5 -2
- package/deployments/42161-core.json +7 -3
- package/deployments/5000-core.json +5 -2
- package/deployments/56-core.json +5 -2
- package/deployments/80094-core.json +5 -2
- package/deployments/8453-core.json +5 -2
- package/deployments/9745-core.json +5 -2
- package/deployments/999-core.json +5 -2
- package/package.json +3 -5
- package/typechain-types/IMarketSweed.ts +203 -0
- package/typechain-types/IOKXDexRouter.ts +99 -0
- package/typechain-types/IPExchangeRateOracleApp.ts +83 -0
- package/typechain-types/LimitMathCore.ts +102 -0
- package/typechain-types/MarketSweed.ts +242 -0
- package/typechain-types/OverfillMathLib.ts +81 -0
- package/typechain-types/PendleCrossChainOracleBaseApp_Init.ts +13 -19
- package/typechain-types/PendleExchangeRateOracleApp.ts +73 -9
- package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
- package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
- package/typechain-types/factories/ActionDelegateBase__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 +17 -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/{IPActionCrossChain__factory.ts → IMarketSweed__factory.ts} +61 -22
- package/typechain-types/factories/IOKXDexRouter__factory.ts +171 -0
- package/typechain-types/factories/IPExchangeRateOracleApp__factory.ts +135 -0
- package/typechain-types/factories/LegacyNFTHelper__factory.ts +1 -1
- package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
- package/typechain-types/factories/LimitMathCore__factory.ts +87 -0
- package/typechain-types/factories/MarketSweed__factory.ts +364 -0
- package/typechain-types/factories/Multicall2__factory.ts +1 -1
- package/typechain-types/factories/OracleLib__factory.ts +1 -1
- package/typechain-types/factories/OverfillMathLib__factory.ts +77 -0
- 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/PendleCrossChainOracleBaseApp_Init__factory.ts +13 -13
- package/typechain-types/factories/PendleERC20__factory.ts +1 -1
- package/typechain-types/factories/PendleExchangeRateOracleApp__factory.ts +150 -19
- 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/PendleFeeSetter__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/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 +18 -0
- package/typechain-types/index.ts +4 -0
- package/typechain-types/ActionCrossChain.ts +0 -161
- package/typechain-types/BasePendleBridgedPrincipalToken.ts +0 -1689
- package/typechain-types/IPActionCrossChain.ts +0 -161
- package/typechain-types/LimitBackendHelper.ts +0 -287
- package/typechain-types/PendleBridgedPrincipalToken_18Decimals.ts +0 -1689
- package/typechain-types/PendleBridgedPrincipalToken_6Decimals.ts +0 -1689
- package/typechain-types/PendleBridgedPrincipalToken_8Decimals.ts +0 -1689
- package/typechain-types/factories/ActionCrossChain__factory.ts +0 -152
- package/typechain-types/factories/BasePendleBridgedPrincipalToken__factory.ts +0 -1548
- package/typechain-types/factories/LimitBackendHelper__factory.ts +0 -232
- package/typechain-types/factories/PendleBridgedPrincipalToken_18Decimals__factory.ts +0 -1652
- package/typechain-types/factories/PendleBridgedPrincipalToken_6Decimals__factory.ts +0 -1650
- package/typechain-types/factories/PendleBridgedPrincipalToken_8Decimals__factory.ts +0 -1650
|
@@ -7,6 +7,11 @@ 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;
|
|
10
15
|
|
|
11
16
|
// @dev `allowUnsupportedChain` is a safe guard to prevent deploying this contract on unsupported chains by mistake
|
|
12
17
|
// @dev Please add new `__getTokenApproveForChain` entry when deploying to a new chain.
|
|
@@ -28,7 +33,7 @@ abstract contract OKXScaleHelper {
|
|
|
28
33
|
if (chainid == 56) {
|
|
29
34
|
return 0x2c34A2Fb1d0b4f55de51E1d0bDEfaDDce6b7cDD6;
|
|
30
35
|
}
|
|
31
|
-
if (chainid ==
|
|
36
|
+
if (chainid == 42_161) {
|
|
32
37
|
return 0x70cBb871E8f30Fc8Ce23609E9E0Ea87B6b222F58;
|
|
33
38
|
}
|
|
34
39
|
if (chainid == 8453 || chainid == 5000) {
|
|
@@ -48,23 +53,22 @@ abstract contract OKXScaleHelper {
|
|
|
48
53
|
return _tokenApprove;
|
|
49
54
|
}
|
|
50
55
|
|
|
51
|
-
function _okxScaling(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
function _okxScaling(bytes calldata rawCallData, uint256 actualAmount)
|
|
57
|
+
internal
|
|
58
|
+
pure
|
|
59
|
+
returns (bytes memory scaledCallData)
|
|
60
|
+
{
|
|
55
61
|
bytes4 selector = bytes4(rawCallData[:4]);
|
|
56
62
|
bytes calldata dataToDecode = rawCallData[4:];
|
|
57
|
-
|
|
63
|
+
uint256 rawAmountIn;
|
|
58
64
|
if (selector == IOKXDexRouter.uniswapV3SwapTo.selector) {
|
|
59
|
-
(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) =
|
|
60
|
-
dataToDecode,
|
|
61
|
-
|
|
62
|
-
);
|
|
63
|
-
|
|
65
|
+
(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] memory pools) =
|
|
66
|
+
abi.decode(dataToDecode, (uint256, uint256, uint256, uint256[]));
|
|
67
|
+
rawAmountIn = amount;
|
|
64
68
|
minReturn = (minReturn * actualAmount) / amount;
|
|
65
69
|
amount = actualAmount;
|
|
66
70
|
|
|
67
|
-
|
|
71
|
+
scaledCallData = abi.encodeWithSelector(selector, receiver, amount, minReturn, pools);
|
|
68
72
|
} else if (selector == IOKXDexRouter.smartSwapTo.selector) {
|
|
69
73
|
(
|
|
70
74
|
uint256 orderId,
|
|
@@ -74,40 +78,41 @@ abstract contract OKXScaleHelper {
|
|
|
74
78
|
IOKXDexRouter.RouterPath[][] memory batches,
|
|
75
79
|
IOKXDexRouter.PMMSwapRequest[] memory extraData
|
|
76
80
|
) = abi.decode(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
dataToDecode,
|
|
82
|
+
(
|
|
83
|
+
uint256,
|
|
84
|
+
address,
|
|
85
|
+
IOKXDexRouter.BaseRequest,
|
|
86
|
+
uint256[],
|
|
87
|
+
IOKXDexRouter.RouterPath[][],
|
|
88
|
+
IOKXDexRouter.PMMSwapRequest[]
|
|
89
|
+
)
|
|
90
|
+
);
|
|
91
|
+
rawAmountIn = baseRequest.fromTokenAmount;
|
|
88
92
|
batchesAmount = _scaleArray(batchesAmount, actualAmount, baseRequest.fromTokenAmount);
|
|
89
93
|
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
90
94
|
baseRequest.fromTokenAmount = actualAmount;
|
|
91
95
|
|
|
92
|
-
|
|
96
|
+
scaledCallData =
|
|
97
|
+
abi.encodeWithSelector(selector, orderId, receiver, baseRequest, batchesAmount, batches, extraData);
|
|
93
98
|
} else if (selector == IOKXDexRouter.unxswapTo.selector) {
|
|
94
|
-
(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) =
|
|
95
|
-
.decode(dataToDecode, (uint256, uint256, uint256, address, bytes32[]));
|
|
99
|
+
(uint256 srcToken, uint256 amount, uint256 minReturn, address receiver, bytes32[] memory pools) =
|
|
100
|
+
abi.decode(dataToDecode, (uint256, uint256, uint256, address, bytes32[]));
|
|
96
101
|
|
|
97
102
|
minReturn = (minReturn * actualAmount) / amount;
|
|
103
|
+
rawAmountIn = amount;
|
|
98
104
|
amount = actualAmount;
|
|
99
105
|
|
|
100
|
-
|
|
106
|
+
scaledCallData = abi.encodeWithSelector(selector, srcToken, amount, minReturn, receiver, pools);
|
|
101
107
|
} else if (selector == IOKXDexRouter.unxswapByOrderId.selector) {
|
|
102
|
-
(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) =
|
|
103
|
-
dataToDecode,
|
|
104
|
-
|
|
105
|
-
);
|
|
108
|
+
(uint256 srcToken, uint256 amount, uint256 minReturn, bytes32[] memory pools) =
|
|
109
|
+
abi.decode(dataToDecode, (uint256, uint256, uint256, bytes32[]));
|
|
110
|
+
rawAmountIn = amount;
|
|
106
111
|
|
|
107
112
|
minReturn = (minReturn * actualAmount) / amount;
|
|
108
113
|
amount = actualAmount;
|
|
109
114
|
|
|
110
|
-
|
|
115
|
+
scaledCallData = abi.encodeWithSelector(selector, srcToken, amount, minReturn, pools);
|
|
111
116
|
} else if (selector == IOKXDexRouter.smartSwapByOrderId.selector) {
|
|
112
117
|
(
|
|
113
118
|
uint256 orderId,
|
|
@@ -116,39 +121,159 @@ abstract contract OKXScaleHelper {
|
|
|
116
121
|
IOKXDexRouter.RouterPath[][] memory batches,
|
|
117
122
|
IOKXDexRouter.PMMSwapRequest[] memory extraData
|
|
118
123
|
) = abi.decode(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
dataToDecode,
|
|
125
|
+
(
|
|
126
|
+
uint256,
|
|
127
|
+
IOKXDexRouter.BaseRequest,
|
|
128
|
+
uint256[],
|
|
129
|
+
IOKXDexRouter.RouterPath[][],
|
|
130
|
+
IOKXDexRouter.PMMSwapRequest[]
|
|
131
|
+
)
|
|
132
|
+
);
|
|
133
|
+
rawAmountIn = baseRequest.fromTokenAmount;
|
|
129
134
|
batchesAmount = _scaleArray(batchesAmount, actualAmount, baseRequest.fromTokenAmount);
|
|
130
135
|
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
131
136
|
baseRequest.fromTokenAmount = actualAmount;
|
|
132
137
|
|
|
133
|
-
|
|
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;
|
|
150
|
+
|
|
151
|
+
scaledCallData = abi.encodeWithSelector(selector, orderId, receiver, baseRequest, paths);
|
|
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;
|
|
156
|
+
baseRequest.minReturnAmount = (baseRequest.minReturnAmount * actualAmount) / baseRequest.fromTokenAmount;
|
|
157
|
+
baseRequest.fromTokenAmount = actualAmount;
|
|
158
|
+
|
|
159
|
+
scaledCallData = abi.encodeWithSelector(selector, orderId, baseRequest, paths);
|
|
134
160
|
} else {
|
|
135
161
|
revert("PendleSwap: OKX selector not supported");
|
|
136
162
|
}
|
|
163
|
+
|
|
164
|
+
scaledCallData = _scaleTrimInfo(dataToDecode, scaledCallData, actualAmount, rawAmountIn);
|
|
165
|
+
return scaledCallData;
|
|
137
166
|
}
|
|
138
167
|
|
|
139
|
-
function _scaleArray(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
uint256
|
|
143
|
-
|
|
168
|
+
function _scaleArray(uint256[] memory arr, uint256 newAmount, uint256 oldAmount)
|
|
169
|
+
internal
|
|
170
|
+
pure
|
|
171
|
+
returns (uint256[] memory scaledArr)
|
|
172
|
+
{
|
|
144
173
|
scaledArr = new uint256[](arr.length);
|
|
145
174
|
for (uint256 i = 0; i < arr.length; i++) {
|
|
146
175
|
scaledArr[i] = (arr[i] * newAmount) / oldAmount;
|
|
147
176
|
}
|
|
148
177
|
}
|
|
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
|
+
}
|
|
149
252
|
}
|
|
150
253
|
|
|
151
254
|
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
|
+
|
|
152
277
|
struct BaseRequest {
|
|
153
278
|
uint256 fromToken;
|
|
154
279
|
address toToken;
|
|
@@ -191,12 +316,10 @@ interface IOKXDexRouter {
|
|
|
191
316
|
// address to
|
|
192
317
|
// ) external payable;
|
|
193
318
|
|
|
194
|
-
function uniswapV3SwapTo(
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
uint256
|
|
198
|
-
uint256[] calldata pools
|
|
199
|
-
) external payable returns (uint256 returnAmount);
|
|
319
|
+
function uniswapV3SwapTo(uint256 receiver, uint256 amount, uint256 minReturn, uint256[] calldata pools)
|
|
320
|
+
external
|
|
321
|
+
payable
|
|
322
|
+
returns (uint256 returnAmount);
|
|
200
323
|
|
|
201
324
|
function smartSwapTo(
|
|
202
325
|
uint256 orderId,
|
|
@@ -222,7 +345,10 @@ interface IOKXDexRouter {
|
|
|
222
345
|
uint256 minReturn,
|
|
223
346
|
// solhint-disable-next-line no-unused-vars
|
|
224
347
|
bytes32[] calldata pools
|
|
225
|
-
)
|
|
348
|
+
)
|
|
349
|
+
external
|
|
350
|
+
payable
|
|
351
|
+
returns (uint256 returnAmount);
|
|
226
352
|
|
|
227
353
|
function smartSwapByOrderId(
|
|
228
354
|
uint256 orderId,
|
|
@@ -231,4 +357,14 @@ interface IOKXDexRouter {
|
|
|
231
357
|
RouterPath[][] calldata batches,
|
|
232
358
|
PMMSwapRequest[] calldata extraData
|
|
233
359
|
) 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);
|
|
234
370
|
}
|
|
@@ -36,11 +36,10 @@ interface IAugustusV6 {
|
|
|
36
36
|
bytes pools;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
function swapExactAmountInOnUniswapV2(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
39
|
+
function swapExactAmountInOnUniswapV2(UniswapV2Data calldata uniData, uint256 partnerAndFee, bytes calldata permit)
|
|
40
|
+
external
|
|
41
|
+
payable
|
|
42
|
+
returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
44
43
|
|
|
45
44
|
// ============ UniswapV3 Swap ============
|
|
46
45
|
struct UniswapV3Data {
|
|
@@ -54,11 +53,10 @@ interface IAugustusV6 {
|
|
|
54
53
|
bytes pools;
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
function swapExactAmountInOnUniswapV3(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
56
|
+
function swapExactAmountInOnUniswapV3(UniswapV3Data calldata uniData, uint256 partnerAndFee, bytes calldata permit)
|
|
57
|
+
external
|
|
58
|
+
payable
|
|
59
|
+
returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
62
60
|
|
|
63
61
|
// ============ BalancerV2 Swap ============
|
|
64
62
|
struct BalancerV2Data {
|
|
@@ -89,11 +87,10 @@ interface IAugustusV6 {
|
|
|
89
87
|
address payable beneficiary;
|
|
90
88
|
}
|
|
91
89
|
|
|
92
|
-
function swapExactAmountInOnCurveV1(
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
90
|
+
function swapExactAmountInOnCurveV1(CurveV1Data calldata curveV1Data, uint256 partnerAndFee, bytes calldata permit)
|
|
91
|
+
external
|
|
92
|
+
payable
|
|
93
|
+
returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
97
94
|
|
|
98
95
|
// ============ CurveV2 Swap ============
|
|
99
96
|
struct CurveV2Data {
|
|
@@ -110,11 +107,10 @@ interface IAugustusV6 {
|
|
|
110
107
|
address payable beneficiary;
|
|
111
108
|
}
|
|
112
109
|
|
|
113
|
-
function swapExactAmountInOnCurveV2(
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
) external payable returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
110
|
+
function swapExactAmountInOnCurveV2(CurveV2Data calldata curveV2Data, uint256 partnerAndFee, bytes calldata permit)
|
|
111
|
+
external
|
|
112
|
+
payable
|
|
113
|
+
returns (uint256 receivedAmount, uint256 paraswapShare, uint256 partnerShare);
|
|
118
114
|
|
|
119
115
|
// ============ MakerPSM Swap ============
|
|
120
116
|
struct MakerPSMData {
|
|
@@ -130,17 +126,17 @@ interface IAugustusV6 {
|
|
|
130
126
|
uint256 beneficiaryDirectionApproveFlag;
|
|
131
127
|
}
|
|
132
128
|
|
|
133
|
-
function swapExactAmountInOutOnMakerPSM(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
) external returns (uint256 spentAmount, uint256 receivedAmount);
|
|
129
|
+
function swapExactAmountInOutOnMakerPSM(MakerPSMData calldata makerPSMData, bytes calldata permit)
|
|
130
|
+
external
|
|
131
|
+
returns (uint256 spentAmount, uint256 receivedAmount);
|
|
137
132
|
}
|
|
138
133
|
|
|
139
134
|
contract ParaswapScaleHelper {
|
|
140
|
-
function _paraswapScaling(
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
135
|
+
function _paraswapScaling(bytes calldata rawCallData, uint256 amountIn)
|
|
136
|
+
internal
|
|
137
|
+
pure
|
|
138
|
+
returns (bytes memory scaledCallData)
|
|
139
|
+
{
|
|
144
140
|
bytes4 selector = bytes4(rawCallData[:4]);
|
|
145
141
|
bytes calldata dataToDecode = rawCallData[4:];
|
|
146
142
|
|
|
@@ -163,10 +159,8 @@ contract ParaswapScaleHelper {
|
|
|
163
159
|
}
|
|
164
160
|
// Handle UniswapV2
|
|
165
161
|
else if (selector == IAugustusV6.swapExactAmountInOnUniswapV2.selector) {
|
|
166
|
-
(IAugustusV6.UniswapV2Data memory uniData, uint256 partnerAndFee, bytes memory permit) =
|
|
167
|
-
dataToDecode,
|
|
168
|
-
(IAugustusV6.UniswapV2Data, uint256, bytes)
|
|
169
|
-
);
|
|
162
|
+
(IAugustusV6.UniswapV2Data memory uniData, uint256 partnerAndFee, bytes memory permit) =
|
|
163
|
+
abi.decode(dataToDecode, (IAugustusV6.UniswapV2Data, uint256, bytes));
|
|
170
164
|
|
|
171
165
|
// Direct scaling calculation
|
|
172
166
|
uniData.toAmount = (uniData.toAmount * amountIn) / uniData.fromAmount;
|
|
@@ -177,10 +171,8 @@ contract ParaswapScaleHelper {
|
|
|
177
171
|
}
|
|
178
172
|
// Handle UniswapV3
|
|
179
173
|
else if (selector == IAugustusV6.swapExactAmountInOnUniswapV3.selector) {
|
|
180
|
-
(IAugustusV6.UniswapV3Data memory uniV3Data, uint256 partnerAndFee, bytes memory permit) =
|
|
181
|
-
dataToDecode,
|
|
182
|
-
(IAugustusV6.UniswapV3Data, uint256, bytes)
|
|
183
|
-
);
|
|
174
|
+
(IAugustusV6.UniswapV3Data memory uniV3Data, uint256 partnerAndFee, bytes memory permit) =
|
|
175
|
+
abi.decode(dataToDecode, (IAugustusV6.UniswapV3Data, uint256, bytes));
|
|
184
176
|
|
|
185
177
|
// Direct scaling calculation
|
|
186
178
|
uniV3Data.toAmount = (uniV3Data.toAmount * amountIn) / uniV3Data.fromAmount;
|
|
@@ -207,10 +199,8 @@ contract ParaswapScaleHelper {
|
|
|
207
199
|
}
|
|
208
200
|
// Handle CurveV1
|
|
209
201
|
else if (selector == IAugustusV6.swapExactAmountInOnCurveV1.selector) {
|
|
210
|
-
(IAugustusV6.CurveV1Data memory curveV1Data, uint256 partnerAndFee, bytes memory permit) =
|
|
211
|
-
dataToDecode,
|
|
212
|
-
(IAugustusV6.CurveV1Data, uint256, bytes)
|
|
213
|
-
);
|
|
202
|
+
(IAugustusV6.CurveV1Data memory curveV1Data, uint256 partnerAndFee, bytes memory permit) =
|
|
203
|
+
abi.decode(dataToDecode, (IAugustusV6.CurveV1Data, uint256, bytes));
|
|
214
204
|
|
|
215
205
|
// Direct scaling calculation
|
|
216
206
|
curveV1Data.toAmount = (curveV1Data.toAmount * amountIn) / curveV1Data.fromAmount;
|
|
@@ -221,10 +211,8 @@ contract ParaswapScaleHelper {
|
|
|
221
211
|
}
|
|
222
212
|
// Handle CurveV2
|
|
223
213
|
else if (selector == IAugustusV6.swapExactAmountInOnCurveV2.selector) {
|
|
224
|
-
(IAugustusV6.CurveV2Data memory curveV2Data, uint256 partnerAndFee, bytes memory permit) =
|
|
225
|
-
dataToDecode,
|
|
226
|
-
(IAugustusV6.CurveV2Data, uint256, bytes)
|
|
227
|
-
);
|
|
214
|
+
(IAugustusV6.CurveV2Data memory curveV2Data, uint256 partnerAndFee, bytes memory permit) =
|
|
215
|
+
abi.decode(dataToDecode, (IAugustusV6.CurveV2Data, uint256, bytes));
|
|
228
216
|
|
|
229
217
|
// Direct scaling calculation
|
|
230
218
|
curveV2Data.toAmount = (curveV2Data.toAmount * amountIn) / curveV2Data.fromAmount;
|
|
@@ -235,10 +223,8 @@ contract ParaswapScaleHelper {
|
|
|
235
223
|
}
|
|
236
224
|
// Handle MakerPSM
|
|
237
225
|
else if (selector == IAugustusV6.swapExactAmountInOutOnMakerPSM.selector) {
|
|
238
|
-
(IAugustusV6.MakerPSMData memory makerPSMData, bytes memory permit) =
|
|
239
|
-
dataToDecode,
|
|
240
|
-
(IAugustusV6.MakerPSMData, bytes)
|
|
241
|
-
);
|
|
226
|
+
(IAugustusV6.MakerPSMData memory makerPSMData, bytes memory permit) =
|
|
227
|
+
abi.decode(dataToDecode, (IAugustusV6.MakerPSMData, bytes));
|
|
242
228
|
|
|
243
229
|
// Direct scaling calculation
|
|
244
230
|
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";
|
|
7
6
|
import "./OKXScaleHelper.sol";
|
|
8
7
|
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,10 +33,11 @@ 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
|
-
|
|
36
|
+
data.extRouter
|
|
37
|
+
.functionCallWithValue(
|
|
38
|
+
data.needScale ? _getScaledInputData(data.swapType, data.extCalldata, amountIn) : data.extCalldata,
|
|
39
|
+
tokenIn == NATIVE ? amountIn : 0
|
|
40
|
+
);
|
|
40
41
|
|
|
41
42
|
emit SwapSingle(data.swapType, tokenIn, amountIn);
|
|
42
43
|
}
|
|
@@ -57,17 +58,15 @@ contract PendleSwap is
|
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
|
|
60
|
-
function _getScaledInputData(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
function _getScaledInputData(SwapType swapType, bytes calldata rawCallData, uint256 amountIn)
|
|
62
|
+
internal
|
|
63
|
+
view
|
|
64
|
+
returns (bytes memory scaledCallData)
|
|
65
|
+
{
|
|
65
66
|
if (swapType == SwapType.KYBERSWAP) {
|
|
66
67
|
bool isSuccess;
|
|
67
|
-
(isSuccess, scaledCallData) =
|
|
68
|
-
rawCallData,
|
|
69
|
-
amountIn
|
|
70
|
-
);
|
|
68
|
+
(isSuccess, scaledCallData) =
|
|
69
|
+
IKyberScalingHelper(KYBER_SCALING_HELPER).getScaledInputData(rawCallData, amountIn);
|
|
71
70
|
|
|
72
71
|
require(isSuccess, "PendleSwap: Kyber scaling failed");
|
|
73
72
|
} else if (swapType == SwapType.ODOS) {
|
|
@@ -81,10 +80,11 @@ contract PendleSwap is
|
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
82
|
|
|
84
|
-
function _odosScaling(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
function _odosScaling(bytes calldata rawCallData, uint256 amountIn)
|
|
84
|
+
internal
|
|
85
|
+
pure
|
|
86
|
+
returns (bytes memory scaledCallData)
|
|
87
|
+
{
|
|
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(bytes calldata inputData, uint256 newAmount)
|
|
113
|
+
external
|
|
114
|
+
view
|
|
115
|
+
returns (bool isSuccess, bytes memory data);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
interface IOdosRouterV2 {
|
|
@@ -126,10 +126,8 @@ interface IOdosRouterV2 {
|
|
|
126
126
|
address outputReceiver;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
function swap(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
uint32 referralCode
|
|
134
|
-
) external payable returns (uint256 amountOut);
|
|
129
|
+
function swap(swapTokenInfo memory tokenInfo, bytes calldata pathDefinition, address executor, uint32 referralCode)
|
|
130
|
+
external
|
|
131
|
+
payable
|
|
132
|
+
returns (uint256 amountOut);
|
|
135
133
|
}
|
package/deployments/1-core.json
CHANGED
|
@@ -33,13 +33,15 @@
|
|
|
33
33
|
},
|
|
34
34
|
"routerStatic": "0x263833d47eA3fA4a30f269323aba6a107f9eB14C",
|
|
35
35
|
"pendleSwap": "0xd4F480965D2347d421F1bEC7F545682E5Ec2151D",
|
|
36
|
-
"pyYtLpOracle": "
|
|
36
|
+
"pyYtLpOracle": "0x5542be50420E88dd7D5B4a3D488FA6ED82F6DAc2",
|
|
37
37
|
"yieldContractFactoryV3": "0xdF3601014686674e53d1Fa52F7602525483F9122",
|
|
38
38
|
"marketFactoryV3": "0x1A6fCc85557BC4fB7B534ed835a03EF056552D52",
|
|
39
39
|
"yieldContractFactoryV4": "0x273b4bFA3Bb30fe8F32c467b5f0046834557F072",
|
|
40
40
|
"marketFactoryV4": "0x3d75Bd20C983edb5fD218A1b7e0024F1056c7A2F",
|
|
41
41
|
"yieldContractFactoryV5": "0x35A338522a435D46f77Be32C70E215B813D0e3aC",
|
|
42
42
|
"marketFactoryV5": "0x6fcf753f2C67b83f7B09746Bbc4FA0047b35D050",
|
|
43
|
+
"yieldContractFactoryV6": "0x3E6EBa46AbC5ab18ED95F6667d8B2fd4020E4637",
|
|
44
|
+
"marketFactoryV6": "0x6d247b1c044fA1E22e6B04fA9F71Baf99EB29A9f",
|
|
43
45
|
"poolDeployHelper": "0x4Df98410c95737FD646D2413AC6CAFc1c04834b9",
|
|
44
46
|
"poolDeployHelperV2": "0xF642d8Daa026B8aEd6dFE82FACbA2E077AF199E2",
|
|
45
47
|
"limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
|
|
@@ -50,7 +52,8 @@
|
|
|
50
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
51
53
|
"experimental": {
|
|
52
54
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
53
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x606adeDea906017E059283382B3072Dc58131835"
|
|
54
57
|
},
|
|
55
58
|
"vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
|
|
56
59
|
"senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
|
package/deployments/10-core.json
CHANGED
|
@@ -32,13 +32,15 @@
|
|
|
32
32
|
},
|
|
33
33
|
"routerStatic": "0x704478Dd72FD7F9B83d1F1e0fc18C14B54F034d0",
|
|
34
34
|
"pendleSwap": "0xd4e9B0d466789d7F6201442eecCBA6a75A552db0",
|
|
35
|
-
"pyYtLpOracle": "
|
|
35
|
+
"pyYtLpOracle": "0x5542be50420E88dd7D5B4a3D488FA6ED82F6DAc2",
|
|
36
36
|
"yieldContractFactoryV3": "0xfa6B22FC4c3Ad88B68c16b3061a16b1714F6Bd57",
|
|
37
37
|
"marketFactoryV3": "0x4A2B38b9cBd83c86F261a4d64c243795D4d44aBC",
|
|
38
38
|
"yieldContractFactoryV4": "0xf799E4c029d14f41Dc1918C9A4C67242F565710e",
|
|
39
39
|
"marketFactoryV4": "0x73Be47237F12F36203823BAc9A4d80dC798B7015",
|
|
40
40
|
"yieldContractFactoryV5": "0xCcA0977eA3809C8fB785737Eb9fAcD5B19626e81",
|
|
41
41
|
"marketFactoryV5": "0x02Adf72d5D06a9C92136562Eb237C07696833a84",
|
|
42
|
+
"marketFactoryV6": "0x95a937f7064C75C6Bc257160088C0a9D58cca333",
|
|
43
|
+
"yieldContractFactoryV6": "0x2bA5e078b1fF6f1AB02a3B4462F3Be6E950E60e8",
|
|
42
44
|
"poolDeployHelper": "0x439B4d66255eFf74e621FBacb00D7162b588Ff4b",
|
|
43
45
|
"limitRouter": "0x000000000000c9B3E2C3Ec88B1B4c0cD853f4321",
|
|
44
46
|
"proxyAdmin": "0xA28c08f165116587D4F3E708743B4dEe155c5E64",
|
|
@@ -50,7 +52,8 @@
|
|
|
50
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
51
53
|
"experimental": {
|
|
52
54
|
"PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee",
|
|
53
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x606adeDea906017E059283382B3072Dc58131835"
|
|
54
57
|
},
|
|
55
58
|
"receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
|
|
56
59
|
"vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
|