1#![cfg_attr(feature = "evm", doc = "```no_run")]
16#![cfg_attr(not(feature = "evm"), doc = "```ignore")]
17pub const VERSION: &str = env!("CARGO_PKG_VERSION");
24
25pub mod body_digest;
28pub mod error;
29pub mod expires;
30pub mod mcp;
31pub mod protocol;
32pub mod proxy;
33pub mod store;
34
35#[cfg(feature = "evm")]
36pub mod evm;
37
38#[cfg(feature = "client")]
39pub mod client;
40
41#[cfg(feature = "server")]
42pub mod server;
43
44#[cfg(feature = "tempo")]
45pub mod tempo;
46
47pub use error::{MppError, Result};
51
52pub use error::{
54 PaymentError, PaymentErrorDetails, CORE_PROBLEM_TYPE_BASE, SESSION_PROBLEM_TYPE_BASE,
55};
56
57#[allow(deprecated)]
59pub use error::STREAM_PROBLEM_TYPE_BASE;
60
61pub use protocol::core::{
63 compute_challenge_id, ChallengeEcho, PaymentChallenge, PaymentCredential, PaymentPayload,
64 Receipt, ReceiptStatus,
65};
66
67pub use protocol::core::{
69 format_authorization, format_receipt, format_www_authenticate, format_www_authenticate_many,
70 parse_authorization, parse_receipt, parse_www_authenticate, parse_www_authenticate_all,
71};
72
73pub use protocol::core::{
75 base64url_decode, base64url_encode, Base64UrlJson, IntentName, MethodName, PayloadType,
76 PaymentProtocol, AUTHORIZATION_HEADER, PAYMENT_RECEIPT_HEADER, PAYMENT_SCHEME,
77 WWW_AUTHENTICATE_HEADER,
78};
79
80pub use store::{FileStore, MemoryStore, Store, StoreError};
82
83#[cfg(all(feature = "server", feature = "tempo"))]
84pub use store::ChannelStoreAdapter;
85
86pub use protocol::intents::{
88 deserialize_request, deserialize_request_typed, parse_units, request_from_challenge,
89 request_from_challenge_typed, serialize_request, ChargeRequest, Request as PaymentRequest,
90 SessionRequest,
91};
92
93#[cfg(feature = "evm")]
96pub use alloy::signers::Signer;
97
98#[cfg(feature = "evm")]
99pub use alloy::signers::local::PrivateKeySigner;
100
101#[cfg(feature = "evm")]
102pub use alloy::primitives::{Address, U256};
103
104#[cfg(feature = "tempo")]
105pub use alloy::providers::{ProviderBuilder, RootProvider};