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, and GoogleJwtRoots, the Google signing keys the google/v1 verifier trusts), the naming system (IdentityNames), and the deterministic factory. Kept in lockstep with the Solidity sources in solidity/contracts.
  • artifacts — the compiled creation bytecode, link references, 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, library linking, 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.

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

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.