config: added fork addresses for usd market

This commit is contained in:
David Racero 2021-07-05 19:48:01 +02:00
parent 49d991b908
commit cd1b4b3625
5 changed files with 40 additions and 23 deletions

View File

@ -87,8 +87,9 @@ export const MOCK_CHAINLINK_AGGREGATORS_USD_CURVE_AMM_PRICES = {
USDC: oneUsd.toFixed(), USDC: oneUsd.toFixed(),
USDT: oneUsd.toFixed(), USDT: oneUsd.toFixed(),
USD: oneUsd.toFixed(), USD: oneUsd.toFixed(),
a3CRVGauge: oneUsd.multipliedBy('1.0536').toFixed(), a3CRV: oneUsd.multipliedBy('1.0536').toFixed(),
saCRVGauge: oneUsd.multipliedBy('1.0318').toFixed(), saCRV: oneUsd.multipliedBy('1.0318').toFixed(),
'3CRV': oneUsd.multipliedBy('1.0179').toFixed(),
}; };
export const CRV_TOKEN = { export const CRV_TOKEN = {

View File

@ -246,8 +246,9 @@ export interface iAssetBase<T> {
xSUSHI: T; xSUSHI: T;
STAKE: T; STAKE: T;
REW: T; REW: T;
a3CRVGauge: T; a3CRV: T;
saCRVGauge: T; saCRV: T;
'3CRV': T;
} }
export type iAssetsWithoutETH<T> = Omit<iAssetBase<T>, 'ETH'>; export type iAssetsWithoutETH<T> = Omit<iAssetBase<T>, 'ETH'>;
@ -306,7 +307,7 @@ export type iLpPoolAssets<T> = Pick<
export type iUsdLpPoolAssets<T> = Pick< export type iUsdLpPoolAssets<T> = Pick<
iAssetsWithoutUSD<T>, iAssetsWithoutUSD<T>,
'DAI' | 'SUSD' | 'USDC' | 'USDT' | 'a3CRVGauge' | 'saCRVGauge' 'DAI' | 'SUSD' | 'USDC' | 'USDT' | 'a3CRV' | 'saCRV' | '3CRV'
>; >;
export type iMaticPoolAssets<T> = Pick< export type iMaticPoolAssets<T> = Pick<

View File

@ -9,8 +9,6 @@ import {
strategyDAI, strategyDAI,
strategyUSDC, strategyUSDC,
strategyUSDT, strategyUSDT,
strategyWETH,
strategyWBTC,
strategySUSD, strategySUSD,
strategyCurveLP, strategyCurveLP,
} from './reservesConfigs'; } from './reservesConfigs';
@ -174,16 +172,18 @@ export const AmmConfig: IUsdAmmConfiguration = {
SUSD: '0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94', SUSD: '0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94',
USDC: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6', USDC: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6',
USDT: '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D', USDT: '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D',
a3CRVGauge: '0xe19781CB322ff0Bd31ad4D8C01e91A67e', // Oracle deployed at fork a3CRV: '0x63180F55F421fEC4DD2C778bcE565D3fde03f931', // Oracle deployed at fork
saCRVGauge: '0x602df949e38335714E135ce94180255Dae79a659', // Oracle deployed at fork saCRV: '0x1eD0819bD513A0B9271Fa831f1C3dbab8d80C36c', // Oracle deployed at fork
'3CRV': '0x03c3614b6888842EcCAc71ADA1Ef1ad8e54f6D89', // Oracle deployed at fork
}, },
[eEthereumNetwork.tenderlyMain]: { [eEthereumNetwork.tenderlyMain]: {
DAI: '0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9', DAI: '0xAed0c38402a5d19df6E4c03F4E2DceD6e29c1ee9',
SUSD: '0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94', SUSD: '0xad35Bd71b9aFE6e4bDc266B345c198eaDEf9Ad94',
USDC: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6', USDC: '0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6',
USDT: '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D', USDT: '0x3E7d1eAB13ad0104d2750B8863b489D65364e32D',
a3CRVGauge: '0xe19781CB322ff0Bd31ad4D8C01e91A67e', // Oracle deployed at fork a3CRV: '0x63180F55F421fEC4DD2C778bcE565D3fde03f931', // Oracle deployed at fork
saCRVGauge: '0x602df949e38335714E135ce94180255Dae79a659', // Oracle deployed at fork saCRV: '0x1eD0819bD513A0B9271Fa831f1C3dbab8d80C36c', // Oracle deployed at fork
'3CRV': '0x03c3614b6888842EcCAc71ADA1Ef1ad8e54f6D89', // Oracle deployed at fork
}, },
}, },
ATokenDomainSeparator: { ATokenDomainSeparator: {
@ -239,8 +239,9 @@ export const AmmConfig: IUsdAmmConfiguration = {
SUSD: strategySUSD, SUSD: strategySUSD,
USDC: strategyUSDC, USDC: strategyUSDC,
USDT: strategyUSDT, USDT: strategyUSDT,
a3CRVGauge: strategyCurveLP, a3CRV: strategyCurveLP,
saCRVGauge: strategyCurveLP, saCRV: strategyCurveLP,
'3CRV': strategyCurveLP,
}, },
ReserveAssets: { ReserveAssets: {
[eEthereumNetwork.buidlerevm]: {}, [eEthereumNetwork.buidlerevm]: {},
@ -253,16 +254,18 @@ export const AmmConfig: IUsdAmmConfiguration = {
SUSD: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51', SUSD: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51',
USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7', USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
a3CRVGauge: '0xd662908ADA2Ea1916B3318327A97eB18aD588b5d', a3CRV: '0xFd2a8fA60Abd58Efe3EeE34dd494cD491dC14900',
saCRVGauge: '0x462253b8F74B72304c145DB0e4Eebd326B22ca39', saCRV: '0x02d341CcB60fAaf662bC0554d13778015d1b285C',
'3CRV': '0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490',
}, },
[eEthereumNetwork.tenderlyMain]: { [eEthereumNetwork.tenderlyMain]: {
DAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F', DAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
SUSD: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51', SUSD: '0x57Ab1ec28D129707052df4dF418D58a2D46d5f51',
USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7', USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
a3CRVGauge: '0xd662908ADA2Ea1916B3318327A97eB18aD588b5d', a3CRV: '0xFd2a8fA60Abd58Efe3EeE34dd494cD491dC14900',
saCRVGauge: '0x462253b8F74B72304c145DB0e4Eebd326B22ca39', saCRV: '0x02d341CcB60fAaf662bC0554d13778015d1b285C',
'3CRV': '0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490',
}, },
}, },
}; };

