Class ArkBoardingContract
public class ArkBoardingContract : ArkContract
- Inheritance
-
ArkBoardingContract
- Inherited Members
Constructors
ArkBoardingContract(OutputDescriptor, Sequence, OutputDescriptor)
public ArkBoardingContract(OutputDescriptor server, Sequence exitDelay, OutputDescriptor userDescriptor)
Parameters
serverOutputDescriptorexitDelaySequenceuserDescriptorOutputDescriptor
Fields
ContractType
public const string ContractType = "Boarding"
Field Value
Properties
DefaultScope
Boarding funds live on-chain as a boarding UTXO.
public override ContractScope DefaultScope { get; }
Property Value
Type
Contract type discriminator string (e.g. "vtxo", "boarding").
public override string Type { get; }
Property Value
User
Output descriptor for the user key.
public OutputDescriptor User { get; }
Property Value
Methods
CollaborativePath()
public ScriptBuilder CollaborativePath()
Returns
GetArkAddress(OutputDescriptor?)
Boarding contracts use on-chain Bitcoin addresses, not Ark addresses. Use GetOnchainAddress(Network) instead.
public override ArkAddress GetArkAddress(OutputDescriptor? defaultServerKey = null)
Parameters
defaultServerKeyOutputDescriptor
Returns
GetContractData()
Returns the key-value map of contract parameters used for serialization.
protected override Dictionary<string, string> GetContractData()
Returns
GetOnchainAddress(Network)
Returns the on-chain P2TR Bitcoin address (bc1p.../tb1p.../bcrt1p...) for this boarding contract.
public BitcoinAddress GetOnchainAddress(Network network)
Parameters
networkNetwork
Returns
- BitcoinAddress
GetScriptBuilders()
Returns the script builders for each tapscript leaf in the tree.
protected override IEnumerable<ScriptBuilder> GetScriptBuilders()
Returns
Parse(Dictionary<string, string>, Network)
public static ArkContract Parse(Dictionary<string, string> contractData, Network network)
Parameters
contractDataDictionary<string, string>networkNetwork
Returns
UnilateralPath()
public ScriptBuilder UnilateralPath()