MACI Domain Objects

This module implements domain objects. A domain object is:

a logical container of purely domain information, usually represents a logical entity in the problem domain space

https://wiki.c2.com/?DomainObject

In effect, domain objects are representations of objects shared between other modules in this codebase. They also encapsulate helper functions which make it easy to use them with said modules.

Command

The Command domain object represents a request by a user to cast a vote and/or change one's public key.

Message

The Message domain object is an encrypted Command and signature. That is, a Message is a Ciphertext (defined in maci-crypto) which is the encrypted Command and its Signature (also defined in maci-crypto). In other terms:

Message = Encrypt([Command, Signature], Key)

VoteOptionTreeLeaf

StateLeaf

Last Updated: