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