import { BigNumberish, BigNumber, Signer } from "ethers"; import { CompoundPriceOracleMock, Comp, CompoundGovernorAlpha, CompoundGovernorBravoDelegate, CompoundGovernorBravoDelegator, CompoundTimelock, Comptroller, CERc20, CEther, PriceOracleProxy, Unitroller, WhitePaperInterestRateModel } from "./../contracts/compound"; import { WETH9, DelegateRegistry } from "./../contracts"; import { Address } from "./../types"; import { CurveDeposit, CurvePoolERC20, CurveStableswapMock, CRVToken, GaugeController, LiquidityGauge, LiquidityGaugeReward, Minter, Stableswap } from "../contracts/curve"; import { StakingRewards, Uni, UniswapGovernorAlpha, UniswapTimelock, UniswapV2Factory, UniswapV2Pair, UniswapV2Router02 } from "../contracts/uniswap"; import { WrappedfCash, WrappedfCashFactory } from "../contracts/notional"; import { BFactory, BRegistry, ExchangeProxy } from "../contracts/balancer"; import { Vault, Registry } from "../contracts/yearn"; import { KyberNetworkTokenV2, DMMFactory, DMMPool, DMMRouter02 } from "../contracts/kyberV3"; import { SwapRouter, UniswapV3Factory, NonfungiblePositionManager, Quoter, NFTDescriptor, UniswapV3Pool } from "../contracts/uniswapV3"; import { AaveGovernanceV2, AaveV2AToken, AaveV2StakedTokenIncentivesController, AaveV2StableDebtToken, AaveV2VariableDebtToken, AaveV2ProtocolDataProvider, AaveV2LendingPool, AaveV2LendingPoolAddressesProvider, AaveV2LendingPoolConfigurator, AaveV2LendingPoolCollateralManager, AaveV2DefaultReserveInterestRateStrategy, AaveV2LendingRateOracle, AaveV2Oracle, AaveV2PriceOracle, AaveTokenV2Mintable, Executor, GovernanceStrategy, GenericLogic, ReserveLogic, ValidationLogic } from "../contracts/aaveV2"; import { PerpV2MarketRegistry, PerpV2OrderBook, PerpV2Quoter, PerpV2QuoteToken, PerpV2Vault, PerpV2TestAggregatorV3, PerpV2ChainlinkPriceFeed, PerpV2BaseToken, PerpV2ClearingHouse, PerpV2ClearingHouseConfig, PerpV2InsuranceFund, PerpV2AccountBalance, PerpV2Exchange } from "../contracts/perpV2"; export default class DeployExternalContracts { private _deployerSigner; constructor(deployerSigner: Signer); deployComp(_account: Address): Promise; deployCompoundTimelock(_admin: Address, _delay: BigNumber): Promise; deployCompoundGovernorAlpha(_timelock: Address, _comp: Address, _guardian: Address): Promise; deployCompoundGovernorBravoDelegate(): Promise; deployCompoundGovernorBravoDelegator(timelock: Address, comp: Address, admin: Address, implementation: Address, votingPeriod: BigNumberish, votingDelay: BigNumberish, proposalThreshold: BigNumberish): Promise; deployCeRc20(underlying: Address, comptroller: Address, interestRateModel: Address, initialExchangeRateMantissa: BigNumberish, name: string, symbol: string, decimals: BigNumberish): Promise; deployCEther(comptroller: Address, interestRateModel: Address, initialExchangeRateMantissa: BigNumberish, name: string, symbol: string, decimals: BigNumberish): Promise; deployCompoundPriceOracleMock(): Promise; deployPriceOracleProxy(guardian: Address, v1PriceOracle: Address, cEthAddress: Address, cUsdcAddress: Address, cSaiAddress: Address, cDaiAddress: Address, cUsdtAddress: Address): Promise; deployComptroller(): Promise; deployUnitroller(): Promise; deployWhitePaperInterestRateModel(baseRate: BigNumberish, multiplier: BigNumberish): Promise; deployWETH(): Promise; getWETH(weth: Address): Promise; deployAaveV2LendingPoolAddressesProvider(marketId: string): Promise; deployAaveV2LendingPool(validationLogicAddress: Address, reserveLogicAddress: Address): Promise; deployAaveV2LendingPoolConfigurator(): Promise; deployAaveV2LendingPoolCollateralManager(): Promise; deployAaveV2LendingRateOracle(): Promise; deployAaveV2Oracle(assets: string[], sources: [], fallBackOracle: Address, weth: Address): Promise; deployAaveV2PriceOracle(): Promise; deployAaveV2DefaultReserveInterestRateStrategy(_AddressesProvider: Address, _optimalUtilizationRate?: BigNumberish, _baseVariableBorrowRate?: BigNumberish, _variableRateSlope1?: BigNumberish, _variableRateSlope2?: BigNumberish, _stableRateSlope1?: BigNumberish, _stableRateSlope2?: BigNumberish): Promise; deployAaveV2ProtocolDataProvider(addressProvider: Address): Promise; deployAaveV2AToken(): Promise; deployAaveV2StableDebtToken(): Promise; deployAaveV2VariableDebtToken(): Promise; deployAaveV2StakedTokenIncentivesController(stakeToken: Address, emissionManager: Address): Promise; getForkedAaveLendingPoolAddressesProvider(_mainnetAddressesProvider: Address): AaveV2LendingPoolAddressesProvider; getForkedAaveV2ProtocolDataProvider(_mainnetAddressesProvider: Address): AaveV2ProtocolDataProvider; deployGeneralLogic(): Promise; deployValidationLogic(genericLogicLibraryAddress: Address): Promise; deployReserveLogic(): Promise; deployAaveGovernanceV2(_governanceStrategy: Address, _votingDelay: BigNumber, _guardian: Address, _executors: Address[]): Promise; deployExecutor(_admin: Address, _delay: BigNumber, _gracePeriod: BigNumber, _minimumDelay: BigNumber, _maximumDelay: BigNumber, _propositionThreshold: BigNumber, _voteDuration: BigNumber, _voteDifferential: BigNumber, _minmumQuorum: BigNumber): Promise; deployGovernanceStrategy(_aave: Address, _stkaave: Address): Promise; deployAaveTokenV2Mintable(): Promise; deployCurveDeposit(_coins: [string, string, string, string], _underlying_coins: [string, string, string, string], _curve: string, _token: string): Promise; deployCurvePoolERC20(_name: string, _symbol: string, _decimals: BigNumberish | undefined, _supply: BigNumberish): Promise; getCurveStEthStableswapMock(): Promise; getCurveWethStethStableswapMock(): Promise; deployStableswap(_coins: [string, string, string, string], _underlying_coins: [string, string, string, string], _pool_token: string, _aCoefficient?: BigNumberish, _fee?: BigNumberish): Promise; deployCrvToken(_name: string, _symbol: string, _decimals?: BigNumberish): Promise; deployGaugeController(_token: string, _voting_escrow: string): Promise; deployLiquidityGaugeReward(_lpAddr: string, _minter: string, _reward_contract: string, _rewarded_token: string): Promise; deployLiquidityGauge(_lpAddr: string, _minter: string): Promise; deployMinter(_token: string, _controller: string): Promise; deployUni(_account: Address, _minter: Address, _mintingAllowedAfter: BigNumber): Promise; deployUniswapTimelock(_admin: Address, _delay: BigNumber): Promise; deployUniswapGovernorAlpha(_timelock: Address, _uni: Address): Promise; deployUniswapV2Factory(_feeToSetter: string): Promise; deployUniswapV2Router02(_factory: Address, _weth: Address): Promise; getForkedUniswapV2Router02(_mainnetRouter: Address): UniswapV2Router02; deployUniswapV2Pair(): Promise; deployStakingRewards(_rewardsDistribution: Address, _rewardsToken: Address, _stakingToken: Address): Promise; deployB__factory(): Promise; deployExchangeProxy(weth: Address): Promise; deployBRegistry(factory: Address): Promise; deployDelegateRegistry(): Promise; deployVault(): Promise; getVault(vaultAddress: Address): Promise; deployRegistry(): Promise; deployKyberNetworkTokenV2(): Promise; deployDMMFactory(_feeToSetter: string): Promise; deployDMMRouter02(_factory: Address, _weth: Address): Promise; deployDMMPool(): Promise; deployUniswapV3Factory(): Promise; deploySwapRouter(factory: Address, weth: Address): Promise; deployNftPositionManager(factory: Address, weth: Address, nftDesc: Address): Promise; deployQuoter(factory: Address, weth: Address): Promise; deployNFTDescriptor(): Promise; getUniswapV3PoolInstance(pool: Address): Promise; deployPerpV2OrderBook(): Promise; deployPerpV2MarketRegistry(): Promise; deployPerpV2Quoter(marketRegistry: Address): Promise; deployPerpV2QuoteToken(): Promise; deployPerpV2Vault(): Promise; deployPerpV2TestAggregatorV3(): Promise; deployPerpV2ChainlinkPriceFeed(): Promise; deployPerpV2BaseToken(): Promise; deployPerpV2ClearingHouseConfig(): Promise; deployPerpV2InsuranceFund(): Promise; deployPerpV2AccountBalance(): Promise; deployPerpV2Exchange(): Promise; deployPerpV2ClearingHouse(): Promise; deployWrappedfCash(notionalProxy: Address, weth: Address): Promise; deployWrappedfCashFactory(beacon: Address): Promise; getVToken(token: Address): Promise; } //# sourceMappingURL=deployExternal.d.ts.map