Namespace NArk.Arkade.Contracts
Classes
- ArkProgramContract
An ArkContract whose spending paths come from a compiled ArkadeProgram rather than a hardcoded script shape. Compiles once at construction; GetScriptBuilders() hands the compiled leaves to the base class, which assembles them into a taproot tree exactly like every other contract (GetTaprootSpendInfo()).
- ArkProgramContractTransformer
Materializes an ArkProgramContract VTXO into a spendable ArkCoin, mirroring
HashLockedContractTransformer/DelegateContractTransformer: picks a compiled function and resolves its witness at coin-materialization time (SpendingServicethen spends any ArkCoin uniformly). Two entry points: the IContractTransformer Transform(string, ArkContract, ArkVtxo) auto-selects the single fully-args-bound path, and the explicit Transform(string, ArkProgramContract, ArkVtxo, string, IReadOnlyDictionary<string, AsmToken>?) overload spends a named path with call-time witness values (preimage, signature, …).
- VHTLCv2Asset
The Arkade asset a VHTLCv2Contract's covenant leaves bind, as the pair the introspection opcodes take.
- VHTLCv2Contract
The VHTLC the Lightning and off-board swap corridors settle into: the six leaves of the reference VHTLC construction, plus up to three whose co-signer is an emulator key tweaked by a covenant that pins where the spend may pay — a claim leaf, a refund leaf, and that refund's timelocked twin, the last two sharing one covenant key because they pin one destination.
- VHTLCv2NonInteractiveClaim
The optional
nonInteractiveClaimleaf: the Arkade server plus a covenant-tweaked emulator co-signer, pinned toReceiverPkScript. Lets the receiver's claim be pushed by the emulator without the receiver being online.
- VHTLCv2NonInteractiveRefund
The optional
nonInteractiveRefundleaf: server + receiver + a covenant-tweaked emulator co-signer, pinned toSenderPkScript, no timelock.
- VHTLCv2StrictClaim
The opt-in bound that makes a non-interactive claim pay at least the quoted amounts, enforced in script rather than at the consumer's own admission layer.