From ed505165ca04b01a0f382aa93fd2fd19f1c33acf Mon Sep 17 00:00:00 2001 From: Bryan Stitt Date: Mon, 5 Dec 2022 14:18:47 -0800 Subject: [PATCH] upgrade things except axum --- Cargo.lock | 64 +++++++++++++++++++++---------------------- TODO.md | 3 +- entities/Cargo.toml | 4 +-- migration/Cargo.toml | 2 +- web3_proxy/Cargo.toml | 8 +++--- 5 files changed, 41 insertions(+), 40 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6f9a2d7c..53cb1efd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1469,9 +1469,9 @@ dependencies = [ [[package]] name = "ethers" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d338f456cf5158d8cb630d39202cca4416ad2248193eadf9562bfb563d123176" +checksum = "11f26f9d8d80da18ca72aca51804c65eb2153093af3bec74fd5ce32aa0c1f665" dependencies = [ "ethers-addressbook", "ethers-contract", @@ -3956,9 +3956,9 @@ dependencies = [ [[package]] name = "sea-orm" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3120bc435b8640963ffda698f877610e07e077157e216eb99408d819c344034d" +checksum = "28fc9dad132e450d6320bd5953e70fb88b42785080b591e9be804da69bd8a170" dependencies = [ "async-stream", "async-trait", @@ -4000,9 +4000,9 @@ dependencies = [ [[package]] name = "sea-orm-macros" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54bacfeb842813c16821e21f9456c358861a448294075184ea1d6307e386d08" +checksum = "66af5d33e04e56dafb2c700f9b1201a39e6c2c77b53ed9ee93244f21f8de6041" dependencies = [ "bae", "heck 0.3.3", @@ -4013,9 +4013,9 @@ dependencies = [ [[package]] name = "sea-orm-migration" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b0c22c789077e49c8ff6b1560e6b7a1e5f2a8f91aeebfb9b9e874fa1bc1aa29" +checksum = "d5260d4956cb6ccf49654e6b94ff8030cd8778240627e971cb5a569347b61606" dependencies = [ "async-trait", "clap", @@ -4145,9 +4145,9 @@ checksum = "930c0acf610d3fdb5e2ab6213019aaa04e227ebe9547b0649ba599b16d788bd7" [[package]] name = "sentry" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6425e2a14006415449fb0a3e9a119df5032f59e7a2d9350cf8738eca290dfc5" +checksum = "17ad137b9df78294b98cab1a650bef237cc6c950e82e5ce164655e674d07c5cc" dependencies = [ "httpdate", "reqwest", @@ -4165,9 +4165,9 @@ dependencies = [ [[package]] name = "sentry-anyhow" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa45060fddf377ec801b2de8abf196734f0e0c8aac7db4fb9747db17f04a224" +checksum = "f55adcceaad4189af35d82c3c51613c0c372f15c25f42f70bf23c9c3ede223e1" dependencies = [ "anyhow", "sentry-backtrace", @@ -4176,9 +4176,9 @@ dependencies = [ [[package]] name = "sentry-backtrace" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d79c194e5c20fe602e81faf39f3cff0f275ec61283f437a892cfd6544da592" +checksum = "afe4800806552aab314129761d5d3b3d422284eca3de2ab59e9fd133636cbd3d" dependencies = [ "backtrace", "once_cell", @@ -4188,9 +4188,9 @@ dependencies = [ [[package]] name = "sentry-contexts" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1c2a57601eeb870521cc241caee27e57a012f297ece3c1b7eee87f2a531edb5" +checksum = "a42938426670f6e7974989cd1417837a96dd8bbb01567094f567d6acb360bf88" dependencies = [ "hostname", "libc", @@ -4202,9 +4202,9 @@ dependencies = [ [[package]] name = "sentry-core" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be90ea119c6d0664c8ab534013bc9e90355e7004d782d5d1492ca513393b929" +checksum = "4df9b9d8de2658a1ecd4e45f7b06c80c5dd97b891bfbc7c501186189b7e9bbdf" dependencies = [ "once_cell", "rand", @@ -4215,9 +4215,9 @@ dependencies = [ [[package]] name = "sentry-log" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd287e561e5498c7e83574df02bfdbbbfe3000d027f2b6bd5c3cfbe40618a3c3" +checksum = "7518096b31fa4075d1bbab79ad62da3258f6c67bafeb4a8b2b3f803695b9205e" dependencies = [ "log", "sentry-core", @@ -4225,9 +4225,9 @@ dependencies = [ [[package]] name = "sentry-panic" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec217c3290e3f0d128154da731c28efa8f62cf8e3c3a006fd4bc3407c959176" +checksum = "0af37b8500f273e511ebd6eb0d342ff7937d64ce3f134764b2b4653112d48cb4" dependencies = [ "sentry-backtrace", "sentry-core", @@ -4235,9 +4235,9 @@ dependencies = [ [[package]] name = "sentry-types" -version = "0.29.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ad85f0addf16310a1fbcf3facc7acb17ef5dbf6ae059d2f3c38442a471404d" +checksum = "ccc95faa4078768a6bf8df45e2b894bbf372b3dbbfb364e9429c1c58ab7545c6" dependencies = [ "debugid", "getrandom", @@ -4252,9 +4252,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.147" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" +checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" dependencies = [ "serde_derive", ] @@ -4271,9 +4271,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.147" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" +checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" dependencies = [ "proc-macro2", "quote", @@ -4754,9 +4754,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.103" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" +checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" dependencies = [ "proc-macro2", "quote", @@ -5063,9 +5063,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" dependencies = [ "bitflags", "bytes", diff --git a/TODO.md b/TODO.md index a735ef2b..b4e47b90 100644 --- a/TODO.md +++ b/TODO.md @@ -248,6 +248,8 @@ These are roughly in order of completition - [x] ethspam on bsc and polygon gives 1/4 errors. fix whatever is causing this - bugfix! we were using the whole connection list instead of just the synced connection list when picking servers. oops! - [x] actually block unauthenticated requests instead of emitting warning of "allowing without auth during development!" +- [x] smarter reconnection logic +- [x] if a websocket connection hasn't received a new block in a while, do a reconnect or just query the block. its possible that the node was syncing when the proxy started - [ ] `cost estimate` script - sum bytes and number of requests. prompt hosting costs. divide - [ ] `stat delay` script @@ -258,7 +260,6 @@ These are roughly in order of completition - one option: we need the insert to be an upsert, but how do we merge historgrams? - [ ] add block timestamp to the /status page - [ ] be sure to save the timestamp in a way that our request routing logic can make use of it -- [ ] if a websocket connection hasn't received a new block in a while, do a reconnect or just query the block. its possible that the node was syncing when the proxy started - [ ] put display name into our prod configs ## V1 diff --git a/entities/Cargo.toml b/entities/Cargo.toml index 78866eb2..821037bb 100644 --- a/entities/Cargo.toml +++ b/entities/Cargo.toml @@ -10,6 +10,6 @@ path = "src/mod.rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -sea-orm = "0.10.4" -serde = "1.0.147" +sea-orm = "0.10.5" +serde = "1.0.149" uuid = "1.2.2" diff --git a/migration/Cargo.toml b/migration/Cargo.toml index 417680d2..15f073c3 100644 --- a/migration/Cargo.toml +++ b/migration/Cargo.toml @@ -12,7 +12,7 @@ path = "src/lib.rs" tokio = { version = "1.22.0", features = ["full", "tracing"] } [dependencies.sea-orm-migration] -version = "0.10.4" +version = "0.10.5" features = [ # Enable at least one `ASYNC_RUNTIME` and `DATABASE_DRIVER` feature if you want to run migration via CLI. # View the list of supported features at https://www.sea-ql.org/SeaORM/docs/install-and-config/database-and-async-runtime. diff --git a/web3_proxy/Cargo.toml b/web3_proxy/Cargo.toml index aefd9e52..7affefc9 100644 --- a/web3_proxy/Cargo.toml +++ b/web3_proxy/Cargo.toml @@ -30,7 +30,7 @@ chrono = "0.4.23" counter = "0.5.7" derive_more = "0.99.17" dotenv = "0.15.0" -ethers = { version = "1.0.1", default-features = false, features = ["rustls", "ws"] } +ethers = { version = "1.0.2", default-features = false, features = ["rustls", "ws"] } env_logger = "0.10.0" fdlimit = "0.2.1" flume = "0.10.14" @@ -54,8 +54,8 @@ reqwest = { version = "0.11.13", default-features = false, features = ["json", " handlebars = "4.3.5" rustc-hash = "1.1.0" siwe = "0.5.0" -sentry = { version = "0.29.0", default-features = false, features = ["backtrace", "contexts", "panic", "anyhow", "reqwest", "rustls", "log", "sentry-log"] } -serde = { version = "1.0.147", features = [] } +sentry = { version = "0.29.1", default-features = false, features = ["backtrace", "contexts", "panic", "anyhow", "reqwest", "rustls", "log", "sentry-log"] } +serde = { version = "1.0.149", features = [] } serde_json = { version = "1.0.89", default-features = false, features = ["alloc", "raw_value"] } serde_prometheus = "0.1.6" # TODO: make sure this time version matches siwe. PR to put this in their prelude @@ -65,7 +65,7 @@ tokio = { version = "1.22.0", features = ["full"] } tokio-stream = { version = "0.1.11", features = ["sync"] } toml = "0.5.9" tower = "0.4.13" -tower-http = { version = "0.3.4", features = ["cors", "sensitive-headers"] } +tower-http = { version = "0.3.5", features = ["cors", "sensitive-headers"] } ulid = { version = "1.0.0", features = ["serde"] } url = "2.3.1" uuid = "1.2.2"