mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	Added functionality to re-use Aave/Lending Rate Oracles
This commit is contained in:
		
							parent
							
								
									283cf2ce97
								
							
						
					
					
						commit
						313e3146f4
					
				|  | @ -177,9 +177,9 @@ export const CommonsConfig: ICommonConfiguration = { | |||
|     [eEthereumNetwork.coverage]: '', | ||||
|     [eEthereumNetwork.hardhat]: '', | ||||
|     [eEthereumNetwork.buidlerevm]: '', | ||||
|     [eEthereumNetwork.kovan]: '0xdCde9Bb6a49e37fA433990832AB541AE2d4FEB4a', | ||||
|     [eEthereumNetwork.kovan]: '', //'0xdCde9Bb6a49e37fA433990832AB541AE2d4FEB4a', // Need to re-deploy because of onlyOwner
 | ||||
|     [eEthereumNetwork.ropsten]: '0x05dcca805a6562c1bdd0423768754acb6993241b', | ||||
|     [eEthereumNetwork.main]: '0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D', | ||||
|     [eEthereumNetwork.main]: '', //'0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D',  // Need to re-deploy because of onlyOwner
 | ||||
|     [eEthereumNetwork.tenderlyMain]: '0x8A32f49FFbA88aba6EFF96F45D8BD1D4b3f35c7D', | ||||
|   }, | ||||
|   LendingPoolCollateralManager: { | ||||
|  | @ -206,7 +206,7 @@ export const CommonsConfig: ICommonConfiguration = { | |||
|     [eEthereumNetwork.buidlerevm]: '', | ||||
|     [EthereumNetwork.kovan]: '',//'0xB8bE51E6563BB312Cbb2aa26e352516c25c26ac1', // Need to re-deploy because of onlyOwner
 | ||||
|     [EthereumNetwork.ropsten]: ZERO_ADDRESS, | ||||
|     [EthereumNetwork.main]: '0xA50ba011c48153De246E5192C8f9258A2ba79Ca9', | ||||
|     [EthereumNetwork.main]: '',//'0xA50ba011c48153De246E5192C8f9258A2ba79Ca9',  // Need to re-deploy because of onlyOwner
 | ||||
|     [EthereumNetwork.tenderlyMain]: '0xA50ba011c48153De246E5192C8f9258A2ba79Ca9', | ||||
|   }, | ||||
|   FallbackOracle: { | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| import { task } from 'hardhat/config'; | ||||
| import { getParamPerNetwork } from '../../helpers/contracts-helpers'; | ||||
| import { deployAaveOracle, deployLendingRateOracle } from '../../helpers/contracts-deployments'; | ||||
| import { setInitialMarketRatesInRatesOracleByHelper } from '../../helpers/oracles-helpers'; | ||||
| import { setInitialAssetPricesInOracle, setInitialMarketRatesInRatesOracleByHelper } from '../../helpers/oracles-helpers'; | ||||
| import { ICommonConfiguration, eEthereumNetwork, SymbolMap } from '../../helpers/types'; | ||||
| import { waitForTx, notFalsyOrZeroAddress } from '../../helpers/misc-utils'; | ||||
| import { | ||||
|  | @ -17,6 +17,7 @@ import { | |||
|   getLendingRateOracle, | ||||
|   getPairsTokenAggregator, | ||||
| } from '../../helpers/contracts-getters'; | ||||
| import { AaveOracle } from '../../types'; | ||||
| 
 | ||||
| task('full:deploy-oracles', 'Deploy oracles for dev enviroment') | ||||
|   .addFlag('verify', 'Verify contracts at Etherscan') | ||||
|  | @ -47,25 +48,37 @@ task('full:deploy-oracles', 'Deploy oracles for dev enviroment') | |||
|       }; | ||||
|       const [tokens, aggregators] = getPairsTokenAggregator(tokensToWatch, chainlinkAggregators); | ||||
| 
 | ||||
|       const aaveOracle = notFalsyOrZeroAddress(aaveOracleAddress) | ||||
|         ? await getAaveOracle(aaveOracleAddress) | ||||
|         : await deployAaveOracle( | ||||
|             [tokens, aggregators, fallbackOracleAddress, await getWethAddress(poolConfig)], | ||||
|             verify | ||||
|           ); | ||||
|       // const aaveOracle = notFalsyOrZeroAddress(aaveOracleAddress)
 | ||||
|       //   ? await getAaveOracle(aaveOracleAddress)
 | ||||
|       //   : await deployAaveOracle(
 | ||||
|       //       [tokens, aggregators, fallbackOracleAddress, await getWethAddress(poolConfig)],
 | ||||
|       //       verify
 | ||||
|       //     );
 | ||||
|        | ||||
|       let aaveOracle: AaveOracle; | ||||
|       if (notFalsyOrZeroAddress(aaveOracleAddress)) { | ||||
|         aaveOracle = await getAaveOracle(aaveOracleAddress); | ||||
|         await aaveOracle.setAssetSources(tokens, aggregators); | ||||
|       } else { | ||||
|         aaveOracle = await deployAaveOracle( | ||||
|           [tokens, aggregators, fallbackOracleAddress, await getWethAddress(poolConfig)], | ||||
|           verify | ||||
|         );  | ||||
|       } | ||||
|       const lendingRateOracle = notFalsyOrZeroAddress(lendingRateOracleAddress) | ||||
|         ? await getLendingRateOracle(lendingRateOracleAddress) | ||||
|         : await deployLendingRateOracle(verify); | ||||
|       const { USD, ...tokensAddressesWithoutUsd } = tokensToWatch; | ||||
| 
 | ||||
|       if (!lendingRateOracleAddress) { | ||||
|         await setInitialMarketRatesInRatesOracleByHelper( | ||||
|           lendingRateOracles, | ||||
|           tokensAddressesWithoutUsd, | ||||
|           lendingRateOracle, | ||||
|           admin | ||||
|         ); | ||||
|       } | ||||
|       // 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); | ||||
|       // Register the proxy price provider on the addressesProvider
 | ||||
|       await waitForTx(await addressesProvider.setPriceOracle(aaveOracle.address)); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Zer0dot
						Zer0dot