libid_profiles/lib.rs
1//! The libID ceremony profiles.
2//!
3//! What each platform's notarized sessions request, which host answers them,
4//! and which bytes of the response a Platform Verifier reads. The values are
5//! generated from `solidity/contracts/ceremony/profiles.json`, the same file
6//! `CeremonyProfile.sol` is generated from, so a prover and the chain cannot
7//! hold different copies.
8//!
9//! # What is not here
10//!
11//! Ids. `platformId` is `keccak256` of [`Profile::platform`] and `authorityId`
12//! is `keccak256` of [`Session::authority`], and this crate hashes neither: a
13//! caller that needs an id already has a hasher, and a crate that pulled one
14//! in to precompute six values would make every consumer carry it.
15//!
16//! Behaviour. Which ranges a session reveals, how a handle normalizes, what a
17//! verifier checks -- all hand written where they belong. This is the table
18//! those read.
19
20mod profiles;
21
22pub use profiles::*;