STAS transaction factories.
Pure functions that build complete, signed transactions for STAS token operations: issue, transfer, split, merge, and redeem.
Summary
Functions
Build an issue transaction.
Build a merge transaction.
Build a redeem (burn) transaction.
Build a split transaction.
Build a transfer transaction.
Types
@type issue_config() :: %{ contract_utxo: BSV.Tokens.Payment.t(), destinations: [BSV.Tokens.Destination.t()], redemption_pkh: <<_::160>>, splittable: boolean(), funding: BSV.Tokens.Payment.t(), fee_rate: non_neg_integer() }
@type merge_config() :: %{ token_utxos: [BSV.Tokens.Payment.t()], destination: BSV.Tokens.Destination.t(), redemption_pkh: <<_::160>>, splittable: boolean(), funding: BSV.Tokens.Payment.t(), fee_rate: non_neg_integer() }
@type redeem_config() :: %{ token_utxo: BSV.Tokens.Payment.t(), funding: BSV.Tokens.Payment.t(), fee_rate: non_neg_integer() }
@type split_config() :: %{ token_utxo: BSV.Tokens.Payment.t(), destinations: [BSV.Tokens.Destination.t()], redemption_pkh: <<_::160>>, funding: BSV.Tokens.Payment.t(), fee_rate: non_neg_integer() }
@type transfer_config() :: %{ token_utxo: BSV.Tokens.Payment.t(), destination: BSV.Tokens.Destination.t(), redemption_pkh: <<_::160>>, splittable: boolean(), funding: BSV.Tokens.Payment.t(), fee_rate: non_neg_integer() }
Functions
@spec build_issue_tx(issue_config()) :: {:ok, BSV.Transaction.t()} | {:error, term()}
Build an issue transaction.
@spec build_merge_tx(merge_config()) :: {:ok, BSV.Transaction.t()} | {:error, term()}
Build a merge transaction.
@spec build_redeem_tx(redeem_config()) :: {:ok, BSV.Transaction.t()} | {:error, term()}
Build a redeem (burn) transaction.
@spec build_split_tx(split_config()) :: {:ok, BSV.Transaction.t()} | {:error, term()}
Build a split transaction.
@spec build_transfer_tx(transfer_config()) :: {:ok, BSV.Transaction.t()} | {:error, term()}
Build a transfer transaction.