# Functions
ConvertToTransfer prepares the finished send data for storing to the database as a transfer.
DisableLog disables all library log output.
NewAddressParcel creates a new AddressParcel.
NewAssetWallet creates a new AssetWallet instance from the given configuration.
NewChainPorter creates a new instance of the ChainPorter given a valid config.
NewCoinSelect creates a new CoinSelect.
NewPendingParcel creates a new PendingParcel.
NewPreAnchoredParcel creates a new PreAnchoredParcel.
NewPreSignedParcel creates a new PreSignedParcel.
SkipInputProofVerify sets an optional argument flag such that SignVirtualPacket skips virtual input proof verification.
UseLogger uses a specified Logger to output package logging info.
WithValidator sets an optional argument that allows the caller to specify a custom witness validator to use when signing the virtual packet.
# Constants
PreferMaxAmount is a strategy which considers commitments in order of descending amounts and selects the first subset which cumulatively sums to at least the minimum target amount.
SendStateAnchorSign is the state we enter after the PSBT has been funded.
SendStateBroadcast broadcasts the transfer transaction to the network, and imports the taproot output back into the wallet to ensure it properly tracks the coins allocated to the anchor output.
SendStateComplete is the state which is reached once entire asset transfer process is complete.
SendStateStorePreBroadcast is the state in which the finalized fully signed transaction is written to persistent storage before broadcast.
SendStateStoreProofs is the state in which we will write the sender and receiver proofs to the proof archive.
SendStateTransferProofs is the state where we attempt to transfer on-chain transaction proof(s) to the receiving party or parties.
SendStateVirtualCommitmentSelect is the state for performing input coin selection to pick out which assets inputs should be spent.
SendStateVirtualSign is used to generate the Taproot Asset level witness data for any inputs being spent.
SendStateWaitTxConf is a state in which we will wait for the transfer transaction to confirm on-chain.
Subsystem defines the logging code for this subsystem.
# Variables
ErrFullBurnNotSupported is returned when we attempt to burn all assets of an anchor output, which is not supported.
ErrMatchingAssetsNotFound is returned when an instance of AssetStoreListCoins cannot satisfy the given asset identification constraints.
# Structs
AddressParcel is the main request to issue an asset transfer.
Anchor represents the database level representation of an anchor output.
AnchoredCommitment is the response to satisfying the set of CommitmentConstraints.
AnchorVTxnsParams holds all the parameters needed to create a BTC level anchor transaction that anchors multiple virtual transactions.
AssetConfirmEvent is used to mark a batched spend as confirmed on disk.
AssetSendEvent is an event which is sent to the ChainPorter's event subscribers after a state was executed.
AssetWallet is an implementation of the Wallet interface that can create virtual transactions, sign them and commit them on-chain.
ChainPorter is the main sub-system of the tapfreighter package.
ChainPorterConfig is the main config for the chain porter.
CoinSelect selects asset coins to spend in order to fund a send transaction.
CommitmentConstraints conveys the constraints on the type of Taproot asset commitments needed to satisfy a send request.
FundedVPacket is the result from an attempt to fund a given Taproot Asset address send request via a call to FundAddressSend.
OutboundParcel represents the database level delta of an outbound Taproot Asset parcel (outbound spend).
PendingParcel is a parcel that has not yet completed delivery.
PreAnchoredParcel is a request to log and publish an asset transfer of a pre-anchored parcel.
PreSignedParcel is a request to issue an asset transfer of a pre-signed parcel.
SignVirtualPacketOptions is a set of functional options that allow callers to further modify the virtual packet signing process.
TransferInput represents the database level input to an asset transfer.
TransferOutput represents the database level output to an asset transfer.
WalletConfig holds the configuration for a new Wallet.
# Interfaces
AddrBook is an interface that provides access to the address book.
CoinLister attracts over the coin selection process needed to be able to execute moving taproot assets on chain.
CoinSelector is an interface that describes the functionality used in selecting coins during the asset send process.
ExportLog is used to track the state of outbound Taproot Asset parcels (batched spends).
Parcel is an interface that each parcel type must implement.
Porter is a high level interface that wraps the main caller execution point to the ChainPorter.
ProofExporter is used to fetch input proofs to.
ProofImporter is used to import proofs into the local proof archive after we complete a trransfer.
Wallet is an interface for funding and signing asset transfers.
WalletAnchor aliases into the WalletAnchor of the taparden package.
# Type aliases
ChainBridge aliases into the ChainBridge of the tapgarden package.
KeyRing aliases into the KeyRing of the tapgarden package.
MultiCommitmentSelectStrategy is an enum that describes the strategy that should be used when preferentially selecting multiple commitments.
SendState is an enum that describes the current state of a pending outbound parcel (asset transfer).
Signer aliases into the Signer interface of the tapscript package.
SignVirtualPacketOption is a functional option that allows a caller to modify the virtual packet signing process.