Fix deployment scripts regarding Oracles.

This commit is contained in:
David Racero 2021-03-15 11:52:57 +01:00
parent de4aec2804
commit 194e1df6c3
3 changed files with 28 additions and 27 deletions

View File

@ -68,6 +68,7 @@ export const CommonsConfig: ICommonConfiguration = {
[ePolygonNetwork.matic]: undefined,
},
PoolAdminIndex: 0,
EmergencyAdminIndex: 0,
EmergencyAdmin: {
[ePolygonNetwork.mumbai]: undefined,
[ePolygonNetwork.matic]: undefined,
@ -80,14 +81,13 @@ export const CommonsConfig: ICommonConfiguration = {
[ePolygonNetwork.mumbai]: '',
[ePolygonNetwork.matic]: '',
},
EmergencyAdminIndex: 0,
ProviderRegistry: {
[ePolygonNetwork.mumbai]: '0x27453A916e91Fb922d309D92e637C0b6625846dF', // TEMP
[ePolygonNetwork.matic]: '0x5572463B58087f2849309E863C63b7beb10f812D',
[ePolygonNetwork.matic]: '0xCfb7Fc3176566368188ad36CFC2Adbf3130785Af',
},
ProviderRegistryOwner: {
[ePolygonNetwork.mumbai]: '0xa6842C2C7fece4Cdc6a4aaaD331eb1c7910e419A', // TEMP
[ePolygonNetwork.matic]: '0x7606c4AEca065d373b3F0b048536174908FcA853',
[ePolygonNetwork.matic]: '0x252B4e4Ed857e05c6deA76076A9275A34eE0a451',
},
LendingRateOracle: {
[ePolygonNetwork.mumbai]: '',

View File

@ -1,10 +1,15 @@
import { formatEther } from 'ethers/lib/utils';
import { task } from 'hardhat/config';
import { deployLendingPoolAddressesProviderRegistry } from '../../helpers/contracts-deployments';
import { getFirstSigner } from '../../helpers/contracts-getters';
task('full:deploy-address-provider-registry', 'Deploy address provider registry')
.addFlag('verify', 'Verify contracts at Etherscan')
.setAction(async ({ verify }, DRE) => {
await DRE.run('set-DRE');
const signer = await getFirstSigner();
console.log('Signer', await signer.getAddress());
console.log('Balance', formatEther(await signer.getBalance()));
const contract = await deployLendingPoolAddressesProviderRegistry(verify);
console.log('Registry Address:', contract.address);

View File

@ -17,7 +17,7 @@ import {
getLendingRateOracle,
getPairsTokenAggregator,
} from '../../helpers/contracts-getters';
import { AaveOracle } from '../../types';
import { AaveOracle, LendingRateOracle } from '../../types';
task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
.addFlag('verify', 'Verify contracts at Etherscan')
@ -49,38 +49,34 @@ task('full:deploy-oracles', 'Deploy oracles for dev enviroment')
const [tokens, aggregators] = getPairsTokenAggregator(tokensToWatch, chainlinkAggregators);
let aaveOracle: AaveOracle;
let lendingRateOracle: LendingRateOracle;
if (notFalsyOrZeroAddress(aaveOracleAddress)) {
aaveOracle = await await getAaveOracle(aaveOracleAddress);
const owner = await aaveOracle.owner();
const signer = DRE.ethers.provider.getSigner(owner);
aaveOracle = await (await getAaveOracle(aaveOracleAddress)).connect(signer);
await waitForTx(await aaveOracle.setAssetSources(tokens, aggregators));
} else {
aaveOracle = await deployAaveOracle(
[tokens, aggregators, fallbackOracleAddress, await getWethAddress(poolConfig)],
verify
);
await waitForTx(await aaveOracle.setAssetSources(tokens, aggregators));
}
let lendingRateOracle = notFalsyOrZeroAddress(lendingRateOracleAddress)
? await getLendingRateOracle(lendingRateOracleAddress)
: await deployLendingRateOracle(verify);
const { USD, ...tokensAddressesWithoutUsd } = tokensToWatch;
lendingRateOracle = lendingRateOracle.connect(
DRE.ethers.provider.getSigner(await lendingRateOracle.owner())
);
// This must be done any time a new market is created I believe
//if (!lendingRateOracleAddress) {
await setInitialMarketRatesInRatesOracleByHelper(
lendingRateOracles,
tokensAddressesWithoutUsd,
lendingRateOracle,
admin
);
//}
console.log('ORACLES: %s and %s', aaveOracle.address, lendingRateOracle.address);
if (notFalsyOrZeroAddress(lendingRateOracleAddress)) {
lendingRateOracle = await getLendingRateOracle(lendingRateOracleAddress)
} else {
lendingRateOracle = await deployLendingRateOracle(verify);
const { USD, ...tokensAddressesWithoutUsd } = tokensToWatch;
await setInitialMarketRatesInRatesOracleByHelper(
lendingRateOracles,
tokensAddressesWithoutUsd,
lendingRateOracle,
admin
);
}
console.log('Aave Oracle: %s', lendingRateOracle.address);
console.log('Lending Rate Oracle: %s', lendingRateOracle.address);
// Register the proxy price provider on the addressesProvider
await waitForTx(await addressesProvider.setPriceOracle(aaveOracle.address));
await waitForTx(await addressesProvider.setLendingRateOracle(lendingRateOracle.address));