Table of Contents

Class HierarchicalDeterministicAddressProvider

Namespace
NArk.Core.Wallet
Assembly
NArk.Core.dll
public class HierarchicalDeterministicAddressProvider : IArkadeAddressProvider
Inheritance
HierarchicalDeterministicAddressProvider
Implements
Inherited Members

Constructors

HierarchicalDeterministicAddressProvider(IClientTransport, ISafetyService, IWalletStorage, IContractStorage, ArkWalletInfo, Network)

public HierarchicalDeterministicAddressProvider(IClientTransport transport, ISafetyService safetyService, IWalletStorage walletStorage, IContractStorage contractStorage, ArkWalletInfo wallet, Network network)

Parameters

transport IClientTransport
safetyService ISafetyService
walletStorage IWalletStorage
contractStorage IContractStorage
wallet ArkWalletInfo
network Network

Methods

GetNextContract(NextContractPurpose, ContractActivityState, ArkContract[]?, CancellationToken)

Gets the next contract for the specified purpose.

public Task<(ArkContract contract, ArkContractEntity entity)> GetNextContract(NextContractPurpose purpose, ContractActivityState activityState, ArkContract[]? inputContracts = null, CancellationToken cancellationToken = default)

Parameters

purpose NextContractPurpose

Purpose of the contract

activityState ContractActivityState

Activity state for the contract

inputContracts ArkContract[]

Optional input contracts for descriptor recycling (SendToSelf only). When provided, HD wallets may reuse a descriptor from the inputs to avoid index bloat.

cancellationToken CancellationToken

Cancellation token

Returns

Task<(ArkContract contract, ArkContractEntity entity)>

A tuple of (contract, entity). The entity's activity state may be overridden for special cases (e.g., static sweep addresses).

GetNextSigningDescriptor(CancellationToken)

Returns the next unused signing descriptor without persisting a contract or advancing the gap counter.

public Task<OutputDescriptor> GetNextSigningDescriptor(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<OutputDescriptor>

IsOurs(OutputDescriptor, CancellationToken)

Returns true if the given descriptor belongs to this wallet.

public Task<bool> IsOurs(OutputDescriptor descriptor, CancellationToken cancellationToken = default)

Parameters

descriptor OutputDescriptor
cancellationToken CancellationToken

Returns

Task<bool>