Table of Contents

Class VHTLCv2Asset

Namespace
NArk.Arkade.Contracts
Assembly
NArk.Arkade.dll

The Arkade asset a VHTLCv2Contract's covenant leaves bind, as the pair the introspection opcodes take.

public sealed record VHTLCv2Asset : IEquatable<VHTLCv2Asset>
Inheritance
VHTLCv2Asset
Implements
Inherited Members

Remarks

A canonical Asset ID is a (genesis txid, group index) pair, never a single blob, which is why this is two fields rather than the string asset id the rest of the SDK passes around.

Constructors

VHTLCv2Asset(byte[], int)

The Arkade asset a VHTLCv2Contract's covenant leaves bind, as the pair the introspection opcodes take.

public VHTLCv2Asset(byte[] GenesisTxid, int GroupIndex)

Parameters

GenesisTxid byte[]

The asset's genesis transaction id, 32 bytes, in CANONICAL order — exactly the leading 32 bytes of a serialized Asset ID, not reversed. The covenant reverses it internally, because the introspection opcodes match wire order; a caller who pre-reverses gets a contract that is unspendable on its covenant leaves and nothing in the failure says why.

GroupIndex int

The asset group index within that genesis transaction, in [0, 65535].

Remarks

A canonical Asset ID is a (genesis txid, group index) pair, never a single blob, which is why this is two fields rather than the string asset id the rest of the SDK passes around.

Properties

GenesisTxid

The asset's genesis transaction id, 32 bytes, in CANONICAL order — exactly the leading 32 bytes of a serialized Asset ID, not reversed. The covenant reverses it internally, because the introspection opcodes match wire order; a caller who pre-reverses gets a contract that is unspendable on its covenant leaves and nothing in the failure says why.

public byte[] GenesisTxid { get; init; }

Property Value

byte[]

GroupIndex

The asset group index within that genesis transaction, in [0, 65535].

public int GroupIndex { get; init; }

Property Value

int