Skip to content

Commit

Permalink
feat: remove verify flag
Browse files Browse the repository at this point in the history
  • Loading branch information
Steven Valeri committed Aug 4, 2021
1 parent dd67c22 commit 6da1acf
Show file tree
Hide file tree
Showing 10 changed files with 233 additions and 395 deletions.
290 changes: 85 additions & 205 deletions helpers/contracts-deployments.ts

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions helpers/contracts-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,7 @@ export const getEthersSignersAddresses = async (): Promise<tEthereumAddress[]> =

export const withSave = async <ContractType extends Contract>(
instance: ContractType,
id: string,
args: (string | string[])[],
verify?: boolean
id: string
): Promise<ContractType> => {
await waitForTx(instance.deployTransaction);
await registerContractInJsonDb(id, instance);
Expand Down
11 changes: 5 additions & 6 deletions helpers/init-helpers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { eContractid, iMultiPoolsAssets, IReserveParams, tEthereumAddress } from './types';
import { AaveProtocolDataProvider } from '../types/AaveProtocolDataProvider';
import { chunk, waitForTx } from './misc-utils';
import { chunk, getDb, waitForTx } from './misc-utils';
import {
getATokensAndRatesHelper,
getPoolAddressesProvider,
Expand All @@ -26,8 +26,7 @@ export const initReservesByHelper = async (
symbolPrefix: string,
admin: tEthereumAddress,
treasuryAddress: tEthereumAddress,
incentivesController: tEthereumAddress,
verify: boolean
incentivesController: tEthereumAddress
): Promise<BigNumber> => {
let gasUsage = BigNumber.from('0');
const stableAndVariableDeployer = await getStableAndVariableTokensHelper();
Expand Down Expand Up @@ -94,7 +93,7 @@ export const initReservesByHelper = async (
stableDebtTokenImplementationAddress = await (await deployGenericStableDebtToken()).address;
variableDebtTokenImplementationAddress = await (await deployGenericVariableDebtToken()).address;

const aTokenImplementation = await deployGenericATokenImpl(verify);
const aTokenImplementation = await deployGenericATokenImpl();
aTokenImplementationAddress = aTokenImplementation.address;
rawInsertContractAddressInDb(`aTokenImpl`, aTokenImplementationAddress);

Expand All @@ -103,7 +102,7 @@ export const initReservesByHelper = async (
) as [string, IReserveParams][];

if (delegatedAwareReserves.length > 0) {
const delegationAwareATokenImplementation = await deployDelegationAwareATokenImpl(verify);
const delegationAwareATokenImplementation = await deployDelegationAwareATokenImpl();
delegationAwareATokenImplementationAddress = delegationAwareATokenImplementation.address;
rawInsertContractAddressInDb(
`delegationAwareATokenImpl`,
Expand Down Expand Up @@ -142,7 +141,7 @@ export const initReservesByHelper = async (
stableRateSlope2,
];
strategyAddresses[strategy.name] = (
await deployDefaultReserveInterestRateStrategy(rateStrategies[strategy.name], verify)
await deployDefaultReserveInterestRateStrategy(rateStrategies[strategy.name])
).address;
// This causes the last strategy to be printed twice, once under "DefaultReserveInterestRateStrategy"
// and once under the actual `strategyASSET` key.
Expand Down
7 changes: 2 additions & 5 deletions helpers/oracles-helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,15 @@ export const setInitialAssetPricesInOracle = async (
}
};

export const deployAllMockAggregators = async (
initialPrices: iAssetAggregatorBase<string>,
verify?: boolean
) => {
export const deployAllMockAggregators = async (initialPrices: iAssetAggregatorBase<string>) => {
const aggregators: { [tokenSymbol: string]: MockAggregator } = {};
for (const tokenContractName of Object.keys(initialPrices)) {
if (tokenContractName !== 'ETH') {
const priceIndex = Object.keys(initialPrices).findIndex(
(value) => value === tokenContractName
);
const [, price] = (Object.entries(initialPrices) as [string, string][])[priceIndex];
aggregators[tokenContractName] = await deployMockAggregator(price, verify);
aggregators[tokenContractName] = await deployMockAggregator(price);
}
}
return aggregators;
Expand Down
9 changes: 0 additions & 9 deletions helpers/tenderly-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,3 @@ export const usingTenderly = () =>
DRE &&
((DRE as HardhatRuntimeEnvironment).network.name.includes('tenderly') ||
process.env.TENDERLY === 'true');

export const verifyAtTenderly = async (id: string, instance: Contract) => {
console.log('\n- Doing Tenderly contract verification of', id);
await (DRE as any).tenderlyNetwork.verify({
name: id,
address: instance.address,
});
console.log(` - Verified ${id} at Tenderly!`);
};
10 changes: 5 additions & 5 deletions tasks/dev/1_mock_tokens.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { task } from 'hardhat/config';
import { deployAllMockTokens } from '../../helpers/contracts-deployments';

task('dev:deploy-mock-tokens', 'Deploy mock tokens for dev enviroment')
.addFlag('verify', 'Verify contracts at Etherscan')
.setAction(async ({ verify }, localBRE) => {
task('dev:deploy-mock-tokens', 'Deploy mock tokens for dev enviroment').setAction(
async (_, localBRE) => {
await localBRE.run('set-DRE');
await deployAllMockTokens(verify);
});
await deployAllMockTokens();
}
);
24 changes: 11 additions & 13 deletions tasks/dev/2_address_provider_registry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,17 @@ import AaveConfig from '../../market-config';
task(
'dev:deploy-address-provider',
'Deploy address provider, registry and fee provider for dev enviroment'
)
.addFlag('verify', 'Verify contracts at Etherscan')
.setAction(async ({ verify }, localBRE) => {
await localBRE.run('set-DRE');
).setAction(async (_, localBRE) => {
await localBRE.run('set-DRE');

const admin = await (await getEthersSigners())[0].getAddress();
const admin = await (await getEthersSigners())[0].getAddress();

const addressesProvider = await deployPoolAddressesProvider(AaveConfig.MarketId, verify);
await waitForTx(await addressesProvider.setPoolAdmin(admin));
await waitForTx(await addressesProvider.setEmergencyAdmin(admin));
const addressesProvider = await deployPoolAddressesProvider(AaveConfig.MarketId);
await waitForTx(await addressesProvider.setPoolAdmin(admin));
await waitForTx(await addressesProvider.setEmergencyAdmin(admin));

const addressesProviderRegistry = await deployPoolAddressesProviderRegistry(verify);
await waitForTx(
await addressesProviderRegistry.registerAddressesProvider(addressesProvider.address, 1)
);
});
const addressesProviderRegistry = await deployPoolAddressesProviderRegistry();
await waitForTx(
await addressesProviderRegistry.registerAddressesProvider(addressesProvider.address, 1)
);
});
52 changes: 24 additions & 28 deletions tasks/dev/3_pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,36 @@ import {
} from '../../helpers/contracts-getters';
import { insertContractAddressInDb } from '../../helpers/contracts-helpers';

task('dev:deploy-pool', 'Deploy pool for dev enviroment')
.addFlag('verify', 'Verify contracts at Etherscan')
.setAction(async ({ verify }, localBRE) => {
await localBRE.run('set-DRE');
task('dev:deploy-pool', 'Deploy pool for dev enviroment').setAction(async (_, localBRE) => {
await localBRE.run('set-DRE');

const addressesProvider = await getPoolAddressesProvider();
const addressesProvider = await getPoolAddressesProvider();

const poolImpl = await deployPool(verify);
const poolImpl = await deployPool();

// Set pool impl to Address Provider
await waitForTx(await addressesProvider.setPoolImpl(poolImpl.address));
// Set pool impl to Address Provider
await waitForTx(await addressesProvider.setPoolImpl(poolImpl.address));

const address = await addressesProvider.getPool();
const poolProxy = await getPool(address);
const address = await addressesProvider.getPool();
const poolProxy = await getPool(address);

await insertContractAddressInDb(eContractid.Pool, poolProxy.address);
await insertContractAddressInDb(eContractid.Pool, poolProxy.address);

const poolConfiguratorImpl = await deployPoolConfigurator(verify);
const poolConfiguratorImpl = await deployPoolConfigurator();

// Set pool conf impl to Address Provider
await waitForTx(await addressesProvider.setPoolConfiguratorImpl(poolConfiguratorImpl.address));
// 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);
const poolConfiguratorProxy = await getPoolConfiguratorProxy(
await addressesProvider.getPoolConfigurator()
);
await insertContractAddressInDb(eContractid.PoolConfigurator, poolConfiguratorProxy.address);

// Deploy deployment helpers
await deployStableAndVariableTokensHelper(
[poolProxy.address, addressesProvider.address],
verify
);
await deployATokensAndRatesHelper(
[poolProxy.address, addressesProvider.address, poolConfiguratorProxy.address],
verify
);
});
// Deploy deployment helpers
await deployStableAndVariableTokensHelper([poolProxy.address, addressesProvider.address]);
await deployATokensAndRatesHelper([
poolProxy.address,
addressesProvider.address,
poolConfiguratorProxy.address,
]);
});
120 changes: 56 additions & 64 deletions tasks/dev/4_oracles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,77 +21,69 @@ import { deployWETHMocked } from '../../helpers/contracts-deployments';
import AaveConfig from '../../market-config';
import { ethers } from 'ethers';

task('dev:deploy-oracles', 'Deploy oracles for dev enviroment')
.addFlag('verify', 'Verify contracts at Etherscan')
.setAction(async ({ verify }, localBRE) => {
await localBRE.run('set-DRE');
const poolConfig = AaveConfig;
const {
Mocks: { AllAssetsInitialPrices },
ProtocolGlobalParams: { UsdAddress, MockUsdPriceInWei },
RateOracleRatesCommon,
} = poolConfig as ICommonConfiguration;
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<string>;
const mockTokens = await getAllMockedTokens();
const mockTokensAddress = Object.keys(mockTokens).reduce<iAssetBase<string>>((prev, curr) => {
prev[curr as keyof iAssetBase<string>] = mockTokens[curr].address;
return prev;
}, defaultTokenList);
const addressesProvider = await getPoolAddressesProvider();
const admin = await addressesProvider.getPoolAdmin();
const defaultTokenList = {
...Object.fromEntries(Object.keys(TokenContractId).map((symbol) => [symbol, ''])),
USD: UsdAddress,
} as iAssetBase<string>;
const mockTokens = await getAllMockedTokens();
const mockTokensAddress = Object.keys(mockTokens).reduce<iAssetBase<string>>((prev, curr) => {
prev[curr as keyof iAssetBase<string>] = mockTokens[curr].address;
return prev;
}, defaultTokenList);
const addressesProvider = await getPoolAddressesProvider();
const admin = await addressesProvider.getPoolAdmin();

const fallbackOracle = await deployPriceOracle(verify);
await waitForTx(await fallbackOracle.setEthUsdPrice(MockUsdPriceInWei));
await setInitialAssetPricesInOracle(AllAssetsInitialPrices, mockTokensAddress, fallbackOracle);
const fallbackOracle = await deployPriceOracle();
await waitForTx(await fallbackOracle.setEthUsdPrice(MockUsdPriceInWei));
await setInitialAssetPricesInOracle(AllAssetsInitialPrices, mockTokensAddress, fallbackOracle);

const mockAggregators = await deployAllMockAggregators(AllAssetsInitialPrices, verify);
const mockAggregators = await deployAllMockAggregators(AllAssetsInitialPrices);

const allTokenAddresses = getAllTokenAddresses(mockTokens);
const allAggregatorsAddresses = getAllAggregatorsAddresses(mockAggregators);
const allTokenAddresses = getAllTokenAddresses(mockTokens);
const allAggregatorsAddresses = getAllAggregatorsAddresses(mockAggregators);

const [tokens, aggregators] = getPairsTokenAggregator(
allTokenAddresses,
allAggregatorsAddresses
);
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;
}
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(),
],
verify
);
await waitForTx(await addressesProvider.setPriceOracle(fallbackOracle.address));
await deployAaveOracle([
tokens,
aggregators,
fallbackOracle.address,
wethAddress,
ethers.constants.WeiPerEther.toString(),
]);
await waitForTx(await addressesProvider.setPriceOracle(fallbackOracle.address));

const rateOracle = await deployRateOracle(verify);
await waitForTx(await addressesProvider.setRateOracle(rateOracle.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
);
});
const { USD, ...tokensAddressesWithoutUsd } = allTokenAddresses;
const allReservesAddresses = {
...tokensAddressesWithoutUsd,
};
await setInitialMarketRatesInRatesOracleByHelper(
RateOracleRatesCommon,
allReservesAddresses,
rateOracle,
admin
);
});
Loading

0 comments on commit 6da1acf

Please sign in to comment.