Kujira.Ghost.Vault (kujira v0.1.51)

A central vault for deposits of a specific deposit_token, which is lent to the Vault's markets, and interest earned on deposits


  • :address - The address of the market

  • :owner - The owner of the market

  • :deposit_token - The token deposited into the vault to be lent

  • :oracle_denom - The denom string that is used to price the deposit token

  • :receipt_token - The token minted on deposit, that represents ownership of that deposit

  • :debt_token - The token minted and sent to a Market when borrowing, use as an accounting tool to accrue interest on debt

  • :markets - The whitelisted markets that are allowed to borrow from the Vault



@type t() :: %Kujira.Ghost.Vault{
  address: String.t(),
  debt_token: Kujira.Token.t(),
  deposit_token: Kujira.Token.t(),
  markets: :not_loaded | [Kujira.Ghost.Market.t()],
  oracle_denom: {:live, String.t()} | {:static, Decimal.t()},
  owner: String.t(),
  receipt_token: Kujira.Token.t(),
  status: :not_loaded | Kujira.Ghost.Vault.Status.t()


Link to this function

from_config(channel, address, map)

@spec from_config(GRPC.Channel.t(), String.t(), map()) :: {:ok, t()} | :error