Table of Contents

Class VtxoChainProofProvider

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

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

public class VtxoChainProofProvider : IVtxoChainProofProvider
Inheritance
VtxoChainProofProvider
Implements
Inherited Members

Constructors

VtxoChainProofProvider(IVtxoStorage, IContractStorage, ICoinService, IWalletProvider, IClientTransport, ILogger<VtxoChainProofProvider>?)

public VtxoChainProofProvider(IVtxoStorage vtxoStorage, IContractStorage contractStorage, ICoinService coinService, IWalletProvider walletProvider, IClientTransport transport, ILogger<VtxoChainProofProvider>? logger = null)

Parameters

vtxoStorage IVtxoStorage
contractStorage IContractStorage
coinService ICoinService
walletProvider IWalletProvider
transport IClientTransport
logger ILogger<VtxoChainProofProvider>

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).

public 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.

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

Parameters

vtxoOutpoint OutPoint
cancellationToken CancellationToken

Returns

Task<(string Proof, string Message)?>