Packages

Elixir SDK for the Stellar network.

Current section

Files

Jump to
stellar_sdk_fork lib tx_build ledger config_setting.ex
Raw

lib/tx_build/ledger/config_setting.ex

defmodule Stellar.TxBuild.Ledger.ConfigSetting do
@moduledoc """
Ledger `ConfigSetting` struct definition.
"""
alias StellarBase.XDR.LedgerKeyConfigSetting
alias Stellar.TxBuild.ConfigSettingID
@behaviour Stellar.TxBuild.XDR
@type t :: %__MODULE__{config_setting_id: ConfigSettingID.t()}
defstruct [:config_setting_id]
@impl true
def new(config_setting_id, opts \\ [])
def new(config_setting_id, _opts) do
case ConfigSettingID.new(config_setting_id) do
%ConfigSettingID{} = config_setting_id -> %__MODULE__{config_setting_id: config_setting_id}
error -> error
end
end
@impl true
def to_xdr(%__MODULE__{config_setting_id: config_setting_id}) do
config_setting_id
|> ConfigSettingID.to_xdr()
|> LedgerKeyConfigSetting.new()
end
end