import BigNumber from 'bignumber.js'; import {EthereumNetwork, IUniswapConfiguration} from '../helpers/types'; import {oneRay} from '../helpers/constants'; import {CommonsConfig} from './commons'; // ---------------- // POOL--SPECIFIC PARAMS // ---------------- export const UniswapConfig: IUniswapConfiguration = { ...CommonsConfig, ConfigName: 'Uniswap', ProviderId: 2, ReserveSymbols: [ 'ETH', 'DAI', 'USDC', 'USDT', 'UNI_DAI_ETH', 'UNI_USDC_ETH', 'UNI_SETH_ETH', 'UNI_LINK_ETH', 'UNI_MKR_ETH', 'UNI_LEND_ETH', ], ReservesConfig: { 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', }, }, ChainlinkAggregator: { [EthereumNetwork.kovan]: { UNI_DAI_ETH: '0x0338C40020Bf886c11406115fD1ba205Ef1D9Ff9', UNI_USDC_ETH: '0x7f5E5D34591e9a70D187BBA94260C30B92aC0961', UNI_SETH_ETH: '0xc5F1eA001c1570783b3af418fa775237Eb129EDC', UNI_LEND_ETH: '0xB996b1a11BA0aACc4deA57f7f92d1722428f2E90', UNI_LINK_ETH: '0x267490eE9Ad21dfE839aE73A8B1c8C9A36F60d33', UNI_MKR_ETH: '0x6eBF25AB0A18B8F6243619f1AE6b94373169A069', }, [EthereumNetwork.ropsten]: { UNI_DAI_ETH: '0x16048819e3f77b7112eB033624A0bA9d33743028', UNI_USDC_ETH: '0x6952A2678D574073DB97963886c2F38CD09C8Ba3', UNI_SETH_ETH: '0x23Ee5188806BD2D31103368B0EA0259bc6706Af1', UNI_LEND_ETH: '0x43c44B27376Afedee06Bae2A003e979FC3B3Da6C', UNI_LINK_ETH: '0xb60c29714146EA3539261f599Eb30f62904108Fa', UNI_MKR_ETH: '0x594ae5421f378b8B4AF9e758C461d2A1FF990BC5', }, [EthereumNetwork.main]: { UNI_DAI_ETH: '0x1bAB293850289Bf161C5DA79ff3d1F02A950555b', UNI_USDC_ETH: '0x444315Ee92F2bb3579293C17B07194227fA99bF0', UNI_SETH_ETH: '0x517D40E49660c7705b2e99eEFA6d7B0E9Ba5BF10', UNI_LEND_ETH: '0xF4C8Db2d999b024bBB6c6022566503eD41f2AC1E', UNI_LINK_ETH: '0xE2A639Beb647d7F709ca805ABa760bBEfdbE37e3', UNI_MKR_ETH: '0xEe40a5E8F3732bE6ECDb5A90e23D0b7bF0D4a73c', }, }, UniAssetsAddresses: { [EthereumNetwork.kovan]: { UNI_DAI_ETH: '0x2e0086b5343101203ADeE40160ca1BD91E29fF75', UNI_USDC_ETH: '0x34eA1aB2a43ee696914fc3C0d3e517fA666B9e8D', UNI_SETH_ETH: '0xCF457d8Bb8D8f54Af1ea1B3710231e89bd6CFbfe', UNI_LEND_ETH: '0x7615cd666F867406C64E558B9CCC3883e7EC9BA8', UNI_LINK_ETH: '0xFb9AAc184e79025f936E9C4EF3047Ad4889Df4a8', UNI_MKR_ETH: '0xB31a1c30f38cD68e8177566Ef950d7bc3C81DaCF', }, [EthereumNetwork.ropsten]: { UNI_DAI_ETH: '0xC245A7d35E652Cae438A1FdB13E474DF53DBB81D', UNI_USDC_ETH: '0x2BD65323955D08eb600074291305881d1295c4D2', UNI_SETH_ETH: '0xed4597DCd234867d7A260AD24bAb8253F64940a5', UNI_LEND_ETH: '0xcD5DE1EDD40aBBD6efE2C306276FF56f81Bc3151', UNI_LINK_ETH: '0x8dcf3c8d4d69ca7C188c0A4cf219A1dcE1e510d7', UNI_MKR_ETH: '0xd8b7B99a9205FD0D0abFB6D7a2c13Db2681bff43', }, [EthereumNetwork.main]: { UNI_DAI_ETH: '0x2a1530c4c41db0b0b2bb646cb5eb1a67b7158667', UNI_USDC_ETH: '0x97dec872013f6b5fb443861090ad931542878126', UNI_SETH_ETH: '0xe9cf7887b93150d4f2da7dfc6d502b216438f244', UNI_LEND_ETH: '0xcaa7e4656f6a2b59f5f99c745f91ab26d1210dce', UNI_LINK_ETH: '0xf173214c720f58e03e194085b1db28b50acdeead', UNI_MKR_ETH: '0x2c4bd064b998838076fa341a83d007fc2fa50957', }, }, };