@pendle/core-v2 6.3.1 → 6.3.2-swaphubtest
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/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/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/GaugeController/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/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VotingController/PendleVotingControllerUpg.sol/PendleVotingControllerUpg.dbg.json +1 -1
- 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/VotingEscrowPendleSidechain.sol/VotingEscrowPendleSidechain.dbg.json +1 -1
- 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/VeHistoryLib.sol/CheckpointHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/libraries/VeHistoryLib.sol/Checkpoints.dbg.json +1 -1
- 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/OracleLib.sol/OracleLib.dbg.json +1 -1
- 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/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
- 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/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/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ArrayLib.sol/ArrayLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/BaseSplitCodeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BaseSplitCodeFactory.sol/CodeDeployer.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableData.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeableV2.sol/BoringOwnableUpgradeableV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/Errors.sol/Errors.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/ExpiryUtilsLib.sol/ExpiryUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/MiniHelpers.sol/MiniHelpers.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/StringLib.sol/StringLib.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/LogExpMath.sol/LogExpMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/math/PMath.sol/PMath.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken.dbg.json +1 -1
- package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +4 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +201 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +4 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +1301 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +4 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +1272 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/swap/IPSwapExecutor.sol/IPSwapExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/swap/IPSwapExecutor.sol/IPSwapExecutor.json +56 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/swap/SwapExecutor.sol/SwapExecutor.dbg.json +4 -0
- package/build/artifacts/contracts/cross-chain/swap-hub/swap/SwapExecutor.sol/SwapExecutor.json +60 -0
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
- 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/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +1135 -0
- package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.dbg.json +4 -0
- package/build/artifacts/contracts/interfaces/IPDepositBox.sol/IPDepositBox.json +150 -0
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracle.sol/IPExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPExchangeRateOracleApp.sol/IPExchangeRateOracleApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributorV2.sol/IPFeeDistributorV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPGauge.sol/IPGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/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/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
- package/build/artifacts/contracts/limit/helpers/NonceManager.sol/NonceManager.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/AutomateReady.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IAutomate.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/IOpsProxyFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AutomateReady.sol/ITaskTreasuryUpgradable.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BalanceReader.sol/BalanceReader.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BaseSplitCodeFactoryContract.sol/BaseSplitCodeFactoryContract.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/BytesLib.sol/BytesLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/EmptyUUPS.sol/EmptyUUPS.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/LegacyNFTHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LegacyNFTHelper.sol/StarNFTV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/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/PendleExchangeRateOracle.sol/PendleExchangeRateOracle.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleFeeSetter.sol/PendleFeeSetter.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleGovernanceProxy.sol/PendleGovernanceProxy.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallOwnerV1.sol/PendleMulticallOwnerV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV1.sol/PendleMulticallV1.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticallV2.sol/PendleMulticallV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleOffchainStorage.sol/PendleOffchainStorage.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleWstETHPriceFeed.sol/PendleWstETHPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/SimulateHelper.sol/SimulateHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/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/PendleCommonSYFactory.sol/PendleCommonSYFactory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/deploy/lib/MarketDeployLib.sol/MarketDeployLib.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/errors/SDKErrorsDirectory.sol/SDKErrorsDirectory.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/PendleRouterStatic.sol/PendleRouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/router-static/base/ActionInfoStatic.sol/ActionInfoStatic.dbg.json +1 -1
- 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/ActionMarketCoreStatic.sol/ActionMarketCoreStatic.dbg.json +1 -1
- 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/ActionStorageStatic.sol/ActionStorageStatic.dbg.json +1 -1
- 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/MarketApproxLibV1.sol/MarketApproxPtInLibV1.dbg.json +1 -1
- 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/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/PendleExchangeRateOracleV2.sol/PendleExchangeRateOracleV2.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/CrossChainOracle/libraries/ExchangeRateMsgCodec.sol/ExchangeRateMsgCodec.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendleLpOracleLib.sol/PendleLpOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYLpOracle.sol/PendlePYLpOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/PendlePYOracleLib.sol/PendlePYOracleLib.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracle.sol/PendleChainlinkOracle.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleFactory.sol/PendleChainlinkOracleFactory.dbg.json +1 -1
- package/build/artifacts/contracts/oracles/PtYtLpOracle/chainlink/PendleChainlinkOracleWithQuote.sol/PendleChainlinkOracleWithQuote.dbg.json +1 -1
- 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/BoringPYUsdChainlinkSYOracle.sol/BoringPYUsdChainlinkSYOracle.dbg.json +1 -1
- 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/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/router/ActionStorageV4.sol/ActionStorageV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouterV4.sol/PendleRouterV4.dbg.json +1 -1
- package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
- 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/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/MarketApproxEstimateLib.sol/MarketApproxEstimateLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtInLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibOnchain.sol/MarketApproxPtOutLibOnchain.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtInLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/math/MarketApproxLibV2.sol/MarketApproxPtOutLibV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/IPSwapAggregator.sol/IPSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/IAugustusV6.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/ParaswapScaleHelper.sol/ParaswapScaleHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
- package/contracts/cross-chain/swap-hub/DepositBox.sol +72 -0
- package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +162 -0
- package/contracts/cross-chain/swap-hub/SwapHubBase.sol +303 -0
- package/contracts/cross-chain/swap-hub/swap/IPSwapExecutor.sol +14 -0
- package/contracts/cross-chain/swap-hub/swap/SwapExecutor.sol +33 -0
- package/contracts/interfaces/IMarketSweed.sol +23 -0
- package/contracts/interfaces/IPCrossChainSwapHub.sol +163 -0
- package/contracts/interfaces/IPDepositBox.sol +25 -0
- package/contracts/offchain-helpers/MarketSweed.sol +250 -0
- package/contracts/router/swap-aggregator/OKXScaleHelper.sol +25 -90
- package/deployments/1-core.json +2 -1
- package/deployments/10-core.json +2 -1
- package/deployments/146-core.json +2 -1
- package/deployments/42161-core.json +2 -1
- package/deployments/5000-core.json +2 -1
- package/deployments/56-core.json +2 -1
- package/deployments/80094-core.json +2 -1
- package/deployments/8453-core.json +2 -1
- package/deployments/9745-core.json +2 -1
- package/deployments/999-core.json +2 -1
- package/package.json +2 -2
- package/typechain-types/DepositBox.ts +304 -0
- package/typechain-types/IMarketSweed.ts +203 -0
- package/typechain-types/IPCrossChainSwapHub.ts +1002 -0
- package/typechain-types/IPDepositBox.ts +257 -0
- package/typechain-types/IPSwapExecutor.ts +129 -0
- package/typechain-types/MarketSweed.ts +242 -0
- package/typechain-types/PendleCrossChainSwapHub.ts +1226 -0
- package/typechain-types/SwapExecutor.ts +129 -0
- package/typechain-types/SwapHubBase.ts +1201 -0
- package/typechain-types/factories/DepositBox__factory.ts +259 -0
- package/typechain-types/factories/{IPActionCrossChain__factory.ts → IMarketSweed__factory.ts} +61 -22
- package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +1152 -0
- package/typechain-types/factories/IPDepositBox__factory.ts +162 -0
- package/typechain-types/factories/IPSwapExecutor__factory.ts +71 -0
- package/typechain-types/factories/MarketSweed__factory.ts +364 -0
- package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +1372 -0
- package/typechain-types/factories/PendleSwap__factory.ts +1 -1
- package/typechain-types/factories/SwapExecutor__factory.ts +110 -0
- package/typechain-types/factories/{BasePendleBridgedPrincipalToken__factory.ts → SwapHubBase__factory.ts} +693 -955
- package/typechain-types/hardhat.d.ts +90 -54
- package/typechain-types/index.ts +18 -12
- package/typechain-types/ActionCrossChain.ts +0 -161
- package/typechain-types/ActionDelegateBase.ts +0 -57
- package/typechain-types/BasePendleBridgedPrincipalToken.ts +0 -1689
- package/typechain-types/EIP712.ts +0 -135
- package/typechain-types/ERC20Permit.ts +0 -586
- package/typechain-types/IERC5267.ts +0 -135
- package/typechain-types/IPActionCrossChain.ts +0 -161
- package/typechain-types/IPMarketFactoryV3.ts +0 -321
- package/typechain-types/IPMarketV3.ts +0 -1068
- package/typechain-types/LimitBackendHelper.ts +0 -287
- package/typechain-types/OverfillMathLib.ts +0 -81
- 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/PendleERC20Permit.ts +0 -508
- package/typechain-types/PendleERC20PermitUpg.ts +0 -517
- package/typechain-types/PendleERC20Upg.ts +0 -348
- package/typechain-types/PendleMarketFactoryV3.ts +0 -719
- package/typechain-types/PendleMarketV3.ts +0 -1195
- package/typechain-types/PendleYieldContractFactory.ts +0 -801
- package/typechain-types/ShortStrings.ts +0 -57
- package/typechain-types/factories/ActionCrossChain__factory.ts +0 -152
- package/typechain-types/factories/ActionDelegateBase__factory.ts +0 -80
- package/typechain-types/factories/EIP712__factory.ts +0 -85
- package/typechain-types/factories/ERC20Permit__factory.ts +0 -433
- package/typechain-types/factories/IERC5267__factory.ts +0 -72
- package/typechain-types/factories/IPMarketFactoryV3__factory.ts +0 -217
- package/typechain-types/factories/IPMarketV3__factory.ts +0 -845
- package/typechain-types/factories/LimitBackendHelper__factory.ts +0 -232
- package/typechain-types/factories/OverfillMathLib__factory.ts +0 -77
- 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
- package/typechain-types/factories/PendleERC20PermitUpg__factory.ts +0 -389
- package/typechain-types/factories/PendleERC20Permit__factory.ts +0 -470
- package/typechain-types/factories/PendleERC20Upg__factory.ts +0 -261
- package/typechain-types/factories/PendleMarketFactoryV3__factory.ts +0 -714
- package/typechain-types/factories/PendleMarketV3__factory.ts +0 -1211
- package/typechain-types/factories/PendleYieldContractFactory__factory.ts +0 -674
- package/typechain-types/factories/ShortStrings__factory.ts +0 -77
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity ^0.8.17;
|
|
4
|
+
|
|
5
|
+
import "../interfaces/IPMarket.sol";
|
|
6
|
+
import "../router/math/MarketApproxLibOnchain.sol";
|
|
7
|
+
import "../router/base/ActionBase.sol";
|
|
8
|
+
import "../interfaces/IMarketSweed.sol";
|
|
9
|
+
|
|
10
|
+
contract MarketSweed is ActionBase, IMarketSweed {
|
|
11
|
+
using PMath for uint256;
|
|
12
|
+
using PMath for int256;
|
|
13
|
+
using PYIndexLib for PYIndex;
|
|
14
|
+
using MarketMathCore for MarketState;
|
|
15
|
+
using PYIndexLib for IPYieldToken;
|
|
16
|
+
|
|
17
|
+
struct MarketTokens {
|
|
18
|
+
IStandardizedYield SY;
|
|
19
|
+
IPPrincipalToken PT;
|
|
20
|
+
IPYieldToken YT;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// solhint-disable no-empty-blocks
|
|
24
|
+
constructor() {}
|
|
25
|
+
|
|
26
|
+
function seedAtImpliedRate(
|
|
27
|
+
address receiver,
|
|
28
|
+
address market,
|
|
29
|
+
uint256 minLpOut,
|
|
30
|
+
uint256 minYtOut,
|
|
31
|
+
TokenInput calldata input,
|
|
32
|
+
ApproxSweedParams calldata sweedParams
|
|
33
|
+
) external payable returns (uint256 netLpOut, uint256 netYtOut, int256 guessedAmountPtToSwap) {
|
|
34
|
+
MarketTokens memory tokens;
|
|
35
|
+
(tokens.SY, tokens.PT, tokens.YT) = IPMarket(market).readTokens();
|
|
36
|
+
|
|
37
|
+
_mintSyFromToken(address(this), address(tokens.SY), 1, input);
|
|
38
|
+
|
|
39
|
+
uint256 netPtOut;
|
|
40
|
+
(netPtOut, netYtOut, guessedAmountPtToSwap) = _swap(receiver, market, tokens, sweedParams);
|
|
41
|
+
|
|
42
|
+
uint256 netYtFromSeed;
|
|
43
|
+
(netLpOut, netYtFromSeed, ) = _seed(receiver, market, tokens, _selfBalance(tokens.SY), netPtOut);
|
|
44
|
+
netYtOut += netYtFromSeed;
|
|
45
|
+
|
|
46
|
+
if (netLpOut < minLpOut) revert("Slippage: INSUFFICIENT_LP_OUT");
|
|
47
|
+
if (netYtOut < minYtOut) revert("Slippage: INSUFFICIENT_YT_OUT");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function mintPYFromToken__noCall(
|
|
51
|
+
address YT,
|
|
52
|
+
TokenInput calldata input
|
|
53
|
+
) external payable returns (uint256 netPYOut) {
|
|
54
|
+
address SY = IPYieldToken(YT).SY();
|
|
55
|
+
_mintSyFromToken(YT, SY, 1, input);
|
|
56
|
+
netPYOut = IPYieldToken(YT).mintPY(msg.sender, msg.sender);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function _seed(
|
|
60
|
+
address receiver,
|
|
61
|
+
address market,
|
|
62
|
+
MarketTokens memory tokens,
|
|
63
|
+
uint256 netSyIn,
|
|
64
|
+
uint256 netPtIn
|
|
65
|
+
) internal returns (uint256 /*netLpOut*/, uint256 /*netYtOut*/, uint256 /*netSyMintPy*/) {
|
|
66
|
+
uint256 netSyMintPy = _calcSyToMintPYSeed(market, tokens, netSyIn, netPtIn);
|
|
67
|
+
|
|
68
|
+
// transfer SY to mint PY
|
|
69
|
+
_transferOut(address(tokens.SY), address(tokens.YT), netSyMintPy);
|
|
70
|
+
uint256 netPYMinted = tokens.YT.mintPY(market, receiver);
|
|
71
|
+
|
|
72
|
+
// the rest of SY goes to market
|
|
73
|
+
uint256 netSyAddLiquidity = netSyIn - netSyMintPy;
|
|
74
|
+
_transferOut(address(tokens.SY), market, netSyAddLiquidity);
|
|
75
|
+
_transferOut(address(tokens.PT), market, netPtIn);
|
|
76
|
+
|
|
77
|
+
(uint256 netLpOut, , ) = IPMarket(market).mint(receiver, netSyAddLiquidity, netPYMinted + netPtIn);
|
|
78
|
+
return (netLpOut, netPYMinted, netSyMintPy);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function _swap(
|
|
82
|
+
address receiver,
|
|
83
|
+
address market,
|
|
84
|
+
MarketTokens memory tokens,
|
|
85
|
+
ApproxSweedParams memory sweedParams
|
|
86
|
+
) internal returns (uint256 amountPtToAccount, uint256 amountYTToAccount, int256 guessedSwap) {
|
|
87
|
+
PYIndex index = _getPYIndex(market);
|
|
88
|
+
MarketState memory state = _readMarket(market);
|
|
89
|
+
MarketPreCompute memory comp = state.getMarketPreCompute(index, block.timestamp);
|
|
90
|
+
|
|
91
|
+
if (PMath.isAApproxB(state.lastLnImpliedRate, sweedParams.targetLnImpliedRate, sweedParams.eps)) {
|
|
92
|
+
return (0, 0, 0);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (state.lastLnImpliedRate > sweedParams.targetLnImpliedRate) {
|
|
96
|
+
// Normalize maxPtToSwap
|
|
97
|
+
sweedParams.maxPtToSwap = PMath.min(
|
|
98
|
+
sweedParams.maxPtToSwap,
|
|
99
|
+
MarketApproxPtOutLibOnchain.calcMaxPtOut(comp, state.totalPt)
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
int256 amountSyToAccount;
|
|
103
|
+
|
|
104
|
+
(guessedSwap, amountSyToAccount) = _calcAmountPtToBuy(state, index, sweedParams);
|
|
105
|
+
amountPtToAccount = guessedSwap.Uint();
|
|
106
|
+
|
|
107
|
+
_transferOut(address(tokens.SY), market, amountSyToAccount.abs());
|
|
108
|
+
IPMarket(market).swapSyForExactPt(address(this), guessedSwap.abs(), EMPTY_BYTES);
|
|
109
|
+
} else {
|
|
110
|
+
// Normalize maxPtToSwap
|
|
111
|
+
sweedParams.maxPtToSwap = PMath.min(
|
|
112
|
+
sweedParams.maxPtToSwap,
|
|
113
|
+
MarketApproxPtInLibOnchain.calcSoftMaxPtIn(state, comp)
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
guessedSwap = _calcAmountPtToSell(state, index, sweedParams);
|
|
117
|
+
|
|
118
|
+
uint256 amountPtToSell = guessedSwap.neg().Uint();
|
|
119
|
+
amountYTToAccount = amountPtToSell;
|
|
120
|
+
|
|
121
|
+
_transferOut(address(tokens.SY), address(tokens.YT), index.assetToSyUp(amountPtToSell));
|
|
122
|
+
uint256 amountPYOut = tokens.YT.mintPY(market, receiver);
|
|
123
|
+
|
|
124
|
+
assert(amountPYOut >= amountPtToSell);
|
|
125
|
+
|
|
126
|
+
// this amount of SY will be used to add liquidity in later step
|
|
127
|
+
IPMarket(market).swapExactPtForSy(address(this), amountPtToSell, EMPTY_BYTES);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function _calcAmountPtToBuy(
|
|
132
|
+
MarketState memory state,
|
|
133
|
+
PYIndex index,
|
|
134
|
+
ApproxSweedParams memory sweedParams
|
|
135
|
+
) internal view returns (int256 amountPtToSwapToAccount, int256 amountSyToAccount) {
|
|
136
|
+
int256 refAmt = sweedParams.maxPtToSwap.Int();
|
|
137
|
+
int256 accPtToAccount = 0;
|
|
138
|
+
MarketState memory localState;
|
|
139
|
+
|
|
140
|
+
for (uint256 iter = 0; iter < sweedParams.maxIteration; ++iter) {
|
|
141
|
+
int256 guess;
|
|
142
|
+
if (iter == 0 && _isValidGuessOffchain(sweedParams, true)) {
|
|
143
|
+
guess = sweedParams.guessOffchain;
|
|
144
|
+
} else {
|
|
145
|
+
refAmt /= 2;
|
|
146
|
+
guess = accPtToAccount + refAmt;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
_makeACopyTo(state, localState);
|
|
150
|
+
// Will not revert. maxPtToBuy should already be normalized
|
|
151
|
+
(int256 localAmountSyToAccount, , ) = localState.executeTradeCore(index, guess, block.timestamp);
|
|
152
|
+
|
|
153
|
+
if (PMath.isAApproxB(localState.lastLnImpliedRate, sweedParams.targetLnImpliedRate, sweedParams.eps)) {
|
|
154
|
+
return (guess, localAmountSyToAccount);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
if (localState.lastLnImpliedRate > sweedParams.targetLnImpliedRate) {
|
|
158
|
+
accPtToAccount = guess;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
revert("_calcAmountPtToBuy: failed");
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function _calcAmountPtToSell(
|
|
165
|
+
MarketState memory state,
|
|
166
|
+
PYIndex index,
|
|
167
|
+
ApproxSweedParams memory sweedParams
|
|
168
|
+
) internal view returns (int256 amountPtToSwapToAccount) {
|
|
169
|
+
int256 refAmt = sweedParams.maxPtToSwap.Int();
|
|
170
|
+
int256 accPtToAccount = 0;
|
|
171
|
+
MarketState memory localState;
|
|
172
|
+
|
|
173
|
+
for (uint256 iter = 0; iter < sweedParams.maxIteration; ++iter) {
|
|
174
|
+
int256 guess;
|
|
175
|
+
if (iter == 0 && _isValidGuessOffchain(sweedParams, false)) {
|
|
176
|
+
guess = sweedParams.guessOffchain;
|
|
177
|
+
} else {
|
|
178
|
+
refAmt /= 2;
|
|
179
|
+
guess = accPtToAccount - refAmt;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
_makeACopyTo(state, localState);
|
|
183
|
+
|
|
184
|
+
// Will not revert. maxPtToSell should already be normalized
|
|
185
|
+
localState.executeTradeCore(index, guess, block.timestamp);
|
|
186
|
+
|
|
187
|
+
if (PMath.isAApproxB(localState.lastLnImpliedRate, sweedParams.targetLnImpliedRate, sweedParams.eps)) {
|
|
188
|
+
return guess;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (localState.lastLnImpliedRate < sweedParams.targetLnImpliedRate) {
|
|
192
|
+
accPtToAccount = guess;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
revert("_calcAmountPtToSell: failed");
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function _calcSyToMintPYSeed(
|
|
199
|
+
address market,
|
|
200
|
+
MarketTokens memory tokens,
|
|
201
|
+
uint256 netSyIn,
|
|
202
|
+
uint256 netPtIn
|
|
203
|
+
) internal returns (uint256 /* netSyMintPy */) {
|
|
204
|
+
uint256 netSyMintPy = netSyIn;
|
|
205
|
+
if (netPtIn > 0) {
|
|
206
|
+
(, , uint256 netSyDual, uint256 netPtDual) = _readMarket(market).addLiquidity(
|
|
207
|
+
netSyIn,
|
|
208
|
+
netPtIn,
|
|
209
|
+
block.timestamp
|
|
210
|
+
);
|
|
211
|
+
if (netPtDual < netPtIn) {
|
|
212
|
+
revert("MS: Bought too much PT");
|
|
213
|
+
}
|
|
214
|
+
netSyMintPy -= netSyDual;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
MarketState memory state = _readMarket(market);
|
|
218
|
+
PYIndex pyIndex = tokens.YT.newIndex();
|
|
219
|
+
netSyMintPy =
|
|
220
|
+
(netSyMintPy * state.totalPt.Uint()) /
|
|
221
|
+
(state.totalPt.Uint() + pyIndex.syToAsset(state.totalSy.Uint()));
|
|
222
|
+
|
|
223
|
+
return netSyMintPy;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function _getPYIndex(address market) internal returns (PYIndex) {
|
|
227
|
+
(, , IPYieldToken YT) = IPMarket(market).readTokens();
|
|
228
|
+
return PYIndex.wrap(YT.pyIndexCurrent());
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function _makeACopyTo(MarketState memory state, MarketState memory copiedState) internal pure {
|
|
232
|
+
copiedState.totalPt = state.totalPt;
|
|
233
|
+
copiedState.totalSy = state.totalSy;
|
|
234
|
+
copiedState.totalLp = state.totalLp;
|
|
235
|
+
copiedState.treasury = state.treasury;
|
|
236
|
+
|
|
237
|
+
copiedState.scalarRoot = state.scalarRoot;
|
|
238
|
+
copiedState.expiry = state.expiry;
|
|
239
|
+
|
|
240
|
+
copiedState.lnFeeRateRoot = state.lnFeeRateRoot;
|
|
241
|
+
copiedState.reserveFeePercent = state.reserveFeePercent;
|
|
242
|
+
copiedState.lastLnImpliedRate = state.lastLnImpliedRate;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function _isValidGuessOffchain(ApproxSweedParams memory sweedParams, bool isBuyingPt) internal pure returns (bool) {
|
|
246
|
+
if (sweedParams.guessOffchain == 0) return false;
|
|
247
|
+
if (isBuyingPt != (sweedParams.guessOffchain > 0)) return false;
|
|
248
|
+
return sweedParams.guessOffchain.abs() <= sweedParams.maxPtToSwap;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
@@ -161,7 +161,7 @@ abstract contract OKXScaleHelper {
|
|
|
161
161
|
revert("PendleSwap: OKX selector not supported");
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
scaledCallData = _scaleTrimInfo(
|
|
164
|
+
scaledCallData = _scaleTrimInfo(rawCallData, scaledCallData, actualAmount, rawAmountIn);
|
|
165
165
|
return scaledCallData;
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -176,104 +176,42 @@ abstract contract OKXScaleHelper {
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
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
179
|
function _scaleTrimInfo(
|
|
198
|
-
bytes calldata
|
|
180
|
+
bytes calldata rawCallData,
|
|
199
181
|
bytes memory scaledCallData,
|
|
200
182
|
uint256 actualAmountIn,
|
|
201
183
|
uint256 rawAmountIn
|
|
202
184
|
) internal pure returns (bytes memory) {
|
|
203
|
-
|
|
185
|
+
bytes memory tail = rawCallData[scaledCallData.length:];
|
|
204
186
|
// search trim flag from back to front, get the index
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
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);
|
|
187
|
+
assembly {
|
|
188
|
+
let endPtr := add(add(tail, 32), mload(tail))
|
|
189
|
+
let startPtr := add(tail, 32)
|
|
190
|
+
let shown := 0
|
|
191
|
+
|
|
192
|
+
for { let i := sub(endPtr, 32) } or(gt(i, startPtr), eq(i, startPtr)) { i := sub(i, 32) } {
|
|
193
|
+
let data := mload(i)
|
|
194
|
+
if or(eq(and(data, TRIM_FLAG_MASK), TRIM_FLAG), eq(and(data, TRIM_FLAG_MASK), TRIM_DUAL_FLAG)) {
|
|
195
|
+
shown := add(shown, 1)
|
|
196
|
+
if eq(shown, 2) {
|
|
197
|
+
let expectAmountOut := and(data, TRIM_EXPECT_AMOUNT_OUT_MASK)
|
|
198
|
+
let acutalExpectAmountOut := mul(expectAmountOut, actualAmountIn)
|
|
199
|
+
acutalExpectAmountOut := div(acutalExpectAmountOut, rawAmountIn)
|
|
200
|
+
acutalExpectAmountOut := and(acutalExpectAmountOut, TRIM_EXPECT_AMOUNT_OUT_MASK)
|
|
201
|
+
data := and(data, not(TRIM_EXPECT_AMOUNT_OUT_MASK))
|
|
202
|
+
data := or(data, acutalExpectAmountOut)
|
|
203
|
+
mstore(i, data)
|
|
204
|
+
break
|
|
205
|
+
}
|
|
206
|
+
}
|
|
248
207
|
}
|
|
249
208
|
}
|
|
209
|
+
scaledCallData = bytes.concat(scaledCallData, tail);
|
|
250
210
|
return scaledCallData;
|
|
251
211
|
}
|
|
252
212
|
}
|
|
253
213
|
|
|
254
214
|
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
215
|
struct BaseRequest {
|
|
278
216
|
uint256 fromToken;
|
|
279
217
|
address toToken;
|
|
@@ -345,10 +283,7 @@ interface IOKXDexRouter {
|
|
|
345
283
|
uint256 minReturn,
|
|
346
284
|
// solhint-disable-next-line no-unused-vars
|
|
347
285
|
bytes32[] calldata pools
|
|
348
|
-
)
|
|
349
|
-
external
|
|
350
|
-
payable
|
|
351
|
-
returns (uint256 returnAmount);
|
|
286
|
+
) external payable returns (uint256 returnAmount);
|
|
352
287
|
|
|
353
288
|
function smartSwapByOrderId(
|
|
354
289
|
uint256 orderId,
|
package/deployments/1-core.json
CHANGED
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
53
53
|
"experimental": {
|
|
54
54
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
55
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
56
57
|
},
|
|
57
58
|
"vePendle": "0x4f30A9D41B80ecC5B94306AB4364951AE3170210",
|
|
58
59
|
"senderEndpoint": "0x07b1014c88f14C9E910092526db57A20052E989F",
|
package/deployments/10-core.json
CHANGED
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
53
53
|
"experimental": {
|
|
54
54
|
"PendleChainlinkOracleFactory": "0x2A73e899389cABa2a2f648BaBA35e67f5C00EFee",
|
|
55
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
56
57
|
},
|
|
57
58
|
"receiverEndpoint": "0xED18de5442297a4Ec1ce59C7c7d9427Adc2A012b",
|
|
58
59
|
"vePendle": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"externalRewardsDistributor": "0xae898a7d07f8e27f25e13d0f351a7401f9a5bf9d",
|
|
49
49
|
"experimental": {
|
|
50
50
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
51
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
51
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
52
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
52
53
|
},
|
|
53
54
|
"lpWrapperFactory": "0xeCfEB97D7F070DA5b93c5DC274183F1D7f68532F",
|
|
54
55
|
"decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
|
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
53
53
|
"experimental": {
|
|
54
54
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
55
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
56
57
|
},
|
|
57
58
|
"receiverEndpoint": "0xC9215ae9EC67385F38C755D862C8eE3702B5793A",
|
|
58
59
|
"vePendle": "0x3209E9412cca80B18338f2a56ADA59c484c39644",
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
|
|
55
55
|
"experimental": {
|
|
56
56
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
57
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
57
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
58
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
58
59
|
},
|
|
59
60
|
"lpWrapperFactory": "0x6D653C8DAAc8D81c9CE98E038fbF94D7E652e147",
|
|
60
61
|
"decimalsFactory": "0x992ec6a490a4b7f256bd59e63746951d98b29be9",
|
package/deployments/56-core.json
CHANGED
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
|
|
53
53
|
"experimental": {
|
|
54
54
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
55
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
55
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
56
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
56
57
|
},
|
|
57
58
|
"receiverEndpoint": "0x998CF52b2585e05494BF9F2bF502351a9C7FdA8f",
|
|
58
59
|
"vePendle": "0x8A09574b0401A856d89d1b583eE22E8cb0C5530B",
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
|
|
46
46
|
"experimental": {
|
|
47
47
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
48
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
48
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
49
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
49
50
|
},
|
|
50
51
|
"receiverEndpoint": "0xd5C47D2383Fddc19596489280C0A33AC42b2bB18",
|
|
51
52
|
"vePendle": "0x6875e4A945E498FE1B90BbB13CFbAF0b68658C9C",
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"externalRewardsDistributor": "0x33305665f69B4642D1275f4Ce81c23651674D21C",
|
|
46
46
|
"experimental": {
|
|
47
47
|
"PendleChainlinkOracleFactory": "0x9E5129dcC15d39625617DcD7F0F44FB0BB957FFd",
|
|
48
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
48
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
49
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
49
50
|
},
|
|
50
51
|
"receiverEndpoint": "0xeE708FC793a02F1eDd5BB9DBD7fD13010D1F7136",
|
|
51
52
|
"vePendle": "0x051dcd6a80f11fE68F77Fb0EBdE03853FA96B1fD",
|
|
@@ -45,7 +45,8 @@
|
|
|
45
45
|
"externalRewardsDistributor": "0x1Cb446fAE25Ae19878f9f71189902e2a6A6A749c",
|
|
46
46
|
"experimental": {
|
|
47
47
|
"PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
|
|
48
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
48
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
49
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
49
50
|
},
|
|
50
51
|
"receiverEndpoint": "0x5C3DdC827c40964728336229808E27C6374F07Bf",
|
|
51
52
|
"vePendle": "0x0d7432A9f5C51fdd2407332D90D9b814827982Bf",
|
|
@@ -43,7 +43,8 @@
|
|
|
43
43
|
"sparkLinearDiscountOracleFactory": "0x34C91651A070664279866E5f3d6B4d5F65cbbFFb",
|
|
44
44
|
"experimental": {
|
|
45
45
|
"PendleChainlinkOracleFactory": "0xAcD67f36183c8bA6b80Cfa60375510Ce17D0dd26",
|
|
46
|
-
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579"
|
|
46
|
+
"PendleSparkLinearDiscountOracleFactoryWrapper": "0x9E80e2525c7289ebd6352B428f2beC53b5A4e579",
|
|
47
|
+
"MarketSweed": "0x9205aCD8A2fFD56917d4b9139bA423b4f2a70EE5"
|
|
47
48
|
},
|
|
48
49
|
"vePendle": "0x1fBaCedf510dAA79dfD9B41227A7ba192d5D548D",
|
|
49
50
|
"receiverEndpoint": "0xaD511b12F73c145Cf158EB92E4fa256937d952A4",
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@pendle/core-v2",
|
|
3
3
|
"description": "Core smart contracts of Pendle Protocol.",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
|
-
"version": "6.3.
|
|
5
|
+
"version": "6.3.2-swaphubtest",
|
|
6
6
|
"homepage": "https://pendle.finance",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pendle",
|
|
@@ -55,4 +55,4 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
}
|
|
58
|
-
}
|
|
58
|
+
}
|