Onchain.Aave.V4.Hub.Asset (onchain_aave v0.4.0)

Copy Markdown View Source

Typed IHub.Asset — Hub-level liquidity, shares, and drawn-rate environment.

Amounts are raw integers. RAY-scaled fields keep the _ray / rate / index suffix rather than converting to Decimal.

API Functions

FunctionArityDescriptionParam Kinds
from_raw1Convert a decoded IHub.Asset tuple into a typed struct.raw: exchange_data

Summary

Functions

Convert a decoded IHub.Asset tuple into a typed struct.

Types

t()

@type t() :: %Onchain.Aave.V4.Hub.Asset{
  added_shares: non_neg_integer(),
  decimals: non_neg_integer(),
  deficit_ray: non_neg_integer(),
  drawn_index: non_neg_integer(),
  drawn_rate: non_neg_integer(),
  drawn_shares: non_neg_integer(),
  fee_receiver: String.t(),
  ir_strategy: String.t(),
  last_update_timestamp: non_neg_integer(),
  liquidity: non_neg_integer(),
  liquidity_fee: non_neg_integer(),
  premium_offset_ray: integer(),
  premium_shares: non_neg_integer(),
  realized_fees: non_neg_integer(),
  reinvestment_controller: String.t(),
  swept: non_neg_integer(),
  underlying: String.t()
}

Functions

from_raw(arg)

@spec from_raw(tuple()) :: t()

Convert a decoded IHub.Asset tuple into a typed struct.

Parameters

  • raw - 17-element tuple from getAsset (exchange_data)

Returns

%Onchain.Aave.V4.Hub.Asset{} (struct)

# descripex:contract
%{
  params: %{
    raw: %{
      description: "17-element tuple from getAsset",
      source: "Onchain.Aave.V4.Hub.get_asset/3",
      kind: :exchange_data
    }
  },
  returns: %{type: :struct, description: "%Onchain.Aave.V4.Hub.Asset{}"}
}