Interface IArkadeAddressProvider
- Namespace
- NArk.Abstractions.Wallets
- Assembly
- NArk.Abstractions.dll
Derives and tracks Arkade contracts for a wallet (receive addresses, boarding scripts, change outputs).
public interface IArkadeAddressProvider
Methods
GetNextContract(NextContractPurpose, ContractActivityState, ArkContract[]?, CancellationToken)
Gets the next contract for the specified purpose.
Task<(ArkContract contract, ArkContractEntity entity)> GetNextContract(NextContractPurpose purpose, ContractActivityState activityState, ArkContract[]? inputContracts = null, CancellationToken cancellationToken = default)
Parameters
purposeNextContractPurposePurpose of the contract
activityStateContractActivityStateActivity state for the contract
inputContractsArkContract[]Optional input contracts for descriptor recycling (SendToSelf only). When provided, HD wallets may reuse a descriptor from the inputs to avoid index bloat.
cancellationTokenCancellationTokenCancellation 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.
Task<OutputDescriptor> GetNextSigningDescriptor(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
IsOurs(OutputDescriptor, CancellationToken)
Returns true if the given descriptor belongs to this wallet.
Task<bool> IsOurs(OutputDescriptor descriptor, CancellationToken cancellationToken = default)
Parameters
descriptorOutputDescriptorcancellationTokenCancellationToken