Skip to content

Root package

Use the root package for the full supported ceremony. It contains the manifest, transport, DKG, ballot-proof, decryption, tally, and verifier helpers required to build and verify the documented workflow end to end. Grouped public subpath entrypoints such as threshold-elgamal/proofs, threshold-elgamal/threshold, threshold-elgamal/dkg, threshold-elgamal/vss, threshold-elgamal/elgamal, threshold-elgamal/protocol, and threshold-elgamal/core remain available when you prefer imports by subsystem.

  • manifest helpers and score-range helpers
  • roster hashing and session derivation
  • transport and authentication helpers
  • DKG, proof, and tally helpers used by the supported ceremony
  • public builders for the standard ceremony payloads
  • full public-board verification
  • full ceremony verification
  • manifest and session setup: createElectionManifest, scoreRangeDomain, hashRosterEntries, hashElectionManifest, deriveSessionId
  • browser-side key material: generateAuthKeyPair, exportAuthPublicKey, generateTransportKeyPair, exportTransportPublicKey
  • encrypted share transport: encryptEnvelope, decryptEnvelope
  • DKG and proof flow: generatePedersenCommitments, generateFeldmanCommitments, deriveJointPublicKey, createDisjunctiveProof, createDLEQProof, createSchnorrProof
  • decryption and tally flow: prepareAggregateForDecryption, createDecryptionShare, combineDecryptionShares
  • public board verification: tryVerifyElectionCeremony, verifyElectionCeremony
  • published payload construction: createManifestPublicationPayload, createRegistrationPayload, createManifestAcceptancePayload, createBallotSubmissionPayload, createBallotClosePayload, createDecryptionSharePayload, createTallyPublicationPayload
import {
createElectionManifest,
createManifestPublicationPayload,
createRegistrationPayload,
createManifestAcceptancePayload,
createBallotClosePayload,
createDecryptionSharePayload,
verifyElectionCeremony,
} from "threshold-elgamal";
  • you want the ristretto255 voting workflow
  • you want the explicit manifest, declared score range, and derived majority-threshold rules
  • you want one import surface for the full supported ceremony, including proof, threshold, DKG, and verifier steps
  • you prefer narrower imports grouped by subsystem
  • you want to browse the generated reference by proof, threshold, DKG, protocol, or VSS layer
  • you need explicit error classes or other core-only primitives that stay outside the main ceremony story
  • exact signatures, types, and return shapes for the exported surface
  • contract-level detail for the full ceremony types
  • module-level separation between the root package and the grouped public submodules