2022-05-05 22:07:09 +03:00
[ package ]
2022-08-06 08:46:33 +03:00
name = "web3_proxy"
2023-10-11 22:45:00 +03:00
version = "1.43.40"
2022-05-05 22:07:09 +03:00
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
2022-07-07 00:42:31 +03:00
[ features ]
2023-08-03 10:16:54 +03:00
default = [ ]
2023-05-13 01:15:32 +03:00
mimalloc = [ "dep:mimalloc" ]
2023-10-11 20:57:41 +03:00
rdkafka-src = [ "rdkafka/cmake-build" , "rdkafka/ssl-vendored" ]
2023-10-07 05:20:38 +03:00
stripe = [ "dep:async-stripe" ]
2023-06-30 07:28:31 +03:00
tests-needing-docker = [ ]
2023-08-03 10:16:54 +03:00
tokio-console = [ "dep:tokio-console" , "dep:console-subscriber" ]
2022-07-07 00:42:31 +03:00
2022-05-05 22:07:09 +03:00
[ dependencies ]
2023-09-13 22:05:47 +03:00
deduped_broadcast = { path = "../deduped_broadcast" }
2022-09-15 20:57:24 +03:00
deferred-rate-limiter = { path = "../deferred-rate-limiter" }
2022-07-26 07:53:38 +03:00
entities = { path = "../entities" }
2023-05-11 23:09:15 +03:00
latency = { path = "../latency" }
2022-07-26 07:53:38 +03:00
migration = { path = "../migration" }
2023-05-31 21:52:51 +03:00
payment-contracts = { path = "../payment-contracts" }
2022-09-15 20:57:24 +03:00
redis-rate-limiter = { path = "../redis-rate-limiter" }
2022-07-26 07:53:38 +03:00
2023-10-07 05:20:38 +03:00
#ethers = { git = "https://github.com/llamanodes/ethers-rs/", rev = "eb68f5d60850008cd302762bd3a5a4bdcfecc713", default-features = false, features = ["openssl", "ws"] }
2023-10-11 09:04:42 +03:00
influxdb2 = { git = "https://github.com/llamanodes/influxdb2" , default-features = false , features = [ "rustls" ] , rev = "2d125128696a29d7e0b9abc052c928937e7c0579" }
2023-06-17 09:41:12 +03:00
influxdb2-structmap = { git = "https://github.com/llamanodes/influxdb2/" , rev = "2d125128696a29d7e0b9abc052c928937e7c0579" }
2023-06-30 00:42:01 +03:00
# TODO: we can't actually use 0.6 because they want a Provider and we have an Arc<Provider>
2023-10-07 05:20:38 +03:00
# TODO: this has features ethers which probably brings in things. make sure it has the minimal features
2023-10-07 08:54:18 +03:00
siwe = { git = "https://github.com/llamanodes/siwe-rs" , branch = "for_web3_proxy" , features = [ "ethers" , "serde" ] }
2023-05-31 06:58:24 +03:00
2023-01-24 08:50:59 +03:00
# 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
2023-08-17 23:49:45 +03:00
anyhow = { version = "1.0.75" , features = [ "backtrace" ] }
2023-06-27 20:14:38 +03:00
arc-swap = { version = "1.6.0" }
2023-08-09 03:40:17 +03:00
argh = "0.1.12"
2023-10-07 05:20:38 +03:00
async-stream = "0.3.5"
2023-10-11 09:04:42 +03:00
async-stripe = { version = "0.25.2" , default-features = false , features = [ "billing" , "checkout" , "connect" , "runtime-tokio-hyper-rustls" , "webhook-events" ] , optional = true }
2023-08-05 02:19:43 +03:00
axum = { version = "0.6.20" , features = [ "headers" , "tracing" , "ws" ] }
2023-09-11 21:33:10 +03:00
axum-client-ip = "0.4.2"
2023-07-18 19:54:56 +03:00
axum-macros = "0.3.8"
2023-09-11 21:33:10 +03:00
base64 = "0.21.4"
2023-10-07 05:20:38 +03:00
bytes = "1.5.0"
2023-09-18 21:04:22 +03:00
chrono = { version = "0.4.31" }
2023-10-03 23:46:27 +03:00
console-subscriber = { version = "0.2.0" , features = [ "env-filter" , "parking_lot" ] , optional = true }
2023-07-22 00:27:43 +03:00
derivative = "2.2.0"
2023-06-24 02:28:45 +03:00
derive_more = { version = "0.99.17" , features = [ "nightly" ] }
2023-10-11 09:04:42 +03:00
ethers = { version = "2.0.10" , default-features = false , features = [ "rustls" , "ws" ] }
2023-05-31 07:37:58 +03:00
fdlimit = "0.2.1"
2023-02-22 07:25:02 +03:00
fstrings = "0.2"
2023-06-24 02:28:45 +03:00
futures = { version = "0.3.28" }
2023-10-07 05:20:38 +03:00
futures-util = "0.3.28"
2023-05-31 07:37:58 +03:00
glob = "0.3.1"
2023-09-02 02:57:31 +03:00
handlebars = "4.4.0"
2023-10-03 23:46:27 +03:00
hashbrown = { version = "0.14.1" , features = [ "serde" , "nightly" ] }
2023-06-13 05:13:06 +03:00
hdrhistogram = "7.5.2"
2023-05-13 01:15:32 +03:00
hostname = "0.3.1"
2023-02-25 11:47:16 +03:00
http = "0.2.9"
2023-06-27 07:07:25 +03:00
hyper = { version = "0.14.27" , features = [ "full" , "nightly" ] }
2023-09-20 04:48:15 +03:00
ipnet = { version = "2.8.0" }
2023-06-22 19:26:57 +03:00
itertools = "0.11.0"
2023-10-07 05:20:38 +03:00
listenfd = { version = "1.0.1" , optional = true }
mimalloc = { version = "0.1.39" , optional = true }
2023-10-04 05:07:21 +03:00
moka = { version = "0.12.1" , default-features = false , features = [ "atomic64" , "future" , "quanta" ] }
2023-06-24 02:28:45 +03:00
nanorand = { version = "0.7.0" , default-features = false , features = [ "std" , "tls" , "wyrand" ] }
2023-07-12 10:35:07 +03:00
num = { version = "0.4.1" }
2023-10-08 01:21:32 +03:00
num-traits = "0.2.17"
2023-06-07 20:50:34 +03:00
once_cell = { version = "1.18.0" }
2023-10-11 01:53:52 +03:00
ordered-float = { version = "4.1.1" }
2023-10-11 09:04:42 +03:00
pagerduty-rs = { version = "0.1.6" , default-features = false , features = [ "async" , "rustls" , "sync" ] }
2023-06-27 20:14:38 +03:00
parking_lot = { version = "0.12.1" , features = [ "arc_lock" , "nightly" ] }
2023-08-31 07:05:34 +03:00
rdkafka = { version = "0.34.0" , features = [ "tracing" ] }
2023-10-11 09:04:42 +03:00
reqwest = { version = "0.11.22" , default-features = false , features = [ "json" , "rustls" ] }
2023-09-20 04:48:15 +03:00
rust_decimal = { version = "1.32.0" }
2023-10-11 09:04:42 +03:00
sentry = { version = "0.31.7" , default-features = false , features = [ "anyhow" , "backtrace" , "contexts" , "panic" , "reqwest" , "rustls" , "serde_json" , "tracing" ] }
2023-09-14 22:51:16 +03:00
sentry-tracing = "0.31.7"
2023-08-31 06:59:06 +03:00
serde = { version = "1.0.188" }
2023-07-22 00:27:43 +03:00
serde-inline-default = "0.1.1"
2023-09-14 22:51:16 +03:00
serde_json = { version = "1.0.107" , default-features = false , features = [ "raw_value" ] }
2023-09-11 21:33:10 +03:00
serde_prometheus = "0.2.4"
2023-06-20 03:48:46 +03:00
strum = { version = "0.25.0" , features = [ "derive" ] }
2023-09-18 21:04:22 +03:00
time = { version = "0.3" }
2023-10-09 19:46:43 +03:00
tokio = { version = "1.33.0" , features = [ "full" , "tracing" ] }
2023-10-03 23:46:27 +03:00
tokio-console = { version = "0.1.10" , optional = true }
2023-05-11 23:25:55 +03:00
tokio-stream = { version = "0.1.14" , features = [ "sync" ] }
2023-10-04 05:07:21 +03:00
toml = "0.8.2"
2023-09-02 02:57:31 +03:00
tower-http = { version = "0.4.4" , features = [ "cors" , "normalize-path" , "sensitive-headers" , "trace" ] }
2023-06-24 02:28:45 +03:00
tracing = "0.1"
2023-09-11 21:33:10 +03:00
ulid = { version = "1.1.0" , features = [ "rand" , "uuid" , "serde" ] }
2023-08-31 06:59:06 +03:00
url = { version = "2.4.1" }
2023-07-18 19:54:56 +03:00
uuid = { version = "1.4.1" , default-features = false , features = [ "fast-rng" , "v4" , "zerocopy" ] }
2023-05-23 01:43:39 +03:00
2023-10-07 05:20:38 +03:00
# TODO: why doesn't this work in dev-dependencies. i think because of how we split web3_proxy and web3_proxy_cli. im not sure that is even helping anymore
2023-06-25 02:43:11 +03:00
test-log = { version = "0.2.12" , default-features = false , features = [ "trace" ] }
2023-06-27 22:36:41 +03:00
2023-09-19 00:31:58 +03:00
# # TODO: bring this back
# check-if-email-exists = "0.9.0"
2023-06-27 22:36:41 +03:00
[ dev-dependencies ]
2023-10-07 05:20:38 +03:00
env_logger = { version = "0.10" , default-features = true , features = [ "auto-color" ] }
2023-10-09 19:46:43 +03:00
tokio = { version = "1.33.0" , default-features = false , features = [ "full" , "test-util" ] }
2023-06-25 02:43:11 +03:00
tracing = { version = "0.1" , default-features = false }
tracing-subscriber = { version = "0.3" , default-features = false , features = [ "env-filter" , "fmt" ] }