Table of Contents

Interface IVirtualTxStorage

Namespace
NArk.Abstractions.VirtualTxs
Assembly
NArk.Abstractions.dll

Storage for virtual transactions and their association with VTXOs.

public interface IVirtualTxStorage

Methods

GetBranchAsync(OutPoint, CancellationToken)

Get the virtual txs in a VTXO's exit branch, ordered by position.

Task<IReadOnlyList<VirtualTx>> GetBranchAsync(OutPoint vtxoOutpoint, CancellationToken cancellationToken = default)

Parameters

vtxoOutpoint OutPoint
cancellationToken CancellationToken

Returns

Task<IReadOnlyList<VirtualTx>>

GetVirtualTxAsync(string, CancellationToken)

Get a single virtual tx by txid.

Task<VirtualTx?> GetVirtualTxAsync(string txid, CancellationToken cancellationToken = default)

Parameters

txid string
cancellationToken CancellationToken

Returns

Task<VirtualTx>

HasBranchAsync(OutPoint, CancellationToken)

Check whether a VTXO has a stored branch.

Task<bool> HasBranchAsync(OutPoint vtxoOutpoint, CancellationToken cancellationToken = default)

Parameters

vtxoOutpoint OutPoint
cancellationToken CancellationToken

Returns

Task<bool>

PruneForSpentVtxoAsync(OutPoint, CancellationToken)

Remove branch entries for a spent VTXO, then clean up orphaned VirtualTx rows.

Task PruneForSpentVtxoAsync(OutPoint vtxoOutpoint, CancellationToken cancellationToken = default)

Parameters

vtxoOutpoint OutPoint
cancellationToken CancellationToken

Returns

Task

SetBranchAsync(OutPoint, IReadOnlyList<VtxoBranch>, CancellationToken)

Set the branch (ordered list of virtual txids) for a VTXO. Replaces any existing branch.

Task SetBranchAsync(OutPoint vtxoOutpoint, IReadOnlyList<VtxoBranch> branch, CancellationToken cancellationToken = default)

Parameters

vtxoOutpoint OutPoint
branch IReadOnlyList<VtxoBranch>
cancellationToken CancellationToken

Returns

Task

UpsertVirtualTxsAsync(IReadOnlyList<VirtualTx>, CancellationToken)

Upsert virtual transaction records. If a tx already exists, updates non-null fields.

Task UpsertVirtualTxsAsync(IReadOnlyList<VirtualTx> txs, CancellationToken cancellationToken = default)

Parameters

txs IReadOnlyList<VirtualTx>
cancellationToken CancellationToken

Returns

Task