Class HierarchicalDeterministicAddressProvider
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
transportIClientTransportsafetyServiceISafetyServicewalletStorageIWalletStoragecontractStorageIContractStoragewalletArkWalletInfonetworkNetwork
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
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.
public Task<OutputDescriptor> GetNextSigningDescriptor(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
IsOurs(OutputDescriptor, CancellationToken)
Returns true if the given descriptor belongs to this wallet.
public Task<bool> IsOurs(OutputDescriptor descriptor, CancellationToken cancellationToken = default)
Parameters
descriptorOutputDescriptorcancellationTokenCancellationToken