walletkit_core/authenticator/artifacts/mod.rs
1//! Artifact sources & traits for loading/caching & managing ZK Artifacts
2
3use world_id_core::artifacts::ZkArtifactSource;
4
5/// A blanket implementation interface that allows the ZK Artifact source implementations to be
6/// used by methods exposed to walletkit consumers.
7#[uniffi::export]
8pub trait WalletKitZkArtifactSource: ZkArtifactSource + Send {}
9impl<T> WalletKitZkArtifactSource for T where T: ZkArtifactSource + Send {}
10
11#[cfg(all(not(target_arch = "wasm32"), feature = "embed-zkeys"))]
12pub mod caching;
13
14/// Sources backed by ZK artifacts embedded in the binary.
15#[cfg(feature = "embed-zkeys")]
16pub mod embedded;