[package] name = "web3_proxy" version = "0.17.0" edition = "2021" default-run = "web3_proxy_cli" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["deadlock_detection"] deadlock_detection = ["parking_lot/deadlock_detection"] tokio-console = ["dep:tokio-console", "dep:console-subscriber"] rdkafka-src = ["rdkafka/cmake-build", "rdkafka/libz", "rdkafka/ssl", "rdkafka/zstd-pkg-config"] [dependencies] deferred-rate-limiter = { path = "../deferred-rate-limiter" } entities = { path = "../entities" } latency = { path = "../latency" } migration = { path = "../migration" } redis-rate-limiter = { path = "../redis-rate-limiter" } thread-fast-rng = { path = "../thread-fast-rng" } # TODO: regex has several "perf" features that we might want to use # TODO: make sure this uuid version matches sea-orm. PR to put this in their prelude # TODO: import num_traits from sea-orm so we always have the same version # TODO: import chrono from sea-orm so we always have the same version # TODO: make sure this time version matches siwe. PR to put this in their prelude anyhow = { version = "1.0.71", features = ["backtrace"] } argh = "0.1.10" axum = { version = "0.6.18", features = ["headers", "ws"] } axum-client-ip = "0.4.1" axum-macros = "0.3.7" chrono = "0.4.24" console-subscriber = { version = "*", optional = true } counter = "0.5.7" derive_more = "0.99.17" dotenv = "0.15.0" env_logger = "0.10.0" ethers = { version = "2.0.4", default-features = false, features = ["rustls", "ws"] } fdlimit = "0.2.1" flume = "0.10.14" fstrings = "0.2" futures = { version = "0.3.28", features = ["thread-pool"] } gethostname = "0.4.2" glob = "0.3.1" handlebars = "4.3.7" hashbrown = { version = "0.13.2", features = ["serde"] } hdrhistogram = "7.5.2" http = "0.2.9" influxdb2 = { version = "0.4", features = ["rustls"] } influxdb2-structmap = "0.2.0" hostname = "0.3.1" ipnet = "2.7.2" itertools = "0.10.5" log = "0.4.17" moka = { version = "0.11.0", default-features = false, features = ["future"] } num = "0.4.0" num-traits = "0.2.15" once_cell = { version = "1.17.1" } ordered-float = "3.7.0" pagerduty-rs = { version = "0.1.6", default-features = false, features = ["async", "rustls", "sync"] } parking_lot = { version = "0.12.1", features = ["arc_lock"] } prettytable = "*" proctitle = "0.1.1" rdkafka = { version = "0.29.0" } regex = "1.8.1" reqwest = { version = "0.11.17", default-features = false, features = ["json", "tokio-rustls"] } rmp-serde = "1.1.1" rustc-hash = "1.1.0" sentry = { version = "0.31.0", default-features = false, features = ["backtrace", "contexts", "panic", "anyhow", "reqwest", "rustls", "log", "sentry-log"] } serde = { version = "1.0.163", features = [] } serde_json = { version = "1.0.96", default-features = false, features = ["alloc", "raw_value"] } serde_prometheus = "0.2.2" siwe = "0.5.0" time = "0.3.21" tokio = { version = "1.28.1", features = ["full"] } tokio-console = { version = "*", optional = true } tokio-stream = { version = "0.1.14", features = ["sync"] } tokio-uring = { version = "0.4.0", optional = true } toml = "0.7.3" tower = "0.4.13" tower-http = { version = "0.4.0", features = ["cors", "sensitive-headers"] } ulid = { version = "1.0.0", features = ["serde"] } url = "2.3.1" uuid = "1.3.2"