Table of Contents

Class UnknownArkContract

Namespace
NArk.Core.Contracts
Assembly
NArk.Core.dll
public class UnknownArkContract : ArkContract
Inheritance
UnknownArkContract
Inherited Members

Constructors

UnknownArkContract(ArkAddress, OutputDescriptor, bool?)

public UnknownArkContract(ArkAddress address, OutputDescriptor server, bool? mainnet = null)

Parameters

address ArkAddress
server OutputDescriptor
mainnet bool?

Fields

ContractType

public const string ContractType = "Unknown"

Field Value

string

Properties

DefaultScope

Unknown contracts default to off-chain; a persisted Unknown contract carries its stored effective scope when loaded.

public override ContractScope DefaultScope { get; }

Property Value

ContractScope

Type

Contract type discriminator string (e.g. "vtxo", "boarding").

public override string Type { get; }

Property Value

string

Methods

GetArkAddress(OutputDescriptor?)

Derives the bech32m Arkade address for this contract's output pubkey.

public override ArkAddress GetArkAddress(OutputDescriptor? defaultServerKey = null)

Parameters

defaultServerKey OutputDescriptor

Returns

ArkAddress

GetContractData()

Returns the key-value map of contract parameters used for serialization.

protected override Dictionary<string, string> GetContractData()

Returns

Dictionary<string, string>

GetScriptBuilders()

Returns the script builders for each tapscript leaf in the tree.

protected override IEnumerable<ScriptBuilder> GetScriptBuilders()

Returns

IEnumerable<ScriptBuilder>

GetScriptPubKey()

Returns the taproot scriptPubKey for this contract. Unlike GetArkAddress(OutputDescriptor?), this works for all contract types including boarding.

public override Script GetScriptPubKey()

Returns

Script

Parse(Dictionary<string, string>, Network)

public static ArkContract? Parse(Dictionary<string, string> arg1, Network arg2)

Parameters

arg1 Dictionary<string, string>
arg2 Network

Returns

ArkContract