diff --git a/hardhat.config.ts b/hardhat.config.ts index 6c1cce5c9..99f977e64 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -7,7 +7,6 @@ import { BUIDLEREVM_CHAINID, COVERAGE_CHAINID } from './helpers/buidler-constant import { buildForkConfig } from './helper-hardhat-config'; import { fork } from 'child_process'; - require('dotenv').config(); import '@nomiclabs/hardhat-ethers'; @@ -26,7 +25,7 @@ const ETHERSCAN_KEY = process.env.ETHERSCAN_KEY || ''; // Prevent to load scripts before compilation and typechain if (!SKIP_LOAD) { - ['misc', 'dev'].forEach((folder) => { + ['misc'].forEach((folder) => { const tasksPath = path.join(__dirname, 'tasks', folder); fs.readdirSync(tasksPath) .filter((pth) => pth.includes('.ts')) diff --git a/tasks/dev/1_mock_tokens.ts b/tasks/dev/1_mock_tokens.ts deleted file mode 100644 index 4d9bfde57..000000000 --- a/tasks/dev/1_mock_tokens.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { task } from 'hardhat/config'; -import { deployAllMockTokens } from '../../helpers/contracts-deployments'; - -task('dev:deploy-mock-tokens', 'Deploy mock tokens for dev enviroment').setAction( - async (_, localBRE) => { - await localBRE.run('set-DRE'); - await deployAllMockTokens(); - } -); diff --git a/tasks/dev/2_address_provider_registry.ts b/tasks/dev/2_address_provider_registry.ts deleted file mode 100644 index 49717f592..000000000 --- a/tasks/dev/2_address_provider_registry.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { task } from 'hardhat/config'; -import { - deployPoolAddressesProvider, - deployPoolAddressesProviderRegistry, -} from '../../helpers/contracts-deployments'; -import { getEthersSigners } from '../../helpers/contracts-helpers'; -import { waitForTx } from '../../helpers/misc-utils'; -import AaveConfig from '../../market-config'; - -task( - 'dev:deploy-address-provider', - 'Deploy address provider, registry and fee provider for dev enviroment' -).setAction(async (_, localBRE) => { - await localBRE.run('set-DRE'); - - const admin = await (await getEthersSigners())[0].getAddress(); - - const addressesProvider = await deployPoolAddressesProvider(AaveConfig.MarketId); - await waitForTx(await addressesProvider.setPoolAdmin(admin)); - await waitForTx(await addressesProvider.setEmergencyAdmin(admin)); - - const addressesProviderRegistry = await deployPoolAddressesProviderRegistry(); - await waitForTx( - await addressesProviderRegistry.registerAddressesProvider(addressesProvider.address, 1) - ); -}); diff --git a/tasks/dev/3_pool.ts b/tasks/dev/3_pool.ts deleted file mode 100644 index 32c5fcf9d..000000000 --- a/tasks/dev/3_pool.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { task } from 'hardhat/config'; -import { - deployATokensAndRatesHelper, - deployPool, - deployPoolConfigurator, - deployStableAndVariableTokensHelper, -} from '../../helpers/contracts-deployments'; -import { eContractid } from '../../helpers/types'; -import { waitForTx } from '../../helpers/misc-utils'; -import { - getPoolAddressesProvider, - getPool, - getPoolConfiguratorProxy, -} from '../../helpers/contracts-getters'; -import { insertContractAddressInDb } from '../../helpers/contracts-helpers'; - -task('dev:deploy-pool', 'Deploy pool for dev enviroment').setAction(async (_, localBRE) => { - await localBRE.run('set-DRE'); - - const addressesProvider = await getPoolAddressesProvider(); - - const poolImpl = await deployPool(); - - // Set pool impl to Address Provider - await waitForTx(await addressesProvider.setPoolImpl(poolImpl.address)); - - const address = await addressesProvider.getPool(); - const poolProxy = await getPool(address); - - await insertContractAddressInDb(eContractid.Pool, poolProxy.address); - - const poolConfiguratorImpl = await deployPoolConfigurator(); - - // Set pool conf impl to Address Provider - await waitForTx(await addressesProvider.setPoolConfiguratorImpl(poolConfiguratorImpl.address)); - - const poolConfiguratorProxy = await getPoolConfiguratorProxy( - await addressesProvider.getPoolConfigurator() - ); - await insertContractAddressInDb(eContractid.PoolConfigurator, poolConfiguratorProxy.address); - - // Deploy deployment helpers - await deployStableAndVariableTokensHelper([poolProxy.address, addressesProvider.address]); - await deployATokensAndRatesHelper([ - poolProxy.address, - addressesProvider.address, - poolConfiguratorProxy.address, - ]); -}); diff --git a/tasks/dev/4_oracles.ts b/tasks/dev/4_oracles.ts deleted file mode 100644 index b99848298..000000000 --- a/tasks/dev/4_oracles.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { task } from 'hardhat/config'; -import { - deployPriceOracle, - deployAaveOracle, - deployRateOracle, -} from '../../helpers/contracts-deployments'; -import { - setInitialAssetPricesInOracle, - deployAllMockAggregators, - setInitialMarketRatesInRatesOracleByHelper, -} from '../../helpers/oracles-helpers'; -import { ICommonConfiguration, iAssetBase, TokenContractId } from '../../helpers/types'; -import { waitForTx } from '../../helpers/misc-utils'; -import { getAllAggregatorsAddresses, getAllTokenAddresses } from '../../helpers/mock-helpers'; -import { - getAllMockedTokens, - getPoolAddressesProvider, - getPairsTokenAggregator, -} from '../../helpers/contracts-getters'; -import { deployWETHMocked } from '../../helpers/contracts-deployments'; -import AaveConfig from '../../market-config'; -import { ethers } from 'ethers'; - -task('dev:deploy-oracles', 'Deploy oracles for dev enviroment').setAction(async (_, localBRE) => { - await localBRE.run('set-DRE'); - const poolConfig = AaveConfig; - const { - Mocks: { AllAssetsInitialPrices }, - ProtocolGlobalParams: { UsdAddress, MockUsdPriceInWei }, - RateOracleRatesCommon, - } = poolConfig as ICommonConfiguration; - - const defaultTokenList = { - ...Object.fromEntries(Object.keys(TokenContractId).map((symbol) => [symbol, ''])), - USD: UsdAddress, - } as iAssetBase; - const mockTokens = await getAllMockedTokens(); - const mockTokensAddress = Object.keys(mockTokens).reduce>((prev, curr) => { - prev[curr as keyof iAssetBase] = mockTokens[curr].address; - return prev; - }, defaultTokenList); - const addressesProvider = await getPoolAddressesProvider(); - const admin = await addressesProvider.getPoolAdmin(); - - const fallbackOracle = await deployPriceOracle(); - await waitForTx(await fallbackOracle.setEthUsdPrice(MockUsdPriceInWei)); - await setInitialAssetPricesInOracle(AllAssetsInitialPrices, mockTokensAddress, fallbackOracle); - - const mockAggregators = await deployAllMockAggregators(AllAssetsInitialPrices); - - const allTokenAddresses = getAllTokenAddresses(mockTokens); - const allAggregatorsAddresses = getAllAggregatorsAddresses(mockAggregators); - - const [tokens, aggregators] = getPairsTokenAggregator(allTokenAddresses, allAggregatorsAddresses); - - let wethAddress = poolConfig.WETH; - if (!wethAddress) { - const currentNetwork = process.env.FORK ? process.env.FORK : localBRE.network.name; - if (currentNetwork.includes('main')) { - throw new Error('WETH not set at mainnet configuration.'); - } else { - const weth = await deployWETHMocked(); - wethAddress = weth.address; - } - } - - await deployAaveOracle([ - tokens, - aggregators, - fallbackOracle.address, - wethAddress, - ethers.constants.WeiPerEther.toString(), - ]); - await waitForTx(await addressesProvider.setPriceOracle(fallbackOracle.address)); - - const rateOracle = await deployRateOracle(); - await waitForTx(await addressesProvider.setRateOracle(rateOracle.address)); - - const { USD, ...tokensAddressesWithoutUsd } = allTokenAddresses; - const allReservesAddresses = { - ...tokensAddressesWithoutUsd, - }; - await setInitialMarketRatesInRatesOracleByHelper( - RateOracleRatesCommon, - allReservesAddresses, - rateOracle, - admin - ); -}); diff --git a/tasks/dev/5_initialize.ts b/tasks/dev/5_initialize.ts deleted file mode 100644 index 19674ae3a..000000000 --- a/tasks/dev/5_initialize.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { task } from 'hardhat/config'; -import { - deployMockFlashLoanReceiver, - deployAaveProtocolDataProvider, -} from '../../helpers/contracts-deployments'; -import { eNetwork } from '../../helpers/types'; - -import { tEthereumAddress, eContractid } from '../../helpers/types'; -import { waitForTx, filterMapBy } from '../../helpers/misc-utils'; -import { configureReservesByHelper, initReservesByHelper } from '../../helpers/init-helpers'; -import { getAllTokenAddresses } from '../../helpers/mock-helpers'; -import { ZERO_ADDRESS } from '../../helpers/constants'; -import { getAllMockedTokens, getPoolAddressesProvider } from '../../helpers/contracts-getters'; -import { insertContractAddressInDb } from '../../helpers/contracts-helpers'; -import AaveConfig from '../../market-config'; - -task('dev:initialize-pool', 'Initialize pool configuration.').setAction(async (_, localBRE) => { - await localBRE.run('set-DRE'); - const network = localBRE.network.name; - const poolConfig = AaveConfig; - const { ATokenNamePrefix, StableDebtTokenNamePrefix, VariableDebtTokenNamePrefix, SymbolPrefix } = - poolConfig; - const mockTokens = await getAllMockedTokens(); - const allTokenAddresses = getAllTokenAddresses(mockTokens); - - const addressesProvider = await getPoolAddressesProvider(); - - const protoPoolReservesAddresses = <{ [symbol: string]: tEthereumAddress }>( - filterMapBy(allTokenAddresses, (key: string) => !key.includes('UNI_')) - ); - - const testHelpers = await deployAaveProtocolDataProvider(addressesProvider.address); - - const reservesParams = poolConfig.ReservesConfig; - - const admin = await addressesProvider.getPoolAdmin(); - - const treasuryAddress = poolConfig.ReserveFactorTreasuryAddress; - - await initReservesByHelper( - reservesParams, - protoPoolReservesAddresses, - ATokenNamePrefix, - StableDebtTokenNamePrefix, - VariableDebtTokenNamePrefix, - SymbolPrefix, - admin, - treasuryAddress, - ZERO_ADDRESS - ); - await configureReservesByHelper(reservesParams, protoPoolReservesAddresses, testHelpers, admin); - - const mockFlashLoanReceiver = await deployMockFlashLoanReceiver(addressesProvider.address); - await insertContractAddressInDb(eContractid.MockFlashLoanReceiver, mockFlashLoanReceiver.address); - - await insertContractAddressInDb(eContractid.AaveProtocolDataProvider, testHelpers.address); -}); diff --git a/tasks/misc/print-config.ts b/tasks/misc/print-config.ts deleted file mode 100644 index 597f6dd52..000000000 --- a/tasks/misc/print-config.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { task } from 'hardhat/config'; -import { - getAaveProtocolDataProvider, - getPoolAddressesProvider, - getPoolAddressesProviderRegistry, -} from '../../helpers/contracts-getters'; -import { eNetwork } from '../../helpers/types'; -import AaveConfig from '../../market-config'; - -task('print-config', 'Inits the DRE, to have access to all the plugins') - .addParam('dataProvider', 'Address of AaveProtocolDataProvider') - .setAction(async ({ dataProvider }, localBRE) => { - await localBRE.run('set-DRE'); - const network = process.env.FORK - ? (process.env.FORK as eNetwork) - : (localBRE.network.name as eNetwork); - console.log(network); - const poolConfig = AaveConfig; - - const providerRegistryAddress = poolConfig.ProviderRegistry; - - const providerRegistry = await getPoolAddressesProviderRegistry(providerRegistryAddress); - - const providers = await providerRegistry.getAddressesProvidersList(); - - const addressesProvider = await getPoolAddressesProvider(providers[0]); // Checks first provider - - console.log('Addresses Providers', providers.join(', ')); - console.log('Market Id: ', await addressesProvider.getMarketId()); - console.log('Pool Proxy:', await addressesProvider.getPool()); - console.log('Pool Configurator proxy', await addressesProvider.getPoolConfigurator()); - console.log('Pool admin', await addressesProvider.getPoolAdmin()); - console.log('Emergency admin', await addressesProvider.getEmergencyAdmin()); - console.log('Price Oracle', await addressesProvider.getPriceOracle()); - console.log('Rate Oracle', await addressesProvider.getRateOracle()); - console.log('Aave Protocol Data Provider', dataProvider); - const protocolDataProvider = await getAaveProtocolDataProvider(dataProvider); - - const fields = [ - 'decimals', - 'ltv', - 'liquidationThreshold', - 'liquidationBonus', - 'reserveFactor', - 'usageAsCollateralEnabled', - 'borrowingEnabled', - 'stableBorrowRateEnabled', - 'isActive', - 'isFrozen', - ]; - const tokensFields = ['aToken', 'stableDebtToken', 'variableDebtToken']; - for (const [symbol, address] of Object.entries(poolConfig.ReserveAssets)) { - console.log(`- ${symbol} asset config`); - if (typeof address === 'string') { - console.log(` - reserve address: ${address}`); - const reserveData = await protocolDataProvider.getReserveConfigurationData(address); - const tokensAddresses = await protocolDataProvider.getReserveTokensAddresses(address); - fields.forEach((field) => { - console.log(` - ${field}:`, reserveData[field].toString()); - }); - tokensFields.forEach((field, index) => { - console.log(` - ${field}:`, tokensAddresses[index]); - }); - } else { - console.log(` - reserve address: ${undefined}`); - } - } - }); diff --git a/tasks/misc/print-contracts.ts b/tasks/misc/print-contracts.ts deleted file mode 100644 index a9e8b986b..000000000 --- a/tasks/misc/print-contracts.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { task } from 'hardhat/config'; -import { printContracts } from '../../helpers/misc-utils'; - -task('print-contracts', 'Inits the DRE, to have access to all the plugins').setAction( - async ({}, localBRE) => { - await localBRE.run('set-DRE'); - printContracts(); - } -); diff --git a/tasks/misc/print-fork-config.ts b/tasks/misc/print-fork-config.ts deleted file mode 100644 index 688648237..000000000 --- a/tasks/misc/print-fork-config.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { task } from 'hardhat/config'; -import { getAaveProtocolDataProvider } from '../../helpers/contracts-getters'; - -task('print-config:fork', 'Deploy development enviroment').setAction(async (_, DRE) => { - await DRE.run('set-DRE'); - await DRE.run('aave:mainnet'); - - const dataProvider = await getAaveProtocolDataProvider(); - await DRE.run('print-config', { dataProvider: dataProvider.address, pool: 'Aave' }); -});