501ec21442
it doesn't work well with features and so we were installing things like kafka even if the feature was off
120 lines
5.5 KiB
TOML
120 lines
5.5 KiB
TOML
[package]
|
|
name = "web3_proxy"
|
|
version = "0.31.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"]
|
|
mimalloc = ["dep:mimalloc"]
|
|
tokio-console = ["dep:tokio-console", "dep:console-subscriber"]
|
|
rdkafka-src = ["rdkafka/cmake-build", "rdkafka/libz", "rdkafka/ssl-vendored", "rdkafka/zstd-pkg-config"]
|
|
tests-needing-docker = []
|
|
|
|
[dependencies]
|
|
deferred-rate-limiter = { path = "../deferred-rate-limiter" }
|
|
entities = { path = "../entities" }
|
|
latency = { path = "../latency" }
|
|
migration = { path = "../migration" }
|
|
payment-contracts = { path = "../payment-contracts" }
|
|
redis-rate-limiter = { path = "../redis-rate-limiter" }
|
|
|
|
#ethers = { git = "https://github.com/llamanodes/ethers-rs/", rev = "eb68f5d60850008cd302762bd3a5a4bdcfecc713", default-features = false, features = ["rustls", "ws"] }
|
|
influxdb2 = { git = "https://github.com/llamanodes/influxdb2", features = ["rustls"], rev = "2d125128696a29d7e0b9abc052c928937e7c0579" }
|
|
influxdb2-structmap = { git = "https://github.com/llamanodes/influxdb2/", rev = "2d125128696a29d7e0b9abc052c928937e7c0579"}
|
|
|
|
# TODO: we can't actually use 0.6 because they want a Provider and we have an Arc<Provider>
|
|
siwe = { git = "https://github.com/llamanodes/siwe-rs", rev = "013be5204ff1c85778ce21619f4b677a003db8a1", features = ["ethers", "serde"] }
|
|
|
|
# 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
|
|
# TODO: rdkafka has a tracing feature
|
|
# TODO: axum has a tracing feature
|
|
# TODO: siwe ha a ethers feature that is blocked by
|
|
|
|
# TODO: hdrhistogram for automated tiers
|
|
|
|
anyhow = { version = "1.0.71", features = ["backtrace"] }
|
|
arc-swap = { version = "1.6.0" }
|
|
argh = "0.1.10"
|
|
async-stripe = { version = "0.22.2", default-features = false, features = ["full", "runtime-tokio-hyper-rustls", "webhook-events"] }
|
|
async-trait = "0.1.68"
|
|
axum = { version = "0.6.18", features = ["headers", "tracing", "ws"] }
|
|
axum-client-ip = "0.4.1"
|
|
axum-macros = "0.3.7"
|
|
base64 = "0.21.2"
|
|
check-if-email-exists = "0.9.0"
|
|
chrono = { version = "0.4.26" }
|
|
console-subscriber = { version = "0.1.9", features = ["env-filter", "parking_lot"], optional = true }
|
|
counter = "0.5.7"
|
|
derivative = "2.2.0"
|
|
derive_more = { version = "0.99.17", features = ["nightly"] }
|
|
ethbloom = { version = "0.13.0" }
|
|
ethers = { version = "2.0.7", default-features = false, features = ["rustls", "ws"] }
|
|
fdlimit = "0.2.1"
|
|
flume = "0.10.14"
|
|
fstrings = "0.2"
|
|
futures = { version = "0.3.28" }
|
|
glob = "0.3.1"
|
|
handlebars = "4.3.7"
|
|
hashbrown = { version = "0.14.0", features = ["serde", "nightly"] }
|
|
hdrhistogram = "7.5.2"
|
|
hostname = "0.3.1"
|
|
http = "0.2.9"
|
|
hyper = { version = "0.14.27", features = ["full", "nightly"] }
|
|
ipnet = { version = "2.8.0", features = ["json"] }
|
|
itertools = "0.11.0"
|
|
listenfd = "1.0.1"
|
|
mimalloc = { version = "0.1.37", optional = true}
|
|
moka = { version = "0.11.2", default-features = false, features = ["atomic64", "future", "parking_lot", "quanta", "triomphe"] }
|
|
nanorand = { version = "0.7.0", default-features = false, features = ["std", "tls", "wyrand"] }
|
|
num = { version = "0.4.0" }
|
|
num-traits = "0.2.15"
|
|
once_cell = { version = "1.18.0" }
|
|
ordered-float = {version = "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", "nightly"] }
|
|
prettytable = "0.10.0"
|
|
proctitle = "0.1.1"
|
|
rdkafka = { version = "0.32.2", features = ["tracing"] }
|
|
regex = "1.8.4"
|
|
reqwest = { version = "0.11.18", default-features = false, features = ["deflate", "gzip", "json", "tokio-rustls"] }
|
|
rmp-serde = "1.1.1"
|
|
rust_decimal = { version = "1.30.0", features = ["maths"] }
|
|
sentry = { version = "0.31.5", default-features = false, features = ["anyhow", "backtrace", "contexts", "panic", "reqwest", "rustls", "serde_json", "tracing"] }
|
|
sentry-tracing = "0.31.5"
|
|
serde = { version = "1.0.164" }
|
|
serde_json = { version = "1.0.99", default-features = false, features = ["raw_value"] }
|
|
serde_prometheus = "0.2.3"
|
|
strum = { version = "0.25.0", features = ["derive"] }
|
|
time_01 = { package = "time", version = "0.1" }
|
|
time_03 = { package = "time", version = "0.3" }
|
|
tokio = { version = "1.29.1", features = ["full", "tracing"] }
|
|
tokio-console = { version = "0.1.8", optional = true }
|
|
tokio-stream = { version = "0.1.14", features = ["sync"] }
|
|
tokio-uring = { version = "0.4.0", optional = true }
|
|
toml = "0.7.5"
|
|
tower = { version = "0.4.13", features = ["tracing"] }
|
|
tower-http = { version = "0.4.1", features = ["cors", "sensitive-headers", "trace"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
ulid = { version = "1.0.0", features = ["rand", "uuid", "serde"] }
|
|
url = { version = "2.4.0" }
|
|
uuid = { version = "1.4.0", default-features = false, features = ["fast-rng", "v4", "zerocopy"] }
|
|
|
|
# TODO: why doesn't this work in dev-dependencies
|
|
test-log = { version = "0.2.12", default-features = false, features = ["trace"] }
|
|
|
|
[dev-dependencies]
|
|
env_logger = "0.10"
|
|
test-log = "0.2.12"
|
|
tokio = { version = "1.29.1", features = ["full", "test-util"] }
|
|
tracing = {version = "0.1", default-features = false}
|
|
tracing-subscriber = {version = "0.3", default-features = false, features = ["env-filter", "fmt"]}
|