add rate and reserve config

This commit is contained in:
shivani 2021-10-21 16:39:16 +05:30
parent 3683b48941
commit d70e107e80
4 changed files with 185 additions and 121 deletions

View File

@ -48,13 +48,31 @@ export const CommonsConfig: ICommonConfiguration = {
'REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI': { 'REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI': {
borrowRate: oneRay.multipliedBy(0.03).toFixed(), borrowRate: oneRay.multipliedBy(0.03).toFixed(),
}, },
USDC: { 'REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI': {
borrowRate: oneRay.multipliedBy(0.039).toFixed(), borrowRate: oneRay.multipliedBy(0.03).toFixed(),
}, },
USDT: { 'REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M': {
borrowRate: oneRay.multipliedBy(0.035).toFixed(), 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(), borrowRate: oneRay.multipliedBy(0.03).toFixed(),
}, },
}, },
@ -179,26 +197,16 @@ export const CommonsConfig: ICommonConfiguration = {
[eEthereumNetwork.hardhat]: {}, [eEthereumNetwork.hardhat]: {},
[eEthereumNetwork.buidlerevm]: {}, [eEthereumNetwork.buidlerevm]: {},
[eEthereumNetwork.kovan]: { [eEthereumNetwork.kovan]: {
AAVE: '0xd04647B7CB523bb9f26730E9B6dE1174db7591Ad', "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": '',
BAT: '0x0e4fcEC26c9f85c3D714370c98f43C4E02Fc35Ae', "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": '',
BUSD: '0xbF7A18ea5DE0501f7559144e702b29c55b055CcB', "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": '',
DAI: '0x22B58f1EbEDfCA50feF632bD73368b2FdA96D541', "REALTOKEN-S-15796-HARTWELL-ST-DETROIT-MI": '',
ENJ: '0xfaDbe2ee798889F02d1d39eDaD98Eff4c7fe95D4', "REALTOKEN-S-9717-EVERTS-ST-DETROIT-MI": '',
KNC: '0xb8E8130d244CFd13a75D6B9Aee029B1C33c808A7', "REALTOKEN-S-19201-WESTPHALIA-ST-DETROIT-MI": '',
LINK: '0x3Af8C569ab77af5230596Acf0E8c2F9351d24C38', "REALTOKEN-S-19163-MITCHELL-ST-DETROIT-MI": '',
MANA: '0x1b93D8E109cfeDcBb3Cc74eD761DE286d5771511', "REALTOKEN-S-4061-GRAND-ST-DETROIT-M": '',
MKR: '0x0B156192e04bAD92B6C1C13cf8739d14D78D5701', "REALTOKEN-S-4680-BUCKINGHAM-AVE-DETROIT-MI": '',
REN: '0xF1939BECE7708382b5fb5e559f630CB8B39a10ee', "REALTOKEN-S-19311-KEYSTONE-ST-DETROIT-MI": '',
SNX: '0xF9A76ae7a1075Fe7d646b06fF05Bd48b9FA5582e',
SUSD: '0xb343e7a1aF578FA35632435243D814e7497622f7',
TUSD: '0x7aeCF1c19661d12E962b69eBC8f6b2E63a55C660',
UNI: '0x17756515f112429471F86f98D5052aCB6C47f6ee',
USDC: '0x64EaC61A2DFda2c3Fa04eED49AA33D021AeC8838',
USDT: '0x0bF499444525a23E7Bb61997539725cA2e928138',
WBTC: '0xF7904a295A029a3aBDFFB6F12755974a958C7C25',
YFI: '0xC5d1B1DEb2992738C0273408ac43e1e906086B6C',
ZRX: '0xBc3f28Ccc21E9b5856E81E6372aFf57307E2E883',
USD: '0x9326BFA02ADD2366b30bacB125260Af641031331',
}, },
[eEthereumNetwork.ropsten]: { [eEthereumNetwork.ropsten]: {
}, },

View File

@ -3,10 +3,16 @@ import { IAaveArcConfiguration, eEthereumNetwork, eContractid } from '../../help
import { CommonsConfig } from './commons'; import { CommonsConfig } from './commons';
import { import {
strategyAAVE, strategy13895Saratoga,
strategyUSDC, strategy15796Hartwell,
strategyWBTC, strategy17813Bradford,
strategyWETH, strategy19163Mitchell,
strategy19201Westphalia,
strategy19311Keystone,
strategy4061Grnd,
strategy4380Beaconsfield,
strategy4680Buckingham,
strategy9717Everts
} from './reservesConfigs'; } from './reservesConfigs';
// ---------------- // ----------------
@ -15,42 +21,42 @@ import {
export const AaveArcConfig: IAaveArcConfiguration = { export const AaveArcConfig: IAaveArcConfiguration = {
...CommonsConfig, ...CommonsConfig,
MarketId: 'Aave Arc market', MarketId: 'RealT',
ProviderId: 1, ProviderId: 1,
LendingPoolImpl: eContractid.PermissionedLendingPool, LendingPoolImpl: eContractid.PermissionedLendingPool,
ReservesConfig: { ReservesConfig: {
USDC: strategyUSDC, "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": strategy13895Saratoga,
WBTC: strategyWBTC, "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": strategy4380Beaconsfield,
WETH: strategyWETH, "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": strategy17813Bradford,
AAVE: strategyAAVE "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: { ReserveAssets: {
[eEthereumNetwork.buidlerevm]: {}, [eEthereumNetwork.buidlerevm]: {},
[eEthereumNetwork.hardhat]: {}, [eEthereumNetwork.hardhat]: {},
[eEthereumNetwork.coverage]: {}, [eEthereumNetwork.coverage]: {},
[eEthereumNetwork.kovan]: { [eEthereumNetwork.kovan]: {
USDC: '0xe22da380ee6B445bb8273C81944ADEB6E8450422', "REALTOKEN-S-13895-SARATOGA-ST-DETROIT-MI": '0x6F442Da588232DC57Bf0096E8dE48D6961D5CC83',
WBTC: '0xD1B98B6607330172f1D991521145A22BCe793277', "REALTOKEN-S-4380-BEACONSFIELD-ST-DETROIT-MI": '0x96700Ffae33c651bC329c3f3fbFE56e1f291f117',
WETH: '0xd0a1e359811322d97991e03f863a0c30c2cf029c', "REALTOKEN-S-17813-BRADFORD-ST-DETROIT-M": '0x499A6c19F5537dd6005E2B5c6E1263103f558Ba4',
AAVE: '0xB597cd8D3217ea6477232F9217fa70837ff667Af', "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]: { [eEthereumNetwork.ropsten]: {
USDC: '0x851dEf71f0e6A903375C1e536Bd9ff1684BAD802',
WBTC: '0xa0E54Ab6AA5f0bf1D62EC3526436F3c05b3348A0',
WETH: '0xc778417e063141139fce010982780140aa0cd5ab',
AAVE: 'ZERO_ADDRESS',
}, },
[eEthereumNetwork.main]: { [eEthereumNetwork.main]: {
USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
WBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
WETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
AAVE: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9',
}, },
[eEthereumNetwork.tenderly]: { [eEthereumNetwork.tenderly]: {
USDC: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
WBTC: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
WETH: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
AAVE: '0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9',
}, },
} }
}; };

View File

@ -3,47 +3,13 @@ import { oneRay } from '../../helpers/constants';
import { IInterestRateStrategyParams } from '../../helpers/types'; import { IInterestRateStrategyParams } from '../../helpers/types';
// USDC // RealT Property strategy
export const rateStrategyStable: IInterestRateStrategyParams = { export const rateStrategyProperty: IInterestRateStrategyParams = {
name: "rateStrategyStable", 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(), baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(), variableRateSlope1: new BigNumber(0.04).multipliedBy(oneRay).toFixed(),
variableRateSlope2: new BigNumber(0.60).multipliedBy(oneRay).toFixed(), variableRateSlope2: new BigNumber(1).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',
stableRateSlope1: '0', stableRateSlope1: '0',
stableRateSlope2: '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(),
}

View File

@ -1,42 +1,28 @@
import { eContractid, IReserveParams } from '../../helpers/types'; import { eContractid, IReserveParams } from '../../helpers/types';
import { rateStrategyStable, rateStrategyWETH, rateStrategyWBTC, rateStrategyAAVE } from './rateStrategies'; import { rateStrategyProperty } from './rateStrategies';
export const strategyUSDC: IReserveParams = { export const strategy13895Saratoga: IReserveParams = {
strategy: rateStrategyStable, strategy: rateStrategyProperty,
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,
baseLTVAsCollateral: '5000', baseLTVAsCollateral: '5000',
liquidationThreshold: '6500', liquidationThreshold: '7000',
liquidationBonus: '11000', liquidationBonus: '11000',
borrowingEnabled: false, borrowingEnabled: true,
stableBorrowRateEnabled: false, stableBorrowRateEnabled: false,
reserveDecimals: '18', reserveDecimals: '18',
aTokenImpl: eContractid.AToken, aTokenImpl: eContractid.AToken,
stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken,
variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken,
reserveFactor: '0' reserveFactor: '1000',
}; };
export const strategyWETH: IReserveParams = { export const strategy4380Beaconsfield: IReserveParams = {
strategy: rateStrategyWETH, strategy: rateStrategyProperty,
baseLTVAsCollateral: '8000', baseLTVAsCollateral: '5000',
liquidationThreshold: '8250', liquidationThreshold: '7000',
liquidationBonus: '10500', liquidationBonus: '11000',
borrowingEnabled: true, borrowingEnabled: true,
stableBorrowRateEnabled: true, stableBorrowRateEnabled: false,
reserveDecimals: '18', reserveDecimals: '18',
aTokenImpl: eContractid.AToken, aTokenImpl: eContractid.AToken,
stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken,
@ -44,16 +30,114 @@ export const strategyWETH: IReserveParams = {
reserveFactor: '1000', reserveFactor: '1000',
}; };
export const strategyWBTC: IReserveParams = { export const strategy17813Bradford: IReserveParams = {
strategy: rateStrategyWBTC, strategy: rateStrategyProperty,
baseLTVAsCollateral: '7000', baseLTVAsCollateral: '5000',
liquidationThreshold: '7500', liquidationThreshold: '7000',
liquidationBonus: '11000', liquidationBonus: '11000',
borrowingEnabled: true, borrowingEnabled: true,
stableBorrowRateEnabled: true, stableBorrowRateEnabled: false,
reserveDecimals: '8', reserveDecimals: '18',
aTokenImpl: eContractid.AToken, aTokenImpl: eContractid.AToken,
stableDebtTokenImpl: eContractid.PermissionedStableDebtToken, stableDebtTokenImpl: eContractid.PermissionedStableDebtToken,
variableDebtTokenImpl: eContractid.PermissionedVariableDebtToken, 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',
}; };