defmodule Stellar.Horizon.Path do
@moduledoc """
Represents a `Path` resource from Horizon API.
"""
@behaviour Stellar.Horizon.Resource
alias Stellar.Horizon.Mapping
@type t :: %__MODULE__{
source_asset_type: String.t(),
source_asset_code: String.t(),
source_asset_issuer: String.t(),
source_amount: String.t(),
destination_asset_type: String.t(),
destination_asset_code: String.t(),
destination_asset_issuer: String.t(),
destination_amount: String.t(),
path: list(map())
}
defstruct [
:source_asset_type,
:source_asset_code,
:source_asset_issuer,
:source_amount,
:destination_asset_type,
:destination_asset_code,
:destination_asset_issuer,
:destination_amount,
:path
]
@impl true
def new(attrs, opts \\ [])
def new(attrs, _opts) do
Mapping.build(%__MODULE__{}, attrs)
end
end