Table of Contents

Interface IContractService

Namespace
NArk.Core.Services
Assembly
NArk.Core.dll
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

walletId string
purpose NextContractPurpose
inputContracts ArkContract[]
activityState ContractActivityState
metadata Dictionary<string, string>
cancellationToken CancellationToken

Returns

Task<ArkContract>

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

walletId string
purpose NextContractPurpose
activityState ContractActivityState
metadata Dictionary<string, string>
cancellationToken CancellationToken

Returns

Task<ArkContract>

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

walletId string
contract ArkContract
activityState ContractActivityState
metadata Dictionary<string, string>
cancellationToken CancellationToken

Returns

Task