[package]
name = "browser-web3-signer"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "../../README.md"
description = "CLI for browser-based web3 wallet signing (EVM + TRON): the agent-facing interface that opens a browser to your wallet for approval."

[[bin]]
name = "browser-web3-signer"
path = "src/main.rs"

[[bin]]
name = "evm-harness"
path = "src/bin/evm_harness.rs"
required-features = ["e2e"]

[[bin]]
name = "tron-harness"
path = "src/bin/tron_harness.rs"
required-features = ["e2e"]

[features]
# The e2e harness binaries need the pending-request id type; the control API (always built)
# already pulls in axum.
e2e = ["uuid"]

[dependencies]
browser-web3-signer-core = { workspace = true }
browser-web3-signer-evm = { workspace = true }
browser-web3-signer-tron = { workspace = true }
tokio = { workspace = true }
clap = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
# The `serve` control API mounts its routes with axum.
axum = { workspace = true }
# Optional: only the feature-gated e2e harness binaries need uuid directly.
uuid = { workspace = true, optional = true }

[lints]
workspace = true
