mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			272 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			272 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { eContractid, IReserveParams } from '../../helpers/types';
 | 
						|
 | 
						|
import {
 | 
						|
  rateStrategyStableOne,
 | 
						|
  rateStrategyStableTwo,
 | 
						|
  rateStrategyStableThree,
 | 
						|
  rateStrategyWETH,
 | 
						|
  rateStrategyAAVE,
 | 
						|
  rateStrategyVolatileOne,
 | 
						|
  rateStrategyVolatileTwo,
 | 
						|
  rateStrategyVolatileThree,
 | 
						|
  rateStrategyVolatileFour,
 | 
						|
} from './rateStrategies';
 | 
						|
 | 
						|
export const strategyBUSD: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableOne,
 | 
						|
  baseLTVAsCollateral: '0',
 | 
						|
  liquidationThreshold: '0',
 | 
						|
  liquidationBonus: '0',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyDAI: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableTwo,
 | 
						|
  baseLTVAsCollateral: '7500',
 | 
						|
  liquidationThreshold: '8000',
 | 
						|
  liquidationBonus: '10500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategySUSD: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableOne,
 | 
						|
  baseLTVAsCollateral: '0',
 | 
						|
  liquidationThreshold: '0',
 | 
						|
  liquidationBonus: '0',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyTUSD: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableTwo,
 | 
						|
  baseLTVAsCollateral: '7500',
 | 
						|
  liquidationThreshold: '8000',
 | 
						|
  liquidationBonus: '10500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyUSDC: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableThree,
 | 
						|
  baseLTVAsCollateral: '8000',
 | 
						|
  liquidationThreshold: '8500',
 | 
						|
  liquidationBonus: '10500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '6',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyUSDT: IReserveParams = {
 | 
						|
  strategy: rateStrategyStableThree,
 | 
						|
  baseLTVAsCollateral: '8000',
 | 
						|
  liquidationThreshold: '8500',
 | 
						|
  liquidationBonus: '10500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '6',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyAAVE: IReserveParams = {
 | 
						|
  strategy: rateStrategyAAVE,
 | 
						|
  baseLTVAsCollateral: '5000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: false,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '0',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyBAT: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '7000',
 | 
						|
  liquidationThreshold: '7500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyENJ: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '5500',
 | 
						|
  liquidationThreshold: '6000',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyWETH: IReserveParams = {
 | 
						|
  strategy: rateStrategyWETH,
 | 
						|
  baseLTVAsCollateral: '8000',
 | 
						|
  liquidationThreshold: '8250',
 | 
						|
  liquidationBonus: '10500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '1000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyKNC: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileTwo,
 | 
						|
  baseLTVAsCollateral: '6000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyLINK: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '7000',
 | 
						|
  liquidationThreshold: '7500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyMANA: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '6000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '3500',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyMKR: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '6000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyREN: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '5500',
 | 
						|
  liquidationThreshold: '6000',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategySNX: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileThree,
 | 
						|
  baseLTVAsCollateral: '1500',
 | 
						|
  liquidationThreshold: '4000',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '3500',
 | 
						|
};
 | 
						|
 | 
						|
// Invalid borrow rates in params currently, replaced with snx params
 | 
						|
export const strategyUNI: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileThree,
 | 
						|
  baseLTVAsCollateral: '6000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: false,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.DelegationAwareAToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyWBTC: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileTwo,
 | 
						|
  baseLTVAsCollateral: '7000',
 | 
						|
  liquidationThreshold: '7500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '8',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyYFI: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '4000',
 | 
						|
  liquidationThreshold: '5500',
 | 
						|
  liquidationBonus: '11500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyZRX: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileOne,
 | 
						|
  baseLTVAsCollateral: '6000',
 | 
						|
  liquidationThreshold: '6500',
 | 
						|
  liquidationBonus: '11000',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: true,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '2000',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyXSUSHI: IReserveParams = {
 | 
						|
  strategy: rateStrategyVolatileFour,
 | 
						|
  baseLTVAsCollateral: '2500',
 | 
						|
  liquidationThreshold: '4500',
 | 
						|
  liquidationBonus: '11500',
 | 
						|
  borrowingEnabled: true,
 | 
						|
  stableBorrowRateEnabled: false,
 | 
						|
  reserveDecimals: '18',
 | 
						|
  aTokenImpl: eContractid.AToken,
 | 
						|
  reserveFactor: '3500',
 | 
						|
};
 | 
						|
 | 
						|
export const strategyMockedRewardAwareToken: IReserveParams = {
 | 
						|
  ...strategyBAT,
 | 
						|
  aTokenImpl: eContractid.RewardsATokenMock,
 | 
						|
};
 |