Contest Delegation¶
Description¶
Delegation by a Registered User to a Representative for a contest.
This delegation allows votes cast by the Representative to use the voting power of the delegating User, in addition to their own personal voting power and that of all other Users who delegate to the same Representative.
Delegation is for a specific Contest. Multiple Delegations must be published if there are multiple Contests within a Brand/Campaign or Category.
This is because different Contests may have different rules. And not all Representatives will choose to nominate for every Contest.
Validation¶
- The
parameters
metadata MUST point to the same Contest as the Nomination of the Representative. - The 'ref' metadata field MUST point to a valid 'Representative Nomination'.
- The payload MUST be nil.
A Representative MUST Delegate to their latest Nomination for a Category, otherwise their Nomination is invalid.
This is because Delegation points to a SPECIFIC Nomination, and it MUST be the latest for the Representative on the Contest. As the Nomination contains information that the User relies on when choosing to delegate, changing that information could have a real and detrimental result in the Delegation choice. Therefore, for a Delegation to be valid, it MUST point to the latest Nomination for a Representative.
Business Logic¶
Front End¶
- Allows a voter to select a Representative from a list of eligible candidates for a category.
- The voter signs this document to confirm their delegation choice.
Back End¶
- Verifies that the voter and Representative are valid and registered for the category.
- Records the delegation of voting power from the voter to the Representative.
COSE Header Parameters¶
No Headers are defined for this document.
Metadata¶
type
¶
Parameter | Value |
---|---|
Required | yes |
Format | Document Type |
Type | 764f17fb-cc50-4979-b14a-b213dbac5994 ,788ff4c6-d65a-451f-bb33-575fe056b411 |
The document TYPE.
type
Validation¶
MUST be a known document type.
id
¶
Parameter | Value |
---|---|
Required | yes |
Format | Document Id |
Document ID, created the first time the document is created. This must be a properly created UUIDv7 which contains the timestamp of when the document was created.
id
Validation¶
IF ver
does not == id
then a document with
id
and ver
being equal MUST exist.
ver
¶
Parameter | Value |
---|---|
Required | yes |
Format | Document Ver |
The unique version of the document.
The first version of the document must set ver
== id
ver
represents new versions of the same document as it changes over time.
ver
Validation¶
The document version must always be >= the document ID.
ref
¶
Parameter | Value |
---|---|
Required | yes |
Format | Document Reference |
Valid References | Rep Nomination |
Reference to a Linked Document or Documents. This is the primary hierarchical reference to a related document.
If a reference is defined as required, there must be at least 1 reference specified. Some documents allow multiple references, and they are documented as required.
The document reference serves two purposes:
- It ensures that the document referenced by an ID/Version is not substituted. In other words, that the document intended to be referenced, is actually referenced.
- It Allows the document to be unambiguously located in decentralized storage systems.
There can be any number of Document Locations in any reference. The currently defined locations are:
cid
: A CBOR Encoded IPLD Content Identifier ( AKA an IPFS CID ).- Others may be added when further storage mechanisms are defined.
The document location does not guarantee that the document is actually stored. It only defines that if it were stored, this is the identifier that is required to retrieve it. Therefore it is required that Document References are unique and reproducible, given a documents contents.
ref
Validation¶
The following must be true for a valid reference:
- The Referenced Document MUST Exist
- Every value in the
document_locator
must consistently reference the exact same document. - The
document_id
anddocument_ver
MUST match the values in the referenced document.
parameters
¶
Parameter | Value |
---|---|
Required | yes |
Format | Document Reference |
Valid References | Contest Parameters |
Linked Reference Metadata | ref |
A reference to the Parameters Document this document lies under.
parameters
Validation¶
In addition to the validation performed for Document Reference type fields:
- Any linked referenced document that includes a
parameters
metadata must match theparameters
of the referencing document, or a parent of thoseparameters
.
For example, a linked reference to Contest Parameters is transitively a reference to
the Parameters document it references, and each parameters document they reference
until the Brand
parameters document is reached.
The use case here is for Templates. The profile template, or proposal templates could be defined at any of these levels, and as long as they all refer to the same chain of parameters in the hierarchy they are all valid.
- The Document referenced by
ref
- MUST contain
parameters
metadata; AND - MUST match the referencing documents
parameters
value.
Payload¶
A minimal payload indicating the intended status of the delegation. 'active' creates or affirms the delegation. 'revoked' withdraws the delegation.
This document has no payload.
It must be encoded as a CBOR null (0xf6)
.
Signers¶
The following User roles may sign documents of this type:
- Registered
New versions of this document may be published by:
- author
Copyright¶
Copyright | |
---|---|
License | This document is licensed under CC-BY-4.0 |
Created | 2024-12-27 |
Modified | 2025-06-19 |
Authors | Alex Pozhylenkov alex.pozhylenkov@iohk.io |
Neil McAuliffe neil.mcauliffe@iohk.io | |
Steven Johnson steven.johnson@iohk.io |
Changelog¶
0.01 (2025-06-19)¶
- First Published Version