mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Fix deployment scripts regarding Oracles.
This commit is contained in:
parent
de4aec2804
commit
194e1df6c3
|
@ -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]: '',
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in New Issue
Block a user