Table of Contents

Class ArkadeProgram

Namespace
NArk.Arkade.Program.Models
Assembly
NArk.Arkade.dll
public sealed class ArkadeProgram
Inheritance
ArkadeProgram
Inherited Members

Fields

SupportedVersion

The only program version this SDK understands.

public const int SupportedVersion = 0

Field Value

int

Properties

Functions

The program's named spending paths, keyed by function name.

public required IReadOnlyDictionary<string, ArkadeFunction> Functions { get; init; }

Property Value

IReadOnlyDictionary<string, ArkadeFunction>

Name

Optional program name — metadata only: round-tripped through the artifact JSON, never used in compilation, validation or the taproot tree. Mirrors the ts-sdk's Program.name.

public string? Name { get; init; }

Property Value

string

Params

Ordered constructor parameters. When declared, they are authoritative: ArkadeProgramValidator requires every param to be bound and every $name reference in the program to be declared here. Entries may be typed descriptors (Type set — the bound value is type-validated) or bare names (via the implicit TypedInput conversion, e.g. ["server", "user"] — checked structurally but not type-validated). Mirrors the ts-sdk's params: InputRef[].

public IReadOnlyList<TypedInput>? Params { get; init; }

Property Value

IReadOnlyList<TypedInput>

Version

The artifact format version.

public required int Version { get; init; }

Property Value

int