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
- Metadata Fields List
ref
Document Referenceref_hash
Secured Document Referencetemplate
Template Referencereply
Reply Referencesection
Section Referencecollabs
Authorized Collaboratorsbrand_id
campaign_id
election_id
category_id
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 documentsid
.<ver>
- the UUID v7 of the referenced documentsver
.
ref_hash
Secured Document Reference¶
This is a cryptographically secured reference to another document.
It consists of two fields:
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".