Table of Contents

Interface IVtxoChainProofProvider

Namespace
NArk.Core.Services
Assembly
NArk.Core.dll

Builds the BIP-322-style ownership proof that authenticates GetVtxoChainAsync(OutPoint, string?, string?, CancellationToken) against the Arkade indexer. Given a VTXO the wallet owns, it resolves the backing contract, coin and signer and produces the {"type":"get-data"} intent proof arkd expects.

public interface IVtxoChainProofProvider

Methods

TryCreateProofAsync(ArkVtxo, CancellationToken)

Attempts to build an ownership proof for an already-materialised vtxo, avoiding a storage round-trip. Returns null under the same conditions as TryCreateProofAsync(OutPoint, CancellationToken).

Task<(string Proof, string Message)?> TryCreateProofAsync(ArkVtxo vtxo, CancellationToken cancellationToken = default)

Parameters

vtxo ArkVtxo
cancellationToken CancellationToken

Returns

Task<(string Proof, string Message)?>

TryCreateProofAsync(OutPoint, CancellationToken)

Attempts to build an ownership proof for the VTXO at vtxoOutpoint. Returns null when the VTXO is unknown to this wallet, its contract cannot be resolved, or no signer is registered — callers then fall back to the anonymous (public-exposure) indexer lookup.

Task<(string Proof, string Message)?> TryCreateProofAsync(OutPoint vtxoOutpoint, CancellationToken cancellationToken = default)

Parameters

vtxoOutpoint OutPoint
cancellationToken CancellationToken

Returns

Task<(string Proof, string Message)?>