Class ContractService
public class ContractService : IContractService
- Inheritance
-
ContractService
- Implements
- Inherited Members
Constructors
ContractService(IWalletProvider, IContractStorage, IClientTransport)
public ContractService(IWalletProvider walletProvider, IContractStorage contractStorage, IClientTransport transport)
Parameters
walletProviderIWalletProvidercontractStorageIContractStoragetransportIClientTransport
ContractService(IWalletProvider, IContractStorage, IClientTransport, ILogger<ContractService>)
public ContractService(IWalletProvider walletProvider, IContractStorage contractStorage, IClientTransport transport, ILogger<ContractService> logger)
Parameters
walletProviderIWalletProvidercontractStorageIContractStoragetransportIClientTransportloggerILogger<ContractService>
ContractService(IWalletProvider, IContractStorage, IClientTransport, IEnumerable<IEventHandler<NewContractActionEvent>>, ILogger<ContractService>?)
public ContractService(IWalletProvider walletProvider, IContractStorage contractStorage, IClientTransport transport, IEnumerable<IEventHandler<NewContractActionEvent>> eventHandlers, ILogger<ContractService>? logger = null)
Parameters
walletProviderIWalletProvidercontractStorageIContractStoragetransportIClientTransporteventHandlersIEnumerable<IEventHandler<NewContractActionEvent>>loggerILogger<ContractService>
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.
public 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.
public 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)
public Task ImportContract(string walletId, ArkContract contract, ContractActivityState activityState = ContractActivityState.Active, Dictionary<string, string>? metadata = null, CancellationToken cancellationToken = default)
Parameters
walletIdstringcontractArkContractactivityStateContractActivityStatemetadataDictionary<string, string>cancellationTokenCancellationToken