mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Added gas tracking
This commit is contained in:
parent
a4540633ea
commit
688b62fed2
8
gas-tracker.ts
Normal file
8
gas-tracker.ts
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
// Should be a ts file that has a global var var gas = 0;
|
||||||
|
import { BigNumber } from 'ethers';
|
||||||
|
|
||||||
|
export var totalGas:BigNumber = BigNumber.from(0);
|
||||||
|
|
||||||
|
export function addGas(amount: BigNumber) {
|
||||||
|
totalGas = totalGas.add(amount);
|
||||||
|
}
|
|
@ -11,7 +11,6 @@ import {
|
||||||
PoolConfiguration,
|
PoolConfiguration,
|
||||||
eEthereumNetwork,
|
eEthereumNetwork,
|
||||||
} from './types';
|
} from './types';
|
||||||
|
|
||||||
import { MintableERC20 } from '../types/MintableERC20';
|
import { MintableERC20 } from '../types/MintableERC20';
|
||||||
import { MockContract } from 'ethereum-waffle';
|
import { MockContract } from 'ethereum-waffle';
|
||||||
import { getReservesConfigByPool } from './configuration';
|
import { getReservesConfigByPool } from './configuration';
|
||||||
|
@ -58,6 +57,7 @@ import { MintableDelegationERC20 } from '../types/MintableDelegationERC20';
|
||||||
import { readArtifact as buidlerReadArtifact } from '@nomiclabs/buidler/plugins';
|
import { readArtifact as buidlerReadArtifact } from '@nomiclabs/buidler/plugins';
|
||||||
import { HardhatRuntimeEnvironment } from 'hardhat/types';
|
import { HardhatRuntimeEnvironment } from 'hardhat/types';
|
||||||
import { LendingPoolLibraryAddresses } from '../types/LendingPoolFactory';
|
import { LendingPoolLibraryAddresses } from '../types/LendingPoolFactory';
|
||||||
|
import { addGas } from '../gas-tracker';
|
||||||
|
|
||||||
const readArtifact = async (id: string) => {
|
const readArtifact = async (id: string) => {
|
||||||
if (DRE.network.name === eEthereumNetwork.buidlerevm) {
|
if (DRE.network.name === eEthereumNetwork.buidlerevm) {
|
||||||
|
@ -71,7 +71,8 @@ export const deployLendingPoolAddressesProvider = async (marketId: string, verif
|
||||||
eContractid.LendingPoolAddressesProvider,
|
eContractid.LendingPoolAddressesProvider,
|
||||||
[marketId],
|
[marketId],
|
||||||
verify
|
verify
|
||||||
);
|
)
|
||||||
|
|
||||||
|
|
||||||
export const deployLendingPoolAddressesProviderRegistry = async (verify?: boolean) =>
|
export const deployLendingPoolAddressesProviderRegistry = async (verify?: boolean) =>
|
||||||
withSaveAndVerify(
|
withSaveAndVerify(
|
||||||
|
|
|
@ -16,7 +16,9 @@ import { MintableERC20 } from '../types/MintableERC20';
|
||||||
import { Artifact } from 'hardhat/types';
|
import { Artifact } from 'hardhat/types';
|
||||||
import { Artifact as BuidlerArtifact } from '@nomiclabs/buidler/types';
|
import { Artifact as BuidlerArtifact } from '@nomiclabs/buidler/types';
|
||||||
import { verifyContract } from './etherscan-verification';
|
import { verifyContract } from './etherscan-verification';
|
||||||
import { getIErc20Detailed } from './contracts-getters';
|
import { getIErc20Detailed, getFirstSigner } from './contracts-getters';
|
||||||
|
import { addGas, totalGas } from '../gas-tracker';
|
||||||
|
|
||||||
|
|
||||||
export type MockTokenMap = { [symbol: string]: MintableERC20 };
|
export type MockTokenMap = { [symbol: string]: MintableERC20 };
|
||||||
|
|
||||||
|
@ -88,6 +90,13 @@ export const withSaveAndVerify = async <ContractType extends Contract>(
|
||||||
args: (string | string[])[],
|
args: (string | string[])[],
|
||||||
verify?: boolean
|
verify?: boolean
|
||||||
): Promise<ContractType> => {
|
): Promise<ContractType> => {
|
||||||
|
// const signer = await getFirstSigner();
|
||||||
|
// const factory = ethers.ContractFactory.fromSolidity(instance);
|
||||||
|
// const gasCost = await signer.estimateGas(await factory.getDeployTransaction());
|
||||||
|
// console.log("TEST:", gasCost.toString());
|
||||||
|
addGas(instance.deployTransaction.gasLimit);
|
||||||
|
console.log("Current totalGas value:", totalGas);
|
||||||
|
console.log("LOGGED GAS LIMIT:", instance.deployTransaction.gasLimit);
|
||||||
await waitForTx(instance.deployTransaction);
|
await waitForTx(instance.deployTransaction);
|
||||||
await registerContractInJsonDb(id, instance);
|
await registerContractInJsonDb(id, instance);
|
||||||
if (DRE.network.name.includes('tenderly')) {
|
if (DRE.network.name.includes('tenderly')) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ import {
|
||||||
} from './contracts-deployments';
|
} from './contracts-deployments';
|
||||||
import { ZERO_ADDRESS } from './constants';
|
import { ZERO_ADDRESS } from './constants';
|
||||||
import { isZeroAddress } from 'ethereumjs-util';
|
import { isZeroAddress } from 'ethereumjs-util';
|
||||||
|
import { addGas } from '../gas-tracker';
|
||||||
|
|
||||||
const chooseATokenDeployment = (id: eContractid) => {
|
const chooseATokenDeployment = (id: eContractid) => {
|
||||||
switch (id) {
|
switch (id) {
|
||||||
|
@ -53,6 +54,7 @@ export const initReservesByHelper = async (
|
||||||
const poolAddress = await addressProvider.getLendingPool();
|
const poolAddress = await addressProvider.getLendingPool();
|
||||||
|
|
||||||
// Set aTokenAndRatesDeployer as temporal admin
|
// Set aTokenAndRatesDeployer as temporal admin
|
||||||
|
addGas(await addressProvider.estimateGas.setPoolAdmin(atokenAndRatesDeployer.address));
|
||||||
await waitForTx(await addressProvider.setPoolAdmin(atokenAndRatesDeployer.address));
|
await waitForTx(await addressProvider.setPoolAdmin(atokenAndRatesDeployer.address));
|
||||||
|
|
||||||
// CHUNK CONFIGURATION
|
// CHUNK CONFIGURATION
|
||||||
|
@ -130,6 +132,7 @@ export const initReservesByHelper = async (
|
||||||
reservesDecimals.push(reserveDecimals);
|
reservesDecimals.push(reserveDecimals);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// tx1 and tx2 gas is accounted for later.
|
||||||
// Deploy stable and variable deployers and save implementations
|
// Deploy stable and variable deployers and save implementations
|
||||||
const tx1 = await waitForTx(
|
const tx1 = await waitForTx(
|
||||||
await stableAndVariableDeployer.initDeployment(tokens, symbols, incentivesController)
|
await stableAndVariableDeployer.initDeployment(tokens, symbols, incentivesController)
|
||||||
|
@ -158,7 +161,7 @@ export const initReservesByHelper = async (
|
||||||
console.log(' * gasUsed: debtTokens batch', tx1.gasUsed.toString());
|
console.log(' * gasUsed: debtTokens batch', tx1.gasUsed.toString());
|
||||||
console.log(' * gasUsed: aTokens and Strategy batch', tx2.gasUsed.toString());
|
console.log(' * gasUsed: aTokens and Strategy batch', tx2.gasUsed.toString());
|
||||||
gasUsage = gasUsage.add(tx1.gasUsed).add(tx2.gasUsed);
|
gasUsage = gasUsage.add(tx1.gasUsed).add(tx2.gasUsed);
|
||||||
|
addGas(gasUsage);
|
||||||
const stableTokens: string[] = tx1.events?.map((e) => e.args?.stableToken) || [];
|
const stableTokens: string[] = tx1.events?.map((e) => e.args?.stableToken) || [];
|
||||||
const variableTokens: string[] = tx1.events?.map((e) => e.args?.variableToken) || [];
|
const variableTokens: string[] = tx1.events?.map((e) => e.args?.variableToken) || [];
|
||||||
const aTokens: string[] = tx2.events?.map((e) => e.args?.aToken) || [];
|
const aTokens: string[] = tx2.events?.map((e) => e.args?.aToken) || [];
|
||||||
|
@ -352,6 +355,7 @@ export const configureReservesByHelper = async (
|
||||||
}
|
}
|
||||||
if (tokens.length) {
|
if (tokens.length) {
|
||||||
// Set aTokenAndRatesDeployer as temporal admin
|
// Set aTokenAndRatesDeployer as temporal admin
|
||||||
|
addGas(await addressProvider.estimateGas.setPoolAdmin(atokenAndRatesDeployer.address));
|
||||||
await waitForTx(await addressProvider.setPoolAdmin(atokenAndRatesDeployer.address));
|
await waitForTx(await addressProvider.setPoolAdmin(atokenAndRatesDeployer.address));
|
||||||
|
|
||||||
// Deploy init per chunks
|
// Deploy init per chunks
|
||||||
|
@ -366,6 +370,15 @@ export const configureReservesByHelper = async (
|
||||||
|
|
||||||
console.log(`- Configure reserves in ${chunkedTokens.length} txs`);
|
console.log(`- Configure reserves in ${chunkedTokens.length} txs`);
|
||||||
for (let chunkIndex = 0; chunkIndex < chunkedTokens.length; chunkIndex++) {
|
for (let chunkIndex = 0; chunkIndex < chunkedTokens.length; chunkIndex++) {
|
||||||
|
addGas(await atokenAndRatesDeployer.estimateGas.configureReserves(
|
||||||
|
chunkedTokens[chunkIndex],
|
||||||
|
chunkedBase[chunkIndex],
|
||||||
|
chunkedliquidationThresholds[chunkIndex],
|
||||||
|
chunkedliquidationBonuses[chunkIndex],
|
||||||
|
chunkedReserveFactors[chunkIndex],
|
||||||
|
chunkedStableRatesEnabled[chunkIndex],
|
||||||
|
{ gasLimit: 12000000 }
|
||||||
|
));
|
||||||
await waitForTx(
|
await waitForTx(
|
||||||
await atokenAndRatesDeployer.configureReserves(
|
await atokenAndRatesDeployer.configureReserves(
|
||||||
chunkedTokens[chunkIndex],
|
chunkedTokens[chunkIndex],
|
||||||
|
@ -380,6 +393,7 @@ export const configureReservesByHelper = async (
|
||||||
console.log(` - Init for: ${chunkedSymbols[chunkIndex].join(', ')}`);
|
console.log(` - Init for: ${chunkedSymbols[chunkIndex].join(', ')}`);
|
||||||
}
|
}
|
||||||
// Set deployer back as admin
|
// Set deployer back as admin
|
||||||
|
addGas(await addressProvider.estimateGas.setPoolAdmin(admin));
|
||||||
await waitForTx(await addressProvider.setPoolAdmin(admin));
|
await waitForTx(await addressProvider.setPoolAdmin(admin));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -13,6 +13,7 @@ import {MockAggregator} from '../types/MockAggregator';
|
||||||
import {deployMockAggregator} from './contracts-deployments';
|
import {deployMockAggregator} from './contracts-deployments';
|
||||||
import {chunk, waitForTx} from './misc-utils';
|
import {chunk, waitForTx} from './misc-utils';
|
||||||
import {getStableAndVariableTokensHelper} from './contracts-getters';
|
import {getStableAndVariableTokensHelper} from './contracts-getters';
|
||||||
|
import { addGas } from '../gas-tracker';
|
||||||
|
|
||||||
export const setInitialMarketRatesInRatesOracleByHelper = async (
|
export const setInitialMarketRatesInRatesOracleByHelper = async (
|
||||||
marketRates: iMultiPoolsAssets<IMarketRates>,
|
marketRates: iMultiPoolsAssets<IMarketRates>,
|
||||||
|
@ -45,12 +46,20 @@ export const setInitialMarketRatesInRatesOracleByHelper = async (
|
||||||
const chunkedSymbols = chunk(symbols, ratesChunks);
|
const chunkedSymbols = chunk(symbols, ratesChunks);
|
||||||
|
|
||||||
// Set helper as owner
|
// Set helper as owner
|
||||||
|
addGas(await lendingRateOracleInstance.estimateGas.transferOwnership(stableAndVariableTokenHelper.address));
|
||||||
await waitForTx(
|
await waitForTx(
|
||||||
await lendingRateOracleInstance.transferOwnership(stableAndVariableTokenHelper.address)
|
await lendingRateOracleInstance.transferOwnership(stableAndVariableTokenHelper.address)
|
||||||
);
|
);
|
||||||
|
|
||||||
console.log(`- Oracle borrow initalization in ${chunkedTokens.length} txs`);
|
console.log(`- Oracle borrow initalization in ${chunkedTokens.length} txs`);
|
||||||
for (let chunkIndex = 0; chunkIndex < chunkedTokens.length; chunkIndex++) {
|
for (let chunkIndex = 0; chunkIndex < chunkedTokens.length; chunkIndex++) {
|
||||||
|
|
||||||
|
addGas(await stableAndVariableTokenHelper.estimateGas.setOracleBorrowRates(
|
||||||
|
chunkedTokens[chunkIndex],
|
||||||
|
chunkedRates[chunkIndex],
|
||||||
|
lendingRateOracleInstance.address
|
||||||
|
));
|
||||||
|
|
||||||
const tx3 = await waitForTx(
|
const tx3 = await waitForTx(
|
||||||
await stableAndVariableTokenHelper.setOracleBorrowRates(
|
await stableAndVariableTokenHelper.setOracleBorrowRates(
|
||||||
chunkedTokens[chunkIndex],
|
chunkedTokens[chunkIndex],
|
||||||
|
@ -61,6 +70,7 @@ export const setInitialMarketRatesInRatesOracleByHelper = async (
|
||||||
console.log(` - Setted Oracle Borrow Rates for: ${chunkedSymbols[chunkIndex].join(', ')}`);
|
console.log(` - Setted Oracle Borrow Rates for: ${chunkedSymbols[chunkIndex].join(', ')}`);
|
||||||
}
|
}
|
||||||
// Set back ownership
|
// Set back ownership
|
||||||
|
addGas(await stableAndVariableTokenHelper.estimateGas.setOracleOwnership(lendingRateOracleInstance.address, admin));
|
||||||
await waitForTx(
|
await waitForTx(
|
||||||
await stableAndVariableTokenHelper.setOracleOwnership(lendingRateOracleInstance.address, admin)
|
await stableAndVariableTokenHelper.setOracleOwnership(lendingRateOracleInstance.address, admin)
|
||||||
);
|
);
|
||||||
|
@ -78,6 +88,7 @@ export const setInitialAssetPricesInOracle = async (
|
||||||
const [, assetAddress] = (Object.entries(assetsAddresses) as [string, string][])[
|
const [, assetAddress] = (Object.entries(assetsAddresses) as [string, string][])[
|
||||||
assetAddressIndex
|
assetAddressIndex
|
||||||
];
|
];
|
||||||
|
addGas(await priceOracleInstance.estimateGas.setAssetPrice(assetAddress, price));
|
||||||
await waitForTx(await priceOracleInstance.setAssetPrice(assetAddress, price));
|
await waitForTx(await priceOracleInstance.setAssetPrice(assetAddress, price));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -94,6 +105,7 @@ export const setAssetPricesInOracle = async (
|
||||||
const [, assetAddress] = (Object.entries(assetsAddresses) as [string, string][])[
|
const [, assetAddress] = (Object.entries(assetsAddresses) as [string, string][])[
|
||||||
assetAddressIndex
|
assetAddressIndex
|
||||||
];
|
];
|
||||||
|
addGas(await priceOracleInstance.estimateGas.setAssetPrice(assetAddress, price));
|
||||||
await waitForTx(await priceOracleInstance.setAssetPrice(assetAddress, price));
|
await waitForTx(await priceOracleInstance.setAssetPrice(assetAddress, price));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -126,7 +126,7 @@ export const CommonsConfig: ICommonConfiguration = {
|
||||||
[eEthereumNetwork.buidlerevm]: '',
|
[eEthereumNetwork.buidlerevm]: '',
|
||||||
[eEthereumNetwork.kovan]: '',//'0xdCde9Bb6a49e37fA433990832AB541AE2d4FEB4a',
|
[eEthereumNetwork.kovan]: '',//'0xdCde9Bb6a49e37fA433990832AB541AE2d4FEB4a',
|
||||||
[eEthereumNetwork.ropsten]: '0x05dcca805a6562c1bdd0423768754acb6993241b',
|
[eEthereumNetwork.ropsten]: '0x05dcca805a6562c1bdd0423768754acb6993241b',
|
||||||
[eEthereumNetwork.main]: '0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D',
|
[eEthereumNetwork.main]: '', //'0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D',
|
||||||
[eEthereumNetwork.tenderlyMain]: '0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D',
|
[eEthereumNetwork.tenderlyMain]: '0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D',
|
||||||
},
|
},
|
||||||
TokenDistributor: {
|
TokenDistributor: {
|
||||||
|
@ -144,7 +144,7 @@ export const CommonsConfig: ICommonConfiguration = {
|
||||||
[eEthereumNetwork.buidlerevm]: '',
|
[eEthereumNetwork.buidlerevm]: '',
|
||||||
[EthereumNetwork.kovan]: '',//'0xB8bE51E6563BB312Cbb2aa26e352516c25c26ac1',
|
[EthereumNetwork.kovan]: '',//'0xB8bE51E6563BB312Cbb2aa26e352516c25c26ac1',
|
||||||
[EthereumNetwork.ropsten]: ZERO_ADDRESS,
|
[EthereumNetwork.ropsten]: ZERO_ADDRESS,
|
||||||
[EthereumNetwork.main]: '0xA50ba011c48153De246E5192C8f9258A2ba79Ca9',
|
[EthereumNetwork.main]: '', //'0xA50ba011c48153De246E5192C8f9258A2ba79Ca9',
|
||||||
[EthereumNetwork.tenderlyMain]: '0xA50ba011c48153De246E5192C8f9258A2ba79Ca9',
|
[EthereumNetwork.tenderlyMain]: '0xA50ba011c48153De246E5192C8f9258A2ba79Ca9',
|
||||||
},
|
},
|
||||||
FallbackOracle: {
|
FallbackOracle: {
|
||||||
|
|
|
@ -18,8 +18,10 @@ import {
|
||||||
} from '../../helpers/contracts-getters';
|
} from '../../helpers/contracts-getters';
|
||||||
import { formatEther, isAddress, parseEther } from 'ethers/lib/utils';
|
import { formatEther, isAddress, parseEther } from 'ethers/lib/utils';
|
||||||
import { isZeroAddress } from 'ethereumjs-util';
|
import { isZeroAddress } from 'ethereumjs-util';
|
||||||
import { Signer } from 'ethers';
|
import { Signer, BigNumber } from 'ethers';
|
||||||
import { parse } from 'path';
|
import { parse } from 'path';
|
||||||
|
import { addGas } from '../../gas-tracker';
|
||||||
|
//import BigNumber from 'bignumber.js';
|
||||||
|
|
||||||
task(
|
task(
|
||||||
'full:deploy-address-provider',
|
'full:deploy-address-provider',
|
||||||
|
@ -92,6 +94,10 @@ task(
|
||||||
// );
|
// );
|
||||||
|
|
||||||
// 4. Set pool admins
|
// 4. Set pool admins
|
||||||
|
|
||||||
|
|
||||||
|
addGas(await addressesProvider.estimateGas.setPoolAdmin(await getGenesisPoolAdmin(poolConfig)));
|
||||||
|
addGas(await addressesProvider.estimateGas.setEmergencyAdmin(await getEmergencyAdmin(poolConfig)));
|
||||||
|
|
||||||
await waitForTx(await addressesProvider.setPoolAdmin(await getGenesisPoolAdmin(poolConfig)));
|
await waitForTx(await addressesProvider.setPoolAdmin(await getGenesisPoolAdmin(poolConfig)));
|
||||||
await waitForTx(await addressesProvider.setEmergencyAdmin(await getEmergencyAdmin(poolConfig)));
|
await waitForTx(await addressesProvider.setEmergencyAdmin(await getEmergencyAdmin(poolConfig)));
|
||||||
|
|
|
@ -17,6 +17,7 @@ import {
|
||||||
getLendingRateOracle,
|
getLendingRateOracle,
|
||||||
getPairsTokenAggregator,
|
getPairsTokenAggregator,
|
||||||
} from '../../helpers/contracts-getters';
|
} from '../../helpers/contracts-getters';
|
||||||
|
import { addGas } from '../../gas-tracker';
|
||||||
|
|
||||||
task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
|
task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
|
||||||
.addFlag('verify', 'Verify contracts at Etherscan')
|
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||||
|
@ -66,8 +67,10 @@ task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
|
||||||
admin
|
admin
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
console.log("ORACLES: %s and %s", aaveOracle.address, lendingRateOracle.address);
|
||||||
// Register the proxy price provider on the addressesProvider
|
// Register the proxy price provider on the addressesProvider
|
||||||
|
addGas(await addressesProvider.estimateGas.setPriceOracle(aaveOracle.address));
|
||||||
|
addGas(await addressesProvider.estimateGas.setLendingRateOracle(lendingRateOracle.address));
|
||||||
await waitForTx(await addressesProvider.setPriceOracle(aaveOracle.address));
|
await waitForTx(await addressesProvider.setPriceOracle(aaveOracle.address));
|
||||||
await waitForTx(await addressesProvider.setLendingRateOracle(lendingRateOracle.address));
|
await waitForTx(await addressesProvider.setLendingRateOracle(lendingRateOracle.address));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import {
|
||||||
getLendingPoolAddressesProvider,
|
getLendingPoolAddressesProvider,
|
||||||
} from '../../helpers/contracts-getters';
|
} from '../../helpers/contracts-getters';
|
||||||
import { ZERO_ADDRESS } from '../../helpers/constants';
|
import { ZERO_ADDRESS } from '../../helpers/constants';
|
||||||
|
import { addGas } from '../../gas-tracker';
|
||||||
|
|
||||||
task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
|
task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
|
||||||
.addFlag('verify', 'Verify contracts at Etherscan')
|
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||||
|
@ -47,6 +48,8 @@ task('full:initialize-lending-pool', 'Initialize lending pool configuration.')
|
||||||
await configureReservesByHelper(ReservesConfig, reserveAssets, testHelpers, admin);
|
await configureReservesByHelper(ReservesConfig, reserveAssets, testHelpers, admin);
|
||||||
|
|
||||||
const collateralManager = await deployLendingPoolCollateralManager(verify);
|
const collateralManager = await deployLendingPoolCollateralManager(verify);
|
||||||
|
|
||||||
|
addGas(await addressesProvider.estimateGas.setLendingPoolCollateralManager(collateralManager.address));
|
||||||
await waitForTx(
|
await waitForTx(
|
||||||
await addressesProvider.setLendingPoolCollateralManager(collateralManager.address)
|
await addressesProvider.setLendingPoolCollateralManager(collateralManager.address)
|
||||||
);
|
);
|
||||||
|
|
|
@ -4,6 +4,7 @@ import {checkVerification} from '../../helpers/etherscan-verification';
|
||||||
import {ConfigNames} from '../../helpers/configuration';
|
import {ConfigNames} from '../../helpers/configuration';
|
||||||
import {EthereumNetworkNames} from '../../helpers/types';
|
import {EthereumNetworkNames} from '../../helpers/types';
|
||||||
import {printContracts} from '../../helpers/misc-utils';
|
import {printContracts} from '../../helpers/misc-utils';
|
||||||
|
import {totalGas} from '../../gas-tracker';
|
||||||
|
|
||||||
task('aave:mainnet', 'Deploy development enviroment')
|
task('aave:mainnet', 'Deploy development enviroment')
|
||||||
.addFlag('verify', 'Verify contracts at Etherscan')
|
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||||
|
@ -56,4 +57,5 @@ task('aave:mainnet', 'Deploy development enviroment')
|
||||||
}
|
}
|
||||||
console.log('\nFinished migrations');
|
console.log('\nFinished migrations');
|
||||||
printContracts();
|
printContracts();
|
||||||
|
console.log("Total gas used:", totalGas);
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,6 +4,7 @@ import {checkVerification} from '../../helpers/etherscan-verification';
|
||||||
import {ConfigNames} from '../../helpers/configuration';
|
import {ConfigNames} from '../../helpers/configuration';
|
||||||
import {EthereumNetworkNames} from '../../helpers/types';
|
import {EthereumNetworkNames} from '../../helpers/types';
|
||||||
import {printContracts} from '../../helpers/misc-utils';
|
import {printContracts} from '../../helpers/misc-utils';
|
||||||
|
import {totalGas} from '../../gas-tracker';
|
||||||
|
|
||||||
task('uniswap:mainnet', 'Deploy development enviroment')
|
task('uniswap:mainnet', 'Deploy development enviroment')
|
||||||
.addFlag('verify', 'Verify contracts at Etherscan')
|
.addFlag('verify', 'Verify contracts at Etherscan')
|
||||||
|
@ -23,12 +24,14 @@ task('uniswap:mainnet', 'Deploy development enviroment')
|
||||||
const provider = new DRE.ethers.providers.Web3Provider(DRE.tenderlyRPC as any);
|
const provider = new DRE.ethers.providers.Web3Provider(DRE.tenderlyRPC as any);
|
||||||
DRE.ethers.provider = provider;
|
DRE.ethers.provider = provider;
|
||||||
}
|
}
|
||||||
|
// addGas(1);
|
||||||
|
// console.log(totalGas);
|
||||||
|
|
||||||
console.log('Migration started\n');
|
console.log('Migration started\n');
|
||||||
|
|
||||||
console.log('1. Deploy address provider');
|
console.log('1. Deploy address provider');
|
||||||
await DRE.run('full:deploy-address-provider', {pool: POOL_NAME});
|
await DRE.run('full:deploy-address-provider', {pool: POOL_NAME});
|
||||||
|
|
||||||
console.log('2. Deploy lending pool');
|
console.log('2. Deploy lending pool');
|
||||||
await DRE.run('full:deploy-lending-pool');
|
await DRE.run('full:deploy-lending-pool');
|
||||||
|
|
||||||
|
@ -56,4 +59,5 @@ task('uniswap:mainnet', 'Deploy development enviroment')
|
||||||
}
|
}
|
||||||
console.log('\nFinished migrations');
|
console.log('\nFinished migrations');
|
||||||
printContracts();
|
printContracts();
|
||||||
|
console.log("Total gas used:", totalGas);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user