mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
547 lines
23 KiB
TypeScript
547 lines
23 KiB
TypeScript
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<string> = {
|
|
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<string> = {
|
|
...MOCK_CHAINLINK_AGGREGATORS_PRICES,
|
|
};
|
|
|
|
export const LENDING_RATE_ORACLE_RATES_COMMON: iAavePoolAssets<IMarketRates> = {
|
|
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<IReserveParams> =>
|
|
getParamPerPool<iMultiPoolsAssets<IReserveParams>>(
|
|
{
|
|
[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<tEthereumAddress>(
|
|
{
|
|
[eEthereumNetwork.coverage]:
|
|
'0x95b73a72c6ecf4ccbbba5178800023260bad8e75cdccdb8e4827a2977a37c820',
|
|
[eEthereumNetwork.buidlerevm]:
|
|
'0x76cbbf8aa4b11a7c207dd79ccf8c394f59475301598c9a083f8258b4fafcfa86',
|
|
[eEthereumNetwork.kovan]: '',
|
|
[eEthereumNetwork.ropsten]: '',
|
|
[eEthereumNetwork.main]: '',
|
|
},
|
|
network
|
|
);
|