Skip to main content

Crate libid_contracts

Crate libid_contracts 

Source
Expand description

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: 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.

Re-exports§

pub use artifacts::Artifacts;

Modules§

artifacts
Access to the compiled forge artifacts the crate ships.
bindings
Hand-written alloy::sol! bindings, kept in lockstep with the Solidity sources in solidity/contracts. One module per contract directory.
circuits
The ceremony circuits’ UltraHonk verifiers: which circuit each platform proves under, and the deploy of a circuit’s verifier.
deploy
Generic deploy and upgrade primitives, usable over any alloy Provider that has a wallet wired in. Signing is the consumer’s concern; nothing here constructs or holds keys.
factory
Bootstrap and use of the deterministic deployment factory.
platform_verifier
Deploying a launch Platform Verifier: which contract serves which platform, what it initializes with, and the rules its initialize enforces — checked here, off chain, before a transaction is built.

Macros§

send_with_nonce_retry
Send a contract call with automatic retry on “nonce too low” errors.

Enums§

Error
Crate error type.

Type Aliases§

Result
Crate result alias.