View File

@ -81,6 +81,6 @@ export const strategyCurveLP: IReserveParams = {
borrowingEnabled: false, borrowingEnabled: false,
stableBorrowRateEnabled: false, stableBorrowRateEnabled: false,
reserveDecimals: '18', reserveDecimals: '18',
aTokenImpl: eContractid.CurveRewardsAwareAToken, aTokenImpl: eContractid.CurveGaugeRewardsAwareAToken,
reserveFactor: '2000', reserveFactor: '2000',
}; };

View File

@ -1,16 +1,21 @@
import { task } from 'hardhat/config'; import { task } from 'hardhat/config';
import { checkVerification } from '../../helpers/etherscan-verification'; import { checkVerification } from '../../helpers/etherscan-verification';
import { ConfigNames } from '../../helpers/configuration'; import {
ConfigNames,
getEmergencyAdmin,
getGenesisPoolAdmin,
loadPoolConfig,
} from '../../helpers/configuration';
import { printContracts } from '../../helpers/misc-utils'; import { printContracts } from '../../helpers/misc-utils';
import { usingTenderly } from '../../helpers/tenderly-utils'; import { usingTenderly } from '../../helpers/tenderly-utils';
task('usd:mainnet', 'Deploy development enviroment') task('usd:mainnet', 'Deploy development environment')
.addFlag('verify', 'Verify contracts at Etherscan') .addFlag('verify', 'Verify contracts at Etherscan')
.addFlag('skipRegistry', 'Skip addresses provider registration at Addresses Provider Registry') .addFlag('skipRegistry', 'Skip addresses provider registration at Addresses Provider Registry')
.setAction(async ({ verify, skipRegistry }, DRE) => { .setAction(async ({ verify, skipRegistry }, DRE) => {
const POOL_NAME = ConfigNames.Usd; const POOL_NAME = ConfigNames.Usd;
await DRE.run('set-DRE'); await DRE.run('set-DRE');
const poolConfig = loadPoolConfig(POOL_NAME);
// Prevent loss of gas verifying all the needed ENVs for Etherscan verification // Prevent loss of gas verifying all the needed ENVs for Etherscan verification
if (verify) { if (verify) {
checkVerification(); checkVerification();
@ -18,6 +23,13 @@ task('usd:mainnet', 'Deploy development enviroment')
console.log('Migration started\n'); console.log('Migration started\n');
console.log('0. Deploy Aave Curve Treasury');
await DRE.run('deploy-curve-treasury', {
treasuryAdmin: await getGenesisPoolAdmin(poolConfig), // TBD
proxyAdmin: await getEmergencyAdmin(poolConfig), // TBD, address provider?
collector: poolConfig.ReserveFactorTreasuryAddress,
});
console.log('1. Deploy address provider'); console.log('1. Deploy address provider');
await DRE.run('full:deploy-address-provider', { pool: POOL_NAME, skipRegistry }); await DRE.run('full:deploy-address-provider', { pool: POOL_NAME, skipRegistry });
@ -46,8 +58,8 @@ task('usd:mainnet', 'Deploy development enviroment')
} }
if (usingTenderly()) { if (usingTenderly()) {
const postDeployHead = DRE.tenderlyRPC.getHead(); const postDeployHead = DRE.tenderlyNetwork.getHead();
const postDeployFork = DRE.tenderlyRPC.getFork(); const postDeployFork = DRE.tenderlyNetwork.getFork();
console.log('Tenderly Info'); console.log('Tenderly Info');
console.log('- Head', postDeployHead); console.log('- Head', postDeployHead);
console.log('- Fork', postDeployFork); console.log('- Fork', postDeployFork);