# `Rujira.Fin.Order`
[🔗](https://github.com/RujiraNetwork/rujira_ex/blob/v0.0.1/lib/rujira/fin/order.ex#L1)

Trading order for the FIN protocol.

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

# `deviation`

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

# `side`

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

# `t`

```elixir
@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`

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

# `from_id`

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

# `list`

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

# `list_all`

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

# `list_all_pairs`

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

# `load`

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

# `new`

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

# `query_list`

# `query_list`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
