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

The crate has three layers:

  • bindings — hand-written alloy::sol! interfaces for every contract a consumer talks to: the login stack (Registry, WebWallet, WalletFactory, verifiers), the Bank diamond, and the identity-names stack. 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 / diamond — generic deploy and upgrade primitives over any alloy Provider: plain deploys, constructor args, ERC1967 proxies, library linking, UUPS upgrades, and the Bank EIP-2535 diamond deploy/facet-replace flows.

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. Grouped by product area.
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.
diamond
The Bank EIP-2535 diamond: deploy and facet-replace flows. Mirrors solidity/contracts/transfer/script/BankDiamondDeployer.sol.

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.