import { AavePools, eEthereumNetwork, iAavePoolAssets, iAssetAggregatorBase, iAssetBase, iBasicDistributionParams, IMarketRates, iMultiPoolsAssets, IReserveParams, tEthereumAddress, } from './types'; import BigNumber from 'bignumber.js'; import {getParamPerNetwork, getParamPerPool} from './contracts-helpers'; // ---------------- // MATH // ---------------- export const WAD = Math.pow(10, 18).toString(); export const HALF_WAD = new BigNumber(WAD).multipliedBy(0.5).toString(); export const RAY = new BigNumber(10).exponentiatedBy(27).toFixed(); export const HALF_RAY = new BigNumber(RAY).multipliedBy(0.5).toFixed(); export const WAD_RAY_RATIO = Math.pow(10, 9).toString(); export const oneEther = new BigNumber(Math.pow(10, 18)); export const oneRay = new BigNumber(Math.pow(10, 27)); export const MAX_UINT_AMOUNT = '115792089237316195423570985008687907853269984665640564039457584007913129639935'; // ---------------- // PROTOCOL GLOBAL PARAMS // ---------------- export const OPTIMAL_UTILIZATION_RATE = new BigNumber(0.8).times(RAY); export const EXCESS_UTILIZATION_RATE = new BigNumber(0.2).times(RAY); export const ONE_YEAR = '31536000'; export const APPROVAL_AMOUNT_LENDING_POOL = '1000000000000000000000000000'; export const TOKEN_DISTRIBUTOR_PERCENTAGE_BASE = '10000'; export const MOCK_USD_PRICE_IN_WEI = '5848466240000000'; export const USD_ADDRESS = '0x10F7Fc1F91Ba351f9C629c5947AD69bD03C05b96'; export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; export const ONE_ADDRESS = '0x0000000000000000000000000000000000000001'; export const AAVE_REFERRAL = '0'; // ---------------- // COMMON PROTOCOL PARAMS ACROSS POOLS AND NETWORKS // ---------------- export const ALL_AAVE_RESERVES_SYMBOLS = [ [ 'ETH', 'DAI', 'LEND', 'TUSD', 'BAT', 'USDC', 'USDT', 'SUSD', 'ZRX', 'MKR', 'WBTC', 'LINK', 'KNC', 'MANA', 'REP', 'SNX', 'BUSD', 'UNI_DAI_ETH', 'UNI_USDC_ETH', 'UNI_SETH_ETH', 'UNI_LINK_ETH', 'UNI_MKR_ETH', 'UNI_LEND_ETH', ], ]; export const MOCK_CHAINLINK_AGGREGATORS_PRICES: iAssetAggregatorBase = { DAI: oneEther.multipliedBy('0.00369068412860').toFixed(), TUSD: oneEther.multipliedBy('0.00364714136416').toFixed(), USDC: oneEther.multipliedBy('0.00367714136416').toFixed(), LEND: oneEther.multipliedBy('0.00003620948469').toFixed(), BAT: oneEther.multipliedBy('0.00137893825230').toFixed(), USDT: oneEther.multipliedBy('0.00369068412860').toFixed(), SUSD: oneEther.multipliedBy('0.00364714136416').toFixed(), MKR: oneEther.multipliedBy('2.508581').toFixed(), REP: oneEther.multipliedBy('0.048235').toFixed(), ZRX: oneEther.multipliedBy('0.001151').toFixed(), WBTC: oneEther.multipliedBy('47.332685').toFixed(), LINK: oneEther.multipliedBy('0.009955').toFixed(), KNC: oneEther.multipliedBy('0.001072').toFixed(), MANA: oneEther.multipliedBy('0.000158').toFixed(), SNX: oneEther.multipliedBy('0.00442616').toFixed(), BUSD: oneEther.multipliedBy('0.00736484').toFixed(), WETH: oneEther.toFixed(), USD: MOCK_USD_PRICE_IN_WEI, UNI_DAI_ETH: oneEther.multipliedBy('2.1').toFixed(), UNI_USDC_ETH: oneEther.multipliedBy('2.1').toFixed(), UNI_SETH_ETH: oneEther.multipliedBy('2.1').toFixed(), UNI_LEND_ETH: oneEther.multipliedBy('2.1').toFixed(), UNI_LINK_ETH: oneEther.multipliedBy('2.1').toFixed(), UNI_MKR_ETH: oneEther.multipliedBy('2.1').toFixed(), }; export const ALL_ASSETS_INITIAL_PRICES: iAssetBase = { ...MOCK_CHAINLINK_AGGREGATORS_PRICES, }; export const LENDING_RATE_ORACLE_RATES_COMMON: iAavePoolAssets = { WETH: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, DAI: { borrowRate: oneRay.multipliedBy(0.039).toFixed(), }, TUSD: { borrowRate: oneRay.multipliedBy(0.035).toFixed(), }, USDC: { borrowRate: oneRay.multipliedBy(0.039).toFixed(), }, SUSD: { borrowRate: oneRay.multipliedBy(0.035).toFixed(), }, USDT: { borrowRate: oneRay.multipliedBy(0.035).toFixed(), }, BAT: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, LEND: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, LINK: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, KNC: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, REP: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, MKR: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, MANA: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, WBTC: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, ZRX: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, SNX: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, BUSD: { borrowRate: oneRay.multipliedBy(0.05).toFixed(), }, }; export const getReservesConfigByPool = (pool: AavePools): iMultiPoolsAssets => getParamPerPool>( { [AavePools.proto]: { DAI: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.05).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '7500', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, TUSD: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.14).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '7500', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, USDC: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '7500', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '6', }, USDT: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.14).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '6', }, SUSD: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.14).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', }, LEND: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, BAT: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, WETH: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '7500', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, LINK: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6500', liquidationThreshold: '7000', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, WBTC: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11500', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '8', }, KNC: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, REP: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, MKR: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, MANA: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, ZRX: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6000', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: true, reserveDecimals: '18', }, SNX: { baseVariableBorrowRate: new BigNumber(0.03).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.12).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '6500', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', }, BUSD: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.14).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '11000', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', }, }, [AavePools.secondary]: { WETH: { baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', }, DAI: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.07).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.06).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', }, USDC: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.07).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.06).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '6', }, USDT: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.07).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.06).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '-1', liquidationThreshold: '8000', liquidationBonus: '10500', borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '6', }, UNI_DAI_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6800', liquidationThreshold: '7300', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, UNI_USDC_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6800', liquidationThreshold: '7300', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, UNI_SETH_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '4800', liquidationThreshold: '6600', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, UNI_LEND_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '5100', liquidationThreshold: '6600', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, UNI_LINK_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '6300', liquidationThreshold: '6800', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, UNI_MKR_ETH: { baseVariableBorrowRate: new BigNumber(0.01).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(0.5).multipliedBy(oneRay).toFixed(), stableRateSlope1: new BigNumber(0.16).multipliedBy(oneRay).toFixed(), stableRateSlope2: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseLTVAsCollateral: '4800', liquidationThreshold: '6600', liquidationBonus: '11000', borrowingEnabled: false, stableBorrowRateEnabled: false, reserveDecimals: '18', }, }, }, pool ); export const getFeeDistributionParamsCommon = ( receiver: tEthereumAddress ): iBasicDistributionParams => { const receivers = [receiver, ZERO_ADDRESS]; const percentages = ['2000', '8000']; return { receivers, percentages, }; }; export const getATokenDomainSeparatorPerNetwork = (network: eEthereumNetwork): tEthereumAddress => getParamPerNetwork( { [eEthereumNetwork.coverage]: '0x95b73a72c6ecf4ccbbba5178800023260bad8e75cdccdb8e4827a2977a37c820', [eEthereumNetwork.buidlerevm]: '0x76cbbf8aa4b11a7c207dd79ccf8c394f59475301598c9a083f8258b4fafcfa86', [eEthereumNetwork.kovan]: '', [eEthereumNetwork.ropsten]: '', [eEthereumNetwork.main]: '', }, network );