Packages

Elixir client library for cryptocurrency exchanges — generated from CCXT specs via compile-time macros.

Current section

Files

Jump to
ccxt_client lib ccxt deposit_address.ex
Raw

lib/ccxt/deposit_address.ex

defmodule CCXT.DepositAddress do
@moduledoc """
Unified deposit address data.
Represents a deposit address for a specific currency and network.
## Fields
* `currency` - Currency code (e.g., "BTC")
* `network` - Blockchain network (e.g., "ERC20", "TRC20")
* `address` - Deposit address
* `tag` - Deposit tag/memo (required for some currencies like XRP, EOS)
* `info` - Raw exchange response
"""
import JSONSpec, only: [schema: 2]
@type t :: %__MODULE__{
currency: String.t() | nil,
network: String.t() | nil,
address: String.t() | nil,
tag: String.t() | nil,
info: map() | nil
}
defstruct [:currency, :network, :address, :tag, :info]
@json_schema schema(
%{
currency: String.t() | nil,
network: String.t() | nil,
address: String.t() | nil,
tag: String.t() | nil,
info: map() | nil
},
doc: [
currency: "Currency code (e.g., BTC)",
network: "Blockchain network (e.g., ERC20, TRC20)",
address: "Deposit address",
tag: "Deposit tag/memo (required for some currencies like XRP, EOS)",
info: "Raw exchange response"
]
)
@doc "JSON Schema for the DepositAddress unified type."
@spec schema() :: map()
def schema, do: @json_schema
end