diff --git a/helpers/contracts-deployments.ts b/helpers/contracts-deployments.ts index 2d764885..a76c5011 100644 --- a/helpers/contracts-deployments.ts +++ b/helpers/contracts-deployments.ts @@ -63,17 +63,22 @@ import { MintableDelegationERC20 } from '../types/MintableDelegationERC20'; import { readArtifact as buidlerReadArtifact } from '@nomiclabs/buidler/plugins'; import { HardhatRuntimeEnvironment } from 'hardhat/types'; import { LendingPoolLibraryAddresses } from '../types/LendingPoolFactory'; -import { UiPoolDataProvider } from '../types'; +import { UiPoolDataProvider, UiIncentiveDataProvider } from '../types'; -export const deployUiPoolDataProvider = async ( - [incentivesController, aaveOracle]: [tEthereumAddress, tEthereumAddress], - verify?: boolean -) => { +export const deployUiPoolDataProvider = async (verify?: boolean) => { const id = eContractid.UiPoolDataProvider; - const args: string[] = [incentivesController, aaveOracle]; - const instance = await deployContract(id, args); + const instance = await deployContract(id, []); if (verify) { - await verifyContract(id, instance, args); + await verifyContract(id, instance, []); + } + return instance; +}; + +export const deployUiIncentiveDataProvider = async (verify?: boolean) => { + const id = eContractid.UiIncentiveDataProvider; + const instance = await deployContract(id, []); + if (verify) { + await verifyContract(id, instance, []); } return instance; }; diff --git a/tasks/deployments/deploy-UiIncentiveDataProvider.ts b/tasks/deployments/deploy-UiIncentiveDataProvider.ts new file mode 100644 index 00000000..c5add015 --- /dev/null +++ b/tasks/deployments/deploy-UiIncentiveDataProvider.ts @@ -0,0 +1,23 @@ +import { task } from 'hardhat/config'; +import { eContractid, eEthereumNetwork, eNetwork, ePolygonNetwork } from '../../helpers/types'; +import { deployUiIncentiveDataProvider } from '../../helpers/contracts-deployments'; +import { exit } from 'process'; + +task( + `deploy-${eContractid.UiIncentiveDataProvider}`, + `Deploys the UiIncentiveDataProvider contract` +) + .addFlag('verify', 'Verify UiIncentiveDataProvider contract via Etherscan API.') + .setAction(async ({ verify }, localBRE) => { + await localBRE.run('set-DRE'); + if (!localBRE.network.config.chainId) { + throw new Error('INVALID_CHAIN_ID'); + } + + console.log(`\n- UiIncentiveDataProvider deployment`); + + const uiIncentiveDataProvider = await deployUiIncentiveDataProvider(verify); + + console.log('UiPoolDataProvider deployed at:', uiIncentiveDataProvider.address); + console.log(`\tFinished UiPoolDataProvider deployment`); + }); diff --git a/tasks/deployments/deploy-UiPoolDataProvider.ts b/tasks/deployments/deploy-UiPoolDataProvider.ts index 9e360db3..ada011c8 100644 --- a/tasks/deployments/deploy-UiPoolDataProvider.ts +++ b/tasks/deployments/deploy-UiPoolDataProvider.ts @@ -10,46 +10,10 @@ task(`deploy-${eContractid.UiPoolDataProvider}`, `Deploys the UiPoolDataProvider if (!localBRE.network.config.chainId) { throw new Error('INVALID_CHAIN_ID'); } - const network = localBRE.network.name; - - const addressesByNetwork: { - [key: string]: { incentivesController: string; aaveOracle: string }; - } = { - [eEthereumNetwork.kovan]: { - incentivesController: '0x0000000000000000000000000000000000000000', - aaveOracle: '0x8fb777d67e9945e2c01936e319057f9d41d559e6', - }, - [eEthereumNetwork.main]: { - incentivesController: '0xd784927Ff2f95ba542BfC824c8a8a98F3495f6b5', - aaveOracle: '0xa50ba011c48153de246e5192c8f9258a2ba79ca9', - }, - [ePolygonNetwork.matic]: { - incentivesController: '0x357D51124f59836DeD84c8a1730D72B749d8BC23', - aaveOracle: '0x0229F777B0fAb107F9591a41d5F02E4e98dB6f2d', - }, - [ePolygonNetwork.mumbai]: { - incentivesController: '0xd41aE58e803Edf4304334acCE4DC4Ec34a63C644', - aaveOracle: '0xC365C653f7229894F93994CD0b30947Ab69Ff1D5', - }, - }; - const supportedNetworks = Object.keys(addressesByNetwork); - - if (!supportedNetworks.includes(network)) { - console.error( - `[task][error] Network "${network}" not supported, please use one of: ${supportedNetworks.join()}` - ); - exit(2); - } - - const oracle = addressesByNetwork[network].aaveOracle; - const incentivesController = addressesByNetwork[network].incentivesController; console.log(`\n- UiPoolDataProvider deployment`); - const uiPoolDataProvider = await deployUiPoolDataProvider( - [incentivesController, oracle], - verify - ); + const uiPoolDataProvider = await deployUiPoolDataProvider(verify); console.log('UiPoolDataProvider deployed at:', uiPoolDataProvider.address); console.log(`\tFinished UiPoolDataProvider deployment`);