Table of Contents

Class ArkBoardingContract

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

Constructors

ArkBoardingContract(OutputDescriptor, Sequence, OutputDescriptor)

public ArkBoardingContract(OutputDescriptor server, Sequence exitDelay, OutputDescriptor userDescriptor)

Parameters

server OutputDescriptor
exitDelay Sequence
userDescriptor OutputDescriptor

Fields

ContractType

public const string ContractType = "Boarding"

Field Value

string

Properties

DefaultScope

Boarding funds live on-chain as a boarding UTXO.

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

User

Output descriptor for the user key.

public OutputDescriptor User { get; }

Property Value

OutputDescriptor

Methods

CollaborativePath()

public ScriptBuilder CollaborativePath()

Returns

ScriptBuilder

GetArkAddress(OutputDescriptor?)

Boarding contracts use on-chain Bitcoin addresses, not Ark addresses. Use GetOnchainAddress(Network) instead.

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>

GetOnchainAddress(Network)

Returns the on-chain P2TR Bitcoin address (bc1p.../tb1p.../bcrt1p...) for this boarding contract.

public BitcoinAddress GetOnchainAddress(Network network)

Parameters

network Network

Returns

BitcoinAddress

GetScriptBuilders()

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

protected override IEnumerable<ScriptBuilder> GetScriptBuilders()

Returns

IEnumerable<ScriptBuilder>

Parse(Dictionary<string, string>, Network)

public static ArkContract Parse(Dictionary<string, string> contractData, Network network)

Parameters

contractData Dictionary<string, string>
network Network

Returns

ArkContract

UnilateralPath()

public ScriptBuilder UnilateralPath()

Returns

ScriptBuilder