@pendle/core-v2 2.0.1-mainnet → 2.1.1-mainnet
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiverAppUpg.sol/PendleMsgReceiverAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSenderAppUpg.sol/PendleMsgSenderAppUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/ExcessivelySafeCall.sol/ExcessivelySafeCall.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/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/PendleGaugeControllerSidechainUpg.sol/PendleGaugeControllerSidechainUpg.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.dbg.json +1 -1
- package/build/artifacts/contracts/LiquidityMining/VeDistributor/PendleFeeDistributor.sol/PendleFeeDistributor.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/VotingController/VotingControllerStorageUpg.sol/VotingControllerStorageUpg.json +39 -0
- 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/BulkSeller/BulkSeller.sol/BulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerFactory.sol/BulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/BulkSeller/BulkSellerMathCore.sol/BulkSellerMathCore.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/PendleMarket.sol/PendleMarket.dbg.json +1 -1
- package/build/artifacts/contracts/core/Market/PendleMarket.sol/PendleMarket.json +2 -2
- package/build/artifacts/contracts/core/Market/PendleMarketFactory.sol/PendleMarketFactory.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/SYBase.sol/SYBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYBaseWithRewards.sol/SYBaseWithRewards.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/SYUtils.sol/SYUtils.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/StEthHelper.sol/StEthHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Ape/sAPE.sol/sAPE.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethRethSY.sol/PendleAuraWethRethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraWethWstethSY.sol/PendleAuraWethWstethSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/FixedPoint.sol/FixedPoint.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStableMath.sol/MetaStableMath.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/MetaStable/MetaStablePreview.sol/MetaStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/PendleAuraBalancerStableLPSY.sol/PendleAuraBalancerStableLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePoolUserData.sol/StablePoolUserData.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/StablePreviewBase.sol/StablePreviewBase.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenHelper.sol/PendleQiTokenHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BenQi/PendleQiTokenSY.sol/PendleQiTokenSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveFraxUsdcSY.sol/PendleCurveFraxUsdcSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/PendleCurveUsdd3CrvSY.sol/PendleCurveUsdd3CrvSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/Curve3CrvPoolHelper.sol/Curve3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveFraxUsdcPoolHelper.sol/CurveFraxUsdcPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/CurveUsdd3CrvPoolHelper.sol/CurveUsdd3CrvPoolHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/Convex/base/PendleConvexLPSY.sol/PendleConvexLPSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/GLPPreviewHelper.sol/GLPPreviewHelper.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/GLP/PendleGlpSY.sol/PendleGlpSY.json +2 -2
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.dbg.json +4 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol/PendleGDaiSY.json +974 -0
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleLooksStakingSY.sol/PendleLooksStakingSY.dbg.json +1 -1
- package/build/artifacts/contracts/core/StandardizedYield/implementations/PendleWstEthSY.sol/PendleWstEthSY.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/PendleYieldContractFactory.sol/PendleYieldContractFactory.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/InterestManagerYTV2.sol/InterestManagerYTV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendlePrincipalTokenV2.sol/PendlePrincipalTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldContractFactoryV2.sol/PendleYieldContractFactoryV2.json +2 -2
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.dbg.json +1 -1
- package/build/artifacts/contracts/core/YieldContractsV2/PendleYieldTokenV2.sol/PendleYieldTokenV2.json +2 -2
- package/build/artifacts/contracts/core/erc20/PendleERC20.sol/PendleERC20.dbg.json +1 -1
- package/build/artifacts/contracts/core/erc20/PendleERC20Permit.sol/PendleERC20Permit.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/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/core/libraries/BoringOwnableUpgradeable.sol/BoringOwnableUpgradeableData.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/Math.sol/Math.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IAsset.sol/IAsset.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerFees.sol/IBalancerFees.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBalancerStablePreview.sol/IBalancerStablePreview.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IBasePool.sol/IBasePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IComposableStable.sol/IComposableStable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IGauge.sol/IGauge.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/ILiquidityGaugeFactory.sol/ILiquidityGaugeFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IMetaStablePool.sol/IMetaStablePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IRateProvider.sol/IRateProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Balancer/IVault.sol/IVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IBooster.sol/IBooster.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICrvDepositor.sol/ICrvDepositor.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/ICvxCrv.sol/ICvxCrv.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ConvexCurve/IRewards.sol/IRewards.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ICrvPool.sol/ICrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/Curve/ITriCrvPool.sol/ITriCrvPool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGMXVault.sol/IGMXVault.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IGlpManager.sol/IGlpManager.json +26 -0
- package/build/artifacts/contracts/interfaces/GMX/IRewardRouterV2.sol/IRewardRouterV2.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/GMX/IVaultPriceFeed.sol/IVaultPriceFeed.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAToken.sol/IAToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAavePool.sol/IAavePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAaveRewardsController.sol/IAaveRewardsController.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IAddressProvider.sol/IAddressProvider.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IApeStaking.sol/IApeStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiComptroller.sol/IBenQiComptroller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBenQiInterestRateModel.sol/IBenQiInterestRateModel.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IBoringOwnableUpgradeable.sol/IBoringOwnableUpgradeable.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondCut.sol/IDiamondCut.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IDiamondLoupe.sol/IDiamondLoupe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IERC4626.sol/IERC4626.json +19 -0
- package/build/artifacts/contracts/interfaces/IEulerEToken.sol/IEulerEToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IEulerMarkets.sol/IEulerMarkets.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/ILooksFeeSharing.sol/ILooksFeeSharing.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ILooksStaking.sol/ILooksStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionAddRemoveLiq.sol/IPActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMintRedeem.sol/IPActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionMisc.sol/IPActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapPT.sol/IPActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPActionSwapYT.sol/IPActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPAllAction.sol/IPAllAction.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSeller.sol/IPBulkSeller.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerFactory.sol/IPBulkSellerFactory.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPBulkSellerSYCallback.sol/IPBulkSellerCallback.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPFeeDistributor.sol/IPFeeDistributor.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/IPGovernanceManager.sol/IPGovernanceManager.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/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/IPMsgReceiverApp.sol/IPMsgReceiverApp.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPMsgSendEndpoint.sol/IPMsgSendEndpoint.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPermissionsV2Upg.sol/IPermissionsV2Upg.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IPPrincipalToken.sol/IPPrincipalToken.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/IPVotingController.sol/IPVotingController.json +39 -0
- 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/IQiAvax.sol/IQiAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiErc20.sol/IQiErc20.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IQiToken.sol/IQiToken.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IREDACTEDStaking.sol/IREDACTEDStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IRewardManager.sol/IRewardManager.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISAvax.sol/ISAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/ISJoe.sol/ISJoe.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStETH.sol/IStETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStandardizedYield.sol/IStandardizedYield.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateLPStaking.sol/IStargateLPStaking.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargatePool.sol/IStargatePool.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IStargateRouter.sol/IStargateRouter.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWAvax.sol/IWAvax.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWETH.sol/IWETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWXBTRFLY.sol/IWXBTRFLY.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IWstETH.sol/IWstETH.dbg.json +1 -1
- package/build/artifacts/contracts/interfaces/IYearnVault.sol/IYearnVault.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/AddressProvider.sol/AddressProvider.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 +4 -0
- package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +256 -0
- package/build/artifacts/contracts/offchain-helpers/BulkSellerOffchain.sol/BulkSellerOffchain.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/MarketMathStatic.sol/MarketMathStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/Multicall2.sol/Multicall2.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/PendleMulticall.sol/PendleMulticall.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.dbg.json +1 -1
- package/build/artifacts/contracts/offchain-helpers/RouterStatic.sol/RouterStatic.json +51 -51
- package/build/artifacts/contracts/router/ActionAddRemoveLiq.sol/ActionAddRemoveLiq.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMintRedeem.sol/ActionMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionMisc.sol/ActionMisc.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapPT.sol/ActionSwapPT.dbg.json +1 -1
- package/build/artifacts/contracts/router/ActionSwapYT.sol/ActionSwapYT.dbg.json +1 -1
- package/build/artifacts/contracts/router/PendleRouter.sol/PendleRouter.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseCallback.sol/ActionBaseCallback.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/ActionBaseMintRedeem.sol/ActionBaseMintRedeem.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/CallbackHelper.sol/CallbackHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtInLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/base/MarketApproxLib.sol/MarketApproxPtOutLib.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/1inch/I1inchAggregationRouterV5.sol/I1inchAggregationRouterV5.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/1inch/OneInchAggregationRouterHelper.sol/OneInchAggregationRouterHelper.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/PendleSwapAggregator.sol/PendleSwapAggregator.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/PendleSwapAggregator.sol/PendleSwapAggregator.json +2 -2
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/KyberAggregationRouterHelper.sol/KyberAggregationRouterHelper.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/ScaleDataHelperEthereum1.sol/ScaleDataHelperEthereum1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IAggregationExecutor.sol/IAggregationExecutor.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IExecutorHelperEthereum1.sol/IExecutorHelperEthereum1.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IHashflow.sol/IHashflow.dbg.json +1 -1
- package/build/artifacts/contracts/router/swap-aggregator/kyberswap/interfaces/IMetaAggregationRouterV2.sol/IMetaAggregationRouterV2.dbg.json +1 -1
- package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +2 -0
- package/contracts/core/RewardManager/RewardManager.sol +1 -1
- package/contracts/core/StandardizedYield/implementations/PendleGdaiSY.sol +138 -0
- package/contracts/interfaces/GMX/IGlpManager.sol +4 -0
- package/contracts/interfaces/IERC4626.sol +2 -0
- package/contracts/interfaces/IPVotingController.sol +6 -0
- package/contracts/offchain-helpers/Broadcaster.sol +48 -0
- package/contracts/offchain-helpers/RouterStatic.sol +31 -27
- package/contracts/router/swap-aggregator/PendleSwapAggregator.sol +0 -1
- package/deployments/42161-markets/GDAI-28MARCH2024.json +10 -0
- package/package.json +8 -9
- package/typechain-types/ActionInfoStatic.ts +310 -0
- package/typechain-types/ActionMarketAuxStatic.ts +350 -0
- package/typechain-types/ActionMarketCoreStatic.ts +1489 -0
- package/typechain-types/ActionMintRedeemStatic.ts +461 -0
- package/typechain-types/ActionStorageStatic.ts +403 -0
- package/typechain-types/ActionVePendleStatic.ts +113 -0
- package/typechain-types/Broadcaster.ts +454 -0
- package/typechain-types/IERC4626.ts +34 -0
- package/typechain-types/IGlpManager.ts +50 -0
- package/typechain-types/IPActionInfoStatic.ts +310 -0
- package/typechain-types/IPActionMarketAuxStatic.ts +350 -0
- package/typechain-types/IPActionMarketCoreStatic.ts +1489 -0
- package/typechain-types/IPActionMintRedeemStatic.ts +461 -0
- package/typechain-types/IPActionStorageStatic.ts +326 -0
- package/typechain-types/IPActionVePendleStatic.ts +113 -0
- package/typechain-types/IPMiniDiamond.ts +147 -0
- package/typechain-types/IPRouterStatic.ts +2394 -509
- package/typechain-types/IPVotingController.ts +96 -0
- package/typechain-types/PendleGDaiSY.ts +1229 -0
- package/typechain-types/PendleRouterStatic.ts +57 -0
- package/typechain-types/VotingControllerStorageUpg.ts +96 -0
- package/typechain-types/factories/ActionInfoStatic__factory.ts +360 -0
- package/typechain-types/factories/ActionMarketAuxStatic__factory.ts +390 -0
- package/typechain-types/factories/ActionMarketCoreStatic__factory.ts +1464 -0
- package/typechain-types/factories/ActionMintRedeemStatic__factory.ts +367 -0
- package/typechain-types/factories/ActionStorageStatic__factory.ts +281 -0
- package/typechain-types/factories/ActionVePendleStatic__factory.ts +155 -0
- package/typechain-types/factories/Broadcaster__factory.ts +311 -0
- package/typechain-types/factories/IERC4626__factory.ts +19 -0
- package/typechain-types/factories/IGlpManager__factory.ts +26 -0
- package/typechain-types/factories/IPActionInfoStatic__factory.ts +322 -0
- package/typechain-types/factories/IPActionMarketAuxStatic__factory.ts +288 -0
- package/typechain-types/factories/IPActionMarketCoreStatic__factory.ts +1289 -0
- package/typechain-types/factories/IPActionMintRedeemStatic__factory.ts +292 -0
- package/typechain-types/factories/IPActionStorageStatic__factory.ts +203 -0
- package/typechain-types/factories/IPActionVePendleStatic__factory.ts +59 -0
- package/typechain-types/factories/IPMiniDiamond__factory.ts +67 -0
- package/typechain-types/factories/IPRouterStatic__factory.ts +1952 -494
- package/typechain-types/factories/IPVotingController__factory.ts +39 -0
- package/typechain-types/factories/PendleAuraWethRethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleAuraWethWstethSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveFraxUsdcSY__factory.ts +1 -1
- package/typechain-types/factories/PendleCurveUsdd3CrvSY__factory.ts +1 -1
- package/typechain-types/factories/PendleFeeDistributor__factory.ts +1 -1
- package/typechain-types/factories/PendleGDaiSY__factory.ts +1035 -0
- package/typechain-types/factories/PendleGlpSY__factory.ts +1 -1
- package/typechain-types/factories/PendleMarket__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/PendleQiTokenSY__factory.ts +1 -1
- package/typechain-types/factories/PendleRouterStatic__factory.ts +88 -0
- package/typechain-types/factories/PendleSwapAggregator__factory.ts +1 -1
- package/typechain-types/factories/PendleVotingControllerUpg__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldContractFactoryV2__factory.ts +1 -1
- package/typechain-types/factories/PendleYieldTokenV2__factory.ts +1 -1
- package/typechain-types/factories/RouterStatic__factory.ts +1 -1
- package/typechain-types/factories/VotingControllerStorageUpg__factory.ts +39 -0
- package/typechain-types/hardhat.d.ts +171 -27
- package/typechain-types/index.ts +36 -8
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol/PendleAura3EthSY.json +0 -1257
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol/PendleAuraCbethWstethSY.json +0 -1244
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol/ComposableStableMath.json +0 -10
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.dbg.json +0 -4
- package/build/artifacts/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol/ComposableStablePreview.json +0 -133
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol +0 -170
- package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol +0 -162
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol +0 -289
- package/contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol +0 -618
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "ComposableStableMath",
|
|
4
|
-
"sourceName": "contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStableMath.sol",
|
|
5
|
-
"abi": [],
|
|
6
|
-
"bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202dae619a23f173b97ba4c1af5c3dd28bbb0d34c0b78027e8e726ab94bdcf474a64736f6c63430008110033",
|
|
7
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202dae619a23f173b97ba4c1af5c3dd28bbb0d34c0b78027e8e726ab94bdcf474a64736f6c63430008110033",
|
|
8
|
-
"linkReferences": {},
|
|
9
|
-
"deployedLinkReferences": {}
|
|
10
|
-
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "ComposableStablePreview",
|
|
4
|
-
"sourceName": "contracts/core/StandardizedYield/implementations/BalancerStable/base/ComposableStable/ComposableStablePreview.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "bytes32",
|
|
10
|
-
"name": "poolId",
|
|
11
|
-
"type": "bytes32"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "address",
|
|
15
|
-
"name": "sender",
|
|
16
|
-
"type": "address"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"internalType": "address",
|
|
20
|
-
"name": "recipient",
|
|
21
|
-
"type": "address"
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"components": [
|
|
25
|
-
{
|
|
26
|
-
"internalType": "address[]",
|
|
27
|
-
"name": "assets",
|
|
28
|
-
"type": "address[]"
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"internalType": "uint256[]",
|
|
32
|
-
"name": "minAmountsOut",
|
|
33
|
-
"type": "uint256[]"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"internalType": "bytes",
|
|
37
|
-
"name": "userData",
|
|
38
|
-
"type": "bytes"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"internalType": "bool",
|
|
42
|
-
"name": "toInternalBalance",
|
|
43
|
-
"type": "bool"
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"internalType": "struct IVault.ExitPoolRequest",
|
|
47
|
-
"name": "request",
|
|
48
|
-
"type": "tuple"
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
"internalType": "bytes",
|
|
52
|
-
"name": "data",
|
|
53
|
-
"type": "bytes"
|
|
54
|
-
}
|
|
55
|
-
],
|
|
56
|
-
"name": "exitPoolPreview",
|
|
57
|
-
"outputs": [
|
|
58
|
-
{
|
|
59
|
-
"internalType": "uint256",
|
|
60
|
-
"name": "amountTokenOut",
|
|
61
|
-
"type": "uint256"
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
"stateMutability": "view",
|
|
65
|
-
"type": "function"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"inputs": [
|
|
69
|
-
{
|
|
70
|
-
"internalType": "bytes32",
|
|
71
|
-
"name": "poolId",
|
|
72
|
-
"type": "bytes32"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"internalType": "address",
|
|
76
|
-
"name": "sender",
|
|
77
|
-
"type": "address"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"internalType": "address",
|
|
81
|
-
"name": "recipient",
|
|
82
|
-
"type": "address"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"components": [
|
|
86
|
-
{
|
|
87
|
-
"internalType": "address[]",
|
|
88
|
-
"name": "assets",
|
|
89
|
-
"type": "address[]"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"internalType": "uint256[]",
|
|
93
|
-
"name": "maxAmountsIn",
|
|
94
|
-
"type": "uint256[]"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"internalType": "bytes",
|
|
98
|
-
"name": "userData",
|
|
99
|
-
"type": "bytes"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"internalType": "bool",
|
|
103
|
-
"name": "fromInternalBalance",
|
|
104
|
-
"type": "bool"
|
|
105
|
-
}
|
|
106
|
-
],
|
|
107
|
-
"internalType": "struct IVault.JoinPoolRequest",
|
|
108
|
-
"name": "request",
|
|
109
|
-
"type": "tuple"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"internalType": "bytes",
|
|
113
|
-
"name": "data",
|
|
114
|
-
"type": "bytes"
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
"name": "joinPoolPreview",
|
|
118
|
-
"outputs": [
|
|
119
|
-
{
|
|
120
|
-
"internalType": "uint256",
|
|
121
|
-
"name": "amountBptOut",
|
|
122
|
-
"type": "uint256"
|
|
123
|
-
}
|
|
124
|
-
],
|
|
125
|
-
"stateMutability": "view",
|
|
126
|
-
"type": "function"
|
|
127
|
-
}
|
|
128
|
-
],
|
|
129
|
-
"bytecode": "0x608060405234801561001057600080fd5b50612617806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063626117301461003b5780636669506014610060575b600080fd5b61004e610049366004611fe6565b610073565b60405190815260200160405180910390f35b61004e61006e366004611fe6565b610096565b600061008c6001878787610086886100a5565b876100d6565b9695505050505050565b600061008c6000878787610086885b6100d260405180608001604052806060815260200160608152602001606081526020016000151581525090565b5090565b6000806100e68460000151610117565b90506000806100f589846101cf565b915091506101098a8a8a8a8a87878c61025f565b9a9950505050505050505050565b6060600082516001600160401b0381111561013457610134611d43565b60405190808252806020026020018201604052801561015d578160200160208202803683370190505b50905060005b83518110156101c85761018e84828151811061018157610181612078565b60200260200101516102c5565b8282815181106101a0576101a0612078565b6001600160a01b03909216602092830291909101909101526101c1816120a4565b9050610163565b5092915050565b604051631f29a8cd60e31b8152600481018390526060906000908190819073ba12222222228d8ba445958a75a0704d566bf2c89063f94d466890602401600060405180830381865afa158015610229573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102519190810190612118565b909890975095505050505050565b600080896001811115610274576102746121e5565b0361029b5761029488888887876102896102f8565b8b6040015189610375565b90506102b9565b6102b688888887876102ab6102f8565b8b60400151896103d6565b90505b98975050505050505050565b60006001600160a01b038216156102dc57816102f2565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b92915050565b600073ce88686553686da562ce7cea497ce749da109f9f6001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037091906121fb565b905090565b6000808280602001905181019061038c91906122f2565b90506000610399826104b2565b905060006103a783836104bd565b90506103b38982610588565b6103c58c8c8c8c8c8c878d8b8b610604565b509c9b505050505050505050505050565b600080828060200190518101906103ed91906122f2565b90506000606060006103fe846104b2565b9050600061040c85836104bd565b90506104188b82610588565b61042a8e8e8e8e8e8e878f8d8b61062a565b9094509250610439838261063d565b60005b83518110156104a057600084828151811061045957610459612078565b6020026020010151111561048e5783818151811061047957610479612078565b602002602001015196505050505050506102b9565b80610498816120a4565b91505061043c565b50505050505098975050505050505050565b60606102f2826106b3565b606060008361010001516001600160401b038111156104de576104de611d43565b604051908082528060200260200182016040528015610507578160200160208202803683370190505b50905060005b84610100015181101561058057610553610527858361075c565b8660400151838151811061053d5761053d612078565b60200260200101516107b790919063ffffffff16565b82828151811061056557610565612078565b6020908102919091010152610579816120a4565b905061050d565b509392505050565b815160005b818110156105fe576105d18482815181106105aa576105aa612078565b60200260200101518483815181106105c4576105c4612078565b60200260200101516107b7565b8482815181106105e3576105e3612078565b60209081029190910101526105f7816120a4565b905061058d565b50505050565b6000606061061760018a888888886107d6565b915091509a509a98505050505050505050565b6000606061061760008a888888886107d6565b815160005b818110156105fe5761068684828151811061065f5761065f612078565b602002602001015184838151811061067957610679612078565b602002602001015161083f565b84828151811061069857610698612078565b60209081029190910101526106ac816120a4565b9050610642565b60608161010001516001600160401b038111156106d2576106d2611d43565b60405190808252806020026020018201604052801561070b57816020015b6106f8611d07565b8152602001906001900390816106f05790505b50905060005b8261010001518110156107565761072881846108a2565b82828151811061073a5761073a612078565b60200260200101819052508061074f906120a4565b9050610711565b50919050565b600082828151811061077057610770612078565b6020026020010151600001516000146107a65782828151811061079557610795612078565b6020026020010151600001516107b0565b670de0b6b3a76400005b9392505050565b6000670de0b6b3a76400006107cc8385612415565b6107b09190612442565b600060606000806000806107eb8b8989610a04565b9350935093509350611d218c61080357610b2c610807565b610b4e5b905061081c848487858f8f8f8863ffffffff16565b909750955061082d8660008b610b61565b95505050505050965096945050505050565b60008160000361086a5760405162461bcd60e51b815260040161086190612464565b60405180910390fd5b8260000361087a575060006102f2565b600061088e670de0b6b3a764000085612415565b905061089a8382612442565b9150506102f2565b6108aa611d07565b8160e001518314806108c357506108c18284610c37565b155b6102f257600082608001516001600160a01b0316637f1260d1846000015186815181106108f2576108f2612078565b60200260200101516040518263ffffffff1660e01b815260040161092591906001600160a01b0391909116815260200190565b608060405180830381865afa158015610942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610966919061248b565b6020860192909252509083529050428110156101c8578260200151848151811061099257610992612078565b60200260200101516001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb91906121fb565b82525092915050565b6000606060008060008087608001516001600160a01b0316633c975d516040518163ffffffff1660e01b81526004016040805180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906124c1565b915091506000806000610a898c86868e8e610c74565b92509250925060008b608001516001600160a01b0316636daccffa6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ad3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af791906124e5565b505090506000868214610b1357610b0e8285610ccb565b610b15565b825b949e939d50909b5092995090975050505050505050565b60006060610b3e87878a8c8888610e78565b9150915097509795505050505050565b60006060610b3e87878a8c898989610f7b565b606083516001610b71919061251e565b6001600160401b03811115610b8857610b88611d43565b604051908082528060200260200182016040528015610bb1578160200160208202803683370190505b50905060005b8151811015610580578260e001518114610c0657848360e001518210610be757610be2600183612531565b610be9565b815b81518110610bf957610bf9612078565b6020026020010151610c08565b835b828281518110610c1a57610c1a612078565b602090810291909101015280610c2f816120a4565b915050610bb7565b6000806001600160a01b031683602001518381518110610c5957610c59612078565b60200260200101516001600160a01b03161415905092915050565b600060606000806000610c87878b61102b565b91509150600080610c9b838c8c8c8c61106b565b915091506000610cab85846111e2565b9050610cb7818661251e565b9d939c50909a509198505050505050505050565b80516000908190815b81811015610d1257610d08858281518110610cf157610cf1612078565b60200260200101518461120090919063ffffffff16565b9250600101610cd4565b5081600003610d26576000925050506102f2565b600082868302825b60ff811015610e25578260005b86811015610d8257610d78610d50838761120c565b610d738c8481518110610d6557610d65612078565b60200260200101518a61120c565b611235565b9150600101610d3b565b50839450610ddb610dba610db4610d99848a61120c565b610dae610da6888d61120c565b6103e8611235565b90611200565b8661120c565b610d73610dca896001018561120c565b610dae610da66103e889038a61120c565b935084841115610e0357600185850311610dfe57839750505050505050506102f2565b610e1c565b600184860311610e1c57839750505050505050506102f2565b50600101610d2e565b5060405162461bcd60e51b815260206004820152602160248201527f537461626c6520496e76617269616e7420646964206e6f7420636f6e766572676044820152606560f81b6064820152608401610861565b60006060600080610e888661125b565b91509150600087516001600160401b03811115610ea757610ea7611d43565b604051908082528060200260200182016040528015610ed0578160200160208202803683370190505b509050610f4d8883858e8e8b608001516001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906121fb565b8f95949392919061127d565b818381518110610f5f57610f5f612078565b6020908102919091010152919a91995090975050505050505050565b600060606000610f8a856113b1565b509050610fa081610f9b86896113c9565b610588565b600061101a88838d8d89608001516001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100f91906121fb565b8e949392919061148f565b9b919a509098505050505050505050565b6000606061105684848660e001518151811061104957611049612078565b6020026020010151611775565b61106085856113c9565b915091509250929050565b600080600080600061107f8a8a89896117e7565b925092509250600088841161109557600061109f565b61109f8985612531565b905060008484116110b15760006110bb565b6110bb8585612531565b60808a0151604051633823200b60e11b8152600060048201819052929350611141916001600160a01b031690637046401690602401602060405180830381865afa15801561110d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113191906121fb565b61113b858761083f565b906107b7565b60808b0151604051633823200b60e11b8152600260048201529192506000916111c2916001600160a01b031690637046401690602401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b891906121fb565b61113b858861083f565b90506111ce818361251e565b9e949d50939b505050505050505050505050565b60006107b06111f08361186a565b6111fa85856107b7565b9061083f565b60006107b0828461251e565b600082820283158061122c5750828482816112295761122961242c565b04145b6107b057600080fd5b60008160000361124457600080fd5b8183816112535761125361242c565b049392505050565b600080828060200190518101906112729190612544565b909590945092505050565b60008061129e8461129887611292818b611890565b9061189c565b90611902565b905060006112ae8a8a848b611936565b905060006112de828b8b815181106112c8576112c8612078565b602002602001015161189090919063ffffffff16565b90506000805b8b51811015611323576113198c828151811061130257611302612078565b60200260200101518361120090919063ffffffff16565b91506001016112e4565b506000611352828d8d8151811061133c5761133c612078565b602002602001015161083f90919063ffffffff16565b9050600061135f8261186a565b9050600061136d8583611902565b9050600061137b8683611890565b905061139c61139583670de0b6b3a76400008d90036107b7565b8290611200565b98505050505050505050979650505050505050565b6060600082806020019051810190611272919061257f565b60606000600183516113db9190612531565b6001600160401b038111156113f2576113f2611d43565b60405190808252806020026020018201604052801561141b578160200160208202803683370190505b50905060005b815181101561058057838560e0015182106114465761144182600161251e565b611448565b815b8151811061145857611458612078565b602002602001015182828151811061147257611472612078565b602090810291909101015280611487816120a4565b915050611421565b600080805b87518110156114bc576114b288828151811061130257611302612078565b9150600101611494565b50600086516001600160401b038111156114d8576114d8611d43565b604051908082528060200260200182016040528015611501578160200160208202803683370190505b5090506000805b89518110156115d6576000611529858c848151811061133c5761133c612078565b905061158d8b838151811061154057611540612078565b60200260200101516111fa8c858151811061155d5761155d612078565b60200260200101518e868151811061157757611577612078565b602002602001015161120090919063ffffffff16565b84838151811061159f5761159f612078565b6020026020010181815250506115cb6115c48286858151811061053d5761053d612078565b8490611200565b925050600101611508565b50600089516001600160401b038111156115f2576115f2611d43565b60405190808252806020026020018201604052801561161b578160200160208202803683370190505b50905060005b8a518110156117135760008385838151811061163f5761163f612078565b602002602001015111156116ba57600061167661166486670de0b6b3a7640000611890565b8e858151811061053d5761053d612078565b90506000611690828e86815181106112c8576112c8612078565b90506116b16116aa82670de0b6b3a76400008d90036107b7565b8390611200565b925050506116d7565b8a82815181106116cc576116cc612078565b602002602001015190505b6116ed818d848151811061157757611577612078565b8383815181106116ff576116ff612078565b602090810291909101015250600101611621565b5060006117208c83610ccb565b9050600061172e828a61083f565b9050670de0b6b3a7640000811115611762576117558a670de0b6b3a763ffff1983016107b7565b965050505050505061008c565b5060009c9b505050505050505050505050565b60006107b08284608001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e191906121fb565b90611890565b60008060006118036117fc8860018888611b5d565b8790610ccb565b92508460a0015115611823576118198688610ccb565b9150819050611860565b8460c00151156118415782915061183a8688610ccb565b9050611860565b6118516117fc8860008888611b5d565b915061185d8688610ccb565b90505b9450945094915050565b6000670de0b6b3a764000082106118825760006102f2565b50670de0b6b3a76400000390565b60006107b08284612531565b6000816000036118be5760405162461bcd60e51b815260040161086190612464565b826000036118ce575060006102f2565b60006118e2670de0b6b3a764000085612415565b90508260018203816118f6576118f661242c565b046001019150506102f2565b60008061190f8385612415565b9050806000036119235760009150506102f2565b670de0b6b3a764000060001982016118f6565b60008084518602905060008560008151811061195457611954612078565b60200260200101519050600086518760008151811061197557611975612078565b60200260200101510290506000600190505b87518110156119e7576119c66119c06119b9848b85815181106119ac576119ac612078565b602002602001015161120c565b8a5161120c565b88611235565b91506119dd888281518110610cf157610cf1612078565b9250600101611987565b508685815181106119fa576119fa612078565b6020026020010151820391506000611a12878861120c565b90506000611a49611a37611a2f84611a2a898861120c565b611c8e565b6103e861120c565b8a89815181106119ac576119ac612078565b90506000611a64611a5d611a2f8b89611235565b8690611200565b9050600080611a80611a768686611200565b611a2a8d86611200565b905060005b60ff811015611b0057819250611ab5611aa286610dae858661120c565b611a2a8e6117e188610dae88600261120c565b915082821115611ade57600183830311611ad957509750611b559650505050505050565b611af8565b600182840311611af857509750611b559650505050505050565b600101611a85565b5060405162461bcd60e51b815260206004820152602360248201527f537461626c65206765742062616c616e636520646964206e6f7420636f6e766560448201526272676560e81b6064820152608401610861565b949350505050565b83516060906000816001600160401b03811115611b7c57611b7c611d43565b604051908082528060200260200182016040528015611ba5578160200160208202803683370190505b50905060005b82811015611c835760008660e00151821015611bc75781611bd2565b611bd282600161251e565b9050611bde8782611cca565b80611bf65750878015611bf65750611bf68782610c37565b611c1957888281518110611c0c57611c0c612078565b6020026020010151611c55565b611c55898381518110611c2e57611c2e612078565b6020026020010151878381518110611c4857611c48612078565b6020026020010151611cf2565b838381518110611c6757611c67612078565b602090810291909101015250611c7c816120a4565b9050611bab565b509695505050505050565b600081600003611c9d57600080fd5b82600003611cad575060006102f2565b816001840381611cbf57611cbf61242c565b0460010190506102f2565b600082606001518281518110611ce257611ce2612078565b6020026020010151905092915050565b80516020820151600091906107cc9085612415565b604051806040016040528060008152602001600081525090565b611d296125cb565b565b6001600160a01b0381168114611d4057600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611d7b57611d7b611d43565b60405290565b60405161012081016001600160401b0381118282101715611d7b57611d7b611d43565b604051601f8201601f191681016001600160401b0381118282101715611dcc57611dcc611d43565b604052919050565b60006001600160401b03821115611ded57611ded611d43565b5060051b60200190565b600082601f830112611e0857600080fd5b81356020611e1d611e1883611dd4565b611da4565b82815260059290921b84018101918181019086841115611e3c57600080fd5b8286015b84811015611c835780358352918301918301611e40565b600082601f830112611e6857600080fd5b81356001600160401b03811115611e8157611e81611d43565b611e94601f8201601f1916602001611da4565b818152846020838601011115611ea957600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114611d4057600080fd5b8035611edf81611ec6565b919050565b600060808284031215611ef657600080fd5b611efe611d59565b905081356001600160401b0380821115611f1757600080fd5b818401915084601f830112611f2b57600080fd5b81356020611f3b611e1883611dd4565b82815260059290921b84018101918181019088841115611f5a57600080fd5b948201945b83861015611f81578535611f7281611d2b565b82529482019490820190611f5f565b86525085810135935082841115611f9757600080fd5b611fa387858801611df7565b90850152506040840135915080821115611fbc57600080fd5b50611fc984828501611e57565b604083015250611fdb60608301611ed4565b606082015292915050565b600080600080600060a08688031215611ffe57600080fd5b85359450602086013561201081611d2b565b9350604086013561202081611d2b565b925060608601356001600160401b038082111561203c57600080fd5b61204889838a01611ee4565b9350608088013591508082111561205e57600080fd5b5061206b88828901611e57565b9150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b6576120b661208e565b5060010190565b600082601f8301126120ce57600080fd5b815160206120de611e1883611dd4565b82815260059290921b840181019181810190868411156120fd57600080fd5b8286015b84811015611c835780518352918301918301612101565b60008060006060848603121561212d57600080fd5b83516001600160401b038082111561214457600080fd5b818601915086601f83011261215857600080fd5b81516020612168611e1883611dd4565b82815260059290921b8401810191818101908a84111561218757600080fd5b948201945b838610156121ae57855161219f81611d2b565b8252948201949082019061218c565b918901519197509093505050808211156121c757600080fd5b506121d4868287016120bd565b925050604084015190509250925092565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561220d57600080fd5b5051919050565b8051611edf81611d2b565b600082601f83011261223057600080fd5b81516020612240611e1883611dd4565b82815260059290921b8401810191818101908684111561225f57600080fd5b8286015b84811015611c8357805161227681611d2b565b8352918301918301612263565b8051611edf81611ec6565b600082601f83011261229f57600080fd5b815160206122af611e1883611dd4565b82815260059290921b840181019181810190868411156122ce57600080fd5b8286015b84811015611c835780516122e581611ec6565b83529183019183016122d2565b60006020828403121561230457600080fd5b81516001600160401b038082111561231b57600080fd5b90830190610120828603121561233057600080fd5b612338611d81565b82518281111561234757600080fd5b6123538782860161221f565b82525060208301518281111561236857600080fd5b6123748782860161221f565b60208301525060408301518281111561238c57600080fd5b612398878286016120bd565b6040830152506060830151828111156123b057600080fd5b6123bc8782860161228e565b6060830152506123ce60808401612214565b60808201526123df60a08401612283565b60a08201526123f060c08401612283565b60c082015260e083810151908201526101009283015192810192909252509392505050565b80820281158282048414176102f2576102f261208e565b634e487b7160e01b600052601260045260246000fd5b60008261245f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600d908201526c2d32b937903234bb34b9b4b7b760991b604082015260600190565b600080600080608085870312156124a157600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080604083850312156124d457600080fd5b505080516020909101519092909150565b6000806000606084860312156124fa57600080fd5b83519250602084015161250c81611ec6565b80925050604084015190509250925092565b808201808211156102f2576102f261208e565b818103818111156102f2576102f261208e565b60008060006060848603121561255957600080fd5b83516002811061256857600080fd5b602085015160409095015190969495509392505050565b60008060006060848603121561259457600080fd5b8351600381106125a357600080fd5b60208501519093506001600160401b038111156125bf57600080fd5b6121d4868287016120bd565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f47c7e989a8c121dbce44771a9c8411189ae7186160de2014d9cf8de3762578f64736f6c63430008110033",
|
|
130
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063626117301461003b5780636669506014610060575b600080fd5b61004e610049366004611fe6565b610073565b60405190815260200160405180910390f35b61004e61006e366004611fe6565b610096565b600061008c6001878787610086886100a5565b876100d6565b9695505050505050565b600061008c6000878787610086885b6100d260405180608001604052806060815260200160608152602001606081526020016000151581525090565b5090565b6000806100e68460000151610117565b90506000806100f589846101cf565b915091506101098a8a8a8a8a87878c61025f565b9a9950505050505050505050565b6060600082516001600160401b0381111561013457610134611d43565b60405190808252806020026020018201604052801561015d578160200160208202803683370190505b50905060005b83518110156101c85761018e84828151811061018157610181612078565b60200260200101516102c5565b8282815181106101a0576101a0612078565b6001600160a01b03909216602092830291909101909101526101c1816120a4565b9050610163565b5092915050565b604051631f29a8cd60e31b8152600481018390526060906000908190819073ba12222222228d8ba445958a75a0704d566bf2c89063f94d466890602401600060405180830381865afa158015610229573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102519190810190612118565b909890975095505050505050565b600080896001811115610274576102746121e5565b0361029b5761029488888887876102896102f8565b8b6040015189610375565b90506102b9565b6102b688888887876102ab6102f8565b8b60400151896103d6565b90505b98975050505050505050565b60006001600160a01b038216156102dc57816102f2565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b92915050565b600073ce88686553686da562ce7cea497ce749da109f9f6001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561034c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037091906121fb565b905090565b6000808280602001905181019061038c91906122f2565b90506000610399826104b2565b905060006103a783836104bd565b90506103b38982610588565b6103c58c8c8c8c8c8c878d8b8b610604565b509c9b505050505050505050505050565b600080828060200190518101906103ed91906122f2565b90506000606060006103fe846104b2565b9050600061040c85836104bd565b90506104188b82610588565b61042a8e8e8e8e8e8e878f8d8b61062a565b9094509250610439838261063d565b60005b83518110156104a057600084828151811061045957610459612078565b6020026020010151111561048e5783818151811061047957610479612078565b602002602001015196505050505050506102b9565b80610498816120a4565b91505061043c565b50505050505098975050505050505050565b60606102f2826106b3565b606060008361010001516001600160401b038111156104de576104de611d43565b604051908082528060200260200182016040528015610507578160200160208202803683370190505b50905060005b84610100015181101561058057610553610527858361075c565b8660400151838151811061053d5761053d612078565b60200260200101516107b790919063ffffffff16565b82828151811061056557610565612078565b6020908102919091010152610579816120a4565b905061050d565b509392505050565b815160005b818110156105fe576105d18482815181106105aa576105aa612078565b60200260200101518483815181106105c4576105c4612078565b60200260200101516107b7565b8482815181106105e3576105e3612078565b60209081029190910101526105f7816120a4565b905061058d565b50505050565b6000606061061760018a888888886107d6565b915091509a509a98505050505050505050565b6000606061061760008a888888886107d6565b815160005b818110156105fe5761068684828151811061065f5761065f612078565b602002602001015184838151811061067957610679612078565b602002602001015161083f565b84828151811061069857610698612078565b60209081029190910101526106ac816120a4565b9050610642565b60608161010001516001600160401b038111156106d2576106d2611d43565b60405190808252806020026020018201604052801561070b57816020015b6106f8611d07565b8152602001906001900390816106f05790505b50905060005b8261010001518110156107565761072881846108a2565b82828151811061073a5761073a612078565b60200260200101819052508061074f906120a4565b9050610711565b50919050565b600082828151811061077057610770612078565b6020026020010151600001516000146107a65782828151811061079557610795612078565b6020026020010151600001516107b0565b670de0b6b3a76400005b9392505050565b6000670de0b6b3a76400006107cc8385612415565b6107b09190612442565b600060606000806000806107eb8b8989610a04565b9350935093509350611d218c61080357610b2c610807565b610b4e5b905061081c848487858f8f8f8863ffffffff16565b909750955061082d8660008b610b61565b95505050505050965096945050505050565b60008160000361086a5760405162461bcd60e51b815260040161086190612464565b60405180910390fd5b8260000361087a575060006102f2565b600061088e670de0b6b3a764000085612415565b905061089a8382612442565b9150506102f2565b6108aa611d07565b8160e001518314806108c357506108c18284610c37565b155b6102f257600082608001516001600160a01b0316637f1260d1846000015186815181106108f2576108f2612078565b60200260200101516040518263ffffffff1660e01b815260040161092591906001600160a01b0391909116815260200190565b608060405180830381865afa158015610942573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610966919061248b565b6020860192909252509083529050428110156101c8578260200151848151811061099257610992612078565b60200260200101516001600160a01b031663679aefce6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb91906121fb565b82525092915050565b6000606060008060008087608001516001600160a01b0316633c975d516040518163ffffffff1660e01b81526004016040805180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906124c1565b915091506000806000610a898c86868e8e610c74565b92509250925060008b608001516001600160a01b0316636daccffa6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610ad3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af791906124e5565b505090506000868214610b1357610b0e8285610ccb565b610b15565b825b949e939d50909b5092995090975050505050505050565b60006060610b3e87878a8c8888610e78565b9150915097509795505050505050565b60006060610b3e87878a8c898989610f7b565b606083516001610b71919061251e565b6001600160401b03811115610b8857610b88611d43565b604051908082528060200260200182016040528015610bb1578160200160208202803683370190505b50905060005b8151811015610580578260e001518114610c0657848360e001518210610be757610be2600183612531565b610be9565b815b81518110610bf957610bf9612078565b6020026020010151610c08565b835b828281518110610c1a57610c1a612078565b602090810291909101015280610c2f816120a4565b915050610bb7565b6000806001600160a01b031683602001518381518110610c5957610c59612078565b60200260200101516001600160a01b03161415905092915050565b600060606000806000610c87878b61102b565b91509150600080610c9b838c8c8c8c61106b565b915091506000610cab85846111e2565b9050610cb7818661251e565b9d939c50909a509198505050505050505050565b80516000908190815b81811015610d1257610d08858281518110610cf157610cf1612078565b60200260200101518461120090919063ffffffff16565b9250600101610cd4565b5081600003610d26576000925050506102f2565b600082868302825b60ff811015610e25578260005b86811015610d8257610d78610d50838761120c565b610d738c8481518110610d6557610d65612078565b60200260200101518a61120c565b611235565b9150600101610d3b565b50839450610ddb610dba610db4610d99848a61120c565b610dae610da6888d61120c565b6103e8611235565b90611200565b8661120c565b610d73610dca896001018561120c565b610dae610da66103e889038a61120c565b935084841115610e0357600185850311610dfe57839750505050505050506102f2565b610e1c565b600184860311610e1c57839750505050505050506102f2565b50600101610d2e565b5060405162461bcd60e51b815260206004820152602160248201527f537461626c6520496e76617269616e7420646964206e6f7420636f6e766572676044820152606560f81b6064820152608401610861565b60006060600080610e888661125b565b91509150600087516001600160401b03811115610ea757610ea7611d43565b604051908082528060200260200182016040528015610ed0578160200160208202803683370190505b509050610f4d8883858e8e8b608001516001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4191906121fb565b8f95949392919061127d565b818381518110610f5f57610f5f612078565b6020908102919091010152919a91995090975050505050505050565b600060606000610f8a856113b1565b509050610fa081610f9b86896113c9565b610588565b600061101a88838d8d89608001516001600160a01b03166355c676286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100f91906121fb565b8e949392919061148f565b9b919a509098505050505050505050565b6000606061105684848660e001518151811061104957611049612078565b6020026020010151611775565b61106085856113c9565b915091509250929050565b600080600080600061107f8a8a89896117e7565b925092509250600088841161109557600061109f565b61109f8985612531565b905060008484116110b15760006110bb565b6110bb8585612531565b60808a0151604051633823200b60e11b8152600060048201819052929350611141916001600160a01b031690637046401690602401602060405180830381865afa15801561110d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113191906121fb565b61113b858761083f565b906107b7565b60808b0151604051633823200b60e11b8152600260048201529192506000916111c2916001600160a01b031690637046401690602401602060405180830381865afa158015611194573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b891906121fb565b61113b858861083f565b90506111ce818361251e565b9e949d50939b505050505050505050505050565b60006107b06111f08361186a565b6111fa85856107b7565b9061083f565b60006107b0828461251e565b600082820283158061122c5750828482816112295761122961242c565b04145b6107b057600080fd5b60008160000361124457600080fd5b8183816112535761125361242c565b049392505050565b600080828060200190518101906112729190612544565b909590945092505050565b60008061129e8461129887611292818b611890565b9061189c565b90611902565b905060006112ae8a8a848b611936565b905060006112de828b8b815181106112c8576112c8612078565b602002602001015161189090919063ffffffff16565b90506000805b8b51811015611323576113198c828151811061130257611302612078565b60200260200101518361120090919063ffffffff16565b91506001016112e4565b506000611352828d8d8151811061133c5761133c612078565b602002602001015161083f90919063ffffffff16565b9050600061135f8261186a565b9050600061136d8583611902565b9050600061137b8683611890565b905061139c61139583670de0b6b3a76400008d90036107b7565b8290611200565b98505050505050505050979650505050505050565b6060600082806020019051810190611272919061257f565b60606000600183516113db9190612531565b6001600160401b038111156113f2576113f2611d43565b60405190808252806020026020018201604052801561141b578160200160208202803683370190505b50905060005b815181101561058057838560e0015182106114465761144182600161251e565b611448565b815b8151811061145857611458612078565b602002602001015182828151811061147257611472612078565b602090810291909101015280611487816120a4565b915050611421565b600080805b87518110156114bc576114b288828151811061130257611302612078565b9150600101611494565b50600086516001600160401b038111156114d8576114d8611d43565b604051908082528060200260200182016040528015611501578160200160208202803683370190505b5090506000805b89518110156115d6576000611529858c848151811061133c5761133c612078565b905061158d8b838151811061154057611540612078565b60200260200101516111fa8c858151811061155d5761155d612078565b60200260200101518e868151811061157757611577612078565b602002602001015161120090919063ffffffff16565b84838151811061159f5761159f612078565b6020026020010181815250506115cb6115c48286858151811061053d5761053d612078565b8490611200565b925050600101611508565b50600089516001600160401b038111156115f2576115f2611d43565b60405190808252806020026020018201604052801561161b578160200160208202803683370190505b50905060005b8a518110156117135760008385838151811061163f5761163f612078565b602002602001015111156116ba57600061167661166486670de0b6b3a7640000611890565b8e858151811061053d5761053d612078565b90506000611690828e86815181106112c8576112c8612078565b90506116b16116aa82670de0b6b3a76400008d90036107b7565b8390611200565b925050506116d7565b8a82815181106116cc576116cc612078565b602002602001015190505b6116ed818d848151811061157757611577612078565b8383815181106116ff576116ff612078565b602090810291909101015250600101611621565b5060006117208c83610ccb565b9050600061172e828a61083f565b9050670de0b6b3a7640000811115611762576117558a670de0b6b3a763ffff1983016107b7565b965050505050505061008c565b5060009c9b505050505050505050505050565b60006107b08284608001516001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e191906121fb565b90611890565b60008060006118036117fc8860018888611b5d565b8790610ccb565b92508460a0015115611823576118198688610ccb565b9150819050611860565b8460c00151156118415782915061183a8688610ccb565b9050611860565b6118516117fc8860008888611b5d565b915061185d8688610ccb565b90505b9450945094915050565b6000670de0b6b3a764000082106118825760006102f2565b50670de0b6b3a76400000390565b60006107b08284612531565b6000816000036118be5760405162461bcd60e51b815260040161086190612464565b826000036118ce575060006102f2565b60006118e2670de0b6b3a764000085612415565b90508260018203816118f6576118f661242c565b046001019150506102f2565b60008061190f8385612415565b9050806000036119235760009150506102f2565b670de0b6b3a764000060001982016118f6565b60008084518602905060008560008151811061195457611954612078565b60200260200101519050600086518760008151811061197557611975612078565b60200260200101510290506000600190505b87518110156119e7576119c66119c06119b9848b85815181106119ac576119ac612078565b602002602001015161120c565b8a5161120c565b88611235565b91506119dd888281518110610cf157610cf1612078565b9250600101611987565b508685815181106119fa576119fa612078565b6020026020010151820391506000611a12878861120c565b90506000611a49611a37611a2f84611a2a898861120c565b611c8e565b6103e861120c565b8a89815181106119ac576119ac612078565b90506000611a64611a5d611a2f8b89611235565b8690611200565b9050600080611a80611a768686611200565b611a2a8d86611200565b905060005b60ff811015611b0057819250611ab5611aa286610dae858661120c565b611a2a8e6117e188610dae88600261120c565b915082821115611ade57600183830311611ad957509750611b559650505050505050565b611af8565b600182840311611af857509750611b559650505050505050565b600101611a85565b5060405162461bcd60e51b815260206004820152602360248201527f537461626c65206765742062616c616e636520646964206e6f7420636f6e766560448201526272676560e81b6064820152608401610861565b949350505050565b83516060906000816001600160401b03811115611b7c57611b7c611d43565b604051908082528060200260200182016040528015611ba5578160200160208202803683370190505b50905060005b82811015611c835760008660e00151821015611bc75781611bd2565b611bd282600161251e565b9050611bde8782611cca565b80611bf65750878015611bf65750611bf68782610c37565b611c1957888281518110611c0c57611c0c612078565b6020026020010151611c55565b611c55898381518110611c2e57611c2e612078565b6020026020010151878381518110611c4857611c48612078565b6020026020010151611cf2565b838381518110611c6757611c67612078565b602090810291909101015250611c7c816120a4565b9050611bab565b509695505050505050565b600081600003611c9d57600080fd5b82600003611cad575060006102f2565b816001840381611cbf57611cbf61242c565b0460010190506102f2565b600082606001518281518110611ce257611ce2612078565b6020026020010151905092915050565b80516020820151600091906107cc9085612415565b604051806040016040528060008152602001600081525090565b611d296125cb565b565b6001600160a01b0381168114611d4057600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611d7b57611d7b611d43565b60405290565b60405161012081016001600160401b0381118282101715611d7b57611d7b611d43565b604051601f8201601f191681016001600160401b0381118282101715611dcc57611dcc611d43565b604052919050565b60006001600160401b03821115611ded57611ded611d43565b5060051b60200190565b600082601f830112611e0857600080fd5b81356020611e1d611e1883611dd4565b611da4565b82815260059290921b84018101918181019086841115611e3c57600080fd5b8286015b84811015611c835780358352918301918301611e40565b600082601f830112611e6857600080fd5b81356001600160401b03811115611e8157611e81611d43565b611e94601f8201601f1916602001611da4565b818152846020838601011115611ea957600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114611d4057600080fd5b8035611edf81611ec6565b919050565b600060808284031215611ef657600080fd5b611efe611d59565b905081356001600160401b0380821115611f1757600080fd5b818401915084601f830112611f2b57600080fd5b81356020611f3b611e1883611dd4565b82815260059290921b84018101918181019088841115611f5a57600080fd5b948201945b83861015611f81578535611f7281611d2b565b82529482019490820190611f5f565b86525085810135935082841115611f9757600080fd5b611fa387858801611df7565b90850152506040840135915080821115611fbc57600080fd5b50611fc984828501611e57565b604083015250611fdb60608301611ed4565b606082015292915050565b600080600080600060a08688031215611ffe57600080fd5b85359450602086013561201081611d2b565b9350604086013561202081611d2b565b925060608601356001600160401b038082111561203c57600080fd5b61204889838a01611ee4565b9350608088013591508082111561205e57600080fd5b5061206b88828901611e57565b9150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016120b6576120b661208e565b5060010190565b600082601f8301126120ce57600080fd5b815160206120de611e1883611dd4565b82815260059290921b840181019181810190868411156120fd57600080fd5b8286015b84811015611c835780518352918301918301612101565b60008060006060848603121561212d57600080fd5b83516001600160401b038082111561214457600080fd5b818601915086601f83011261215857600080fd5b81516020612168611e1883611dd4565b82815260059290921b8401810191818101908a84111561218757600080fd5b948201945b838610156121ae57855161219f81611d2b565b8252948201949082019061218c565b918901519197509093505050808211156121c757600080fd5b506121d4868287016120bd565b925050604084015190509250925092565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561220d57600080fd5b5051919050565b8051611edf81611d2b565b600082601f83011261223057600080fd5b81516020612240611e1883611dd4565b82815260059290921b8401810191818101908684111561225f57600080fd5b8286015b84811015611c8357805161227681611d2b565b8352918301918301612263565b8051611edf81611ec6565b600082601f83011261229f57600080fd5b815160206122af611e1883611dd4565b82815260059290921b840181019181810190868411156122ce57600080fd5b8286015b84811015611c835780516122e581611ec6565b83529183019183016122d2565b60006020828403121561230457600080fd5b81516001600160401b038082111561231b57600080fd5b90830190610120828603121561233057600080fd5b612338611d81565b82518281111561234757600080fd5b6123538782860161221f565b82525060208301518281111561236857600080fd5b6123748782860161221f565b60208301525060408301518281111561238c57600080fd5b612398878286016120bd565b6040830152506060830151828111156123b057600080fd5b6123bc8782860161228e565b6060830152506123ce60808401612214565b60808201526123df60a08401612283565b60a08201526123f060c08401612283565b60c082015260e083810151908201526101009283015192810192909252509392505050565b80820281158282048414176102f2576102f261208e565b634e487b7160e01b600052601260045260246000fd5b60008261245f57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600d908201526c2d32b937903234bb34b9b4b7b760991b604082015260600190565b600080600080608085870312156124a157600080fd5b505082516020840151604085015160609095015191969095509092509050565b600080604083850312156124d457600080fd5b505080516020909101519092909150565b6000806000606084860312156124fa57600080fd5b83519250602084015161250c81611ec6565b80925050604084015190509250925092565b808201808211156102f2576102f261208e565b818103818111156102f2576102f261208e565b60008060006060848603121561255957600080fd5b83516002811061256857600080fd5b602085015160409095015190969495509392505050565b60008060006060848603121561259457600080fd5b8351600381106125a357600080fd5b60208501519093506001600160401b038111156125bf57600080fd5b6121d4868287016120bd565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220f47c7e989a8c121dbce44771a9c8411189ae7186160de2014d9cf8de3762578f64736f6c63430008110033",
|
|
131
|
-
"linkReferences": {},
|
|
132
|
-
"deployedLinkReferences": {}
|
|
133
|
-
}
|
package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAura3EthSY.sol
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./base/PendleAuraBalancerStableLPSY.sol";
|
|
5
|
-
import "../../StEthHelper.sol";
|
|
6
|
-
import "./base/ComposableStable/ComposableStablePreview.sol";
|
|
7
|
-
|
|
8
|
-
contract PendleAura3EthSY is PendleAuraBalancerStableLPSY, StEthHelper {
|
|
9
|
-
address public constant SFRXETH = 0xac3E018457B222d93114458476f3E3416Abbe38F;
|
|
10
|
-
address public constant RETH = 0xae78736Cd615f374D3085123A210448E74Fc6393;
|
|
11
|
-
|
|
12
|
-
uint256 internal constant AURA_PID = 13;
|
|
13
|
-
address internal constant LP = 0x8e85e97ed19C0fa13B2549309965291fbbc0048b;
|
|
14
|
-
|
|
15
|
-
uint256 public constant BPT_INDEX = 1;
|
|
16
|
-
bool public constant NO_TOKENS_EXEMPT = true;
|
|
17
|
-
bool public constant ALL_TOKENS_EXEMPT = false;
|
|
18
|
-
|
|
19
|
-
constructor(
|
|
20
|
-
string memory _name,
|
|
21
|
-
string memory _symbol,
|
|
22
|
-
ComposableStablePreview _previewHelper
|
|
23
|
-
) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
|
|
24
|
-
|
|
25
|
-
function _deposit(address tokenIn, uint256 amount)
|
|
26
|
-
internal
|
|
27
|
-
virtual
|
|
28
|
-
override
|
|
29
|
-
returns (uint256 amountSharesOut)
|
|
30
|
-
{
|
|
31
|
-
if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
|
|
32
|
-
uint256 amountWstETH = _depositWstETH(tokenIn, amount);
|
|
33
|
-
amountSharesOut = super._deposit(WSTETH, amountWstETH);
|
|
34
|
-
} else {
|
|
35
|
-
amountSharesOut = super._deposit(tokenIn, amount);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function _redeem(
|
|
40
|
-
address receiver,
|
|
41
|
-
address tokenOut,
|
|
42
|
-
uint256 amountSharesToRedeem
|
|
43
|
-
) internal virtual override returns (uint256 amountTokenOut) {
|
|
44
|
-
if (tokenOut == STETH) {
|
|
45
|
-
uint256 amountWstETH = super._redeem(address(this), WSTETH, amountSharesToRedeem);
|
|
46
|
-
amountTokenOut = _redeemWstETH(receiver, amountWstETH);
|
|
47
|
-
} else {
|
|
48
|
-
amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
53
|
-
internal
|
|
54
|
-
view
|
|
55
|
-
virtual
|
|
56
|
-
override
|
|
57
|
-
returns (uint256 amountSharesOut)
|
|
58
|
-
{
|
|
59
|
-
if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
|
|
60
|
-
uint256 amountWstETH = _previewDepositWstETH(tokenIn, amountTokenToDeposit);
|
|
61
|
-
amountSharesOut = super._previewDeposit(WSTETH, amountWstETH);
|
|
62
|
-
} else {
|
|
63
|
-
amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
68
|
-
internal
|
|
69
|
-
view
|
|
70
|
-
virtual
|
|
71
|
-
override
|
|
72
|
-
returns (uint256 amountTokenOut)
|
|
73
|
-
{
|
|
74
|
-
if (tokenOut == STETH) {
|
|
75
|
-
uint256 amountWstETH = super._previewRedeem(WSTETH, amountSharesToRedeem);
|
|
76
|
-
amountTokenOut = _previewRedeemWstETH(amountWstETH);
|
|
77
|
-
} else {
|
|
78
|
-
amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
function _getImmutablePoolData() internal view virtual override returns (bytes memory ret) {
|
|
83
|
-
ComposableStablePreview.ImmutableData memory res;
|
|
84
|
-
res.poolTokens = _getPoolTokenAddresses();
|
|
85
|
-
res.rateProviders = _getRateProviders();
|
|
86
|
-
res.rawScalingFactors = _getRawScalingFactors();
|
|
87
|
-
res.isExemptFromYieldProtocolFee = _getExemption();
|
|
88
|
-
res.LP = LP;
|
|
89
|
-
res.noTokensExempt = NO_TOKENS_EXEMPT;
|
|
90
|
-
res.allTokensExempt = ALL_TOKENS_EXEMPT;
|
|
91
|
-
res.bptIndex = BPT_INDEX;
|
|
92
|
-
res.totalTokens = res.poolTokens.length;
|
|
93
|
-
|
|
94
|
-
return abi.encode(res);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function _getPoolTokenAddresses()
|
|
98
|
-
internal
|
|
99
|
-
view
|
|
100
|
-
virtual
|
|
101
|
-
override
|
|
102
|
-
returns (address[] memory res)
|
|
103
|
-
{
|
|
104
|
-
res = new address[](4);
|
|
105
|
-
res[0] = WSTETH;
|
|
106
|
-
res[1] = LP;
|
|
107
|
-
res[2] = SFRXETH;
|
|
108
|
-
res[3] = RETH;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
function _getBPTIndex() internal view virtual override returns (uint256) {
|
|
112
|
-
return BPT_INDEX;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
function _getRateProviders() internal view virtual returns (address[] memory res) {
|
|
116
|
-
res = new address[](4);
|
|
117
|
-
res[0] = 0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768;
|
|
118
|
-
res[1] = 0x0000000000000000000000000000000000000000;
|
|
119
|
-
res[2] = 0x302013E7936a39c358d07A3Df55dc94EC417E3a1;
|
|
120
|
-
res[3] = 0x1a8F81c256aee9C640e14bB0453ce247ea0DFE6F;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
|
|
124
|
-
res = new uint256[](4);
|
|
125
|
-
res[0] = res[1] = res[2] = res[3] = 1e18;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
function _getExemption() internal view virtual returns (bool[] memory res) {
|
|
129
|
-
res = new bool[](4);
|
|
130
|
-
res[0] = res[1] = res[2] = res[3] = false;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
134
|
-
res = new address[](7);
|
|
135
|
-
res[0] = WSTETH;
|
|
136
|
-
res[1] = LP;
|
|
137
|
-
res[2] = SFRXETH;
|
|
138
|
-
res[3] = RETH;
|
|
139
|
-
res[4] = NATIVE;
|
|
140
|
-
res[5] = WETH;
|
|
141
|
-
res[6] = STETH;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
145
|
-
res = new address[](5);
|
|
146
|
-
res[0] = WSTETH;
|
|
147
|
-
res[1] = LP;
|
|
148
|
-
res[2] = SFRXETH;
|
|
149
|
-
res[3] = RETH;
|
|
150
|
-
res[4] = STETH;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
154
|
-
return (token == WSTETH ||
|
|
155
|
-
token == LP ||
|
|
156
|
-
token == SFRXETH ||
|
|
157
|
-
token == RETH ||
|
|
158
|
-
token == NATIVE ||
|
|
159
|
-
token == WETH ||
|
|
160
|
-
token == STETH);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
164
|
-
return (token == WSTETH ||
|
|
165
|
-
token == LP ||
|
|
166
|
-
token == SFRXETH ||
|
|
167
|
-
token == RETH ||
|
|
168
|
-
token == STETH);
|
|
169
|
-
}
|
|
170
|
-
}
|
package/contracts/core/StandardizedYield/implementations/BalancerStable/PendleAuraCbethWstethSY.sol
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
-
pragma solidity 0.8.17;
|
|
3
|
-
|
|
4
|
-
import "./base/PendleAuraBalancerStableLPSY.sol";
|
|
5
|
-
import "../../StEthHelper.sol";
|
|
6
|
-
import "./base/ComposableStable/ComposableStablePreview.sol";
|
|
7
|
-
|
|
8
|
-
contract PendleAuraCbethWstethSY is PendleAuraBalancerStableLPSY, StEthHelper {
|
|
9
|
-
address public constant CBETH = 0xBe9895146f7AF43049ca1c1AE358B0541Ea49704;
|
|
10
|
-
|
|
11
|
-
uint256 internal constant AURA_PID = 37;
|
|
12
|
-
address internal constant LP = 0x4EdcB2B46377530Bc18BB4D2c7Fe46a992c73e10;
|
|
13
|
-
|
|
14
|
-
uint256 public constant BPT_INDEX = 0;
|
|
15
|
-
bool public constant NO_TOKENS_EXEMPT = true;
|
|
16
|
-
bool public constant ALL_TOKENS_EXEMPT = false;
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
19
|
-
string memory _name,
|
|
20
|
-
string memory _symbol,
|
|
21
|
-
ComposableStablePreview _previewHelper
|
|
22
|
-
) PendleAuraBalancerStableLPSY(_name, _symbol, LP, AURA_PID, _previewHelper) {}
|
|
23
|
-
|
|
24
|
-
function _deposit(address tokenIn, uint256 amount)
|
|
25
|
-
internal
|
|
26
|
-
virtual
|
|
27
|
-
override
|
|
28
|
-
returns (uint256 amountSharesOut)
|
|
29
|
-
{
|
|
30
|
-
if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
|
|
31
|
-
uint256 amountWstETH = _depositWstETH(tokenIn, amount);
|
|
32
|
-
amountSharesOut = super._deposit(WSTETH, amountWstETH);
|
|
33
|
-
} else {
|
|
34
|
-
amountSharesOut = super._deposit(tokenIn, amount);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function _redeem(
|
|
39
|
-
address receiver,
|
|
40
|
-
address tokenOut,
|
|
41
|
-
uint256 amountSharesToRedeem
|
|
42
|
-
) internal virtual override returns (uint256 amountTokenOut) {
|
|
43
|
-
if (tokenOut == STETH) {
|
|
44
|
-
uint256 amountWstETH = super._redeem(address(this), WSTETH, amountSharesToRedeem);
|
|
45
|
-
amountTokenOut = _redeemWstETH(receiver, amountWstETH);
|
|
46
|
-
} else {
|
|
47
|
-
amountTokenOut = super._redeem(receiver, tokenOut, amountSharesToRedeem);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function _previewDeposit(address tokenIn, uint256 amountTokenToDeposit)
|
|
52
|
-
internal
|
|
53
|
-
view
|
|
54
|
-
virtual
|
|
55
|
-
override
|
|
56
|
-
returns (uint256 amountSharesOut)
|
|
57
|
-
{
|
|
58
|
-
if (tokenIn == NATIVE || tokenIn == WETH || tokenIn == STETH) {
|
|
59
|
-
uint256 amountWstETH = _previewDepositWstETH(tokenIn, amountTokenToDeposit);
|
|
60
|
-
amountSharesOut = super._previewDeposit(WSTETH, amountWstETH);
|
|
61
|
-
} else {
|
|
62
|
-
amountSharesOut = super._previewDeposit(tokenIn, amountTokenToDeposit);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function _previewRedeem(address tokenOut, uint256 amountSharesToRedeem)
|
|
67
|
-
internal
|
|
68
|
-
view
|
|
69
|
-
virtual
|
|
70
|
-
override
|
|
71
|
-
returns (uint256 amountTokenOut)
|
|
72
|
-
{
|
|
73
|
-
if (tokenOut == STETH) {
|
|
74
|
-
uint256 amountWstETH = super._previewRedeem(WSTETH, amountSharesToRedeem);
|
|
75
|
-
amountTokenOut = _previewRedeemWstETH(amountWstETH);
|
|
76
|
-
} else {
|
|
77
|
-
amountTokenOut = super._previewRedeem(tokenOut, amountSharesToRedeem);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function _getImmutablePoolData() internal view virtual override returns (bytes memory ret) {
|
|
82
|
-
ComposableStablePreview.ImmutableData memory res;
|
|
83
|
-
res.poolTokens = _getPoolTokenAddresses();
|
|
84
|
-
res.rateProviders = _getRateProviders();
|
|
85
|
-
res.rawScalingFactors = _getRawScalingFactors();
|
|
86
|
-
res.isExemptFromYieldProtocolFee = _getExemption();
|
|
87
|
-
res.LP = LP;
|
|
88
|
-
res.noTokensExempt = NO_TOKENS_EXEMPT;
|
|
89
|
-
res.allTokensExempt = ALL_TOKENS_EXEMPT;
|
|
90
|
-
res.bptIndex = BPT_INDEX;
|
|
91
|
-
res.totalTokens = res.poolTokens.length;
|
|
92
|
-
|
|
93
|
-
return abi.encode(res);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
function _getPoolTokenAddresses()
|
|
97
|
-
internal
|
|
98
|
-
view
|
|
99
|
-
virtual
|
|
100
|
-
override
|
|
101
|
-
returns (address[] memory res)
|
|
102
|
-
{
|
|
103
|
-
res = new address[](3);
|
|
104
|
-
res[0] = LP;
|
|
105
|
-
res[1] = WSTETH;
|
|
106
|
-
res[2] = CBETH;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function _getBPTIndex() internal view virtual override returns (uint256) {
|
|
110
|
-
return BPT_INDEX;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function _getRateProviders() internal view virtual returns (address[] memory res) {
|
|
114
|
-
res = new address[](3);
|
|
115
|
-
res[0] = 0x0000000000000000000000000000000000000000;
|
|
116
|
-
res[1] = 0x72D07D7DcA67b8A406aD1Ec34ce969c90bFEE768;
|
|
117
|
-
res[2] = 0x7311E4BB8a72e7B300c5B8BDE4de6CdaA822a5b1;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
function _getRawScalingFactors() internal view virtual returns (uint256[] memory res) {
|
|
121
|
-
res = new uint256[](3);
|
|
122
|
-
res[0] = res[1] = res[2] = 1e18;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function _getExemption() internal view virtual returns (bool[] memory res) {
|
|
126
|
-
res = new bool[](3);
|
|
127
|
-
res[0] = res[1] = res[2] = false;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
function getTokensIn() public view virtual override returns (address[] memory res) {
|
|
131
|
-
res = new address[](6);
|
|
132
|
-
res[0] = WSTETH;
|
|
133
|
-
res[1] = STETH;
|
|
134
|
-
res[2] = NATIVE;
|
|
135
|
-
res[3] = WETH;
|
|
136
|
-
// All 4 converted to WSTETH
|
|
137
|
-
res[4] = CBETH;
|
|
138
|
-
res[5] = LP;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
function getTokensOut() public view virtual override returns (address[] memory res) {
|
|
142
|
-
res = new address[](4);
|
|
143
|
-
res[0] = WSTETH;
|
|
144
|
-
res[1] = STETH;
|
|
145
|
-
//
|
|
146
|
-
res[2] = CBETH;
|
|
147
|
-
res[3] = LP;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
function isValidTokenIn(address token) public view virtual override returns (bool) {
|
|
151
|
-
return (token == WSTETH ||
|
|
152
|
-
token == STETH ||
|
|
153
|
-
token == NATIVE ||
|
|
154
|
-
token == WETH ||
|
|
155
|
-
token == CBETH ||
|
|
156
|
-
token == LP);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function isValidTokenOut(address token) public view virtual override returns (bool) {
|
|
160
|
-
return (token == WSTETH || token == STETH || token == CBETH || token == LP);
|
|
161
|
-
}
|
|
162
|
-
}
|