Typed struct for Aave V3 per-user reserve data from getUserReservesData.
Contains scaled token balances (raw integers) for a single reserve.
Scaled values must be divided by the reserve's liquidityIndex or
variableBorrowIndex (from AggregatedReserveData) to get actual amounts.
Fields
| Field | Raw Type | Elixir Type | Conversion |
|---|---|---|---|
underlying_asset | address | String.t() | Address.checksum!/1 |
scaled_a_token_balance | uint256 | non_neg_integer() | raw |
usage_as_collateral_enabled_on_user | bool | boolean() | raw |
scaled_variable_debt | uint256 | non_neg_integer() | raw |
API Functions
| Function | Arity | Description | Param Kinds |
|---|---|---|---|
from_raw | 1 | Convert raw UserReserveData tuple from getUserReservesData into a typed struct. | raw: exchange_data |
Summary
Functions
Convert raw UserReserveData tuple from getUserReservesData into a typed struct.
Types
@type t() :: %Onchain.Aave.Types.UserReserveData{ scaled_a_token_balance: non_neg_integer(), scaled_variable_debt: non_neg_integer(), underlying_asset: String.t(), usage_as_collateral_enabled_on_user: boolean() }
Functions
@spec from_raw({binary(), non_neg_integer(), boolean(), non_neg_integer()}) :: t()
Convert raw UserReserveData tuple from getUserReservesData into a typed struct.
Parameters
raw- 4-element tuple: {address, scaled_balance, collateral_enabled, scaled_debt} (exchange_data)
Returns
%UserReserveData{} with checksummed address (struct)
# descripex:contract
%{
params: %{
raw: %{
description: "4-element tuple: {address, scaled_balance, collateral_enabled, scaled_debt}",
source: "Onchain.Aave.UiPoolDataProvider.get_user_reserves_data/2",
kind: :exchange_data
}
},
returns: %{
type: :struct,
description: "%UserReserveData{} with checksummed address"
}
}