privy_rs/
lib.rs

1//! Privy SDK for Rust
2
3#![deny(clippy::unwrap_used)]
4// #![warn(clippy::pedantic)]
5#![warn(missing_docs)]
6
7use base64::{Engine, engine::general_purpose::STANDARD};
8
9pub mod client;
10pub mod ethereum;
11pub mod privy_hpke;
12pub mod solana;
13
14/// Generated types from privy's openapi spec
15pub mod generated {
16    pub use privy_openapi::*;
17}
18
19pub mod subclients;
20
21pub(crate) mod errors;
22pub(crate) mod import;
23pub(crate) mod jwt_exchange;
24pub(crate) mod keys;
25pub(crate) mod utils;
26
27pub use client::PrivyClient;
28pub use errors::*;
29pub use keys::*;
30pub use privy_hpke::PrivyHpke;
31pub use utils::{
32    Method, Utils, WalletApiRequestSignatureInput, format_request_for_authorization_signature,
33    generate_authorization_signatures,
34};
35
36pub(crate) fn get_auth_header(app_id: &str, app_secret: &str) -> String {
37    let credentials = format!("{app_id}:{app_secret}");
38    format!("Basic {}", STANDARD.encode(credentials))
39}