DataTypes

ReserveData

struct ReserveData {
  struct DataTypes.ReserveConfigurationMap configuration;
  uint128 liquidityIndex;
  uint128 currentLiquidityRate;
  uint128 variableBorrowIndex;
  uint128 currentVariableBorrowRate;
  uint128 currentStableBorrowRate;
  uint40 lastUpdateTimestamp;
  uint16 id;
  address aTokenAddress;
  address stableDebtTokenAddress;
  address variableDebtTokenAddress;
  address interestRateStrategyAddress;
  uint128 accruedToTreasury;
  uint128 unbacked;
  uint128 isolationModeTotalDebt;
}

ReserveConfigurationMap

struct ReserveConfigurationMap {
  uint256 data;
}

UserConfigurationMap

struct UserConfigurationMap {
  uint256 data;
}

EModeCategory

struct EModeCategory {
  uint16 ltv;
  uint16 liquidationThreshold;
  uint16 liquidationBonus;
  address priceSource;
  string label;
}

InterestRateMode

enum InterestRateMode {
  NONE,
  STABLE,
  VARIABLE
}

ReserveCache

struct ReserveCache {
  uint256 currScaledVariableDebt;
  uint256 nextScaledVariableDebt;
  uint256 currPrincipalStableDebt;
  uint256 currAvgStableBorrowRate;
  uint256 currTotalStableDebt;
  uint256 nextAvgStableBorrowRate;
  uint256 nextTotalStableDebt;
  uint256 currLiquidityIndex;
  uint256 nextLiquidityIndex;
  uint256 currVariableBorrowIndex;
  uint256 nextVariableBorrowIndex;
  uint256 currLiquidityRate;
  uint256 currVariableBorrowRate;
  uint256 reserveFactor;
  struct DataTypes.ReserveConfigurationMap reserveConfiguration;
  address aTokenAddress;
  address stableDebtTokenAddress;
  address variableDebtTokenAddress;
  uint40 reserveLastUpdateTimestamp;
  uint40 stableDebtLastUpdateTimestamp;
}

ExecuteLiquidationCallParams

struct ExecuteLiquidationCallParams {
  uint256 reservesCount;
  uint256 debtToCover;
  address collateralAsset;
  address debtAsset;
  address user;
  bool receiveAToken;
  address priceOracle;
  uint8 userEModeCategory;
  address priceOracleSentinel;
}

ExecuteSupplyParams

struct ExecuteSupplyParams {
  address asset;
  uint256 amount;
  address onBehalfOf;
  uint16 referralCode;
}

ExecuteBorrowParams

struct ExecuteBorrowParams {
  address asset;
  address user;
  address onBehalfOf;
  uint256 amount;
  enum DataTypes.InterestRateMode interestRateMode;
  uint16 referralCode;
  bool releaseUnderlying;
  uint256 maxStableRateBorrowSizePercent;
  uint256 reservesCount;
  address oracle;
  uint8 userEModeCategory;
  address priceOracleSentinel;
}

ExecuteRepayParams

struct ExecuteRepayParams {
  address asset;
  uint256 amount;
  enum DataTypes.InterestRateMode interestRateMode;
  address onBehalfOf;
  bool useATokens;
}

ExecuteWithdrawParams

struct ExecuteWithdrawParams {
  address asset;
  uint256 amount;
  address to;
  uint256 reservesCount;
  address oracle;
  uint8 userEModeCategory;
}

ExecuteSetUserEModeParams

struct ExecuteSetUserEModeParams {
  uint256 reservesCount;
  address oracle;
  uint8 categoryId;
}

FinalizeTransferParams

struct FinalizeTransferParams {
  address asset;
  address from;
  address to;
  uint256 amount;
  uint256 balanceFromBefore;
  uint256 balanceToBefore;
  uint256 reservesCount;
  address oracle;
  uint8 fromEModeCategory;
}

FlashloanParams

struct FlashloanParams {
  address receiverAddress;
  address[] assets;
  uint256[] amounts;
  uint256[] interestRateModes;
  address onBehalfOf;
  bytes params;
  uint16 referralCode;
  uint256 flashLoanPremiumToProtocol;
  uint256 flashLoanPremiumTotal;
  uint256 maxStableRateBorrowSizePercent;
  uint256 reservesCount;
  address addressesProvider;
  uint8 userEModeCategory;
  bool isAuthorizedFlashBorrower;
}

FlashloanSimpleParams

struct FlashloanSimpleParams {
  address receiverAddress;
  address asset;
  uint256 amount;
  bytes params;
  uint16 referralCode;
  uint256 flashLoanPremiumToProtocol;
  uint256 flashLoanPremiumTotal;
}

FlashLoanRepaymentParams

struct FlashLoanRepaymentParams {
  uint256 amount;
  uint256 totalPremium;
  uint256 flashLoanPremiumToProtocol;
  address asset;
  address receiverAddress;
  uint16 referralCode;
}

CalculateUserAccountDataParams

struct CalculateUserAccountDataParams {
  struct DataTypes.UserConfigurationMap userConfig;
  uint256 reservesCount;
  address user;
  address oracle;
  uint8 userEModeCategory;
}

ValidateBorrowParams

struct ValidateBorrowParams {
  struct DataTypes.ReserveCache reserveCache;
  struct DataTypes.UserConfigurationMap userConfig;
  address asset;
  address userAddress;
  uint256 amount;
  enum DataTypes.InterestRateMode interestRateMode;
  uint256 maxStableLoanPercent;
  uint256 reservesCount;
  address oracle;
  uint8 userEModeCategory;
  address priceOracleSentinel;
  bool isolationModeActive;
  address isolationModeCollateralAddress;
  uint256 isolationModeDebtCeiling;
}

ValidateLiquidationCallParams

struct ValidateLiquidationCallParams {
  struct DataTypes.ReserveCache debtReserveCache;
  uint256 totalDebt;
  uint256 healthFactor;
  address priceOracleSentinel;
}

CalculateInterestRatesParams

struct CalculateInterestRatesParams {
  uint256 unbacked;
  uint256 liquidityAdded;
  uint256 liquidityTaken;
  uint256 totalStableDebt;
  uint256 totalVariableDebt;
  uint256 averageStableBorrowRate;
  uint256 reserveFactor;
  address reserve;
  address aToken;
}

InitReserveParams

struct InitReserveParams {
  address asset;
  address aTokenAddress;
  address stableDebtAddress;
  address variableDebtAddress;
  address interestRateStrategyAddress;
  uint16 reservesCount;
  uint16 maxNumberReserves;
}