#![cfg_attr(feature = "evm", doc = "```no_run")]
#![cfg_attr(not(feature = "evm"), doc = "```ignore")]
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub mod error;
pub mod protocol;
pub mod utils;
#[cfg(feature = "evm")]
pub mod evm;
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "server")]
pub mod server;
#[cfg(feature = "tempo")]
pub mod tempo;
pub use error::{MppError, Result, ResultExt, SigningContext};
pub use error::{PaymentError, PaymentErrorDetails, PROBLEM_TYPE_BASE};
pub use protocol::core::{
ChallengeEcho, PaymentChallenge, PaymentCredential, PaymentPayload, Receipt, ReceiptStatus,
};
pub use protocol::core::{
format_authorization, format_receipt, format_www_authenticate, format_www_authenticate_many,
parse_authorization, parse_receipt, parse_www_authenticate, parse_www_authenticate_all,
};
pub use protocol::core::{
base64url_decode, base64url_encode, Base64UrlJson, IntentName, MethodName, PayloadType,
PaymentProtocol, AUTHORIZATION_HEADER, PAYMENT_RECEIPT_HEADER, PAYMENT_SCHEME,
WWW_AUTHENTICATE_HEADER,
};
pub use protocol::intents::ChargeRequest;
#[cfg(feature = "evm")]
pub use alloy::signers::Signer;
#[cfg(feature = "evm")]
pub use alloy_signer_local::PrivateKeySigner;
#[cfg(feature = "evm")]
pub use alloy::primitives::{Address, U256};
#[cfg(feature = "server")]
pub use alloy::providers::{ProviderBuilder, RootProvider};