Class CompiledArkadeFunction
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
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
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
arkadeScriptWitnessWitScript