Class MetadataList
An ordered list of AssetMetadata entries with Merkle hash support. The Merkle tree uses BIP340 tagged hashes with tags "ArkadeAssetLeaf" and "ArkadeAssetBranch".
public class MetadataList
- Inheritance
-
MetadataList
- Inherited Members
Constructors
MetadataList(IReadOnlyList<AssetMetadata>)
public MetadataList(IReadOnlyList<AssetMetadata> items)
Parameters
itemsIReadOnlyList<AssetMetadata>
Fields
ArkBranchTag
public const string ArkBranchTag = "ArkadeAssetBranch"
Field Value
ArkLeafTag
public const string ArkLeafTag = "ArkadeAssetLeaf"
Field Value
ArkLeafVersion
public const byte ArkLeafVersion = 0
Field Value
Properties
Items
public IReadOnlyList<AssetMetadata> Items { get; }
Property Value
Methods
FromBytes(byte[])
public static MetadataList FromBytes(byte[] buf)
Parameters
bufbyte[]
Returns
FromReader(BufferReader)
public static MetadataList FromReader(BufferReader reader)
Parameters
readerBufferReader
Returns
FromString(string)
public static MetadataList FromString(string hex)
Parameters
hexstring
Returns
Hash()
Computes the Merkle root hash of the metadata list using BIP340 tagged hashes. Leaf: taggedHash("ArkadeAssetLeaf", 0x00 || varslice(key) || varslice(value)) Branch: taggedHash("ArkadeAssetBranch", smaller || larger) where children are sorted lexicographically. Odd leaves are promoted unchanged.
public byte[] Hash()
Returns
- byte[]
Serialize()
public byte[] Serialize()
Returns
- byte[]
SerializeTo(BufferWriter)
public void SerializeTo(BufferWriter writer)
Parameters
writerBufferWriter
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.