mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Cleanup (Removed unneeded dev deployment)
This commit is contained in:
parent
587c4df47c
commit
0472cc27f2
|
@ -25,7 +25,6 @@ import {
|
|||
} from './contracts-deployments';
|
||||
import { ZERO_ADDRESS } from './constants';
|
||||
import { isZeroAddress } from 'ethereumjs-util';
|
||||
import { LendingPoolAddressesProvider } from '../types';
|
||||
|
||||
const chooseATokenDeployment = (id: eContractid) => {
|
||||
switch (id) {
|
||||
|
@ -39,7 +38,6 @@ const chooseATokenDeployment = (id: eContractid) => {
|
|||
};
|
||||
|
||||
export const initReservesByHelper = async (
|
||||
addressProvider: LendingPoolAddressesProvider,
|
||||
reservesParams: iMultiPoolsAssets<IReserveParams>,
|
||||
tokenAddresses: { [symbol: string]: tEthereumAddress },
|
||||
admin: tEthereumAddress,
|
||||
|
@ -51,7 +49,7 @@ export const initReservesByHelper = async (
|
|||
const stableAndVariableDeployer = await getStableAndVariableTokensHelper();
|
||||
const atokenAndRatesDeployer = await getATokensAndRatesHelper();
|
||||
|
||||
//const addressProvider = await getLendingPoolAddressesProvider();
|
||||
const addressProvider = await getLendingPoolAddressesProvider();
|
||||
const poolAddress = await addressProvider.getLendingPool();
|
||||
|
||||
// Set aTokenAndRatesDeployer as temporal admin
|
||||
|
@ -82,7 +80,6 @@ export const initReservesByHelper = async (
|
|||
Object.entries(reservesParams).length * 4
|
||||
} txs`
|
||||
);
|
||||
console.log("initReservesByHelper: tokenAddresses:", tokenAddresses);
|
||||
for (let reservesChunk of reservesChunks) {
|
||||
// Prepare data
|
||||
const tokens: string[] = [];
|
||||
|
@ -98,15 +95,13 @@ export const initReservesByHelper = async (
|
|||
const reservesDecimals: string[] = [];
|
||||
|
||||
for (let [assetSymbol, { reserveDecimals }] of reservesChunk) {
|
||||
console.log("initReservesByHelper: assetSymbol:\n%s", assetSymbol);
|
||||
const assetAddressIndex = Object.keys(tokenAddresses).findIndex(
|
||||
(value) => value === assetSymbol
|
||||
);
|
||||
console.log("initReservesByHelper: assetAddressIndex:\n%s", assetAddressIndex);
|
||||
const [, tokenAddress] = (Object.entries(tokenAddresses) as [string, string][])[
|
||||
assetAddressIndex
|
||||
];
|
||||
console.log("initReservesByHelper: tokenAddress:\n%s", assetAddressIndex);
|
||||
|
||||
const reserveParamIndex = Object.keys(reservesParams).findIndex(
|
||||
(value) => value === assetSymbol
|
||||
);
|
||||
|
@ -136,7 +131,6 @@ export const initReservesByHelper = async (
|
|||
}
|
||||
|
||||
// Deploy stable and variable deployers and save implementations
|
||||
// PARAMS HANG IN LOCALHOST console.log("Hanging params:\ntokens:\n %s\n symbols:\n %s \n incentivesController: \n %s ", tokens, symbols, incentivesController);
|
||||
const tx1 = await waitForTx(
|
||||
await stableAndVariableDeployer.initDeployment(tokens, symbols, incentivesController)
|
||||
);
|
||||
|
@ -306,13 +300,12 @@ export const getPairsTokenAggregator = (
|
|||
};
|
||||
|
||||
export const configureReservesByHelper = async (
|
||||
addressProvider: LendingPoolAddressesProvider,
|
||||
reservesParams: iMultiPoolsAssets<IReserveParams>,
|
||||
tokenAddresses: { [symbol: string]: tEthereumAddress },
|
||||
helpers: AaveProtocolDataProvider,
|
||||
admin: tEthereumAddress
|
||||
) => {
|
||||
//const addressProvider = await getLendingPoolAddressesProvider();
|
||||
const addressProvider = await getLendingPoolAddressesProvider();
|
||||
const atokenAndRatesDeployer = await getATokensAndRatesHelper();
|
||||
const tokens: string[] = [];
|
||||
const symbols: string[] = [];
|
||||
|
|
|
@ -28,7 +28,6 @@ export const setInitialMarketRatesInRatesOracleByHelper = async (
|
|||
string,
|
||||
IMarketRates
|
||||
][]) {
|
||||
console.log("Current asset symbol:", assetSymbol);
|
||||
const assetAddressIndex = Object.keys(assetsAddresses).findIndex(
|
||||
(value) => value === assetSymbol
|
||||
);
|
||||
|
@ -39,12 +38,6 @@ export const setInitialMarketRatesInRatesOracleByHelper = async (
|
|||
borrowRates.push(borrowRate);
|
||||
symbols.push(assetSymbol);
|
||||
}
|
||||
|
||||
console.log("---setInitialMarketRatesInRatesOracleByHelper---");
|
||||
console.log(assetAddresses);
|
||||
console.log(symbols);
|
||||
console.log(borrowRates);
|
||||
|
||||
// Set borrow rates per chunks
|
||||
const ratesChunks = 20;
|
||||
const chunkedTokens = chunk(assetAddresses, ratesChunks);
|
||||
|
|
|
@ -28,41 +28,31 @@ export enum AavePools {
|
|||
export enum eContractid {
|
||||
Example = 'Example',
|
||||
LendingPoolAddressesProvider = 'LendingPoolAddressesProvider',
|
||||
UniswapLendingPoolAddressesProvider = 'UniswapLendingPoolAddressesProvider',
|
||||
MintableERC20 = 'MintableERC20',
|
||||
MintableDelegationERC20 = 'MintableDelegationERC20',
|
||||
LendingPoolAddressesProviderRegistry = 'LendingPoolAddressesProviderRegistry',
|
||||
LendingPoolParametersProvider = 'LendingPoolParametersProvider',
|
||||
LendingPoolConfigurator = 'LendingPoolConfigurator',
|
||||
UniswapLendingPoolConfigurator = 'UniswapLendingPoolConfigurator',
|
||||
ValidationLogic = 'ValidationLogic',
|
||||
ReserveLogic = 'ReserveLogic',
|
||||
GenericLogic = 'GenericLogic',
|
||||
LendingPool = 'LendingPool',
|
||||
UniswapLendingPool = 'UniswapLendingPool',
|
||||
PriceOracle = 'PriceOracle',
|
||||
UniswapPriceOracle = 'UniswapPriceOracle',
|
||||
Proxy = 'Proxy',
|
||||
MockAggregator = 'MockAggregator',
|
||||
LendingRateOracle = 'LendingRateOracle',
|
||||
UniswapLendingRateOracle = 'UniswapLendingRateOracle',
|
||||
AaveOracle = 'AaveOracle',
|
||||
UniswapAaveOracle = 'UniswapAaveOracle',
|
||||
DefaultReserveInterestRateStrategy = 'DefaultReserveInterestRateStrategy',
|
||||
LendingPoolCollateralManager = 'LendingPoolCollateralManager',
|
||||
UniswapLendingPoolCollateralManager = 'UniswapLendingPoolCollateralManager',
|
||||
InitializableAdminUpgradeabilityProxy = 'InitializableAdminUpgradeabilityProxy',
|
||||
MockFlashLoanReceiver = 'MockFlashLoanReceiver',
|
||||
UniswapMockFlashLoanReceiver = 'UniswapMockFlashLoanReceiver',
|
||||
WalletBalanceProvider = 'WalletBalanceProvider',
|
||||
UniswapWalletBalanceProvider = 'UniswapWalletBalanceProvider',
|
||||
AToken = 'AToken',
|
||||
MockAToken = 'MockAToken',
|
||||
DelegationAwareAToken = 'DelegationAwareAToken',
|
||||
MockStableDebtToken = 'MockStableDebtToken',
|
||||
MockVariableDebtToken = 'MockVariableDebtToken',
|
||||
AaveProtocolDataProvider = 'AaveProtocolDataProvider',
|
||||
UniswapAaveProtocolDataProvider = 'UniswapAaveProtocolDataProvider',
|
||||
IERC20Detailed = 'IERC20Detailed',
|
||||
StableDebtToken = 'StableDebtToken',
|
||||
VariableDebtToken = 'VariableDebtToken',
|
||||
|
@ -72,16 +62,12 @@ export enum eContractid {
|
|||
ATokensAndRatesHelper = 'ATokensAndRatesHelper',
|
||||
UiPoolDataProvider = 'UiPoolDataProvider',
|
||||
WETHGateway = 'WETHGateway',
|
||||
UniswapWETHGateway = 'UniswapWETHGateway',
|
||||
WETH = 'WETH',
|
||||
WETHMocked = 'WETHMocked',
|
||||
SelfdestructTransferMock = 'SelfdestructTransferMock',
|
||||
LendingPoolImpl = 'LendingPoolImpl',
|
||||
UniswapLendingPoolImpl = 'UniswapLendingPoolImpl',
|
||||
LendingPoolConfiguratorImpl = 'LendingPoolConfiguratorImpl',
|
||||
UniswapLendingPoolConfiguratorImpl = 'UniswapLendingPoolConfiguratorImpl',
|
||||
LendingPoolCollateralManagerImpl = 'LendingPoolCollateralManagerImpl',
|
||||
UniswapLendingPoolCollateralManagerImpl = 'UniswapLendingPoolCollateralManagerImpl',
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,241 +0,0 @@
|
|||
// import { Contract } from 'ethers';
|
||||
// import { DRE } from './misc-utils';
|
||||
// import {
|
||||
// tEthereumAddress,
|
||||
// eContractid,
|
||||
// tStringTokenSmallUnits,
|
||||
// AavePools,
|
||||
// TokenContractId,
|
||||
// iMultiPoolsAssets,
|
||||
// IReserveParams,
|
||||
// PoolConfiguration,
|
||||
// eEthereumNetwork,
|
||||
// } from './types';
|
||||
|
||||
// import { MintableERC20 } from '../types/MintableERC20';
|
||||
// import { MockContract } from 'ethereum-waffle';
|
||||
// import { getReservesConfigByPool } from './configuration';
|
||||
// import { getFirstSigner } from './contracts-getters';
|
||||
// import { ZERO_ADDRESS } from './constants';
|
||||
// import {
|
||||
// AaveProtocolDataProviderFactory,
|
||||
// ATokenFactory,
|
||||
// ATokensAndRatesHelperFactory,
|
||||
// AaveOracleFactory,
|
||||
// DefaultReserveInterestRateStrategyFactory,
|
||||
// DelegationAwareATokenFactory,
|
||||
// InitializableAdminUpgradeabilityProxyFactory,
|
||||
// LendingPoolAddressesProviderFactory,
|
||||
// LendingPoolAddressesProviderRegistryFactory,
|
||||
// LendingPoolCollateralManagerFactory,
|
||||
// LendingPoolConfiguratorFactory,
|
||||
// LendingPoolFactory,
|
||||
// LendingRateOracleFactory,
|
||||
// MintableDelegationERC20Factory,
|
||||
// MintableERC20Factory,
|
||||
// MockAggregatorFactory,
|
||||
// MockATokenFactory,
|
||||
// MockFlashLoanReceiverFactory,
|
||||
// MockStableDebtTokenFactory,
|
||||
// MockVariableDebtTokenFactory,
|
||||
// PriceOracleFactory,
|
||||
// ReserveLogicFactory,
|
||||
// SelfdestructTransferFactory,
|
||||
// StableDebtTokenFactory,
|
||||
// VariableDebtTokenFactory,
|
||||
// WalletBalanceProviderFactory,
|
||||
// WETH9MockedFactory,
|
||||
// WETHGatewayFactory,
|
||||
// } from '../types';
|
||||
// import {
|
||||
// withSaveAndVerify,
|
||||
// registerContractInJsonDb,
|
||||
// linkBytecode,
|
||||
// insertContractAddressInDb,
|
||||
// } from './contracts-helpers';
|
||||
// import { StableAndVariableTokensHelperFactory } from '../types/StableAndVariableTokensHelperFactory';
|
||||
// import { MintableDelegationERC20 } from '../types/MintableDelegationERC20';
|
||||
// import { readArtifact as buidlerReadArtifact } from '@nomiclabs/buidler/plugins';
|
||||
// import { HardhatRuntimeEnvironment } from 'hardhat/types';
|
||||
// import { LendingPoolLibraryAddresses } from '../types/LendingPoolFactory';
|
||||
|
||||
// const readArtifact = async (id: string) => {
|
||||
// if (DRE.network.name === eEthereumNetwork.buidlerevm) {
|
||||
// return buidlerReadArtifact(DRE.config.paths.artifacts, id);
|
||||
// }
|
||||
// return (DRE as HardhatRuntimeEnvironment).artifacts.readArtifact(id);
|
||||
// };
|
||||
|
||||
// export const deployUniswapLendingPoolAddressesProvider = async (marketId: string, verify?: boolean) =>
|
||||
// withSaveAndVerify(
|
||||
// await new LendingPoolAddressesProviderFactory(await getFirstSigner()).deploy(marketId),
|
||||
// eContractid.UniswapLendingPoolAddressesProvider,
|
||||
// [marketId],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapLendingPoolConfigurator = async (verify?: boolean) => {
|
||||
// const lendingPoolConfiguratorImpl = await new LendingPoolConfiguratorFactory(
|
||||
// await getFirstSigner()
|
||||
// ).deploy();
|
||||
// await insertContractAddressInDb(
|
||||
// eContractid.UniswapLendingPoolConfiguratorImpl,
|
||||
// lendingPoolConfiguratorImpl.address
|
||||
// );
|
||||
// return withSaveAndVerify(
|
||||
// lendingPoolConfiguratorImpl,
|
||||
// eContractid.UniswapLendingPoolConfigurator,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
// };
|
||||
|
||||
// export const deployUniswapLendingPool = async (verify?: boolean) => {
|
||||
// const libraries = await deployAaveLibraries(verify);
|
||||
// const lendingPoolImpl = await new LendingPoolFactory(libraries, await getFirstSigner()).deploy();
|
||||
// await insertContractAddressInDb(eContractid.UniswapLendingPoolImpl, lendingPoolImpl.address);
|
||||
// return withSaveAndVerify(lendingPoolImpl, eContractid.LendingPool, [], verify);
|
||||
// };
|
||||
|
||||
// export const deployReserveLogicLibrary = async (verify?: boolean) =>
|
||||
// withSaveAndVerify(
|
||||
// await new ReserveLogicFactory(await getFirstSigner()).deploy(),
|
||||
// eContractid.ReserveLogic,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployGenericLogic = async (reserveLogic: Contract, verify?: boolean) => {
|
||||
// const genericLogicArtifact = await readArtifact(eContractid.GenericLogic);
|
||||
|
||||
// const linkedGenericLogicByteCode = linkBytecode(genericLogicArtifact, {
|
||||
// [eContractid.ReserveLogic]: reserveLogic.address,
|
||||
// });
|
||||
|
||||
// const genericLogicFactory = await DRE.ethers.getContractFactory(
|
||||
// genericLogicArtifact.abi,
|
||||
// linkedGenericLogicByteCode
|
||||
// );
|
||||
|
||||
// const genericLogic = await (await genericLogicFactory.deploy()).deployed();
|
||||
// return withSaveAndVerify(genericLogic, eContractid.GenericLogic, [], verify);
|
||||
// };
|
||||
|
||||
// export const deployValidationLogic = async (
|
||||
// reserveLogic: Contract,
|
||||
// genericLogic: Contract,
|
||||
// verify?: boolean
|
||||
// ) => {
|
||||
// const validationLogicArtifact = await readArtifact(eContractid.ValidationLogic);
|
||||
|
||||
// const linkedValidationLogicByteCode = linkBytecode(validationLogicArtifact, {
|
||||
// [eContractid.ReserveLogic]: reserveLogic.address,
|
||||
// [eContractid.GenericLogic]: genericLogic.address,
|
||||
// });
|
||||
|
||||
// const validationLogicFactory = await DRE.ethers.getContractFactory(
|
||||
// validationLogicArtifact.abi,
|
||||
// linkedValidationLogicByteCode
|
||||
// );
|
||||
|
||||
// const validationLogic = await (await validationLogicFactory.deploy()).deployed();
|
||||
|
||||
// return withSaveAndVerify(validationLogic, eContractid.ValidationLogic, [], verify);
|
||||
// };
|
||||
|
||||
// export const deployAaveLibraries = async (
|
||||
// verify?: boolean
|
||||
// ): Promise<LendingPoolLibraryAddresses> => {
|
||||
// const reserveLogic = await deployReserveLogicLibrary(verify);
|
||||
// const genericLogic = await deployGenericLogic(reserveLogic, verify);
|
||||
// const validationLogic = await deployValidationLogic(reserveLogic, genericLogic, verify);
|
||||
|
||||
// // Hardcoded solidity placeholders, if any library changes path this will fail.
|
||||
// // The '__$PLACEHOLDER$__ can be calculated via solidity keccak, but the LendingPoolLibraryAddresses Type seems to
|
||||
// // require a hardcoded string.
|
||||
// //
|
||||
// // how-to:
|
||||
// // 1. PLACEHOLDER = solidityKeccak256(['string'], `${libPath}:${libName}`).slice(2, 36)
|
||||
// // 2. LIB_PLACEHOLDER = `__$${PLACEHOLDER}$__`
|
||||
// // or grab placeholdes from LendingPoolLibraryAddresses at Typechain generation.
|
||||
// //
|
||||
// // libPath example: contracts/libraries/logic/GenericLogic.sol
|
||||
// // libName example: GenericLogic
|
||||
// return {
|
||||
// ['__$de8c0cf1a7d7c36c802af9a64fb9d86036$__']: validationLogic.address,
|
||||
// ['__$22cd43a9dda9ce44e9b92ba393b88fb9ac$__']: reserveLogic.address,
|
||||
// };
|
||||
// };
|
||||
|
||||
// export const deployUniswapPriceOracle = async (verify?: boolean) =>
|
||||
// withSaveAndVerify(
|
||||
// await new PriceOracleFactory(await getFirstSigner()).deploy(),
|
||||
// eContractid.UniswapPriceOracle,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapLendingRateOracle = async (verify?: boolean) =>
|
||||
// withSaveAndVerify(
|
||||
// await new LendingRateOracleFactory(await getFirstSigner()).deploy(),
|
||||
// eContractid.UniswapLendingRateOracle,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapAaveOracle = async (
|
||||
// args: [tEthereumAddress[], tEthereumAddress[], tEthereumAddress, tEthereumAddress],
|
||||
// verify?: boolean
|
||||
// ) =>
|
||||
// withSaveAndVerify(
|
||||
// await new AaveOracleFactory(await getFirstSigner()).deploy(...args),
|
||||
// eContractid.UniswapAaveOracle,
|
||||
// args,
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapLendingPoolCollateralManager = async (verify?: boolean) => {
|
||||
// const collateralManagerImpl = await new LendingPoolCollateralManagerFactory(
|
||||
// await getFirstSigner()
|
||||
// ).deploy();
|
||||
// await insertContractAddressInDb(
|
||||
// eContractid.UniswapLendingPoolCollateralManagerImpl,
|
||||
// collateralManagerImpl.address
|
||||
// );
|
||||
// return withSaveAndVerify(
|
||||
// collateralManagerImpl,
|
||||
// eContractid.UniswapLendingPoolCollateralManager,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
// };
|
||||
|
||||
// export const deployUniswapMockFlashLoanReceiver = async (
|
||||
// addressesProvider: tEthereumAddress,
|
||||
// verify?: boolean
|
||||
// ) =>
|
||||
// withSaveAndVerify(
|
||||
// await new MockFlashLoanReceiverFactory(await getFirstSigner()).deploy(addressesProvider),
|
||||
// eContractid.UniswapMockFlashLoanReceiver,
|
||||
// [addressesProvider],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapWalletBalancerProvider = async (verify?: boolean) =>
|
||||
// withSaveAndVerify(
|
||||
// await new WalletBalanceProviderFactory(await getFirstSigner()).deploy(),
|
||||
// eContractid.UniswapWalletBalanceProvider,
|
||||
// [],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// export const deployUniswapWETHGateway = async (
|
||||
// args: [tEthereumAddress, tEthereumAddress],
|
||||
// verify?: boolean
|
||||
// ) =>
|
||||
// withSaveAndVerify(
|
||||
// await new WETHGatewayFactory(await getFirstSigner()).deploy(...args),
|
||||
// eContractid.UniswapWETHGateway,
|
||||
// args,
|
||||
// verify
|
||||
// );
|
|
@ -18,17 +18,15 @@ task('dev:deploy-lending-pool', 'Deploy lending pool for dev enviroment')
|
|||
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||
.setAction(async ({verify}, localBRE) => {
|
||||
await localBRE.run('set-DRE');
|
||||
// TEST--- CURRENTLY FAILS BECAUSE ALREADY HAS AN IMPLEMENTATION, SHOULD BE DONE BEFORE UNI MARKET TASK
|
||||
|
||||
const addressesProvider = await getLendingPoolAddressesProvider();
|
||||
|
||||
|
||||
const lendingPoolImpl = await deployLendingPool(verify);
|
||||
|
||||
// Set lending pool impl to Address Provider
|
||||
await waitForTx(await addressesProvider.setLendingPoolImpl(lendingPoolImpl.address));
|
||||
|
||||
const address = await addressesProvider.getLendingPool();
|
||||
console.log("AAVE MARKET LENDING POOL:", address);
|
||||
|
||||
const lendingPoolProxy = await getLendingPool(address);
|
||||
|
||||
await insertContractAddressInDb(eContractid.LendingPool, lendingPoolProxy.address);
|
||||
|
|
|
@ -24,113 +24,57 @@ task('dev:deploy-oracles', 'Deploy oracles for dev enviroment')
|
|||
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||
.addParam('pool', `Pool name to retrieve configuration, supported: ${Object.values(ConfigNames)}`)
|
||||
.setAction(async ({verify, pool}, localBRE) => {
|
||||
|
||||
await localBRE.run('set-DRE');
|
||||
const poolConfig = loadPoolConfig(pool);
|
||||
|
||||
console.log("Initialized pool config...");
|
||||
|
||||
const {
|
||||
Mocks: {AllAssetsInitialPrices},
|
||||
ProtocolGlobalParams: {UsdAddress, MockUsdPriceInWei},
|
||||
LendingRateOracleRatesCommon,
|
||||
} = poolConfig as ICommonConfiguration;
|
||||
|
||||
console.log("Initialized mocks, global params and lending rate oracle rates");
|
||||
|
||||
const defaultTokenList = {
|
||||
...Object.fromEntries(Object.keys(TokenContractId).map((symbol) => [symbol, ''])),
|
||||
USD: UsdAddress,
|
||||
} as iAssetBase<string>;
|
||||
|
||||
console.log("Initialized defaultTokenList");
|
||||
|
||||
const mockTokens = await getAllMockedTokens();
|
||||
|
||||
console.log("Initialized mock tokens");
|
||||
|
||||
const mockTokensAddress = Object.keys(mockTokens).reduce<iAssetBase<string>>((prev, curr) => {
|
||||
prev[curr as keyof iAssetBase<string>] = mockTokens[curr].address;
|
||||
return prev;
|
||||
}, defaultTokenList);
|
||||
console.log(mockTokensAddress);
|
||||
console.log("Initialized mock tokens addresses");
|
||||
|
||||
const addressesProvider = await getLendingPoolAddressesProvider();
|
||||
|
||||
console.log("Got the addresses provider (check if different both times):", addressesProvider.address);
|
||||
|
||||
const admin = await addressesProvider.getPoolAdmin();
|
||||
|
||||
console.log("Got the admin");
|
||||
|
||||
const fallbackOracle = await deployPriceOracle(verify);
|
||||
|
||||
console.log("Deployed fallback price oracle");
|
||||
|
||||
await waitForTx(await fallbackOracle.setEthUsdPrice(MockUsdPriceInWei));
|
||||
|
||||
console.log("set fallback ETH USD price");
|
||||
|
||||
await setInitialAssetPricesInOracle(AllAssetsInitialPrices, mockTokensAddress, fallbackOracle);
|
||||
|
||||
console.log("Set initial asset prices in oracle");
|
||||
|
||||
const mockAggregators = await deployAllMockAggregators(AllAssetsInitialPrices, verify);
|
||||
|
||||
console.log("Deployed mock aggregators");
|
||||
|
||||
const allTokenAddresses = getAllTokenAddresses(mockTokens);
|
||||
|
||||
console.log("Got all mock token addresses");
|
||||
|
||||
const allAggregatorsAddresses = getAllAggregatorsAddresses(mockAggregators);
|
||||
|
||||
console.log("Got all aggregator addresses");
|
||||
|
||||
const [tokens, aggregators] = getPairsTokenAggregator(
|
||||
allTokenAddresses,
|
||||
allAggregatorsAddresses
|
||||
);
|
||||
|
||||
console.log("Got \"pairsToken aggregator\"");
|
||||
|
||||
await deployAaveOracle(
|
||||
[tokens, aggregators, fallbackOracle.address, await getWethAddress(poolConfig)],
|
||||
verify
|
||||
);
|
||||
|
||||
console.log("Deployed Aave oracle");
|
||||
|
||||
await waitForTx(await addressesProvider.setPriceOracle(fallbackOracle.address));
|
||||
|
||||
console.log("Set price oracle in addresses provider");
|
||||
|
||||
const lendingRateOracle = await deployLendingRateOracle(verify);
|
||||
|
||||
console.log("Deployed lendingRateOracle");
|
||||
|
||||
await waitForTx(await addressesProvider.setLendingRateOracle(lendingRateOracle.address));
|
||||
|
||||
console.log("Set lending rate oracle in addresses provider");
|
||||
|
||||
const {USD, ...tokensAddressesWithoutUsd} = allTokenAddresses;
|
||||
|
||||
console.log("Initialized object with token addresses & usd")
|
||||
|
||||
const allReservesAddresses = {
|
||||
...tokensAddressesWithoutUsd,
|
||||
};
|
||||
|
||||
console.log("Initialized object with all reserve addresses, allReservesAddresses:");
|
||||
console.log(allReservesAddresses);
|
||||
|
||||
await setInitialMarketRatesInRatesOracleByHelper(
|
||||
LendingRateOracleRatesCommon,
|
||||
allReservesAddresses,
|
||||
lendingRateOracle,
|
||||
admin
|
||||
);
|
||||
|
||||
console.log("Task complete");
|
||||
});
|
||||
});
|
||||
|
|
|
@ -53,7 +53,6 @@ task('dev:initialize-lending-pool', 'Initialize lending pool configuration.')
|
|||
const treasuryAddress = await getTreasuryAddress(poolConfig);
|
||||
|
||||
await initReservesByHelper(
|
||||
addressesProvider,
|
||||
reservesParams,
|
||||
protoPoolReservesAddresses,
|
||||
admin,
|
||||
|
@ -62,7 +61,6 @@ task('dev:initialize-lending-pool', 'Initialize lending pool configuration.')
|
|||
verify
|
||||
);
|
||||
await configureReservesByHelper(
|
||||
addressesProvider,
|
||||
reservesParams,
|
||||
protoPoolReservesAddresses,
|
||||
testHelpers,
|
||||
|
|
|
@ -1,323 +0,0 @@
|
|||
// import { task } from 'hardhat/config';
|
||||
// import {
|
||||
// deployATokensAndRatesHelper,
|
||||
// deployStableAndVariableTokensHelper,
|
||||
// deployAaveProtocolDataProvider,
|
||||
// deployLendingPoolAddressesProvider, //Test
|
||||
// } from '../../helpers/contracts-deployments';
|
||||
// import {
|
||||
// deployUniswapLendingPoolAddressesProvider,
|
||||
// deployUniswapLendingPool,
|
||||
// deployUniswapLendingPoolConfigurator,
|
||||
// deployUniswapPriceOracle,
|
||||
// deployUniswapAaveOracle,
|
||||
// deployUniswapLendingRateOracle,
|
||||
// deployUniswapLendingPoolCollateralManager,
|
||||
// deployUniswapMockFlashLoanReceiver,
|
||||
// deployUniswapWETHGateway,
|
||||
// deployUniswapWalletBalancerProvider,
|
||||
// } from '../../helpers/uniswap-contracts-deployments';
|
||||
// import { tEthereumAddress,
|
||||
// eContractid,
|
||||
// AavePools,
|
||||
// ICommonConfiguration,
|
||||
// iAssetBase,
|
||||
// TokenContractId,
|
||||
// IMarketRates,
|
||||
// } from '../../helpers/types';
|
||||
// import {
|
||||
// getLendingPoolAddressesProviderRegistry,
|
||||
// getLendingPoolAddressesProvider, //Test
|
||||
// getLendingPool,
|
||||
// getLendingPoolConfiguratorProxy,
|
||||
// getAllMockedTokens,
|
||||
// getPairsTokenAggregator,
|
||||
// } from '../../helpers/contracts-getters';
|
||||
// import { waitForTx, filterMapBy } from '../../helpers/misc-utils';
|
||||
// import { UniswapConfig } from '../../markets/uniswap';
|
||||
// import { insertContractAddressInDb } from '../../helpers/contracts-helpers';
|
||||
// import {
|
||||
// setInitialAssetPricesInOracle,
|
||||
// deployAllMockAggregators,
|
||||
// setInitialMarketRatesInRatesOracleByHelper,
|
||||
// } from '../../helpers/oracles-helpers';
|
||||
// import {getAllAggregatorsAddresses, getAllTokenAddresses} from '../../helpers/mock-helpers';
|
||||
// import {
|
||||
// ConfigNames,
|
||||
// getReservesConfigByPool,
|
||||
// getTreasuryAddress,
|
||||
// loadPoolConfig,
|
||||
// getWethAddress,
|
||||
// } from '../../helpers/configuration';
|
||||
// import {
|
||||
// configureReservesByHelper,
|
||||
// initReservesByHelper,
|
||||
// } from '../../helpers/init-helpers';
|
||||
// import { ZERO_ADDRESS } from '../../helpers/constants';
|
||||
|
||||
|
||||
// const pool = ConfigNames.Uniswap;
|
||||
// /**
|
||||
// * @dev addressesProvider is actually created here, so we don't need to use getAddressesProvider
|
||||
// */
|
||||
// task(
|
||||
// 'dev:deploy-uniswap-market',
|
||||
// 'Deploy uniswap market'
|
||||
// )
|
||||
// .addFlag('verify', 'Verify contracts at Etherscan')
|
||||
// .setAction(async ({ verify }, localBRE) => {
|
||||
// await localBRE.run('set-DRE');
|
||||
|
||||
// const admin = await (await localBRE.ethers.getSigners())[0].getAddress();
|
||||
|
||||
// const testProvider = await getLendingPoolAddressesProvider();
|
||||
// console.log("Addresses provider from function (pre re-deploy):", testProvider.address);
|
||||
// const addressesProvider = await deployLendingPoolAddressesProvider(UniswapConfig.MarketId, verify);
|
||||
// console.log("Addresses provider in execution::", addressesProvider.address)
|
||||
|
||||
// const testProviderPost = await getLendingPoolAddressesProvider();
|
||||
// console.log("Addresses provider from function (pre re-deploy):", testProviderPost.address);
|
||||
// console.log("Addresses provider from function (post re-deploy) should be different:")
|
||||
// await waitForTx(await addressesProvider.setPoolAdmin(admin));
|
||||
|
||||
|
||||
// const addressesProviderRegistry = await getLendingPoolAddressesProviderRegistry();
|
||||
// await waitForTx(
|
||||
// await addressesProviderRegistry.registerAddressesProvider(addressesProvider.address, 1)
|
||||
// );
|
||||
// console.log(addressesProvider.address);
|
||||
|
||||
|
||||
// /**
|
||||
// * LENDING POOL DEPLOYMENT
|
||||
// */
|
||||
// const lendingPoolImpl = await deployUniswapLendingPool(verify);
|
||||
|
||||
// await waitForTx(await addressesProvider.setLendingPoolImpl(lendingPoolImpl.address));
|
||||
|
||||
// const address = await addressesProvider.getLendingPool();
|
||||
// console.log("UNISWAP MARKET LENDING POOL:", address);
|
||||
// const lendingPoolProxy = await getLendingPool(address);
|
||||
// await insertContractAddressInDb(eContractid.UniswapLendingPool, lendingPoolProxy.address);
|
||||
|
||||
// const lendingPoolConfiguratorImpl = await deployUniswapLendingPoolConfigurator(verify);
|
||||
|
||||
// // Set lending pool conf impl to Address Provider
|
||||
// await waitForTx(
|
||||
// await addressesProvider.setLendingPoolConfiguratorImpl(lendingPoolConfiguratorImpl.address)
|
||||
// );
|
||||
|
||||
// const lendingPoolConfiguratorProxy = await getLendingPoolConfiguratorProxy(
|
||||
// await addressesProvider.getLendingPoolConfigurator()
|
||||
// );
|
||||
|
||||
// await insertContractAddressInDb(
|
||||
// eContractid.UniswapLendingPoolConfigurator,
|
||||
// lendingPoolConfiguratorProxy.address
|
||||
// );
|
||||
|
||||
// // Deploy deployment helpers
|
||||
// await deployStableAndVariableTokensHelper(
|
||||
// [lendingPoolProxy.address, addressesProvider.address],
|
||||
// verify
|
||||
// );
|
||||
// await deployATokensAndRatesHelper(
|
||||
// [lendingPoolProxy.address, addressesProvider.address, lendingPoolConfiguratorProxy.address],
|
||||
// verify
|
||||
// );
|
||||
|
||||
// /**
|
||||
// * @dev Oracle deployment section
|
||||
// */
|
||||
|
||||
// console.log("Uniswap oracle deployment beginning.")
|
||||
// const poolConfig = loadPoolConfig(pool);
|
||||
// console.log("Initialized pool config...");
|
||||
|
||||
// const {
|
||||
// Mocks: {AllAssetsInitialPrices},
|
||||
// ProtocolGlobalParams: {UsdAddress, MockUsdPriceInWei},
|
||||
// LendingRateOracleRatesCommon,
|
||||
// } = poolConfig as ICommonConfiguration;
|
||||
|
||||
// console.log("Initialized mocks, global params and lending rate oracle rates");
|
||||
|
||||
// const defaultTokenList = {
|
||||
// ...Object.fromEntries(Object.keys(TokenContractId).map((symbol) => [symbol, ''])),
|
||||
// USD: UsdAddress,
|
||||
// } as iAssetBase<string>;
|
||||
|
||||
// console.log("Initialized defaultTokenList");
|
||||
|
||||
// const mockTokens = await getAllMockedTokens();
|
||||
|
||||
// console.log("Initialized mock tokens");
|
||||
|
||||
// const mockTokensAddress = Object.keys(mockTokens).reduce<iAssetBase<string>>((prev, curr) => {
|
||||
// prev[curr as keyof iAssetBase<string>] = mockTokens[curr].address;
|
||||
// return prev;
|
||||
// }, defaultTokenList);
|
||||
// console.log(mockTokensAddress);
|
||||
// console.log("Initialized mock tokens addresses");
|
||||
|
||||
// // No need to re-initialize addressesProvider and admin
|
||||
|
||||
// const fallbackOracle = await deployUniswapPriceOracle(verify);
|
||||
// console.log("Deployed fallback price oracle");
|
||||
|
||||
// await waitForTx(await fallbackOracle.setEthUsdPrice(MockUsdPriceInWei));
|
||||
// console.log("set fallback ETH USD price");
|
||||
|
||||
// await setInitialAssetPricesInOracle(AllAssetsInitialPrices, mockTokensAddress, fallbackOracle);
|
||||
// console.log("Set initial asset prices in oracle");
|
||||
|
||||
// const mockAggregators = await deployAllMockAggregators(AllAssetsInitialPrices, verify);
|
||||
// console.log("Deployed mock aggregators");
|
||||
|
||||
// const allTokenAddresses = getAllTokenAddresses(mockTokens);
|
||||
// console.log("Got all mock token addresses");
|
||||
|
||||
// const allAggregatorsAddresses = getAllAggregatorsAddresses(mockAggregators);
|
||||
// console.log("Got all aggregator addresses");
|
||||
// console.log("allTokenAddresses object: \n", allTokenAddresses);
|
||||
// //Should modify this to potentially contain only the tokens in the Uniswap market
|
||||
// // const [tokens, aggregators] = getPairsTokenAggregator(
|
||||
// // allTokenAddresses,
|
||||
// // allAggregatorsAddresses
|
||||
// // );
|
||||
// // console.log("Got \"pairsToken aggregator\"");
|
||||
// // console.log("Tokens: \n", tokens);
|
||||
|
||||
// // const assetAddressIndex = Object.keys(allReservesAddresses).findIndex(
|
||||
// // (value) => value === assetSymbol
|
||||
// // );
|
||||
// // const [, assetAddress] = (Object.entries(assetsAddresses) as [string, string][])[
|
||||
// // assetAddressIndex
|
||||
// // ];
|
||||
// // assetAddresses.push(assetAddress);
|
||||
|
||||
// // await deployUniswapAaveOracle(
|
||||
// // [tokens, aggregators, fallbackOracle.address, await getWethAddress(poolConfig)],
|
||||
// // verify
|
||||
// // );
|
||||
// console.log("Deployed Uniswap Aave oracle");
|
||||
|
||||
// await waitForTx(await addressesProvider.setPriceOracle(fallbackOracle.address));
|
||||
// console.log("Set price oracle in addresses provider");
|
||||
|
||||
// const lendingRateOracle = await deployUniswapLendingRateOracle(verify);
|
||||
// console.log("Deployed lendingRateOracle");
|
||||
|
||||
// await waitForTx(await addressesProvider.setLendingRateOracle(lendingRateOracle.address));
|
||||
// console.log("Set lending rate oracle in addresses provider");
|
||||
|
||||
// const {USD, ...tokensAddressesWithoutUsd} = allTokenAddresses;
|
||||
// console.log("Initialized object with token addresses & usd")
|
||||
|
||||
// const allReservesAddresses = {
|
||||
// ...tokensAddressesWithoutUsd,
|
||||
// };
|
||||
// console.log("Initialized object with all reserve addresses, allReservesAddresses:");
|
||||
// console.log(allReservesAddresses);
|
||||
|
||||
// console.log("LendingRateOracleRatesCommon: \n", LendingRateOracleRatesCommon);
|
||||
// //
|
||||
// // -- test
|
||||
// //
|
||||
// const [tokens, aggregators] = getPairsTokenAggregator(
|
||||
// allTokenAddresses,
|
||||
// allAggregatorsAddresses
|
||||
// );
|
||||
// console.log("Got \"pairsToken aggregator\"");
|
||||
// console.log("Tokens: \n", tokens);
|
||||
// const assetAddresses: string[] = [];
|
||||
// const aggregatorAddresses: string[] = [];
|
||||
// for (const [assetSymbol, {borrowRate}] of Object.entries(LendingRateOracleRatesCommon) as [
|
||||
// string,
|
||||
// IMarketRates
|
||||
// ][]) {
|
||||
// const assetAddressIndex = Object.keys(allReservesAddresses).findIndex(
|
||||
// (value) => value === assetSymbol
|
||||
// );
|
||||
// const [, assetAddress] = (Object.entries(allReservesAddresses) as [string, string][])[
|
||||
// assetAddressIndex
|
||||
// ];
|
||||
|
||||
// const [, aggregatorAddress] = (Object.entries(allAggregatorsAddresses) as [string, string][])[
|
||||
// assetAddressIndex
|
||||
// ];
|
||||
// aggregatorAddresses.push(aggregatorAddress);
|
||||
// assetAddresses.push(assetAddress);
|
||||
// }
|
||||
// console.log("\nPRICE ORACLE PARAMS:\nassetAddresses: %s\naggregatorAddresses: %s", assetAddresses, aggregatorAddresses);
|
||||
// await deployUniswapAaveOracle(
|
||||
// [assetAddresses, aggregatorAddresses, fallbackOracle.address, await getWethAddress(poolConfig)],
|
||||
// verify
|
||||
// );
|
||||
// //
|
||||
// // -- test end
|
||||
// //
|
||||
// console.log("TEST END-----------------------------------------------------------------------");
|
||||
// await setInitialMarketRatesInRatesOracleByHelper(
|
||||
// LendingRateOracleRatesCommon,
|
||||
// allReservesAddresses,
|
||||
// lendingRateOracle,
|
||||
// admin
|
||||
// );
|
||||
|
||||
// console.log("Task complete");
|
||||
|
||||
// /**
|
||||
// * @dev Initialization
|
||||
// */
|
||||
|
||||
// // No need to initialize poolConfig, mockTokens, allTokenAddresses, admin and
|
||||
// // addressesProvider and protoReservesAddresses (we use allReserveAddresses)
|
||||
|
||||
// const testHelpers = await deployAaveProtocolDataProvider(addressesProvider.address, verify);
|
||||
|
||||
// const reservesParams = getReservesConfigByPool(AavePools.uniswap);
|
||||
|
||||
// const treasuryAddress = await getTreasuryAddress(poolConfig);
|
||||
|
||||
// await initReservesByHelper(
|
||||
// addressesProvider,
|
||||
// reservesParams,
|
||||
// allReservesAddresses,
|
||||
// admin,
|
||||
// treasuryAddress,
|
||||
// ZERO_ADDRESS,
|
||||
// verify
|
||||
// );
|
||||
|
||||
// await configureReservesByHelper(
|
||||
// addressesProvider,
|
||||
// reservesParams,
|
||||
// allReservesAddresses,
|
||||
// testHelpers,
|
||||
// admin
|
||||
// );
|
||||
|
||||
// const collateralManager = await deployUniswapLendingPoolCollateralManager(verify);
|
||||
// await waitForTx(
|
||||
// await addressesProvider.setLendingPoolCollateralManager(collateralManager.address)
|
||||
// );
|
||||
|
||||
// const mockFlashLoanReceiver = await deployUniswapMockFlashLoanReceiver(
|
||||
// addressesProvider.address,
|
||||
// verify
|
||||
// );
|
||||
|
||||
// await insertContractAddressInDb(
|
||||
// eContractid.UniswapMockFlashLoanReceiver,
|
||||
// mockFlashLoanReceiver.address
|
||||
// );
|
||||
|
||||
// await deployUniswapWalletBalancerProvider(verify);
|
||||
|
||||
// await insertContractAddressInDb(eContractid.AaveProtocolDataProvider, testHelpers.address);
|
||||
|
||||
// const lendingPoolAddress = await addressesProvider.getLendingPool();
|
||||
// const wethAddress = await getWethAddress(poolConfig);
|
||||
// await deployUniswapWETHGateway([wethAddress, lendingPoolAddress]);
|
||||
// });
|
|
@ -81,7 +81,7 @@ task(
|
|||
// 2. Deploy address provider and set genesis manager
|
||||
const addressesProvider = await deployLendingPoolAddressesProvider(MarketId, verify);
|
||||
|
||||
// TEMPORARILY DISABLING SEC. 3 FOR KOVAN DEPLOYMENT
|
||||
// TEMPORARILY DISABLING SEC. 3 FOR GOVERNANCE USE
|
||||
|
||||
// 3. Set the provider at the Registry
|
||||
// await waitForTx(
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { task } from 'hardhat/config';
|
||||
import { getParamPerNetwork, getParamPerPool } from '../../helpers/contracts-helpers';
|
||||
import { getParamPerNetwork } from '../../helpers/contracts-helpers';
|
||||
import { deployAaveOracle, deployLendingRateOracle } from '../../helpers/contracts-deployments';
|
||||
import { setInitialMarketRatesInRatesOracleByHelper } from '../../helpers/oracles-helpers';
|
||||
import { ICommonConfiguration, eEthereumNetwork, SymbolMap } from '../../helpers/types';
|
||||
|
@ -32,8 +32,6 @@ task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
|
|||
FallbackOracle,
|
||||
ChainlinkAggregator,
|
||||
} = poolConfig as ICommonConfiguration;
|
||||
|
||||
//console.log("------------------------------------------------ReserveAssets:\n", ReserveAssets);
|
||||
const lendingRateOracles = getLendingRateOracles(poolConfig);
|
||||
const addressesProvider = await getLendingPoolAddressesProvider();
|
||||
const admin = await getGenesisPoolAdmin(poolConfig);
|
||||
|
@ -42,14 +40,13 @@ task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
|
|||
const fallbackOracleAddress = await getParamPerNetwork(FallbackOracle, network);
|
||||
const reserveAssets = await getParamPerNetwork(ReserveAssets, network);
|
||||
const chainlinkAggregators = await getParamPerNetwork(ChainlinkAggregator, network);
|
||||
//console.log("------------------------------------------------reserveAssets:\n", reserveAssets);
|
||||
|
||||
const tokensToWatch: SymbolMap<string> = {
|
||||
...reserveAssets,
|
||||
USD: UsdAddress,
|
||||
};
|
||||
const [tokens, aggregators] = getPairsTokenAggregator(tokensToWatch, chainlinkAggregators);
|
||||
console.log("tokens:\n %s \n aggregators: \n %s", tokens, aggregators);
|
||||
|
||||
const aaveOracle = notFalsyOrZeroAddress(aaveOracleAddress)
|
||||
? await getAaveOracle(aaveOracleAddress)
|
||||
: await deployAaveOracle(
|
||||
|
|
|
@ -36,7 +36,6 @@ task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
|
|||
|
||||
const testHelpers = await getAaveProtocolDataProvider();
|
||||
|
||||
console.log("reserveAssets:\n", reserveAssets);
|
||||
const admin = await addressesProvider.getPoolAdmin();
|
||||
if (!reserveAssets) {
|
||||
throw 'Reserve assets is undefined. Check ReserveAssets configuration at config directory';
|
||||
|
@ -44,8 +43,8 @@ task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
|
|||
|
||||
const treasuryAddress = await getTreasuryAddress(poolConfig);
|
||||
|
||||
await initReservesByHelper(addressesProvider, ReservesConfig, reserveAssets, admin, treasuryAddress, ZERO_ADDRESS, verify);
|
||||
await configureReservesByHelper(addressesProvider, ReservesConfig, reserveAssets, testHelpers, admin);
|
||||
await initReservesByHelper(ReservesConfig, reserveAssets, admin, treasuryAddress, ZERO_ADDRESS, verify);
|
||||
await configureReservesByHelper(ReservesConfig, reserveAssets, testHelpers, admin);
|
||||
|
||||
const collateralManager = await deployLendingPoolCollateralManager(verify);
|
||||
await waitForTx(
|
||||
|
|
|
@ -20,24 +20,18 @@ task('aave:dev', 'Deploy development enviroment')
|
|||
console.log('1. Deploy mock tokens');
|
||||
await localBRE.run('dev:deploy-mock-tokens', {verify});
|
||||
|
||||
console.log('2. Deploy Aave market address provider');
|
||||
console.log('2. Deploy address provider');
|
||||
await localBRE.run('dev:deploy-address-provider', {verify});
|
||||
|
||||
console.log('3. Deploy Aave lending pool');
|
||||
console.log('3. Deploy lending pool');
|
||||
await localBRE.run('dev:deploy-lending-pool', {verify});
|
||||
|
||||
console.log('4. Deploy oracles');
|
||||
await localBRE.run('dev:deploy-oracles', {verify, pool: POOL_NAME});
|
||||
|
||||
console.log('6. Deploy Uniswap market oracles');
|
||||
await localBRE.run('dev:deploy-oracles', {verify, pool: "Uniswap"});
|
||||
|
||||
console.log('5. Initialize lending pool');
|
||||
await localBRE.run('dev:initialize-lending-pool', {verify, pool: POOL_NAME});
|
||||
|
||||
// console.log('6. Deploy Uniswap market');
|
||||
// await localBRE.run('dev:deploy-uniswap-market', {verify});
|
||||
|
||||
console.log('\nFinished migration');
|
||||
printContracts();
|
||||
});
|
||||
|
|
|
@ -97,7 +97,6 @@ const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => {
|
|||
const addressList = await Promise.all(
|
||||
(await DRE.ethers.getSigners()).map((signer) => signer.getAddress())
|
||||
);
|
||||
console.log(addressList);
|
||||
|
||||
await waitForTx(await addressesProvider.setEmergencyAdmin(addressList[2]));
|
||||
|
||||
|
@ -216,9 +215,8 @@ const buildTestEnv = async (deployer: Signer, secondaryWallet: Signer) => {
|
|||
|
||||
const treasuryAddress = await getTreasuryAddress(config);
|
||||
|
||||
await initReservesByHelper(addressesProvider, reservesParams, allReservesAddresses, admin, treasuryAddress, ZERO_ADDRESS, false);
|
||||
await initReservesByHelper(reservesParams, allReservesAddresses, admin, treasuryAddress, ZERO_ADDRESS, false);
|
||||
await configureReservesByHelper(
|
||||
addressesProvider,
|
||||
reservesParams,
|
||||
allReservesAddresses,
|
||||
testHelpers,
|
||||
|
|
153
test/test
153
test/test
|
@ -1,153 +0,0 @@
|
|||
N# Contracts: 152
|
||||
MintableERC20: 0xB00cC45B4a7d3e1FEE684cFc4417998A1c183e6d
|
||||
LendingPoolAddressesProvider: 0x0459c841b02Aee8730730C737582c53B20a27288
|
||||
LendingPoolAddressesProviderRegistry: 0x22474D350EC2dA53D717E30b96e9a2B7628Ede5b
|
||||
ReserveLogic: 0x7fAeC7791277Ff512c41CA903c177B2Ed952dDAc
|
||||
GenericLogic: 0x33958cC3535Fc328369EAC2B2Bebd120D67C7fa1
|
||||
ValidationLogic: 0x2cBbbBE1B75Ad7848F0844215816F551f429c64f
|
||||
LendingPoolImpl: 0x8456161947DFc1fC159A0B26c025cD2b4bba0c3e
|
||||
LendingPool: 0xbAc762e2000b6815268587b081Fd17aC25519aD5
|
||||
LendingPoolConfiguratorImpl: 0x5F6CaC05CDF893f029b29F44d368eAeD40e573B6
|
||||
LendingPoolConfigurator: 0x2C4603396dE2F08642354A3A102760827FfFe113
|
||||
StableAndVariableTokensHelper: 0xadcD6f616fCEEbEd731B2B3F01B8bd51A08b5CbD
|
||||
ATokensAndRatesHelper: 0x603A373A1571783bD82b708C20a5A4b019BAB78F
|
||||
DAI: 0x7c2C195CD6D34B8F845992d380aADB2730bB9C6F
|
||||
AAVE: 0x8858eeB3DfffA017D4BCE9801D340D36Cf895CCf
|
||||
TUSD: 0x0078371BDeDE8aAc7DeBfFf451B74c5EDB385Af7
|
||||
BAT: 0xf4e77E5Da47AC3125140c470c71cBca77B5c638c
|
||||
WETHMocked: 0x09d728F76D543DB1925f7d1Fd8823e4e82700F99
|
||||
WETH: 0xf784709d2317D872237C4bC22f867d1BAe2913AB
|
||||
USDC: 0x3619DbE27d7c1e7E91aA738697Ae7Bc5FC3eACA5
|
||||
USDT: 0x038B86d9d8FAFdd0a02ebd1A476432877b0107C8
|
||||
SUSD: 0x1A1FEe7EeD918BD762173e4dc5EfDB8a78C924A8
|
||||
ZRX: 0x500D1d6A4c7D8Ae28240b47c8FCde034D827fD5e
|
||||
MKR: 0xc4905364b78a742ccce7B890A89514061E47068D
|
||||
WBTC: 0xD6C850aeBFDC46D7F4c207e445cC0d6B0919BDBe
|
||||
LINK: 0x8B5B7a6055E54a36fF574bbE40cf2eA68d5554b3
|
||||
KNC: 0xEcc0a6dbC0bb4D51E4F84A315a9e5B0438cAD4f0
|
||||
MANA: 0x20Ce94F404343aD2752A2D01b43fa407db9E0D00
|
||||
REN: 0x1d80315fac6aBd3EfeEbE97dEc44461ba7556160
|
||||
SNX: 0x2D8553F9ddA85A9B3259F6Bf26911364B85556F5
|
||||
BUSD: 0x52d3b94181f8654db2530b0fEe1B19173f519C52
|
||||
USD: 0xd15468525c35BDBC1eD8F2e09A00F8a173437f2f
|
||||
YFI: 0x7e35Eaf7e8FBd7887ad538D4A38Df5BbD073814a
|
||||
UNI: 0x5bcb88A0d20426e451332eE6C4324b0e663c50E0
|
||||
ENJ: 0x3521eF8AaB0323004A6dD8b03CE890F4Ea3A13f5
|
||||
WETHDAI: 0x53369fd4680FfE3DfF39Fc6DDa9CfbfD43daeA2E
|
||||
WETHWBTC: 0xB00cC45B4a7d3e1FEE684cFc4417998A1c183e6d
|
||||
PriceOracle: 0x06bA8d8af0dF898D0712DffFb0f862cC51AF45c2
|
||||
MockAggregator: 0xA0AB1cB92A4AF81f84dCd258155B5c25D247b54E
|
||||
AaveOracle: 0xD662fb7FDC7526C79AA4417d2A4415416e057ec4
|
||||
LendingRateOracle: 0xEC1C93A9f6a9e18E97784c76aC52053587FcDB89
|
||||
AaveProtocolDataProvider: 0xf45C720549136d5E2d6a5A2F12573A36E36C3411
|
||||
stableDebtAAVE: 0xe3C388495669b8624753a275675AEf9eCc8Eaaa4
|
||||
variableDebtAAVE: 0xbdA8106CA657E2bfe1a125f0D0DDE47bA85E92c8
|
||||
stableDebtBAT: 0xa8c48Fad16b34bc9BC1203f1784D36CDf61dfD9c
|
||||
variableDebtBAT: 0x5A7dE46c8176AF8550Df2fEF14464c2cB3B0EE5e
|
||||
aAAVE: 0x1433d6d0794262c09f19E64177c0dD69A0e4D648
|
||||
strategyAAVE: 0x329e6747250B326E5E8029154DFFfE93F4f27016
|
||||
aBAT: 0x1A2e1C9d403E9DD6Da5022a14590ec875fBb75ba
|
||||
strategyBAT: 0x12d5da143C6f7d3322C9b32cdF3a6Cae390A5293
|
||||
stableDebtBUSD: 0x453697f5d829556a0373F2b835cF94242B078C9e
|
||||
variableDebtBUSD: 0x03D049FCA4dE1DA80F9DDF4bf0008115c74C0Da2
|
||||
stableDebtDAI: 0x30dDD022BC4df9BB0e6ce94A5535F2137dEA3755
|
||||
variableDebtDAI: 0xbfC8B61A3e6eD07C092a74603CeCAe91254745D6
|
||||
aBUSD: 0x1BC353ae7758eff98129928631a2D17d69BAb5FA
|
||||
strategyBUSD: 0x270176D7DB4ec8d2a16b90C78B424AAdbBcFE298
|
||||
aDAI: 0x6A61442dBCF10E7168FfcD850CDf7c91Cad3E666
|
||||
strategyDAI: 0xA9DD0c06755734f4327F405cd20897D79FaCcFAE
|
||||
stableDebtENJ: 0x6C0A2d54B37d8Cd321a25328753077D43A387303
|
||||
variableDebtENJ: 0x1372E5e41E22BaB997aD453469F0DFB9569dB121
|
||||
stableDebtKNC: 0x9bF0208c881906fAC92112320425b403e08Fe44b
|
||||
variableDebtKNC: 0x6028834D13a4eec68b289E125222e5e5e86a5503
|
||||
aENJ: 0x2108E7A4B53516883b60a40ae02600697c8065A2
|
||||
strategyENJ: 0x64980e3e653Fe43813A41b9C5AcDB394d7A7320F
|
||||
aKNC: 0x0f22acabf1Aa485565693B671Fc68B0583f8FEB0
|
||||
strategyKNC: 0xC45DA1E746911C76E51CA28b8d8A876735797E3C
|
||||
stableDebtLINK: 0x3E650a21eAACE6314E98569E8A37FDA1d4cfBE28
|
||||
variableDebtLINK: 0xA7430bFB0f7332B1456dCB770D593f1D35bc2B11
|
||||
stableDebtMANA: 0x8DB6b6aE3c096E84B9818545974d1577E37Bcb97
|
||||
variableDebtMANA: 0x945ea0cf8986724ec075bE09C503c822fF8Ebb75
|
||||
aLINK: 0x778c890b128CE3936b744F0c8d7290d1F161D888
|
||||
strategyLINK: 0xCD8C6429A2975Db9466fCEFf36020166930a11Cb
|
||||
aMANA: 0x5fd9aE04361262868d5C33cA1545580fC509b34c
|
||||
strategyMANA: 0x024CC36954EfDbB9CFdda80a5A8c05Bd8DdF0fc8
|
||||
stableDebtMKR: 0xd1bD598200b53FC352483dBe36d9d72C085011A4
|
||||
variableDebtMKR: 0x49b81af588031Ecc93E20355E9ADC2d720348347
|
||||
stableDebtREN: 0x7367fBfEA2643eCbc0816Cc87B91E82B3Eb307aF
|
||||
variableDebtREN: 0xAD75a04e5B815558a7E6C84c030e857671875934
|
||||
aMKR: 0xbEf21bFD5164eA882d74df73BB0862226C3063E9
|
||||
strategyMKR: 0x27a99bef2aF3200c6B7a831C61eF692341C7acEe
|
||||
aREN: 0xe807dCAB5d5e8c5701c089758aAd34869a4c92Ea
|
||||
strategyREN: 0xD933d804Dcb597Ac8020623ac32CcE3d4cB81b2a
|
||||
stableDebtSNX: 0x3F33fb4D89eC6Bd516dCa915A3d85F0374d099d5
|
||||
variableDebtSNX: 0xD27B891432c9036E9dC95bc4fE9b8FCb61FBa05e
|
||||
stableDebtSUSD: 0xFe3C98C3daE2F7562f43D1bBD2021FE127Afec38
|
||||
variableDebtSUSD: 0x53070063F0fB13C51C0e2186C0130f29aBe5336b
|
||||
aSNX: 0x96a8C36C19D2A96642F2738b8E0481f159488EaD
|
||||
strategySNX: 0xa5eB1859FA97E38C0a4257Af0be9085b3B4B7996
|
||||
aSUSD: 0x948Bd60Cba5eB8b7A478aE673145FeA13e2Edbe8
|
||||
strategySUSD: 0x7C769501542E694a5Dea6B1FCAf52B9270EADcaf
|
||||
stableDebtTUSD: 0x6c2E76485dFbaFe2FCC6874e531D71ee82db06f6
|
||||
variableDebtTUSD: 0x3FA01122234D545d0247bdDbf4865925A53f6551
|
||||
stableDebtUSDC: 0xDD7a535Fb8773EBc4Ae653eCCb22F6561F434a9E
|
||||
variableDebtUSDC: 0x9d1718D33aE17e54D2aE329b6B51511d4371Bf4a
|
||||
aTUSD: 0x802881960dCD9457F63c4dbe1E9D081b32b011b9
|
||||
strategyTUSD: 0xC1f335a47c45d9F15976A1e11Eb3826590AD2a56
|
||||
aUSDC: 0x1CC642F9b88f755C1E7fbB9Acb4A990faddBF608
|
||||
strategyUSDC: 0x4272DE39F41085769562b2c17Fd5369097E41492
|
||||
stableDebtUSDT: 0x372915a5Bed2B0a5ecEdc96e7133A24aDDFA4Bc4
|
||||
variableDebtUSDT: 0x78123523ba15F9847D22a6d3f06bBed70E431114
|
||||
stableDebtWBTC: 0x6a3aB96987B70E29bc4203f78D09D0aCB85F219D
|
||||
variableDebtWBTC: 0xcDD6c3f0dA05129f08DB52380C48A9cf698A8CCA
|
||||
aUSDT: 0xe88141a1642eD64AE739cd2C896009Be73a43486
|
||||
strategyUSDT: 0x881036687070243FC119014c41cdd5e3c22f3E50
|
||||
aWBTC: 0xE74801a99A51B89dE670132De7d9c18CC2BBE54A
|
||||
strategyWBTC: 0x55DFA1D5af234B35D457C13B8a58899848A438F8
|
||||
stableDebtWETH: 0xD1220D8A82a26C1396cccb5Ee79d3A42D7D3E3da
|
||||
variableDebtWETH: 0x4f87eBaac31C3d13C376d52A0FABf5f022660C4c
|
||||
stableDebtYFI: 0xF2dB8bc0dCd0A6C6F25B7f6ACfB9E026ae0e7494
|
||||
variableDebtYFI: 0xce3529624a1f3Ea5DBC1AB130eBeA8211E3b602F
|
||||
aWETH: 0x7e4b842FFc0598C1f5D8b8A1e2C7AD29E9F233C7
|
||||
strategyWETH: 0x52Ac4c1Dbc0263b2FD6AD065B27576d0E7d925B9
|
||||
aYFI: 0x895D60248de2edc34C99f1B45d8Dd1731656Df51
|
||||
strategyYFI: 0x3cE6D0B4b6dc27C725fA94903Fb33d73bE75e9D7
|
||||
stableDebtZRX: 0xF78Fbf3b21aF8Bce2efA3614E507735573c578CC
|
||||
variableDebtZRX: 0x9Ae60ba71A28a1d738a2FDFC1D0439B33f3f0B1F
|
||||
aZRX: 0x80aB7B8EfeA24C2D2Ca22315BFa99E03f539C568
|
||||
strategyZRX: 0x4D2271CFa5587643B8f5919f3EbF64de7aaa9d5c
|
||||
DelegationAwareAToken: 0xBAdDA897176B5A94FD4A0eCb59678DDA29181963
|
||||
StableDebtToken: 0x64Ea58f488aD445235A0afE9256B066572c6Abc8
|
||||
VariableDebtToken: 0x8D0206fEBEB380486729b64bB4cfEDC5b354a6D6
|
||||
DefaultReserveInterestRateStrategy: 0x3c5408De7435Dfa3eB2aF2Edf5E39385f68F69b2
|
||||
LendingPoolCollateralManagerImpl: 0x6602fca48E95F5068506963E3A8930131108048A
|
||||
LendingPoolCollateralManager: 0x6602fca48E95F5068506963E3A8930131108048A
|
||||
MockFlashLoanReceiver: 0x1a66D6103F8BBf9204E1618F095a80b3E4817C95
|
||||
WalletBalanceProvider: 0x0EBCa695959e5f138Af772FAa44ce1A9C7aEd921
|
||||
WETHGateway: 0x8BFFF31B1757da579Bb5B118489568526F7fb6D4
|
||||
MintableDelegationERC20: 0x8BFFF31B1757da579Bb5B118489568526F7fb6D4
|
||||
MockAToken: 0x8BFFF31B1757da579Bb5B118489568526F7fb6D4
|
||||
MockStableDebtToken: 0x0459c841b02Aee8730730C737582c53B20a27288
|
||||
MockVariableDebtToken: 0x2530ce07D254eA185E8e0bCC37a39e2FbA3bE548
|
||||
SelfdestructTransferMock: 0x0459c841b02Aee8730730C737582c53B20a27288
|
||||
UniswapLendingPool: 0xEC42F4C314dE9492cb3Ef7a860270eCDFE0F851a
|
||||
UniswapLendingPoolConfigurator: 0x672A68Ff1364E87D8f88ad86410449C117fC97A6
|
||||
UniswapLendingPoolAddressesProvider: 0x18b9306737eaf6E8FC8e737F488a1AE077b18053
|
||||
UniswapLendingPoolImpl: 0xbAc762e2000b6815268587b081Fd17aC25519aD5
|
||||
UniswapLendingPoolConfiguratorImpl: 0xAa7BC1924711B77A0F3Aaebdd550BfeDDDbaf3cd
|
||||
UniswapPriceOracle: 0xFf130817Aa9863B3D809A2A11617c05646245d80
|
||||
UniswapAaveOracle: 0xE91bBe8ee03560E3dda2786f95335F5399813Ca0
|
||||
UniswapLendingRateOracle: 0x4977FC58783ceBCC310311C800B786EcAf45F98f
|
||||
stableDebtWETHDAI: 0x84fF0147dDD2acA72407CfEB7EabCd2b7E49d949
|
||||
variableDebtWETHDAI: 0x35A1E1Be236899ab7B63a81127ab522d76A26B3e
|
||||
aWETHDAI: 0x591D75Ea272E9F22fC4B20Fc4C4E03d8c126b1AB
|
||||
strategyWETHDAI: 0xF4040B68C37eE6F1324470f48D05cCEC50819b2E
|
||||
stableDebtWETHWBTC: 0x5a41efF010872DB9a2CA0b47b8b757f37dc35A7f
|
||||
variableDebtWETHWBTC: 0xee0382a3E9ADeAaA670c425D51ad5F8022c6d9F8
|
||||
aWETHWBTC: 0x4dA415c7aDaC37c3d710B5D24b62c6f4a5aF6e5F
|
||||
strategyWETHWBTC: 0xf0c3F1cd72eA0a1F4e0e98B2e0702fA63a9F9faF
|
||||
UniswapLendingPoolCollateralManagerImpl: 0x9D2F6Ec881323E78f27d58b996b81EaBCEF8eC58
|
||||
UniswapLendingPoolCollateralManager: 0x9D2F6Ec881323E78f27d58b996b81EaBCEF8eC58
|
||||
UniswapMockFlashLoanReceiver: 0xad17D0b25259128C968dbCa61CB5864C78004DBE
|
||||
UniswapWalletBalanceProvider: 0x6Ac05758229c725A6d14F0ae7088985D9B251Fb2
|
||||
UniswapWETHGateway: 0xb2B548BE73010C188C083c510d255Aed74843b05
|
Loading…
Reference in New Issue
Block a user