1#![deny(clippy::unwrap_used)]
4#![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
14pub 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}