From 97a6179703f2c697a57fe50a12080bcd566cfcc4 Mon Sep 17 00:00:00 2001 From: Zer0dot Date: Tue, 19 Jan 2021 20:58:21 -0500 Subject: [PATCH] Added all UNI-V2 pairs and configs --- helpers/contracts-helpers.ts | 2 +- helpers/types.ts | 32 +++- markets/aave/commons.ts | 16 +- markets/uniswap/commons.ts | 114 ++++++++++++-- markets/uniswap/index.ts | 75 ++++++---- markets/uniswap/reservesConfigs.ts | 230 +++++++++++++++++++++++++++-- 6 files changed, 404 insertions(+), 65 deletions(-) diff --git a/helpers/contracts-helpers.ts b/helpers/contracts-helpers.ts index 4b6a2830..8c2e8e58 100644 --- a/helpers/contracts-helpers.ts +++ b/helpers/contracts-helpers.ts @@ -16,7 +16,7 @@ import { MintableERC20 } from '../types/MintableERC20'; import { Artifact } from 'hardhat/types'; import { Artifact as BuidlerArtifact } from '@nomiclabs/buidler/types'; import { verifyContract } from './etherscan-verification'; -import { getIErc20Detailed, getFirstSigner } from './contracts-getters'; +import { getIErc20Detailed } from './contracts-getters'; import { addGas, totalGas } from '../gas-tracker'; export type MockTokenMap = { [symbol: string]: MintableERC20 }; diff --git a/helpers/types.ts b/helpers/types.ts index 55113100..0a2b7194 100644 --- a/helpers/types.ts +++ b/helpers/types.ts @@ -206,8 +206,20 @@ export interface iAssetBase { UniDAI: T; UniUSDC: T; UniUSDT: T; - UniWETHDAI: T; - UniWETHWBTC: T; + UniDAIWETH: T; + UniWBTCWETH: T; + UniAAVEWETH: T; + UniBATWETH: T; + UniUSDCDAI: T; + UniCRVWETH: T; + UniLINKWETH: T; + UniMKRWETH: T; + UniRENWETH: T; + UniSNXWETH: T; + UniUNIWETH: T; + UniUSDCWETH: T; + UniWBTCUSDC: T; + UniYFIWETH: T; } export type iAssetsWithoutETH = Omit, 'ETH'>; @@ -245,8 +257,20 @@ export type iUniswapPoolAssets = Pick< | 'UniUSDT' | 'UniWBTC' | 'UniWETH' - | 'UniWETHDAI' - | 'UniWETHWBTC' + | 'UniDAIWETH' + | 'UniWBTCWETH' + | 'UniAAVEWETH' + | 'UniBATWETH' + | 'UniUSDCDAI' + | 'UniCRVWETH' + | 'UniLINKWETH' + | 'UniMKRWETH' + | 'UniRENWETH' + | 'UniSNXWETH' + | 'UniUNIWETH' + | 'UniUSDCWETH' + | 'UniWBTCUSDC' + | 'UniYFIWETH' >; export type iMultiPoolsAssets = iAssetCommon | iAavePoolAssets; diff --git a/markets/aave/commons.ts b/markets/aave/commons.ts index 1d4b1e4a..beb0c88a 100644 --- a/markets/aave/commons.ts +++ b/markets/aave/commons.ts @@ -28,8 +28,20 @@ const MOCK_CHAINLINK_AGGREGATORS_PRICES = { UniUSDT: oneEther.multipliedBy('0.00369068412860').toFixed(), UniWBTC: oneEther.multipliedBy('47.332685').toFixed(), UniWETH: oneEther.toFixed(), - UniWETHDAI: oneEther.multipliedBy('22.407436').toFixed(), - UniWETHWBTC: oneEther.multipliedBy('22.407436').toFixed(), + UniDAIWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniWBTCWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniAAVEWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniBATWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUSDCDAI: oneEther.multipliedBy('22.407436').toFixed(), + UniCRVWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniLINKWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniMKRWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniRENWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniSNXWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUNIWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUSDCWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniWBTCUSDC: oneEther.multipliedBy('22.407436').toFixed(), + UniYFIWETH: oneEther.multipliedBy('22.407436').toFixed(), USD: '5848466240000000', }; // ---------------- diff --git a/markets/uniswap/commons.ts b/markets/uniswap/commons.ts index db06cfa0..0aa7b4bc 100644 --- a/markets/uniswap/commons.ts +++ b/markets/uniswap/commons.ts @@ -28,8 +28,20 @@ const MOCK_CHAINLINK_AGGREGATORS_PRICES = { UniUSDT: oneEther.multipliedBy('0.00369068412860').toFixed(), UniWBTC: oneEther.multipliedBy('47.332685').toFixed(), UniWETH: oneEther.toFixed(), - UniWETHDAI: oneEther.multipliedBy('22.407436').toFixed(), - UniWETHWBTC: oneEther.multipliedBy('22.407436').toFixed(), + UniDAIWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniWBTCWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniAAVEWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniBATWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUSDCDAI: oneEther.multipliedBy('22.407436').toFixed(), + UniCRVWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniLINKWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniMKRWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniRENWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniSNXWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUNIWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniUSDCWETH: oneEther.multipliedBy('22.407436').toFixed(), + UniWBTCUSDC: oneEther.multipliedBy('22.407436').toFixed(), + UniYFIWETH: oneEther.multipliedBy('22.407436').toFixed(), USD: '5848466240000000', }; // ---------------- @@ -74,10 +86,46 @@ export const CommonsConfig: ICommonConfiguration = { UniWBTC: { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, - UniWETHDAI: { + UniDAIWETH: { borrowRate: oneRay.multipliedBy(0.05).toFixed(), }, - UniWETHWBTC: { + UniWBTCWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniAAVEWETH:{ + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniBATWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniUSDCDAI: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniCRVWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniLINKWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniMKRWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniRENWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniSNXWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniUNIWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniUSDCWETH: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniWBTCUSDC: { + borrowRate: oneRay.multipliedBy(0.05).toFixed(), + }, + UniYFIWETH: { borrowRate: oneRay.multipliedBy(0.05).toFixed(), }, }, @@ -166,13 +214,25 @@ export const CommonsConfig: ICommonConfiguration = { [eEthereumNetwork.hardhat]: {}, [eEthereumNetwork.buidlerevm]: {}, [EthereumNetwork.kovan]: { - UniUSDT: ZERO_ADDRESS, - UniWBTC: ZERO_ADDRESS, - UniUSDC: ZERO_ADDRESS, - UniDAI:ZERO_ADDRESS, - UniWETHDAI: ZERO_ADDRESS, - UniWETHWBTC: ZERO_ADDRESS, - USD: '0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419', + UniUSDT: '0x0bF499444525a23E7Bb61997539725cA2e928138', + UniWBTC: '0xF7904a295A029a3aBDFFB6F12755974a958C7C25', + UniUSDC: '0x64EaC61A2DFda2c3Fa04eED49AA33D021AeC8838', + UniDAI:'0x22B58f1EbEDfCA50feF632bD73368b2FdA96D541', + UniDAIWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', // Mock oracles + UniWBTCWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniAAVEWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniBATWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniUSDCDAI: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniCRVWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniLINKWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniMKRWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniRENWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniSNXWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniUNIWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniUSDCWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniWBTCUSDC: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + UniYFIWETH: '0x90B86B501BF4d800a7F76E551952E214Cc58Fba3', + USD: '0x9326BFA02ADD2366b30bacB125260Af641031331', }, [EthereumNetwork.ropsten]: { }, @@ -181,8 +241,20 @@ export const CommonsConfig: ICommonConfiguration = { UniWBTC: '0xdeb288F737066589598e9214E782fa5A8eD689e8', UniUSDC: '0x986b5E1e1755e3C2440e960477f25201B0a8bbD4', UniDAI:'0x773616E4d11A78F511299002da57A0a94577F1f4', - UniWETHDAI: ZERO_ADDRESS, - UniWETHWBTC: ZERO_ADDRESS, + UniDAIWETH: ZERO_ADDRESS, + UniWBTCWETH: ZERO_ADDRESS, + UniAAVEWETH: ZERO_ADDRESS, + UniBATWETH: ZERO_ADDRESS, + UniUSDCDAI: ZERO_ADDRESS, + UniCRVWETH: ZERO_ADDRESS, + UniLINKWETH: ZERO_ADDRESS, + UniMKRWETH: ZERO_ADDRESS, + UniRENWETH: ZERO_ADDRESS, + UniSNXWETH: ZERO_ADDRESS, + UniUNIWETH: ZERO_ADDRESS, + UniUSDCWETH: ZERO_ADDRESS, + UniWBTCUSDC: ZERO_ADDRESS, + UniYFIWETH: ZERO_ADDRESS, USD: '0x9326BFA02ADD2366b30bacB125260Af641031331', }, [EthereumNetwork.tenderlyMain]: { @@ -190,8 +262,20 @@ export const CommonsConfig: ICommonConfiguration = { UniWBTC: '0xdeb288F737066589598e9214E782fa5A8eD689e8', UniUSDC: '0x986b5E1e1755e3C2440e960477f25201B0a8bbD4', UniDAI:'0x773616E4d11A78F511299002da57A0a94577F1f4', - UniWETHDAI: ZERO_ADDRESS, - UniWETHWBTC: ZERO_ADDRESS, + UniDAIWETH: ZERO_ADDRESS, + UniWBTCWETH: ZERO_ADDRESS, + UniAAVEWETH: ZERO_ADDRESS, + UniBATWETH: ZERO_ADDRESS, + UniUSDCDAI: ZERO_ADDRESS, + UniCRVWETH: ZERO_ADDRESS, + UniLINKWETH: ZERO_ADDRESS, + UniMKRWETH: ZERO_ADDRESS, + UniRENWETH: ZERO_ADDRESS, + UniSNXWETH: ZERO_ADDRESS, + UniUNIWETH: ZERO_ADDRESS, + UniUSDCWETH: ZERO_ADDRESS, + UniWBTCUSDC: ZERO_ADDRESS, + UniYFIWETH: ZERO_ADDRESS, USD: '0x9326BFA02ADD2366b30bacB125260Af641031331', }, }, diff --git a/markets/uniswap/index.ts b/markets/uniswap/index.ts index 0447ca15..55a5a15d 100644 --- a/markets/uniswap/index.ts +++ b/markets/uniswap/index.ts @@ -8,8 +8,20 @@ import { strategyUSDT, strategyWETH, strategyWBTC, - strategyWETHWBTC, - strategyWETHDAI + strategyWBTCWETH, + strategyDAIWETH, + strategyAAVEWETH, + strategyBATWETH, + strategyUSDCDAI, + strategyCRVWETH, + strategyLINKWETH, + strategyMKRWETH, + strategyRENWETH, + strategySNXWETH, + strategyUNIWETH, + strategyUSDCWETH, + strategyWBTCUSDC, + strategyYFIWETH, } from './reservesConfigs'; // ---------------- @@ -26,8 +38,20 @@ export const UniswapConfig: IUniswapConfiguration = { UniUSDC: strategyUSDC, UniUSDT: strategyUSDT, UniWBTC: strategyWBTC, - UniWETHDAI: strategyWETHDAI, - UniWETHWBTC: strategyWETHWBTC + UniDAIWETH: strategyDAIWETH, + UniWBTCWETH: strategyWBTCWETH, + UniAAVEWETH: strategyAAVEWETH, + UniBATWETH: strategyBATWETH, + UniUSDCDAI: strategyUSDCDAI, + UniCRVWETH: strategyCRVWETH, + UniLINKWETH: strategyLINKWETH, + UniMKRWETH: strategyMKRWETH, + UniRENWETH: strategyRENWETH, + UniSNXWETH: strategySNXWETH, + UniUNIWETH: strategyUNIWETH, + UniUSDCWETH: strategyUSDCWETH, + UniWBTCUSDC: strategyWBTCUSDC, + UniYFIWETH: strategyYFIWETH, }, ReserveAssets: { [eEthereumNetwork.buidlerevm]: {}, @@ -39,30 +63,11 @@ export const UniswapConfig: IUniswapConfiguration = { UniUSDT: '0x13512979ADE267AB5100878E2e0f485B568328a4', UniWBTC: '0xD1B98B6607330172f1D991521145A22BCe793277', UniWETH: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', - UniWETHDAI: '0x7d3A67ab574abD3F9849e5fcDa48c19939d032b4', - uniWETHWBTC: '0x342e78bf229Cd2a750E80D7D7c2C185455979b91', + UniDAIWETH: '0x7d3A67ab574abD3F9849e5fcDa48c19939d032b4', + uniWBTCWETH: '0x342e78bf229Cd2a750E80D7D7c2C185455979b91', + // Other assets }, [EthereumNetwork.ropsten]: { - // AAVE: '', - // BAT: '0x85B24b3517E3aC7bf72a14516160541A60cFF19d', - // BUSD: '0xFA6adcFf6A90c11f31Bc9bb59eC0a6efB38381C6', - // DAI: '0xf80A32A835F79D7787E8a8ee5721D0fEaFd78108', - // ENJ: ZERO_ADDRESS, - // KNC: '0xCe4aA1dE3091033Ba74FA2Ad951f6adc5E5cF361', - // LINK: '0x1a906E71FF9e28d8E01460639EB8CF0a6f0e2486', - // MANA: '0x78b1F763857C8645E46eAdD9540882905ff32Db7', - // MKR: '0x2eA9df3bABe04451c9C3B06a2c844587c59d9C37', - // REN: ZERO_ADDRESS, - // SNX: '0xF80Aa7e2Fda4DA065C55B8061767F729dA1476c7', - // SUSD: '0xc374eB17f665914c714Ac4cdC8AF3a3474228cc5', - // TUSD: '0xa2EA00Df6d8594DBc76b79beFe22db9043b8896F', - // UNI: ZERO_ADDRESS, - // USDC: '0x851dEf71f0e6A903375C1e536Bd9ff1684BAD802', - // USDT: '0xB404c51BBC10dcBE948077F18a4B8E553D160084', - // WBTC: '0xa0E54Ab6AA5f0bf1D62EC3526436F3c05b3348A0', - // WETH: '0xc778417e063141139fce010982780140aa0cd5ab', - // YFI: ZERO_ADDRESS, - // ZRX: '0x02d7055704EfF050323A2E5ee4ba05DB2A588959', }, [EthereumNetwork.main]: { UniDAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F', @@ -70,8 +75,20 @@ export const UniswapConfig: IUniswapConfiguration = { UniUSDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7', UniWBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', UniWETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - UniWETHDAI: '0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11', - UniWETHWBTC: '0xBb2b8038a1640196FbE3e38816F3e67Cba72D940', + UniDAIWETH: '0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11', + UniWBTCWETH: '0xBb2b8038a1640196FbE3e38816F3e67Cba72D940', + UniAAVEWETH: '0xDFC14d2Af169B0D36C4EFF567Ada9b2E0CAE044f', + UniBATWETH: '0xB6909B960DbbE7392D405429eB2b3649752b4838', + UniUSDCDAI: '0xAE461cA67B15dc8dc81CE7615e0320dA1A9aB8D5', + UniCRVWETH: '0x3dA1313aE46132A397D90d95B1424A9A7e3e0fCE', + UniLINKWETH: '0xa2107FA5B38d9bbd2C461D6EDf11B11A50F6b974', + UniMKRWETH: '0xC2aDdA861F89bBB333c90c492cB837741916A225', + UniRENWETH: '0x8Bd1661Da98EBDd3BD080F0bE4e6d9bE8cE9858c', + UniSNXWETH: '0x43AE24960e5534731Fc831386c07755A2dc33D47', + UniUNIWETH: '0xd3d2E2692501A5c9Ca623199D38826e513033a17', + UniUSDCWETH: '0xB4e16d0168e52d35CaCD2c6185b44281Ec28C9Dc', + UniWBTCUSDC: '0x004375Dff511095CC5A197A54140a24eFEF3A416', + UniYFIWETH: '0x2fDbAdf3C4D5A8666Bc06645B8358ab803996E28', }, [EthereumNetwork.tenderlyMain]: { DAI: '0x6B175474E89094C44Da98b954EedeAC495271d0F', @@ -79,8 +96,6 @@ export const UniswapConfig: IUniswapConfiguration = { USDT: '0xdAC17F958D2ee523a2206206994597C13D831ec7', WBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', WETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - WETHDAI: '0xA478c2975Ab1Ea89e8196811F51A7B7Ade33eB11', - WETHWBTC: '0xBb2b8038a1640196FbE3e38816F3e67Cba72D940', }, }, }; diff --git a/markets/uniswap/reservesConfigs.ts b/markets/uniswap/reservesConfigs.ts index caeaba46..aed62b2d 100644 --- a/markets/uniswap/reservesConfigs.ts +++ b/markets/uniswap/reservesConfigs.ts @@ -87,24 +87,92 @@ export const strategyUSDT: IReserveParams = { reserveFactor: '1000' }; -export const strategyWETHDAI: IReserveParams = { +export const strategyDAIWETH: IReserveParams = { optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseVariableBorrowRate: '0', variableRateSlope1: '0', variableRateSlope2: '0', stableRateSlope1: '0', stableRateSlope2: '0', - baseLTVAsCollateral: '5000', - liquidationThreshold: '6500', - liquidationBonus: '11000', - borrowingEnabled: true, - stableBorrowRateEnabled: true, + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, reserveDecimals: '18', aTokenImpl: eContractid.AToken, - reserveFactor: '1000' + reserveFactor: '0' }; -export const strategyWETHWBTC: IReserveParams = { +export const strategyWBTCWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyAAVEWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyBATWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyUSDCDAI: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyCRVWETH: IReserveParams = { optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), baseVariableBorrowRate: '0', variableRateSlope1: '0', @@ -112,11 +180,147 @@ export const strategyWETHWBTC: IReserveParams = { stableRateSlope1: '0', stableRateSlope2: '0', baseLTVAsCollateral: '5000', - liquidationThreshold: '6500', - liquidationBonus: '11000', - borrowingEnabled: true, - stableBorrowRateEnabled: true, + liquidationThreshold: '6000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, reserveDecimals: '18', aTokenImpl: eContractid.AToken, - reserveFactor: '1000' + reserveFactor: '0' +}; + +export const strategyLINKWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyMKRWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyRENWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategySNXWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '4000', + liquidationThreshold: '6000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyUNIWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyUSDCWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyWBTCUSDC: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '6000', + liquidationThreshold: '7000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' +}; + +export const strategyYFIWETH: IReserveParams = { + optimalUtilizationRate: new BigNumber(0.6).multipliedBy(oneRay).toFixed(), + baseVariableBorrowRate: '0', + variableRateSlope1: '0', + variableRateSlope2: '0', + stableRateSlope1: '0', + stableRateSlope2: '0', + baseLTVAsCollateral: '5000', + liquidationThreshold: '6000', + liquidationBonus: '11500', + borrowingEnabled: false, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + reserveFactor: '0' }; \ No newline at end of file