Packages

Elixir client library for the Alpaca Trading API. Supports trading, market data, and account management.

Current section

Files

Jump to
alpa_ex lib alpa models crypto_wallet.ex
Raw

lib/alpa/models/crypto_wallet.ex

defmodule Alpa.Models.CryptoWallet do
@moduledoc """
Crypto wallet model for funding operations.
"""
use TypedStruct
typedstruct do
field :id, String.t()
field :asset_id, String.t()
field :symbol, String.t()
field :status, String.t()
field :address, String.t()
field :created_at, DateTime.t()
end
@spec from_map(map()) :: t()
def from_map(data) when is_map(data) do
%__MODULE__{
id: data["id"],
asset_id: data["asset_id"],
symbol: data["symbol"],
status: data["status"],
address: data["address"],
created_at: parse_datetime(data["created_at"])
}
end
defp parse_datetime(nil), do: nil
defp parse_datetime(value) when is_binary(value) do
case DateTime.from_iso8601(value) do
{:ok, dt, _offset} -> dt
_ -> nil
end
end
end