Interface IContractService
public interface IContractService
Methods
DeriveContract(string, NextContractPurpose, ArkContract[], ContractActivityState, Dictionary<string, string>?, CancellationToken)
Derives a new contract for the specified purpose, with optional input contracts for descriptor recycling. When inputContracts are provided and purpose is SendToSelf, HD wallets may reuse a descriptor from the inputs to avoid index bloat and reduce contract data accumulation. Inputs the wallet is still advertising as an inbound destination are skipped, since recycling deactivates the reused script — see GetNextContract(NextContractPurpose, ContractActivityState, ArkContract[]?, CancellationToken).
Task<ArkContract> DeriveContract(string walletId, NextContractPurpose purpose, ArkContract[] inputContracts, ContractActivityState activityState = ContractActivityState.Active, Dictionary<string, string>? metadata = null, CancellationToken cancellationToken = default)
Parameters
walletIdstringpurposeNextContractPurposeinputContractsArkContract[]activityStateContractActivityStatemetadataDictionary<string, string>cancellationTokenCancellationToken
Returns
DeriveContract(string, NextContractPurpose, ContractActivityState, Dictionary<string, string>?, CancellationToken)
Derives a new contract for the specified purpose.
Task<ArkContract> DeriveContract(string walletId, NextContractPurpose purpose, ContractActivityState activityState = ContractActivityState.Active, Dictionary<string, string>? metadata = null, CancellationToken cancellationToken = default)
Parameters
walletIdstringpurposeNextContractPurposeactivityStateContractActivityStatemetadataDictionary<string, string>cancellationTokenCancellationToken
Returns
ImportContract(string, ArkContract, ContractActivityState, Dictionary<string, string>?, CancellationToken)
Task ImportContract(string walletId, ArkContract contract, ContractActivityState activityState = ContractActivityState.Active, Dictionary<string, string>? metadata = null, CancellationToken cancellationToken = default)
Parameters
walletIdstringcontractArkContractactivityStateContractActivityStatemetadataDictionary<string, string>cancellationTokenCancellationToken