defmodule Stellar.Horizon.FeeStat do
@moduledoc """
Represents a `FeeStat` resource from Horizon API.
"""
@behaviour Stellar.Horizon.Resource
alias Stellar.Horizon.Mapping
@type t :: %__MODULE__{
last_ledger: non_neg_integer(),
last_ledger_base_fee: non_neg_integer(),
ledger_capacity_usage: String.t(),
fee_charged: map(),
max_fee: map()
}
defstruct [
:last_ledger,
:last_ledger_base_fee,
:ledger_capacity_usage,
:fee_charged,
:max_fee
]
@mapping [
last_ledger: :integer,
last_ledger_base_fee: :integer
]
@impl true
def new(attrs, opts \\ [])
def new(attrs, _opts) do
%__MODULE__{}
|> Mapping.build(attrs)
|> Mapping.parse(@mapping)
end
end