Skip to content

rarimo/passport-voting-contracts

Repository files navigation

License: MIT

🛂 Passport voting contracts

Fully decentralized voting platform by Rarimo.

What

This repository hosts a set of smart contracts that are built on top of Rarimo Decentralized Identity Issuance protocol and are needed to create and run decentralized polls.

  • The protocol owner may create polls with various configuration settings.
  • Multiple questions per poll and multiple options per question are supported.
  • The project's architecture allows for maximal level of flexibility and forward-compatibility.
  • No points of centralization thanks to the Rarimo passports infrastructure.

How to use

We distribute the smart contracts as the NPM package:

npm install @rarimo/passport-voting-contracts

Afterwards, you will be able to create polls via ProposalsState and vote on them via Voting smart contracts.

Note

This is experimental, state of the art software. Behold and use at your own risk.

How to prove uniqueness

Select a column from the table depending on the time of passport registration relative to voting start:

Parameters Before voting start After voting start
pubSignals.identityCounter uint32 max proposalRules_.identityCounterUpperBound
pubSignals.identityTimestampUpperbound proposalRules_.identityCreationTimestampUpperBound - 1 hour userData_.identityCreationTimestamp
userData_.identityCreationTimestamp 0 uint64 max - 1

License

The smart contracts are released under the MIT License.