View Source Stellar.TxBuild.Spec behaviour (Elixir Stellar SDK v0.22.0)
Defines contracts to build a Stellar transaction.
Summary
Types
@type account() :: Stellar.TxBuild.Account.t()
@type base_fee() :: Stellar.TxBuild.BaseFee.t()
@type envelope() :: String.t()
@type hash() :: String.t()
@type memo() :: Stellar.TxBuild.Memo.t()
@type network_passphrase() :: String.t()
@type operation() :: Stellar.TxBuild.AccountMerge.t() | Stellar.TxBuild.BumpSequence.t() | Stellar.TxBuild.BeginSponsoringFutureReserves.t() | Stellar.TxBuild.ChangeTrust.t() | Stellar.TxBuild.Clawback.t() | Stellar.TxBuild.ClawbackClaimableBalance.t() | Stellar.TxBuild.CreateAccount.t() | Stellar.TxBuild.CreatePassiveSellOffer.t() | Stellar.TxBuild.EndSponsoringFutureReserves.t() | Stellar.TxBuild.ManageData.t() | Stellar.TxBuild.ManageSellOffer.t() | Stellar.TxBuild.ManageBuyOffer.t() | Stellar.TxBuild.Payment.t() | Stellar.TxBuild.PathPaymentStrictSend.t() | Stellar.TxBuild.PathPaymentStrictReceive.t() | Stellar.TxBuild.SetOptions.t()
@type operations() :: [operation()]
@type opts() :: Keyword.t()
@type preconditions() :: Stellar.TxBuild.Preconditions.t()
@type sequence_number() :: Stellar.TxBuild.SequenceNumber.t()
@type signatures() :: Stellar.TxBuild.Signature.t() | [Stellar.TxBuild.Signature.t()]
@type soroban_data() :: String.t() | StellarBase.XDR.SorobanTransactionData.t()
@type time_bounds() :: Stellar.TxBuild.TimeBounds.t()
@type tx_build() :: {:ok, Stellar.TxBuild.t()} | {:error, atom()}
Callbacks
@callback add_operations(tx_build(), operations()) :: tx_build()
@callback envelope(tx_build()) :: tx_envelope()
@callback set_network_passphrase(tx_build(), network_passphrase()) :: tx_build()
@callback set_preconditions(tx_build(), preconditions()) :: tx_build()
@callback set_sequence_number(tx_build(), sequence_number()) :: tx_build()
@callback set_soroban_data(tx_build(), soroban_data()) :: tx_build()
@callback set_time_bounds(tx_build(), time_bounds()) :: tx_build()
@callback sign(tx_build(), signatures()) :: tx_build()
@callback sign_envelope(envelope(), signatures(), network_passphrase()) :: tx_envelope()