Skip to main content

world_id_core/
lib.rs

1//! The core library for the World ID Protocol.
2//!
3//! Read more in: <https://docs.world.org/world-id>
4
5#![cfg_attr(not(test), warn(unused_crate_dependencies))]
6#![deny(clippy::all, clippy::nursery, missing_docs)]
7#![allow(clippy::option_if_let_else)]
8
9pub use eddsa_babyjubjub::{EdDSAPrivateKey, EdDSAPublicKey, EdDSASignature};
10
11#[cfg(feature = "authenticator")]
12pub use world_id_authenticator::{
13    Authenticator, AuthenticatorError, InitializingAuthenticator, OnchainKeyRepresentable,
14};
15
16/// Re-export registry from authenticator for convenience
17#[cfg(feature = "authenticator")]
18pub mod world_id_registry {
19    pub use world_id_authenticator::registry::*;
20}
21
22pub use world_id_primitives::{Credential, CredentialVersion};
23
24#[cfg(feature = "issuer")]
25pub use world_id_issuer::Issuer;
26
27#[cfg(any(feature = "authenticator", feature = "issuer"))]
28pub use world_id_primitives::Signer;
29
30#[cfg(feature = "authenticator")]
31pub use world_id_proof::proof;
32
33#[cfg(any(feature = "authenticator", feature = "rp"))]
34pub use world_id_primitives::request as requests;
35
36pub use world_id_primitives::FieldElement;
37
38/// Re-export of all the World ID primitives
39pub mod primitives {
40    pub use world_id_primitives::*;
41}
42
43/// Re-export api_types for convenience
44pub mod api_types {
45    pub use world_id_primitives::api_types::*;
46}