From d70e107e80cb8a211559f3711d0cfe669faa9908 Mon Sep 17 00:00:00 2001 From: shivani Date: Thu, 21 Oct 2021 16:39:16 +0530 Subject: [PATCH] add rate and reserve config --- markets/realT/commons.ts | 58 ++++++------ markets/realT/index.ts | 56 ++++++------ markets/realT/rateStrategies.ts | 42 +-------- markets/realT/reservesConfigs.ts | 150 ++++++++++++++++++++++++------- 4 files changed, 185 insertions(+), 121 deletions(-) diff --git a/markets/realT/commons.ts b/markets/realT/commons.ts index 1e9b61fa..54edc561 100644 --- a/markets/realT/commons.ts +++ b/markets/realT/commons.ts @@ -48,13 +48,31 @@ export const CommonsConfig: ICommonConfiguration = { 'REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI': { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, - USDC: { - borrowRate: oneRay.multipliedBy(0.039).toFixed(), + 'REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI': { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, - USDT: { - borrowRate: oneRay.multipliedBy(0.035).toFixed(), + 'REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M': { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, - WBTC: { + 'REALTOKEN-S-15796-HARTWELL-ST-DETROIT-MI': { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-9717-EVERTS-ST-DETROIT-MI": { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-19201-WESTPHALIA-ST-DETROIT-MI": { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-19163-MITCHELL-ST-DETROIT-MI": { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-4061-GRAND-ST-DETROIT-M": { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-4680-BUCKINGHAM-AVE-DETROIT-MI": { + borrowRate: oneRay.multipliedBy(0.03).toFixed(), + }, + "REALTOKEN-S-19311-KEYSTONE-ST-DETROIT-MI": { borrowRate: oneRay.multipliedBy(0.03).toFixed(), }, }, @@ -179,26 +197,16 @@ export const CommonsConfig: ICommonConfiguration = { [eEthereumNetwork.hardhat]: {}, [eEthereumNetwork.buidlerevm]: {}, [eEthereumNetwork.kovan]: { - AAVE: '0xd04647B7CB523bb9f26730E9B6dE1174db7591Ad', - BAT: '0x0e4fcEC26c9f85c3D714370c98f43C4E02Fc35Ae', - BUSD: '0xbF7A18ea5DE0501f7559144e702b29c55b055CcB', - DAI: '0x22B58f1EbEDfCA50feF632bD73368b2FdA96D541', - ENJ: '0xfaDbe2ee798889F02d1d39eDaD98Eff4c7fe95D4', - KNC: '0xb8E8130d244CFd13a75D6B9Aee029B1C33c808A7', - LINK: '0x3Af8C569ab77af5230596Acf0E8c2F9351d24C38', - MANA: '0x1b93D8E109cfeDcBb3Cc74eD761DE286d5771511', - MKR: '0x0B156192e04bAD92B6C1C13cf8739d14D78D5701', - REN: '0xF1939BECE7708382b5fb5e559f630CB8B39a10ee', - SNX: '0xF9A76ae7a1075Fe7d646b06fF05Bd48b9FA5582e', - SUSD: '0xb343e7a1aF578FA35632435243D814e7497622f7', - TUSD: '0x7aeCF1c19661d12E962b69eBC8f6b2E63a55C660', - UNI: '0x17756515f112429471F86f98D5052aCB6C47f6ee', - USDC: '0x64EaC61A2DFda2c3Fa04eED49AA33D021AeC8838', - USDT: '0x0bF499444525a23E7Bb61997539725cA2e928138', - WBTC: '0xF7904a295A029a3aBDFFB6F12755974a958C7C25', - YFI: '0xC5d1B1DEb2992738C0273408ac43e1e906086B6C', - ZRX: '0xBc3f28Ccc21E9b5856E81E6372aFf57307E2E883', - USD: '0x9326BFA02ADD2366b30bacB125260Af641031331', + "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": '', + "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": '', + "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": '', + "REALTOKEN-S-15796-HARTWELL-ST-DETROIT-MI": '', + "REALTOKEN-S-9717-EVERTS-ST-DETROIT-MI": '', + "REALTOKEN-S-19201-WESTPHALIA-ST-DETROIT-MI": '', + "REALTOKEN-S-19163-MITCHELL-ST-DETROIT-MI": '', + "REALTOKEN-S-4061-GRAND-ST-DETROIT-M": '', + "REALTOKEN-S-4680-BUCKINGHAM-AVE-DETROIT-MI": '', + "REALTOKEN-S-19311-KEYSTONE-ST-DETROIT-MI": '', }, [eEthereumNetwork.ropsten]: { }, diff --git a/markets/realT/index.ts b/markets/realT/index.ts index 8129f2ac..2b2cd18b 100644 --- a/markets/realT/index.ts +++ b/markets/realT/index.ts @@ -3,10 +3,16 @@ import { IAaveArcConfiguration, eEthereumNetwork, eContractid } from '../../help import { CommonsConfig } from './commons'; import { - strategyAAVE, - strategyUSDC, - strategyWBTC, - strategyWETH, + strategy13895Saratoga, + strategy15796Hartwell, + strategy17813Bradford, + strategy19163Mitchell, + strategy19201Westphalia, + strategy19311Keystone, + strategy4061Grnd, + strategy4380Beaconsfield, + strategy4680Buckingham, + strategy9717Everts } from './reservesConfigs'; // ---------------- @@ -15,42 +21,42 @@ import { export const AaveArcConfig: IAaveArcConfiguration = { ...CommonsConfig, - MarketId: 'Aave Arc market', + MarketId: 'RealT', ProviderId: 1, LendingPoolImpl: eContractid.PermissionedLendingPool, ReservesConfig: { - USDC: strategyUSDC, - WBTC: strategyWBTC, - WETH: strategyWETH, - AAVE: strategyAAVE + "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": strategy13895Saratoga, + "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": strategy4380Beaconsfield, + "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": strategy17813Bradford, + "REALTOKEN-S-15796-HARTWELL-ST-DETROIT-MI": strategy15796Hartwell, + "REALTOKEN-S-9717-EVERTS-ST-DETROIT-MI": strategy9717Everts, + "REALTOKEN-S-19201-WESTPHALIA-ST-DETROIT-MI": strategy19201Westphalia, + "REALTOKEN-S-19163-MITCHELL-ST-DETROIT-MI": strategy19163Mitchell, + "REALTOKEN-S-4061-GRAND-ST-DETROIT-M": strategy4061Grnd, + "REALTOKEN-S-4680-BUCKINGHAM-AVE-DETROIT-MI": strategy4680Buckingham, + "REALTOKEN-S-19311-KEYSTONE-ST-DETROIT-MI": strategy19311Keystone, }, ReserveAssets: { [eEthereumNetwork.buidlerevm]: {}, [eEthereumNetwork.hardhat]: {}, [eEthereumNetwork.coverage]: {}, [eEthereumNetwork.kovan]: { - USDC: '0xe22da380ee6B445bb8273C81944ADEB6E8450422', - WBTC: '0xD1B98B6607330172f1D991521145A22BCe793277', - WETH: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', - AAVE: '0xB597cd8D3217ea6477232F9217fa70837ff667Af', + "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": '0x6F442Da588232DC57Bf0096E8dE48D6961D5CC83', + "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": '0x96700Ffae33c651bC329c3f3fbFE56e1f291f117', + "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": '0x499A6c19F5537dd6005E2B5c6E1263103f558Ba4', + "REALTOKEN-S-15796-HARTWELL-ST-DETROIT-MI": '0xB3D3C1bBcEf737204AADb4fA6D90e974bc262197', + "REALTOKEN-S-9717-EVERTS-ST-DETROIT-MI": '0x73BdE888664DF8DDfD156B52e6999EEaBAB57C94', + "REALTOKEN-S-19201-WESTPHALIA-ST-DETROIT-MI": '0x830B0e9a5ecf36D0A886D21e1C20043cD2d16515', + "REALTOKEN-S-19163-MITCHELL-ST-DETROIT-MI": '0x4Cc53Ee5ef306a95d407321d4B4acc30814C04ee', + "REALTOKEN-S-4061-GRAND-ST-DETROIT-M": '0xd9e89bFebAe447B42C1Fa85C590716eC8820f737', + "REALTOKEN-S-4680-BUCKINGHAM-AVE-DETROIT-MI": '0xeFe82D6baF0dB71f92889eB9d00721bD49121316', + "REALTOKEN-S-19311-KEYSTONE-ST-DETROIT-MI": '0x8a9F904B4EaD6a97F3aB304d0D2196f5c602c807', }, [eEthereumNetwork.ropsten]: { - USDC: '0x851dEf71f0e6A903375C1e536Bd9ff1684BAD802', - WBTC: '0xa0E54Ab6AA5f0bf1D62EC3526436F3c05b3348A0', - WETH: '0xc778417e063141139fce010982780140aa0cd5ab', - AAVE: 'ZERO_ADDRESS', }, [eEthereumNetwork.main]: { - USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - WBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - WETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - AAVE: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', }, [eEthereumNetwork.tenderly]: { - USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - WBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - WETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - AAVE: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9', }, } }; diff --git a/markets/realT/rateStrategies.ts b/markets/realT/rateStrategies.ts index 0e80d92c..4163981e 100644 --- a/markets/realT/rateStrategies.ts +++ b/markets/realT/rateStrategies.ts @@ -3,47 +3,13 @@ import { oneRay } from '../../helpers/constants'; import { IInterestRateStrategyParams } from '../../helpers/types'; -// USDC -export const rateStrategyStable: IInterestRateStrategyParams = { +// RealT Property strategy +export const rateStrategyProperty: IInterestRateStrategyParams = { name: "rateStrategyStable", - optimalUtilizationRate: new BigNumber(0.9).multipliedBy(oneRay).toFixed(), + optimalUtilizationRate: new BigNumber(0.8).multipliedBy(oneRay).toFixed(), baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), - variableRateSlope2: new BigNumber(0.60).multipliedBy(oneRay).toFixed(), - stableRateSlope1: new BigNumber(0.02).multipliedBy(oneRay).toFixed(), - stableRateSlope2: new BigNumber(0.60).multipliedBy(oneRay).toFixed(), -} - -// AAVE -export const rateStrategyAAVE: IInterestRateStrategyParams = { - name: "rateStrategyAAVE", - optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(), - baseVariableBorrowRate: '0', - variableRateSlope1: '0', - variableRateSlope2: '0', + variableRateSlope2: new BigNumber(1).multipliedBy(oneRay).toFixed(), stableRateSlope1: '0', stableRateSlope2: '0', -} - -// WETH -export const rateStrategyWETH: IInterestRateStrategyParams = { - name: "rateStrategyWETH", - optimalUtilizationRate: new BigNumber(0.65).multipliedBy(oneRay).toFixed(), - baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), - variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), - variableRateSlope2: new BigNumber(1).multipliedBy(oneRay).toFixed(), - stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), - stableRateSlope2: new BigNumber(1).multipliedBy(oneRay).toFixed(), -} - - -// WBTC -export const rateStrategyWBTC: IInterestRateStrategyParams = { - name: "rateStrategyWBTC", - optimalUtilizationRate: new BigNumber(0.65).multipliedBy(oneRay).toFixed(), - baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(), - variableRateSlope1: new BigNumber(0.08).multipliedBy(oneRay).toFixed(), - variableRateSlope2: new BigNumber(3).multipliedBy(oneRay).toFixed(), - stableRateSlope1: new BigNumber(0.1).multipliedBy(oneRay).toFixed(), - stableRateSlope2: new BigNumber(3).multipliedBy(oneRay).toFixed(), } \ No newline at end of file diff --git a/markets/realT/reservesConfigs.ts b/markets/realT/reservesConfigs.ts index f7f2f86d..8d986713 100644 --- a/markets/realT/reservesConfigs.ts +++ b/markets/realT/reservesConfigs.ts @@ -1,42 +1,28 @@ import { eContractid, IReserveParams } from '../../helpers/types'; -import { rateStrategyStable, rateStrategyWETH, rateStrategyWBTC, rateStrategyAAVE } from './rateStrategies'; +import { rateStrategyProperty } from './rateStrategies'; -export const strategyUSDC: IReserveParams = { - strategy: rateStrategyStable, - baseLTVAsCollateral: '8000', - liquidationThreshold: '8500', - liquidationBonus: '10500', - borrowingEnabled: true, - stableBorrowRateEnabled: true, - reserveDecimals: '6', - aTokenImpl: eContractid.AToken, - stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, - variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, - reserveFactor: '1000', -}; - -export const strategyAAVE: IReserveParams = { - strategy: rateStrategyAAVE, +export const strategy13895Saratoga: IReserveParams = { + strategy: rateStrategyProperty, baseLTVAsCollateral: '5000', - liquidationThreshold: '6500', + liquidationThreshold: '7000', liquidationBonus: '11000', - borrowingEnabled: false, + borrowingEnabled: true, stableBorrowRateEnabled: false, reserveDecimals: '18', aTokenImpl: eContractid.AToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, - reserveFactor: '0' + reserveFactor: '1000', }; -export const strategyWETH: IReserveParams = { - strategy: rateStrategyWETH, - baseLTVAsCollateral: '8000', - liquidationThreshold: '8250', - liquidationBonus: '10500', +export const strategy4380Beaconsfield: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', borrowingEnabled: true, - stableBorrowRateEnabled: true, + stableBorrowRateEnabled: false, reserveDecimals: '18', aTokenImpl: eContractid.AToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, @@ -44,16 +30,114 @@ export const strategyWETH: IReserveParams = { reserveFactor: '1000', }; -export const strategyWBTC: IReserveParams = { - strategy: rateStrategyWBTC, - baseLTVAsCollateral: '7000', - liquidationThreshold: '7500', +export const strategy17813Bradford: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', liquidationBonus: '11000', borrowingEnabled: true, - stableBorrowRateEnabled: true, - reserveDecimals: '8', + stableBorrowRateEnabled: false, + reserveDecimals: '18', aTokenImpl: eContractid.AToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, - reserveFactor: '2000', + reserveFactor: '1000', }; + +export const strategy15796Hartwell: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy9717Everts: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy19201Westphalia: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy19163Mitchell: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy4061Grnd: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy4680Buckingham: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; + +export const strategy19311Keystone: IReserveParams = { + strategy: rateStrategyProperty, + baseLTVAsCollateral: '5000', + liquidationThreshold: '7000', + liquidationBonus: '11000', + borrowingEnabled: true, + stableBorrowRateEnabled: false, + reserveDecimals: '18', + aTokenImpl: eContractid.AToken, + stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, + variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, + reserveFactor: '1000', +}; \ No newline at end of file