- getProcessLength(organizationAddress) : int
- getProcessByIndex(organizationAddress, index): processId
- getProcessMetadataById(organizationAddress, processId): processMetadata
- censusUrl //Where is the census Merkle-tree
- censusRoot //Merkle-root of census
- votingOptions //string that has an inmutable reference to the voting options
- startBlock
- endBlock
- voteEncryptionKeys
- status
- trustedGateways
- FranchiseProof
- EncryptedVote
- Nullifier
- ProcessID
- getVotingPublicKey(): Public Key
- getVotingPrivateKey: Private key
- getNullifier(privateKey, processId) : nullifierHash
- generateProof(privateKey, censusProof, censusRoot, nullifier, processId, encryptedVoteHash) :franchiseProof
- getCensus()
- getCensusProof(votingPublicKey)
- getExternalData(url)
- getProcessById(): processMetadata
- getOpenProcess(): [processIds]
- getRegisterdRelays(): [relayPublicKeys]
- batchExists(voteBatchHash): bool
- generatePOW(votingPackage): powNonce
- encryptVotingPackage(votingPakage, relayPublicKey)
- sendVote(gatewayIP, votingPackage, powNonce)
- getVotesBatchHashByNullifier(nullifier)
- getOptions()
- getEncryptedVote(selectedVoteOptions, voteEncryptionKeys)
- getHash(encryptedVoteHash)
- getVotingPackage(franchiseProof, processId, encryptedVote, nullifier) : votingPackage
Blockchain
--> getProcessById()Vote
--> getOptions()<UI input>
Vote
--> getEncryptedVote()Vote
--> getEncryptedVoteHash()Identity
--> getVotingKey()Census
--> getCensusProof()Data
--> getExternalData()Identity
--> getVotingPrivateKey()Franchise
--> generateFranchiseProof()Franchise
--> getNullifier()Relay
--> generatePOW()Vote
--> getVotingPackage()Blockchain
--> getRegisterdRelays()Relay
--> encryptVotingPackage()Relay
--> sendVote()Relay
--> getVotesBatchHashByNullifier():votesBatchHashData
--> getExternalData(voteBatchHash)Blockchain
--> batchExists(voteBatchHash)