mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
360 lines
14 KiB
TypeScript
360 lines
14 KiB
TypeScript
import BigNumber from 'bignumber.js';
|
|
import { oneRay } from '../../helpers/constants';
|
|
import { eContractid, IReserveParams } from '../../helpers/types';
|
|
|
|
export const strategyBUSD: IReserveParams = {
|
|
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(1).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '0',
|
|
liquidationThreshold: '0',
|
|
liquidationBonus: '0',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategyDAI: IReserveParams = {
|
|
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.75).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: new BigNumber(0.02).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope2: new BigNumber(0.75).multipliedBy(oneRay).toFixed(),
|
|
baseLTVAsCollateral: '7500',
|
|
liquidationThreshold: '8000',
|
|
liquidationBonus: '10500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategySUSD: IReserveParams = {
|
|
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(1).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '0',
|
|
liquidationThreshold: '0',
|
|
liquidationBonus: '0',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyTUSD: IReserveParams = {
|
|
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.75).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: new BigNumber(0.02).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope2: new BigNumber(0.75).multipliedBy(oneRay).toFixed(),
|
|
baseLTVAsCollateral: '7500',
|
|
liquidationThreshold: '8000',
|
|
liquidationBonus: '10500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategyUSDC: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.9).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(),
|
|
baseLTVAsCollateral: '8000',
|
|
liquidationThreshold: '8500',
|
|
liquidationBonus: '10500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '6',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategyUSDT: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.9).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(),
|
|
baseLTVAsCollateral: '8000',
|
|
liquidationThreshold: '8500',
|
|
liquidationBonus: '10500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '6',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategyAAVE: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
variableRateSlope1: '0',
|
|
variableRateSlope2: '0',
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '5000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: false,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '0'
|
|
};
|
|
|
|
export const strategyBAT: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '7000',
|
|
liquidationThreshold: '7500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyENJ: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '5500',
|
|
liquidationThreshold: '6000',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyWETH: IReserveParams = {
|
|
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(),
|
|
baseLTVAsCollateral: '8000',
|
|
liquidationThreshold: '8250',
|
|
liquidationBonus: '10500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '1000'
|
|
};
|
|
|
|
export const strategyKNC: IReserveParams = {
|
|
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(),
|
|
baseLTVAsCollateral: '6000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyLINK: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '7000',
|
|
liquidationThreshold: '7500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyMANA: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '6000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '3500'
|
|
};
|
|
|
|
export const strategyMKR: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '6000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyREN: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '5500',
|
|
liquidationThreshold: '6000',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategySNX: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.8).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: new BigNumber(0.03).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope1: new BigNumber(0.12).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope2: new BigNumber(1).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '1500',
|
|
liquidationThreshold: '4000',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '3500'
|
|
};
|
|
|
|
export const strategyUNI: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
variableRateSlope1: '0',
|
|
variableRateSlope2: '0',
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '6000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: false,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.DelegationAwareAToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyWBTC: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.65).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
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(),
|
|
baseLTVAsCollateral: '7000',
|
|
liquidationThreshold: '7500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '8',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyYFI: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '4000',
|
|
liquidationThreshold: '5500',
|
|
liquidationBonus: '11500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyZRX: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
variableRateSlope1: new BigNumber(0.07).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(),
|
|
baseLTVAsCollateral: '6000',
|
|
liquidationThreshold: '6500',
|
|
liquidationBonus: '11000',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: true,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '2000'
|
|
};
|
|
|
|
export const strategyXSUSHI: IReserveParams = {
|
|
optimalUtilizationRate: new BigNumber(0.45).multipliedBy(oneRay).toFixed(),
|
|
baseVariableBorrowRate: '0',
|
|
variableRateSlope1: new BigNumber(0.07).multipliedBy(oneRay).toFixed(),
|
|
variableRateSlope2: new BigNumber(3).multipliedBy(oneRay).toFixed(),
|
|
stableRateSlope1: '0',
|
|
stableRateSlope2: '0',
|
|
baseLTVAsCollateral: '2500',
|
|
liquidationThreshold: '4500',
|
|
liquidationBonus: '11500',
|
|
borrowingEnabled: true,
|
|
stableBorrowRateEnabled: false,
|
|
reserveDecimals: '18',
|
|
aTokenImpl: eContractid.AToken,
|
|
reserveFactor: '3500',
|
|
}; |