2020-11-30 13:14:29 +00:00
|
|
|
import { task } from 'hardhat/config';
|
2021-05-12 08:15:41 +00:00
|
|
|
import { eContractid, eEthereumNetwork, eNetwork, ePolygonNetwork } from '../../helpers/types';
|
|
|
|
import { deployUiPoolDataProvider } from '../../helpers/contracts-deployments';
|
|
|
|
import { exit } from 'process';
|
2020-10-30 10:16:21 +00:00
|
|
|
|
|
|
|
task(`deploy-${eContractid.UiPoolDataProvider}`, `Deploys the UiPoolDataProvider contract`)
|
|
|
|
.addFlag('verify', 'Verify UiPoolDataProvider contract via Etherscan API.')
|
2020-11-30 13:14:29 +00:00
|
|
|
.setAction(async ({ verify }, localBRE) => {
|
|
|
|
await localBRE.run('set-DRE');
|
2020-10-30 10:16:21 +00:00
|
|
|
if (!localBRE.network.config.chainId) {
|
|
|
|
throw new Error('INVALID_CHAIN_ID');
|
|
|
|
}
|
2021-05-12 08:15:41 +00:00
|
|
|
const network = localBRE.network.name;
|
2020-10-30 10:16:21 +00:00
|
|
|
|
2021-05-12 08:15:41 +00:00
|
|
|
const addressesByNetwork: {
|
|
|
|
[key: string]: { incentivesController: string; aaveOracle: string };
|
|
|
|
} = {
|
2021-04-26 13:57:26 +00:00
|
|
|
[eEthereumNetwork.kovan]: {
|
|
|
|
incentivesController: '0x0000000000000000000000000000000000000000',
|
|
|
|
aaveOracle: '0x8fb777d67e9945e2c01936e319057f9d41d559e6',
|
|
|
|
},
|
2021-04-19 15:23:45 +00:00
|
|
|
[eEthereumNetwork.main]: {
|
2021-04-21 17:16:11 +00:00
|
|
|
incentivesController: '0xd784927Ff2f95ba542BfC824c8a8a98F3495f6b5',
|
2021-04-19 15:23:45 +00:00
|
|
|
aaveOracle: '0xa50ba011c48153de246e5192c8f9258a2ba79ca9',
|
|
|
|
},
|
2021-03-30 11:17:08 +00:00
|
|
|
[ePolygonNetwork.matic]: {
|
|
|
|
incentivesController: '0x357D51124f59836DeD84c8a1730D72B749d8BC23',
|
|
|
|
aaveOracle: '0x21451bD7b528896B4AB2b9764b521D6ed641708d',
|
|
|
|
},
|
2021-04-09 08:57:01 +00:00
|
|
|
[ePolygonNetwork.mumbai]: {
|
2021-04-12 19:36:34 +00:00
|
|
|
incentivesController: '0xd41aE58e803Edf4304334acCE4DC4Ec34a63C644',
|
|
|
|
aaveOracle: '0xC365C653f7229894F93994CD0b30947Ab69Ff1D5',
|
2021-04-09 08:57:01 +00:00
|
|
|
},
|
2021-03-30 11:17:08 +00:00
|
|
|
};
|
2021-05-12 08:15:41 +00:00
|
|
|
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].aaveOracle;
|
2021-03-30 11:17:08 +00:00
|
|
|
|
2020-10-30 10:16:21 +00:00
|
|
|
console.log(`\n- UiPoolDataProvider deployment`);
|
|
|
|
|
2021-05-12 08:15:41 +00:00
|
|
|
const uiPoolDataProvider = await deployUiPoolDataProvider(
|
|
|
|
[incentivesController, oracle],
|
|
|
|
verify
|
|
|
|
);
|
2020-10-30 10:16:21 +00:00
|
|
|
|
2021-05-12 08:15:41 +00:00
|
|
|
console.log('UiPoolDataProvider deployed at:', uiPoolDataProvider.address);
|
2021-03-12 17:06:15 +00:00
|
|
|
console.log(`\tFinished UiPoolDataProvider deployment`);
|
2020-10-30 10:16:21 +00:00
|
|
|
});
|