[package]
edition = "2021"
name = "tap-agent"
version = "0.7.0"
authors = ["Pelle Braendgaard <pelle@notabene.id>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust implementation of the Transaction Authorization Protocol (TAP)"
readme = "README.md"
license = "MIT"
repository = "https://github.com/TransactionAuthorizationProtocol/tap-rs"
[features]
crypto-ed25519 = [
"dep:ed25519-dalek",
"dep:curve25519-dalek",
"dep:x25519-dalek",
"dep:rand",
]
crypto-p256 = [
"dep:p256",
"dep:rand",
]
crypto-secp256k1 = [
"dep:k256",
"dep:rand",
]
default = [
"native",
"crypto-ed25519",
"crypto-p256",
"crypto-secp256k1",
]
examples = ["tempfile"]
native = ["reqwest"]
test-utils = ["tempfile"]
wasm = [
"tap-msg/wasm",
"wasm-bindgen",
"js-sys",
"web-sys",
"wasm-bindgen-futures",
"getrandom",
"uuid/js",
"crypto-ed25519",
]
[lib]
name = "tap_agent"
path = "src/lib.rs"
[[bin]]
name = "tap-agent-cli"
path = "src/bin/tap-agent-cli.rs"
[[example]]
name = "invoice_payment_flow"
path = "examples/invoice_payment_flow.rs"
[[example]]
name = "key_labels_demo"
path = "examples/key_labels_demo.rs"
[[example]]
name = "key_management"
path = "examples/key_management.rs"
[[example]]
name = "multi_agent_flow"
path = "examples/multi_agent_flow.rs"
[[example]]
name = "payment_cancel_flow"
path = "examples/payment_cancel_flow.rs"
[[example]]
name = "payment_flow"
path = "examples/payment_flow.rs"
[[example]]
name = "payment_link_flow"
path = "examples/payment_link_flow.rs"
[[example]]
name = "secure_transfer_flow"
path = "examples/secure_transfer_flow.rs"
[[example]]
name = "simple_payment_link"
path = "examples/simple_payment_link.rs"
[[example]]
name = "transfer_flow"
path = "examples/transfer_flow.rs"
[[example]]
name = "unpack_tap_message"
path = "examples/unpack_tap_message.rs"
[[test]]
name = "agent_key_manager_tests"
path = "tests/agent_key_manager_tests.rs"
[[test]]
name = "agent_key_tests"
path = "tests/agent_key_tests.rs"
[[test]]
name = "agent_tests"
path = "tests/agent_tests.rs"
[[test]]
name = "crypto_tests"
path = "tests/crypto_tests.rs"
[[test]]
name = "did_bounds_tests"
path = "tests/did_bounds_tests.rs"
[[test]]
name = "ecdh_test"
path = "tests/ecdh_test.rs"
[[test]]
name = "ephemeral_agent_tests"
path = "tests/ephemeral_agent_tests.rs"
[[test]]
name = "key_manager_tests"
path = "tests/key_manager_tests.rs"
[[test]]
name = "key_signing_tests"
path = "tests/key_signing_tests.rs"
[[test]]
name = "label_functionality"
path = "tests/label_functionality.rs"
[[test]]
name = "message_packing_tests"
path = "tests/message_packing_tests.rs"
[[test]]
name = "new_agent_trait_tests"
path = "tests/new_agent_trait_tests.rs"
[[test]]
name = "security_integration_tests"
path = "tests/security_integration_tests.rs"
[[test]]
name = "simple_payment_link_tests"
path = "tests/simple_payment_link_tests.rs"
[[test]]
name = "simplified_agent_key_tests"
path = "tests/simplified_agent_key_tests.rs"
[[test]]
name = "test_vectors_validation"
path = "tests/test_vectors_validation.rs"
[[bench]]
name = "agent_benchmark"
path = "benches/agent_benchmark.rs"
harness = false
[dependencies.aes]
version = "0.8"
[dependencies.aes-gcm]
version = "0.10.3"
[dependencies.aes-kw]
version = "0.2"
[dependencies.anyhow]
version = "1.0.99"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.base64]
version = "0.22"
[dependencies.bs58]
version = "0.5"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = ["derive"]
[dependencies.curve25519-dalek]
version = "4.1"
features = ["digest"]
optional = true
[dependencies.dirs]
version = "6.0"
[dependencies.ed25519-dalek]
version = "2.2"
features = ["rand_core"]
optional = true
[dependencies.getrandom]
version = "0.2"
features = [
"js",
"js",
]
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.k256]
version = "0.13"
features = ["ecdsa"]
optional = true
[dependencies.multibase]
version = "0.9.1"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.p256]
version = "0.13"
features = [
"ecdh",
"ecdsa",
]
optional = true
[dependencies.rand]
version = "0.8"
optional = true
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tap-caip]
version = "0.7.0"
[dependencies.tap-msg]
version = "0.7.0"
[dependencies.tempfile]
version = "3.8"
optional = true
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.47.1"
features = [
"sync",
"macros",
"io-util",
"rt",
"time",
"rt",
]
default-features = false
[dependencies.tracing]
version = "0.1.37"
[dependencies.url]
version = "2.2"
[dependencies.uuid]
version = "1.18.0"
features = [
"v4",
"serde",
"fast-rng",
"js",
]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"console",
"Window",
"Request",
"RequestInit",
"RequestMode",
"Response",
"Headers",
]
optional = true
[dependencies.x25519-dalek]
version = "2.0"
features = ["static_secrets"]
optional = true
[dev-dependencies.assert_matches]
version = "1.5.0"
[dev-dependencies.criterion]
version = "0.6"
[dev-dependencies.serial_test]
version = "3.0"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio]
version = "1.47.1"
features = [
"sync",
"macros",
"io-util",
"rt",
"time",
"test-util",
]
default-features = false
[dev-dependencies.tokio-test]
version = "0.4.3"
[dev-dependencies.tracing-subscriber]
version = "0.3"