Skip to main content

Crate exo_root

Crate exo_root 

Source
Expand description

EXOCHAIN root genesis authority ceremony.

Structs§

CeremonyEnvelope
Signed, bounded, untrusted relay envelope.
CeremonyEnvelopeDraft
Inputs that are signed into a portal relay envelope.
CertifierContact
Public contact and verification material for a root certifier.
FinalKeyConfirmation
Ratified final DKG key confirmation payload.
GenesisCeremonyConfig
Root genesis ceremony configuration bound into every transcript and bundle.
PairwiseEncryptedPayload
Recipient-bound encrypted payload for DKG round two exchange.
PortalStore
In-memory portal store used by the server relay and tests.
RootDkgOutput
Complete in-memory DKG result for tests and offline ceremony tooling.
RootDkgRound1Output
Serialized output from one certifier’s DKG round one.
RootDkgRound2Output
Serialized output from one certifier’s DKG round two.
RootIssuerDelegation
Operational AVC issuer authority delegated by the root.
RootKeyPackage
Serialized FROST key package held by one certifier.
RootParticipantDkgOutput
Final DKG material derived by one certifier.
RootPublicKeyPackage
Serialized public key package and derived public metadata.
RootSignature
Serialized threshold signature over a root artifact.
RootSignatureShareOutput
One signer’s round-two signature share. Public; reveals nothing about the signer’s secret key share.
RootSigningCommitment
One signer’s round-one PUBLIC commitment. Relay-safe: carries no secret material and is the only round-one artifact broadcast to the coordinator. Kept deliberately separate from RootSigningNonces so the secret nonces can never be co-serialized with, or mistaken for, relay-safe data.
RootSigningNonces
One signer’s round-one SECRET signing nonces. LOCAL-ONLY — this artifact must never be broadcast, archived off the signer, copied to the coordinator, or submitted through the portal. In FROST, disclosure of these nonces together with the signer’s later signature share can compromise the signer’s secret key share. It derives Serialize/Deserialize only so a signer can persist it to a 0600 local file between sign_commit and sign_share; the distinct type name keeps it from being confused with relay-safe data.
RootSigningPackage
Public signing package built by the coordinator from >= threshold commitments. Distributed to the participating signers for round two.
RootTrustBundle
Root trust bundle produced by genesis.
SealedShare
AEAD-wrapped certifier share artifact.

Enums§

CeremonyPayloadKind
Bounded payload type carried by a portal envelope.
CeremonyPhase
Ceremony phase associated with a portal envelope.
RootError
Failures returned by root genesis ceremony, DKG, signing, portal, and share protection operations.

Constants§

FINAL_KEY_CONFIRMATION_DOMAIN
FINAL_KEY_CONFIRMATION_SCHEMA_VERSION
ROOT_GENESIS_SIGNERS
Institutional root roster size.
ROOT_GENESIS_THRESHOLD
Institutional root threshold.

Functions§

aggregate_signature
Distributed signing — coordinator aggregates the exact predeclared signature shares into the final root signature and verifies it against the root public key.
assemble_root_bundle
Assemble and verify a root trust bundle.
build_final_key_confirmation
Build the ratified final key confirmation payload for one finalized certifier. This emits only public confirmation material; the secret FROST key package is parsed locally to bind the certifier identifier but is never copied into the payload.
build_signing_package
Distributed signing — coordinator assembles the signing package from at the exact predeclared public commitments bound to message (the root artifact).
ceremony_config_hash
Canonical hash of a root genesis ceremony config.
decrypt_pairwise_payload
Decrypt a DKG round-two payload from one sender.
dkg_finalize_participant
Finalize one participant’s DKG state after all peer round-one and round-two packages have been authenticated and collected.
dkg_round1
Execute DKG round one for one rostered certifier.
dkg_round2
Execute DKG round two for one certifier after all other round-one packages have been authenticated and collected.
encode_final_key_confirmation_payload
Encode a ratified final key confirmation as portal payload bytes.
encrypt_pairwise_payload
Encrypt a DKG round-two payload for exactly one recipient.
run_complete_dkg
Run the all-roster DKG ceremony locally.
seal_share
Seal one serialized share artifact with passphrase-derived AEAD.
sign_commit
Distributed signing — round one. Produce one signer’s PUBLIC commitment and SECRET nonces as two distinct artifacts, bound to the exact root artifact being signed. Run by each participating certifier against its own share. The caller MUST broadcast only the RootSigningCommitment and retain the RootSigningNonces locally (never share, archive off-host, or submit it) until sign_share. The artifact must be the bytes emitted by root_artifact_payload and is known before commitments are produced.
sign_share
Distributed signing — round two. One signer produces its signature share from its key package, its retained local-only RootSigningNonces, the coordinator’s RootSigningPackage, and the message (root artifact) it intends to sign.
threshold_sign
Create a FROST threshold signature from the exact predeclared signing set.
unseal_share
Open one sealed share artifact.
verify_root_bundle
Verify that a root trust bundle is self-consistent and root-signed.
verify_root_signature
Verify a serialized root threshold signature against a root public key.

Type Aliases§

Result
Result alias used by the root genesis crate.