move cli into a separate packge and clean up dependencies

This commit is contained in:
Bryan Stitt 2023-05-30 20:58:24 -07:00
parent 00772caae3
commit 2273637a07
44 changed files with 304 additions and 165 deletions

@ -3,11 +3,15 @@ rustflags = [
# potentially faster. https://nnethercote.github.io/perf-book/build-configuration.html
"-C", "target-cpu=native",
# tokio unstable is needed for tokio-console
"--cfg", "tokio_unstable"
"--cfg", "tokio_unstable",
# uuid unstable is needed for zerocopy deserialize
"--cfg", "uuid_unstable",
]
rustdocflags = [
# potentially faster. https://nnethercote.github.io/perf-book/build-configuration.html
"-C", "target-cpu=native",
# tokio unstable is needed for tokio-console
"--cfg", "tokio_unstable"
"--cfg", "tokio_unstable",
# uuid unstable is needed for zerocopy deserialize
"--cfg", "uuid_unstable",
]

363
Cargo.lock generated

@ -170,6 +170,19 @@ dependencies = [
"term",
]
[[package]]
name = "async-compression"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b0122885821398cc923ece939e24d1056a2384ee719432397fa9db87230ff11"
dependencies = [
"flate2",
"futures-core",
"memchr",
"pin-project-lite",
"tokio",
]
[[package]]
name = "async-stream"
version = "0.3.5"
@ -189,7 +202,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -200,7 +213,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -291,7 +304,7 @@ dependencies = [
"sha1",
"sync_wrapper",
"tokio",
"tokio-tungstenite",
"tokio-tungstenite 0.18.0",
"tower",
"tower-layer",
"tower-service",
@ -334,7 +347,7 @@ dependencies = [
"heck 0.4.1",
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -661,9 +674,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "chrono"
version = "0.4.25"
version = "0.4.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdbc37d37da9e5bce8173f3a41b71d9bf3c674deebbaceacd0ebdabde76efb03"
checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
dependencies = [
"android-tzdata",
"iana-time-zone",
@ -760,7 +773,7 @@ dependencies = [
"bincode",
"bs58",
"coins-core",
"digest 0.10.6",
"digest 0.10.7",
"getrandom",
"hmac",
"k256 0.13.1",
@ -796,7 +809,7 @@ dependencies = [
"base64 0.21.2",
"bech32",
"bs58",
"digest 0.10.6",
"digest 0.10.7",
"generic-array",
"hex",
"ripemd",
@ -1154,6 +1167,12 @@ dependencies = [
"num_cpus",
]
[[package]]
name = "data-encoding"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
[[package]]
name = "deadpool"
version = "0.9.5"
@ -1233,9 +1252,9 @@ dependencies = [
[[package]]
name = "der"
version = "0.7.5"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05e58dffcdcc8ee7b22f0c1f71a69243d7c2d9ad87b5a14361f2424a1565c219"
checksum = "56acb310e15652100da43d130af8d97b509e95af61aab1c5a7939ef24337ee17"
dependencies = [
"const-oid 0.9.2",
"zeroize",
@ -1283,9 +1302,9 @@ dependencies = [
[[package]]
name = "digest"
version = "0.10.6"
version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
"const-oid 0.9.2",
@ -1376,9 +1395,9 @@ version = "0.16.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0997c976637b606099b9985693efa3581e84e41f5c11ba5255f88711058ad428"
dependencies = [
"der 0.7.5",
"digest 0.10.6",
"elliptic-curve 0.13.4",
"der 0.7.6",
"digest 0.10.7",
"elliptic-curve 0.13.5",
"rfc6979 0.4.0",
"signature 2.1.0",
"spki 0.7.2",
@ -1399,7 +1418,7 @@ dependencies = [
"base16ct 0.1.1",
"crypto-bigint 0.4.9",
"der 0.6.1",
"digest 0.10.6",
"digest 0.10.7",
"ff 0.12.1",
"generic-array",
"group 0.12.1",
@ -1411,13 +1430,13 @@ dependencies = [
[[package]]
name = "elliptic-curve"
version = "0.13.4"
version = "0.13.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75c71eaa367f2e5d556414a8eea812bc62985c879748d6403edabd9cb03f16e7"
checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
dependencies = [
"base16ct 0.2.0",
"crypto-bigint 0.5.2",
"digest 0.10.6",
"digest 0.10.7",
"ff 0.13.0",
"generic-array",
"group 0.13.0",
@ -1529,7 +1548,7 @@ checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab"
dependencies = [
"aes 0.8.2",
"ctr",
"digest 0.10.6",
"digest 0.10.7",
"hex",
"hmac",
"pbkdf2 0.11.0",
@ -1593,9 +1612,9 @@ dependencies = [
[[package]]
name = "ethers"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d5486fdc149826f38c388f26a7df72534ee3f20d3a3f72539376fa7b3bbc43d"
checksum = "9c3a2483be182a1deacc9b7daa727594c8977f4d6c6df2d762eac3280cfa67c5"
dependencies = [
"ethers-addressbook",
"ethers-contract",
@ -1609,9 +1628,9 @@ dependencies = [
[[package]]
name = "ethers-addressbook"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c66a426b824a0f6d1361ad74b6b01adfd26c44ee1e14c3662dcf28406763ec5"
checksum = "b4a57fb532a6833eaa086a72049a5638a3baf593b2687e7ad726d983f793fb18"
dependencies = [
"ethers-core",
"once_cell",
@ -1621,9 +1640,9 @@ dependencies = [
[[package]]
name = "ethers-contract"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfa43e2e69632492d7b38e59465d125a0066cf4c477390ece00d3acbd11b338b"
checksum = "80ef33619fb0732617a84e05a02da32a1b212239a4bdba3af5e57aa9caf55929"
dependencies = [
"ethers-contract-abigen",
"ethers-contract-derive",
@ -1640,16 +1659,15 @@ dependencies = [
[[package]]
name = "ethers-contract-abigen"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2edb8fdbf77459819a443234b461171a024476bfc12f1853b889a62c6e1185ff"
checksum = "b284d9fb6f654f8a12f46e85d14f7f6f867f5bbb7de5780cdda45d39e75809c0"
dependencies = [
"Inflector",
"dunce",
"ethers-core",
"ethers-etherscan",
"eyre",
"getrandom",
"hex",
"prettyplease",
"proc-macro2",
@ -1658,18 +1676,16 @@ dependencies = [
"reqwest",
"serde",
"serde_json",
"syn 2.0.17",
"tokio",
"syn 2.0.18",
"toml 0.7.4",
"url",
"walkdir",
]
[[package]]
name = "ethers-contract-derive"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "939b0c37746929f869285ee37d270b7c998d80cc7404c2e20dda8efe93e3b295"
checksum = "542b65f2d45be9ae1676ba129baba60d76d440acb6e933e76b0b6dcada266415"
dependencies = [
"Inflector",
"ethers-contract-abigen",
@ -1678,23 +1694,22 @@ dependencies = [
"proc-macro2",
"quote",
"serde_json",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
name = "ethers-core"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "198ea9efa8480fa69f73d31d41b1601dace13d053c6fe4be6f5878d9dfcf0108"
checksum = "949df06c5bdc23361f12f58af748e62839d579fd650ce734bff2ccaedec992a9"
dependencies = [
"arrayvec",
"bytes",
"cargo_metadata",
"chrono",
"elliptic-curve 0.13.4",
"elliptic-curve 0.13.5",
"ethabi",
"generic-array",
"getrandom",
"hex",
"k256 0.13.1",
"num_enum 0.6.1",
@ -1705,7 +1720,7 @@ dependencies = [
"serde",
"serde_json",
"strum",
"syn 2.0.17",
"syn 2.0.18",
"tempfile",
"thiserror",
"tiny-keccak",
@ -1714,13 +1729,11 @@ dependencies = [
[[package]]
name = "ethers-etherscan"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "196a21d6939ab78b7a1e4c45c2b33b0c2dd821a2e1af7c896f06721e1ba2a0c7"
checksum = "f93971f8de6430ce591f6e8af3a6c0a64d3ee5cd2efa384ebc0d662ac6d9da10"
dependencies = [
"ethers-core",
"ethers-solc",
"getrandom",
"reqwest",
"semver",
"serde",
@ -1731,9 +1744,9 @@ dependencies = [
[[package]]
name = "ethers-middleware"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75594cc450992fc7de701c9145de612325fd8a18be765b8ae78767ba2b74876f"
checksum = "b47e5929cec99aa8cb4b93fd13d990d6d243ba389a803fbfd4806d69ad6d7980"
dependencies = [
"async-trait",
"auto_impl",
@ -1758,9 +1771,9 @@ dependencies = [
[[package]]
name = "ethers-providers"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1009041f40476b972b5d79346cc512e97c662b1a0a2f78285eabe9a122909783"
checksum = "e9a404215845d474defb3c0466ec3e695ce6122702158e87343f4308c026de81"
dependencies = [
"async-trait",
"auto_impl",
@ -1772,7 +1785,6 @@ dependencies = [
"futures-core",
"futures-timer",
"futures-util",
"getrandom",
"hashers",
"hex",
"http",
@ -1784,7 +1796,7 @@ dependencies = [
"serde_json",
"thiserror",
"tokio",
"tokio-tungstenite",
"tokio-tungstenite 0.19.0",
"tracing",
"tracing-futures",
"url",
@ -1796,14 +1808,14 @@ dependencies = [
[[package]]
name = "ethers-signers"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3bd11ad6929f01f01be74bb00d02bbd6552f22de030865c898b340a3a592db1"
checksum = "97d849cf868651243a26442af8a5b8a63cd4c85f4e8d5c5f72994a702abc3fd9"
dependencies = [
"async-trait",
"coins-bip32",
"coins-bip39",
"elliptic-curve 0.13.4",
"elliptic-curve 0.13.5",
"eth-keystore",
"ethers-core",
"hex",
@ -1815,14 +1827,13 @@ dependencies = [
[[package]]
name = "ethers-solc"
version = "2.0.4"
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2284784306de73d8ad1bc792ecc1b87da0268185683698d60fd096d23d168c99"
checksum = "8aa3fd8abbcc84013d8199524d3b89bf123d7a48ed984b00b80c72ef1a47b691"
dependencies = [
"cfg-if",
"dunce",
"ethers-core",
"getrandom",
"glob",
"hex",
"home",
@ -2108,7 +2119,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -2333,7 +2344,6 @@ checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
dependencies = [
"base64 0.13.1",
"byteorder",
"crossbeam-channel",
"flate2",
"nom",
"num-traits",
@ -2425,19 +2435,13 @@ version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hex_fmt"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f"
[[package]]
name = "hmac"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
]
[[package]]
@ -2841,7 +2845,7 @@ checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc"
dependencies = [
"cfg-if",
"ecdsa 0.16.7",
"elliptic-curve 0.13.4",
"elliptic-curve 0.13.5",
"once_cell",
"sha2 0.10.6",
"signature 2.1.0",
@ -2883,9 +2887,6 @@ name = "lalrpop-util"
version = "0.19.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3c48237b9604c5a4702de6b824e02006c3214327564636aef27c1028a8fa0ed"
dependencies = [
"regex",
]
[[package]]
name = "latency"
@ -2966,6 +2967,7 @@ checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
dependencies = [
"autocfg",
"scopeguard",
"serde",
]
[[package]]
@ -3010,7 +3012,7 @@ version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
]
[[package]]
@ -3090,14 +3092,13 @@ dependencies = [
[[package]]
name = "mio"
version = "0.8.6"
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
dependencies = [
"libc",
"log",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.45.0",
"windows-sys 0.48.0",
]
[[package]]
@ -3320,7 +3321,7 @@ dependencies = [
"proc-macro-crate 1.3.1",
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -3398,7 +3399,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -3618,7 +3619,7 @@ version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
"hmac",
"password-hash",
"sha2 0.10.6",
@ -3630,7 +3631,7 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0ca0b5a68607598bf3bad68f32227a8164f6254833f84eafaac409cd6746c31"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
"hmac",
]
@ -3679,7 +3680,7 @@ dependencies = [
"pest_meta",
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -3766,22 +3767,22 @@ dependencies = [
[[package]]
name = "pin-project"
version = "1.0.12"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
version = "1.0.12"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
"syn 2.0.18",
]
[[package]]
@ -3834,7 +3835,7 @@ version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
dependencies = [
"der 0.7.5",
"der 0.7.6",
"spki 0.7.2",
]
@ -3858,12 +3859,12 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
name = "prettyplease"
version = "0.2.4"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ceca8aaf45b5c46ec7ed39fff75f57290368c1846d33d24a122ca81416ab058"
checksum = "3b69d39aab54d069e7f2fe8cb970493e7834601ca2d8c65fd7bbd183578080d1"
dependencies = [
"proc-macro2",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -4100,7 +4101,6 @@ dependencies = [
name = "rate-counter"
version = "0.1.0"
dependencies = [
"flume",
"tokio",
]
@ -4264,6 +4264,7 @@ version = "0.11.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
dependencies = [
"async-compression",
"base64 0.21.2",
"bytes",
"encoding_rs",
@ -4298,7 +4299,7 @@ dependencies = [
"wasm-bindgen-futures",
"wasm-streams",
"web-sys",
"webpki-roots",
"webpki-roots 0.22.6",
"winreg",
]
@ -4350,7 +4351,7 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
]
[[package]]
@ -4429,7 +4430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b"
dependencies = [
"byteorder",
"digest 0.10.6",
"digest 0.10.7",
"num-bigint-dig",
"num-integer",
"num-iter",
@ -4570,9 +4571,9 @@ dependencies = [
[[package]]
name = "scale-info"
version = "2.6.0"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfdef77228a4c05dc94211441595746732131ad7f6530c6c18f045da7b7ab937"
checksum = "b569c32c806ec3abdf3b5869fb8bf1e0d275a7c1c9b0b05603d9464632649edf"
dependencies = [
"cfg-if",
"derive_more",
@ -4825,7 +4826,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0aec48e813d6b90b15f0b8948af3c63483992dee44c03e9930b3eebdabe046e"
dependencies = [
"base16ct 0.2.0",
"der 0.7.5",
"der 0.7.6",
"generic-array",
"pkcs8 0.10.2",
"subtle",
@ -4894,7 +4895,7 @@ dependencies = [
"sentry-tracing",
"tokio",
"ureq",
"webpki-roots",
"webpki-roots 0.22.6",
]
[[package]]
@ -5013,7 +5014,7 @@ checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -5098,7 +5099,7 @@ checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.10.6",
"digest 0.10.7",
]
[[package]]
@ -5122,7 +5123,7 @@ checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
dependencies = [
"cfg-if",
"cpufeatures",
"digest 0.10.6",
"digest 0.10.7",
]
[[package]]
@ -5131,7 +5132,7 @@ version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
"keccak",
]
@ -5180,7 +5181,7 @@ version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
"rand_core",
]
@ -5190,7 +5191,7 @@ version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
dependencies = [
"digest 0.10.6",
"digest 0.10.7",
"rand_core",
]
@ -5270,9 +5271,9 @@ dependencies = [
[[package]]
name = "solang-parser"
version = "0.2.4"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c5ead679f39243782be98c2689e592fc0fc9489ca2e47c9e027bd30f948df31"
checksum = "4a94494913728908efa7a25a2dd2e4f037e714897985c24273c40596638ed909"
dependencies = [
"itertools",
"lalrpop",
@ -5324,7 +5325,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
dependencies = [
"base64ct",
"der 0.7.5",
"der 0.7.6",
]
[[package]]
@ -5362,7 +5363,7 @@ dependencies = [
"bytes",
"chrono",
"crossbeam-queue",
"digest 0.10.6",
"digest 0.10.7",
"dotenvy",
"either",
"event-listener",
@ -5400,7 +5401,7 @@ dependencies = [
"tokio-stream",
"url",
"uuid 1.3.3",
"webpki-roots",
"webpki-roots 0.22.6",
]
[[package]]
@ -5498,9 +5499,9 @@ dependencies = [
[[package]]
name = "subtle"
version = "2.4.1"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "svm-rs"
@ -5546,9 +5547,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.17"
version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45b6ddbb36c5b969c182aec3c4a0bce7df3fbad4b77114706a49aacc80567388"
checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
dependencies = [
"proc-macro2",
"quote",
@ -5633,7 +5634,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -5736,7 +5737,7 @@ dependencies = [
"autocfg",
"bytes",
"libc",
"mio 0.8.6",
"mio 0.8.8",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite",
@ -5795,7 +5796,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -5849,12 +5850,23 @@ checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
dependencies = [
"futures-util",
"log",
"rustls 0.20.8",
"tokio",
"tokio-rustls 0.23.4",
"tungstenite",
"webpki",
"webpki-roots",
"tungstenite 0.18.0",
]
[[package]]
name = "tokio-tungstenite"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec509ac96e9a0c43427c74f003127d953a265737636129424288d27cb5c4b12c"
dependencies = [
"futures-util",
"log",
"rustls 0.21.1",
"tokio",
"tokio-rustls 0.24.0",
"tungstenite 0.19.0",
"webpki-roots 0.23.1",
]
[[package]]
@ -5917,9 +5929,9 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.19.9"
version = "0.19.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92d964908cec0d030b812013af25a0e57fddfadb1e066ecc6681d86253129d4f"
checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
dependencies = [
"indexmap",
"serde",
@ -6027,7 +6039,7 @@ checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
]
[[package]]
@ -6153,7 +6165,26 @@ dependencies = [
"httparse",
"log",
"rand",
"rustls 0.20.8",
"sha1",
"thiserror",
"url",
"utf-8",
]
[[package]]
name = "tungstenite"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15fba1a6d6bb030745759a9a2a588bfe8490fc8b4751a277db3a0be1c9ebbf67"
dependencies = [
"byteorder",
"bytes",
"data-encoding",
"http",
"httparse",
"log",
"rand",
"rustls 0.21.1",
"sha1",
"thiserror",
"url",
@ -6268,7 +6299,7 @@ dependencies = [
"rustls 0.20.8",
"url",
"webpki",
"webpki-roots",
"webpki-roots 0.22.6",
]
[[package]]
@ -6306,7 +6337,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "345444e32442451b267fc254ae85a209c64be56d2890e601a0c37ff0c3c5ecd2"
dependencies = [
"getrandom",
"rand",
"serde",
"zerocopy",
]
[[package]]
@ -6380,7 +6413,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
"wasm-bindgen-shared",
]
@ -6414,7 +6447,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.17",
"syn 2.0.18",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -6464,21 +6497,16 @@ dependencies = [
"counter",
"deferred-rate-limiter",
"derive_more",
"dotenv",
"entities",
"env_logger",
"ethers",
"ewma",
"fdlimit",
"flume",
"fstrings",
"futures",
"gethostname",
"glob",
"handlebars",
"hashbrown 0.13.2",
"hdrhistogram",
"hex_fmt",
"hostname",
"http",
"hyper",
@ -6491,21 +6519,17 @@ dependencies = [
"log",
"migration",
"mimalloc",
"num",
"num-traits",
"once_cell",
"ordered-float",
"pagerduty-rs",
"parking_lot 0.12.1",
"prettytable",
"proctitle",
"quick_cache_ttl",
"rdkafka",
"redis-rate-limiter",
"regex",
"reqwest",
"rmp-serde",
"sentry",
"serde",
"serde_json",
"serde_prometheus",
@ -6527,6 +6551,45 @@ dependencies = [
"uuid 1.3.3",
]
[[package]]
name = "web3_proxy_cli"
version = "0.1.0"
dependencies = [
"anyhow",
"argh",
"chrono",
"entities",
"env_logger",
"ethers",
"fdlimit",
"futures",
"glob",
"hashbrown 0.13.2",
"influxdb2",
"influxdb2-structmap",
"log",
"migration",
"num",
"num-traits",
"pagerduty-rs",
"parking_lot 0.12.1",
"prettytable",
"proctitle",
"rdkafka",
"reqwest",
"rmp-serde",
"sentry",
"serde",
"serde_json",
"tokio",
"toml 0.7.4",
"tracing",
"tracing-subscriber 0.3.17",
"ulid",
"uuid 1.3.3",
"web3_proxy",
]
[[package]]
name = "webpki"
version = "0.22.0"
@ -6546,6 +6609,15 @@ dependencies = [
"webpki",
]
[[package]]
name = "webpki-roots"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338"
dependencies = [
"rustls-webpki",
]
[[package]]
name = "winapi"
version = "0.3.9"
@ -6785,6 +6857,27 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
[[package]]
name = "zerocopy"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "332f188cc1bcf1fe1064b8c58d150f497e697f49774aa846f2dc949d9a25f236"
dependencies = [
"byteorder",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6505e6815af7de1746a08f69c69606bb45695a17149517680f3b2149713b19a3"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "zeroize"
version = "1.6.0"

@ -9,6 +9,7 @@ members = [
"redis-rate-limiter",
"thread-fast-rng",
"web3_proxy",
"web3_proxy_cli",
]
[profile.release]

@ -67,7 +67,7 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \
--features "$WEB3_PROXY_FEATURES" \
--locked \
--no-default-features \
--path ./web3_proxy \
--path ./web3_proxy_cli \
--profile faster_release \
--root /usr/local/bin \
;

@ -13,5 +13,5 @@ path = "src/mod.rs"
sea-orm = "0.11.3"
serde = "1.0.163"
uuid = "1.3.3"
ethers = "2.0.4"
ethers = "2.0.6"
ulid = "1.0.0"

@ -3,7 +3,7 @@ use serde::Serialize;
use tokio::time::Duration;
pub struct EwmaLatency {
/// exponentially weighted moving average of how many milliseconds behind the fastest node we are
/// exponentially weighted of some latency in milliseconds
ewma: ewma::EWMA,
}

@ -5,5 +5,4 @@ authors = ["Bryan Stitt <bryan@llamanodes.com>"]
edition = "2021"
[dependencies]
flume = "0.10.14"
tokio = { version = "1.28.2", features = ["time"] }

@ -6,6 +6,6 @@ edition = "2021"
[dependencies]
anyhow = "1.0.71"
chrono = "0.4.25"
chrono = "0.4.26"
deadpool-redis = { version = "0.12.0", features = ["rt_tokio_1", "serde"] }
tokio = "1.28.2"

@ -2,7 +2,6 @@
name = "web3_proxy"
version = "0.28.0"
edition = "2021"
default-run = "web3_proxy_cli"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -23,59 +22,54 @@ quick_cache_ttl = { path = "../quick_cache_ttl" }
redis-rate-limiter = { path = "../redis-rate-limiter" }
thread-fast-rng = { path = "../thread-fast-rng" }
influxdb2 = { git = "https://github.com/llamanodes/influxdb2", features = ["rustls"] }
influxdb2-structmap = { git = "https://github.com/llamanodes/influxdb2/"}
# 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: hdrhistogram for automated tiers
anyhow = { version = "1.0.71", features = ["backtrace"] }
arc-swap = "1.6.0"
argh = "0.1.10"
async-trait = "0.1.68"
axum = { version = "0.6.18", features = ["headers", "ws"] }
axum-client-ip = "0.4.1"
axum-macros = "0.3.7"
chrono = "0.4.25"
console-subscriber = { version = "*", optional = true }
chrono = "0.4.26"
console-subscriber = { version = "0.1.9", 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"] }
ethers = { version = "2.0.6", default-features = false, features = ["rustls", "ws"] }
ewma = "0.1.1"
fdlimit = "0.2.1"
flume = "0.10.14"
fstrings = "0.2"
futures = { version = "0.3.28", features = ["thread-pool"] }
gethostname = "0.4.3"
glob = "0.3.1"
handlebars = "4.3.7"
hashbrown = { version = "0.13.2", features = ["serde"] }
hdrhistogram = "7.5.2"
hex_fmt = "0.3.0"
hostname = "0.3.1"
http = "0.2.9"
hyper = { version = "0.14.26", features = ["full"] }
influxdb2 = { git = "https://github.com/llamanodes/influxdb2", features = ["rustls"] }
influxdb2-structmap = { git = "https://github.com/llamanodes/influxdb2/"}
hyper = { version = "0.14.26", features = ["full", "nightly"] }
ipnet = "2.7.2"
itertools = "0.10.5"
listenfd = "1.0.1"
log = "0.4.18"
mimalloc = { version = "0.1.37", optional = true}
num = "0.4.0"
num-traits = "0.2.15"
once_cell = { version = "1.17.2" }
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"
parking_lot = { version = "0.12.1", features = ["arc_lock", "nightly", "serde"] }
rdkafka = { version = "0.31.0" }
regex = "1.8.3"
reqwest = { version = "0.11.18", default-features = false, features = ["json", "tokio-rustls"] }
reqwest = { version = "0.11.18", default-features = false, features = ["deflate", "gzip", "json", "tokio-rustls"] }
rmp-serde = "1.1.1"
sentry = { version = "0.31.3", 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"
@ -83,7 +77,7 @@ siwe = "0.5.0"
strum = { version = "0.24.1", features = ["derive"] }
time = "0.3.21"
tokio = { version = "1.28.2", features = ["full"] }
tokio-console = { version = "*", optional = true }
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.4"
@ -91,10 +85,10 @@ tower = "0.4.13"
tower-http = { version = "0.4.0", features = ["cors", "sensitive-headers"] }
tracing = "0.1.37"
tracing-subscriber = "0.3"
ulid = { version = "1.0.0", features = ["uuid", "serde"] }
ulid = { version = "1.0.0", features = ["rand", "uuid", "serde"] }
url = "2.3.1"
uuid = "1.3.3"
async-trait = "0.1.68"
uuid = { version = "1.3.3", default-features = false, features = ["fast-rng", "serde", "v4", "zerocopy"] }
[dev-dependencies]
env_logger = "0.10.0"
tokio = { version = "1.28.2", features = ["full", "test-util"] }

@ -0,0 +1,4 @@
use super::{many::Web3Rpcs, one::Web3Rpc};
use ethers::providers::{JsonRpcClient, ProviderError};
use serde::{de::DeserializeOwned, Serialize};
use std::fmt::Debug;

44
web3_proxy_cli/Cargo.toml Normal file

@ -0,0 +1,44 @@
[package]
name = "web3_proxy_cli"
version = "0.1.0"
edition = "2021"
default-run = "web3_proxy_cli"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
entities = { path = "../entities" }
migration = { path = "../migration" }
web3_proxy = { path = "../web3_proxy" }
influxdb2 = { git = "https://github.com/llamanodes/influxdb2", features = ["rustls"] }
influxdb2-structmap = { git = "https://github.com/llamanodes/influxdb2/"}
anyhow = "1.0.71"
argh = "0.1.10"
chrono = "0.4.26"
env_logger = "0.10.0"
ethers = "2.0.6"
fdlimit = "0.2.1"
futures = "0.3.28"
glob = "0.3.1"
hashbrown = "0.13.2"
log = "0.4.18"
num = "0.4.0"
num-traits = "0.2.15"
pagerduty-rs = "0.1.6"
parking_lot = "0.12.1"
prettytable = "0.10.0"
proctitle = "0.1.1"
rdkafka = { version = "0.31.0" }
reqwest = "0.11.18"
rmp-serde = "1.1.1"
sentry = { version = "0.31.3", default-features = false, features = ["backtrace", "contexts", "panic", "anyhow", "reqwest", "rustls", "log", "sentry-log"] }
serde = "1.0.163"
serde_json = "1.0.96"
tokio = "1.28.2"
toml = "0.7.4"
tracing = "0.1.37"
tracing-subscriber = "0.3.17"
ulid = "1.0.0"
uuid = "1.3.3"