[package]
name = "init4-bin-base"
description = "Internal utilities for binaries produced by the init4 team"
keywords = ["init4", "bin", "base"]
version = "0.17.0"
edition = "2021"
rust-version = "1.85"
authors = ["init4", "James Prestwich", "evalir"]
license = "MIT OR Apache-2.0"
homepage = "https://github.com/init4tech/bin-base"
repository = "https://github.com/init4tech/bin-base"
[dependencies]
init4-from-env-derive = "0.1.0"
signet-constants = { version = "0.14" }
signet-tx-cache = { version = "0.14", optional = true }
alloy = { version = "1.0.35", optional = true, default-features = false, features = ["std", "signer-local", "consensus", "network"] }
tracing = "0.1.40"
tracing-core = "0.1.33"
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json", "registry"] }
opentelemetry_sdk = "0.30.0"
opentelemetry = "0.30.0"
opentelemetry-http = "0.30.0"
opentelemetry-otlp = "0.30.0"
opentelemetry-semantic-conventions = { version = "0.30.0", features = ["semconv_experimental"] }
tracing-opentelemetry = "0.31.0"
url = "2.5.4"
metrics = "0.24.1"
metrics-exporter-prometheus = "0.17.0"
chrono = "0.4.40"
oauth2 = { version = "5.0.0", optional = true }
tokio = { version = "1.36.0", optional = true }
axum = "0.8.1"
serde = { version = "1", features = ["derive"] }
thiserror = "2.0.11"
tower = "0.5.2"
async-trait = { version = "0.1.80", optional = true }
eyre = { version = "0.6.12", optional = true }
aws-config = { version = "1.1.7", optional = true }
aws-sdk-kms = { version = "1.15.0", optional = true }
reqwest = { version = "0.12.15", optional = true }
rustls = { version = "0.23.31", optional = true }
[dev-dependencies]
ajj = { version = "0.4.1", features = ["axum", "ws", "ipc"] }
axum = "0.8.1"
eyre = "0.6.12"
serial_test = "3.2.0"
signal-hook = "0.3.17"
tokio = { version = "1.43.0", features = ["macros"] }
[features]
default = ["alloy", "rustls"]
alloy = ["dep:alloy"]
aws = ["alloy", "alloy?/signer-aws", "dep:async-trait", "dep:aws-config", "dep:aws-sdk-kms"]
perms = ["dep:oauth2", "dep:tokio", "dep:reqwest", "dep:signet-tx-cache", "dep:eyre"]
rustls = ["dep:rustls", "rustls/aws-lc-rs"]
[[example]]
name = "oauth"
path = "examples/oauth.rs"
required-features = ["perms"]
[[example]]
name = "tx_cache"
path = "examples/tx_cache.rs"
required-features = ["perms"]