[package]
edition = "2021"
name = "mpp"
version = "0.9.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for the Machine Payments Protocol (MPP)"
homepage = "https://github.com/tempoxyz/mpp-rs"
documentation = "https://tempoxyz.github.io/mpp-rs"
readme = "README.md"
keywords = [
"http",
"payments",
"402",
"authentication",
]
categories = [
"web-programming",
"authentication",
"cryptography",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tempoxyz/mpp-rs"
[features]
axum = [
"dep:axum-core",
"server",
"http-types",
]
client = ["dep:reqwest"]
default = ["reqwest-default-tls"]
evm = [
"alloy",
"hex",
"rand",
]
integration = [
"tempo",
"server",
"client",
"axum",
]
integration-stripe = [
"stripe",
"server",
"client",
"axum",
]
middleware = [
"client",
"reqwest-middleware",
"async-trait",
"anyhow",
"http-types",
]
reqwest-default-tls = ["reqwest?/default-tls"]
reqwest-native-tls = ["reqwest?/native-tls"]
reqwest-rustls-tls = ["reqwest?/rustls-tls"]
server = [
"tokio",
"futures-core",
"async-stream",
]
stripe = ["dep:reqwest"]
tempo = [
"evm",
"tempo-alloy",
"tempo-primitives",
"uuid",
]
tower = [
"dep:tower-layer",
"dep:tower-service",
"http-types",
"dep:http-body",
"server",
]
utils = [
"hex",
"rand",
]
[lib]
name = "mpp"
path = "src/lib.rs"
[[test]]
name = "integration_charge"
path = "tests/integration_charge.rs"
[[test]]
name = "integration_stripe"
path = "tests/integration_stripe.rs"
[dependencies.alloy]
version = "1.8"
features = ["full"]
optional = true
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.async-stream]
version = "0.3"
optional = true
[dependencies.async-trait]
version = "0.1"
optional = true
[dependencies.axum-core]
version = "0.5"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.futures-core]
version = "0.3"
optional = true
[dependencies.hex]
version = "0.4"
optional = true
[dependencies.hmac]
version = "0.12"
[dependencies.http-body]
version = "1"
optional = true
[dependencies.http-types]
version = "1"
optional = true
package = "http"
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false
[dependencies.reqwest-middleware]
version = "0.4"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
[dependencies.serde_json_canonicalizer]
version = "0.3"
[dependencies.sha2]
version = "0.10"
[dependencies.tempo-alloy]
version = "1.5"
optional = true
[dependencies.tempo-primitives]
version = "1.5"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = [
"formatting",
"parsing",
]
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"time",
"macros",
]
optional = true
[dependencies.tower-layer]
version = "0.3"
optional = true
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.uuid]
version = "1"
features = ["v4"]
optional = true
[dev-dependencies.axum]
version = "0.8"
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
]