Rujira.Fin.Order (rujira_ex v0.0.1)

Copy Markdown View Source

Trading order for the FIN protocol.

Struct, construction, and queries. Use Rujira.Fin as the public API.

Summary

Types

deviation()

@type deviation() :: nil | integer()

side()

@type side() :: :base | :quote

t()

@type t() :: %Rujira.Fin.Order{
  deviation: deviation(),
  filled: Rujira.Amount.t(),
  filled_fee: Rujira.Amount.t(),
  filled_value: Rujira.Amount.t(),
  id: String.t(),
  offer: Rujira.Amount.t(),
  offer_value: Rujira.Amount.t(),
  owner: String.t(),
  pair: String.t(),
  rate: Decimal.t(),
  remaining: Rujira.Amount.t(),
  remaining_value: Rujira.Amount.t(),
  side: side(),
  type: type_order(),
  updated_at: DateTime.t(),
  value_usd: Rujira.Amount.t()
}

type_order()

@type type_order() :: :fixed | :oracle

Functions

from_id(id)

@spec from_id(String.t()) :: {:ok, t()} | {:error, term()}

list(pair, address, limit \\ 30)

@spec list(Rujira.Fin.Pair.t(), String.t(), integer()) ::
  {:ok, [t()]} | {:error, term()}

list_all(pair, opts)

@spec list_all(
  Rujira.Fin.Pair.t(),
  keyword()
) :: {:ok, [t()]} | {:error, term()}

list_all_pairs(address)

@spec list_all_pairs(String.t()) :: {:ok, [t()]} | {:error, term()}

load(pair, side, price, owner)

@spec load(Rujira.Fin.Pair.t(), String.t(), String.t(), String.t()) ::
  {:ok, t()} | {:error, term()}

new(map1, map2)

@spec new(Rujira.Fin.Pair.t(), map()) :: {:ok, t()} | {:error, term()}

query_list(t1, t2)

query_list(t1, t2, t3)