1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Typed bindings, embedded forge artifacts, and deploy/upgrade helpers for
//! the libid identity stack.
//!
//! The crate has four layers:
//!
//! - [`bindings`] — hand-written `alloy::sol!` interfaces for every contract a
//! consumer talks to: the ceremony verification path (`NotaryService`,
//! `CeremonyProofVerifier`, the three launch Platform Verifiers it routes
//! to, and `GoogleJwtRoots`, the Google signing keys the `google/v1`
//! verifier trusts), the identity registry (`IdentityRegistry`), the
//! deterministic factory, and the UltraHonk verifiers the Platform
//! Verifiers pin. Kept in lockstep with the Solidity sources in
//! `solidity/contracts`.
//! - [`artifacts`] — the compiled creation bytecode and method identifiers
//! of every deployable contract, embedded at compile time
//! ([`Artifacts::embedded`]) so deployment needs no filesystem at runtime. A
//! directory-backed variant ([`Artifacts::from_dir`]) reads a forge `out/`
//! tree instead.
//! - [`deploy`] — generic deploy and upgrade primitives over any alloy
//! [`Provider`](alloy::providers::Provider): plain deploys, constructor
//! args, ERC1967 proxies, and UUPS upgrades.
//! - [`factory`] — the deterministic-factory bootstrap: predict the canonical
//! cross-network factory address, install it (and the keyless CREATE2
//! deployer it hangs off) where missing, and deploy protocol proxies
//! through it at name-derived CREATE3 addresses.
//! - [`platform_verifier`] — the Platform Verifier initializer: which
//! contract serves which platform, and an `initialize` call built with the
//! Honk verifier's code hash read off chain and the rules
//! `PlatformVerifierBase` enforces checked first.
//! - [`circuits`] — the ceremony circuits' UltraHonk verifiers, vendored
//! from the pinned `libid-circuits` release: which circuit a platform
//! proves under, and the deploy of its verifier.
//!
//! Signing is the consumer's concern: every helper takes a provider you have
//! already wired with a wallet.
pub use Artifacts;
pub use ;