Packages
stellar_sdk
0.11.5
0.23.0
0.22.0
0.21.2
0.21.1
0.21.0
0.20.0
0.19.0
0.18.1
0.18.0
0.17.1
0.17.0
0.16.1
0.16.0
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Elixir SDK for the Stellar network.
Current section
Files
Jump to
Current section
Files
lib/tx_build/spec.ex
defmodule Stellar.TxBuild.Spec do
@moduledoc """
Defines contracts to build a Stellar transaction.
"""
alias Stellar.TxBuild
alias Stellar.TxBuild.{
Account,
AccountMerge,
BaseFee,
BumpSequence,
BeginSponsoringFutureReserves,
ChangeTrust,
Clawback,
ClawbackClaimableBalance,
CreateAccount,
CreatePassiveSellOffer,
EndSponsoringFutureReserves,
ManageData,
ManageSellOffer,
ManageBuyOffer,
Memo,
Payment,
PathPaymentStrictSend,
PathPaymentStrictReceive,
SequenceNumber,
SetOptions,
Signature,
TimeBounds,
Preconditions
}
@type opts :: Keyword.t()
@type account :: Account.t()
@type sequence_number :: SequenceNumber.t()
@type memo :: Memo.t()
@type base_fee :: BaseFee.t()
@type time_bounds :: TimeBounds.t()
@type preconditions :: Preconditions.t()
@type signatures :: Signature.t() | list(Signature.t())
@type operation ::
AccountMerge.t()
| BumpSequence.t()
| BeginSponsoringFutureReserves.t()
| ChangeTrust.t()
| Clawback.t()
| ClawbackClaimableBalance.t()
| CreateAccount.t()
| CreatePassiveSellOffer.t()
| EndSponsoringFutureReserves.t()
| ManageData.t()
| ManageSellOffer.t()
| ManageBuyOffer.t()
| Payment.t()
| PathPaymentStrictSend.t()
| PathPaymentStrictReceive.t()
| SetOptions.t()
@type operations :: list(operation())
@type envelope :: String.t()
@type hash :: String.t()
@type tx_build :: {:ok, TxBuild.t()} | {:error, atom()}
@type tx_envelope :: {:ok, envelope()} | {:error, atom()}
@type tx_hash :: {:ok, hash()} | {:error, atom()}
@callback new(account(), opts()) :: tx_build()
@callback add_memo(tx_build(), memo()) :: tx_build()
@callback set_time_bounds(tx_build(), time_bounds()) :: tx_build()
@callback set_preconditions(tx_build(), preconditions()) :: tx_build()
@callback set_base_fee(tx_build(), base_fee()) :: tx_build()
@callback set_sequence_number(tx_build(), sequence_number()) :: tx_build()
@callback add_operation(tx_build(), operation()) :: tx_build()
@callback add_operations(tx_build(), operations()) :: tx_build()
@callback sign(tx_build(), signatures()) :: tx_build()
@callback build(tx_build()) :: tx_build()
@callback envelope(tx_build()) :: tx_envelope()
@callback sign_envelope(envelope(), signatures()) :: tx_envelope()
@callback hash(tx_build()) :: tx_hash()
@optional_callbacks add_memo: 2,
set_base_fee: 2,
set_time_bounds: 2,
set_preconditions: 2,
set_sequence_number: 2
end