Table of Contents

Class CompiledArkadeFunction

Namespace
NArk.Arkade.Program
Assembly
NArk.Arkade.dll

One fully-resolved spending path of a compiled ArkadeProgram — its definition plus the committed leaf script bytes. Mirrors the ts-sdk's CompiledProgramFunction, minus the taproot-tree/control-block parts (those are derived once all leaves are known, outside the compiler itself).

public sealed class CompiledArkadeFunction
Inheritance
CompiledArkadeFunction
Inherited Members

Properties

ArkadeScriptBytes

Resolved covenant (ArkadeScript) bytes; null for pure-tapscript paths.

public byte[]? ArkadeScriptBytes { get; init; }

Property Value

byte[]

Definition

The source definition this was compiled from.

public required ArkadeFunction Definition { get; init; }

Property Value

ArkadeFunction

EmulatorKey

The pre-tweak emulator key used for this leaf; null for pure-tapscript paths.

public TaprootPubKey? EmulatorKey { get; init; }

Property Value

TaprootPubKey

LeafScript

The committed tapscript leaf body — includes the tweaked co-signer key when ArkadeScriptBytes is set.

public required byte[] LeafScript { get; init; }

Property Value

byte[]

Name

The function's name, as declared in Functions.

public required string Name { get; init; }

Property Value

string

SignerKeys

The resolved declared signer keys (x-only), in Signers order — excludes the covenant co-signer key appended for ArkadeScriptBytes paths. Mirrors the ts-sdk's signerKeys; used to detect which paths the wallet's own key can sign.

public required IReadOnlyList<ECXOnlyPubKey> SignerKeys { get; init; }

Property Value

IReadOnlyList<ECXOnlyPubKey>

Methods

ToScriptBuilder(WitScript?)

Wraps this leaf as a ScriptBuilder, ready to hand to GetScriptBuilders(). Covenant leaves come back as an IArkadeBoundScriptBuilder so the existing emulator co-signing pipeline (ArkadePsbtExtensions) picks them up with no further wiring.

public ScriptBuilder ToScriptBuilder(WitScript? arkadeScriptWitness = null)

Parameters

arkadeScriptWitness WitScript

Returns

ScriptBuilder