Concentrated liquidity position (range) for the FIN protocol.
Struct, construction, and queries. Use Rujira.Fin as the public API.
Summary
Functions
Parses a range from a contract query response.
Types
@type t() :: %Rujira.Fin.Range{ ask: Decimal.t(), base: Rujira.Amount.t(), bid: Decimal.t(), fee: Decimal.t(), fees_base: Rujira.Amount.t(), fees_quote: Rujira.Amount.t(), high: Decimal.t(), id: String.t(), idx: integer(), low: Decimal.t(), owner: String.t(), pair: String.t(), price: Decimal.t(), quote: Rujira.Amount.t(), skew: Decimal.t(), spread: Decimal.t(), value_usd: Rujira.Amount.t() }
Functions
@spec list(Rujira.Fin.Pair.t(), String.t() | nil, keyword()) :: {:ok, [t()]} | {:error, term()}
@spec load(Rujira.Fin.Pair.t(), integer()) :: {:ok, t()} | {:error, term()}
@spec new(Rujira.Fin.Pair.t(), map()) :: {:ok, t()} | {:error, term()}
Parses a range from a contract query response.
When called with a string address and integer index, creates a minimal range struct for subscription edge responses.
@spec total_tvl() :: {:ok, non_neg_integer()} | {:error, term()}
@spec tvl(Rujira.Fin.Pair.t()) :: {:ok, non_neg_integer()} | {:error, term()}