Skip to content

Metadata Fields List

Additional Metadata fields: additional_meta.cddl
additional_fields = {
  ? "ref" => ref_type,
  ? "ref_hash" => ref_hash_type,
  ? "template" => ref_type,
  ? "reply" => ref_type,
  ? "section" => text,
  ? "collabs" => [+any],
  ? "brand_id" => ref_type,
  ? "campaign_id" => ref_type,
  ? "election_id" => UUID, ; UUID v4
  ? "category_id" => ref_type,
}

ref_type = UUID / [UUID, UUID] ; UUIDs v7
ref_hash_type = [ref_type, hash-bytes]

UUID = #6.37(bytes)

;# include hash

ref Document Reference

This is a reference to another document. The purpose of the ref will vary depending on the document type.

The ref can be either a single UUID or a CBOR Array of Two UUID.

If the ref is a single UUID v7, it is a reference to the document of that id. If the ref is a CBOR array, it has the form [<id>,<ver>] where:

  • <id> - the UUID v7 of the referenced documents id.
  • <ver> - the UUID v7 of the referenced documents ver.

ref_hash Secured Document Reference

This is a cryptographically secured reference to another document.

It consists of two fields:

  • ref - simple reference to the document.
  • hash - hash of the referenced document CBOR bytes.

template Template Reference

If the document was formed from a template, this is a reference to that template document. The format is the same as the CBOR Array form of ref.

It is invalid not to reference the template that formed a document. If this is missing from such documents, the document will itself be considered invalid.

Template references must explicitly reference both the Template Document ID, and Version.

reply Reply Reference

This is a reply to another document. The format is the same as the CBOR Array form of ref.

reply is always referencing a document of the same type, and that document must ref reference the same document id. However, depending on the document type, it may reference a different ver of that id.

section Section Reference

This is a reference to a section of a document. It is a CBOR String, and contains a JSON Path identifying the section in question.

Because this metadata field uses JSON Path, it can only be used to reference a document whose payload is [JSON].

collabs Authorized Collaborators

This is a list of entities other than the original author that may also publish versions of this document. This may be updated by the original author, or any collaborator that is given "author" privileges.

The latest collabs list in the latest version, published by an authorized author is the definitive list of allowed collaborators after that point.

The collabs list is a CBOR Array. The contents of the array are TBD.

However, they will contain enough information such that each collaborator can be uniquely identified and validated.

Note: An Author can unilaterally set the collabs list to any list of collaborators. It does NOT mean that the listed collaborators have agreed to collaborate, only that the Author gives them permission to.

This list can impact actions that can be performed by the Proposal Action Document.

brand_id

This is a reply to another document. The format is the same as the CBOR Array form of ref.

brand_id represents a "brand" who is running the voting, e.g. Catalyst, Midnight.

campaign_id

This is a reply to another document. The format is the same as the CBOR Array form of ref.

campaign_id defines a "campaign" of voting, e.g. "treasury campaign".

election_id

Unique identifier UUID v4, which defines an election, e.g. "Catalyst Fund 1", "Catalyst Fund 2".

category_id

This is a reply to another document. The format is the same as the CBOR Array form of ref.

campaign_id defines a voting category as a collection of proposals, e.g. "Development & Infrastructure", "Products & Integrations".