Commit Graph

158 Commits

Author SHA1 Message Date
Bryan Stitt
8eff48611c more direct consensus finding code
this hopefully has less bugs. speed isn't super important since this isn't on the host path.
2023-03-22 13:10:15 -07:00
Rory Neithinger
fe2a760c8a more conversions to Web3ProxyError 2023-03-20 13:45:21 -07:00
Rory Neithinger
beac7ee017 better error handling for proxy_web3_rpc() 2023-03-19 18:52:28 -07:00
Rory Neithinger
f3fc4924dc Refactor FrontendErrorResponse into Web3ProxyError
Renamed FrontendResponse to Web3ProxyResponse and introduced
a new generic type alias Web3ProxyResult.

Fixed a few noisy cargo warnings.
2023-03-16 22:21:20 -07:00
Bryan Stitt
6717999ced actually use backup rpcs 2023-03-07 16:02:22 -08:00
Bryan Stitt
dbd7860416 wip influxdb2 2023-03-04 20:54:04 +01:00
Bryan Stitt
eb4d05a520 stats v2
rebased all my commits and squashed them down to one
2023-03-04 20:48:49 +01:00
Bryan Stitt
baf07f7de5 sync sort should include backup 2023-03-01 21:35:50 +00:00
Bryan Stitt
f8f5e7a1c8 add thread for config file watching and run clippy lint 2023-02-26 23:08:00 -08:00
Bryan Stitt
bf79d677b0 by_name needs to a lock 2023-02-26 20:00:13 -08:00
Bryan Stitt
e96f09a9c4 refactors to make configs partially reloadable 2023-02-25 23:52:33 -08:00
Bryan Stitt
1fb4dd6ccc i think it works 2023-02-15 12:33:43 -08:00
Bryan Stitt
c65ffc9ce0 getting close 2023-02-14 17:41:40 -08:00
Bryan Stitt
f1e6de3677 fixed one test. still more to fix though 2023-02-14 12:41:05 -08:00
Bryan Stitt
824a6fa1f0 well it compiles. doesnt work yet. but it compiles 2023-02-14 12:14:50 -08:00
Bryan Stitt
c008f50943 use http and ws providers in a single config 2023-02-12 01:40:01 -08:00
Bryan Stitt
f1bc00082a include to_block more places 2023-02-10 20:45:57 -08:00
Bryan Stitt
6741cd72ac lint 2023-02-09 11:55:54 -08:00
Bryan Stitt
0b1929a820 add minimal config for quick testing 2023-02-06 15:20:36 -08:00
Bryan Stitt
0f280ce483 cargo upgrade and shorten variable names
also begin adding a latency tracker for rpc stats
2023-02-06 09:55:27 -08:00
Bryan Stitt
6d959e2c1f add archive depth to app config 2023-02-05 17:58:03 -08:00
Bryan Stitt
37830f1156 Jenkinsfile from llamanodes/erigon 2023-02-05 00:13:14 -08:00
Bryan Stitt
8bcf40b62d Revert "Revert "include from_block and to_block for caching getLogs""
This reverts commit 13bab2c9cfcc09f8d503ff24f6e2c2a3fc0faaa2.
2023-01-31 08:30:24 -08:00
Bryan Stitt
13bab2c9cf Revert "include from_block and to_block for caching getLogs"
This reverts commit 203969f62833668c4081acbb2188989fd6545c24.
2023-01-31 08:30:11 -08:00
Bryan Stitt
203969f628 include from_block and to_block for caching getLogs 2023-01-30 15:47:17 -08:00
Bryan Stitt
cffc60e7f6 improve responses when blocks are not available 2023-01-24 22:45:20 -08:00
Bryan Stitt
694e552b5d improve waiting for sync when rate limited 2023-01-24 20:45:03 -08:00
Bryan Stitt
86e3f2991f use watch instead of arcswap 2023-01-22 22:02:08 -08:00
Bryan Stitt
e53030e053 move backup indicator 2023-01-19 18:30:30 -08:00
Bryan Stitt
c3b53eb5f2 add backup indicator to more logs 2023-01-19 18:14:47 -08:00
Bryan Stitt
52a9ba604c remove allowed lag 2023-01-19 03:05:39 -08:00
Bryan Stitt
2cb6dde052 more log improvements 2023-01-19 02:26:54 -08:00
Bryan Stitt
0c05b5bdee major refactor to only use backup servers when absolutely necessary 2023-01-19 02:20:06 -08:00
Bryan Stitt
d7c75f843e add stub try_proxy_connection 2023-01-16 22:54:40 -08:00
Bryan Stitt
045065986a move allowed_lag around 2023-01-04 12:07:53 -08:00
Bryan Stitt
5be5128c93 partial refactor of allowed lag 2023-01-03 08:33:49 -08:00
Bryan Stitt
f04905698a improve request caching 2022-12-16 20:05:01 -08:00
Bryan Stitt
78a2119c07 quieter syncing nodes 2022-12-05 16:55:18 -08:00
Bryan Stitt
a54a061bd2 handle null case 2022-12-05 16:18:31 -08:00
Bryan Stitt
33f7256236 clones to avoid deadlock 2022-12-05 16:06:28 -08:00
Bryan Stitt
dc5c944545 rename head_block_id to head_block 2022-12-05 14:38:54 -08:00
Bryan Stitt
5bec8bb5b9 much smarter connection logic 2022-12-05 14:11:56 -08:00
Bryan Stitt
0b93cb966e trailing commas 2022-12-02 21:55:46 -08:00
Bryan Stitt
9101c767e3 logs match 2022-12-02 21:49:41 -08:00
Bryan Stitt
b8ac77a342 skip nodes that are syncing 2022-12-02 21:38:19 -08:00
Bryan Stitt
eb4b487aae better block saving 2022-12-02 21:31:03 -08:00
Bryan Stitt
1b0cab9f54 better errors 2022-12-01 02:01:41 +00:00
Bryan Stitt
0d2816c487 add old block detection 2022-11-30 22:11:14 +00:00
Bryan Stitt
5b1621ead4 fix bug with not using synced_connections correctly 2022-11-22 22:45:22 +00:00
Bryan Stitt
311f6f1ac6 more ArcBlock 2022-11-21 17:49:57 +00:00
Bryan Stitt
4d8808b886 a little bit more trace logging 2022-11-16 08:34:17 +00:00
Bryan Stitt
0f16fdb97a comments 2022-11-13 21:25:58 +00:00
Bryan Stitt
96a486866c add optional display name 2022-11-13 21:05:37 +00:00
Bryan Stitt
0e1cf5767c cut out tracing for now 2022-11-12 08:24:32 +00:00
Bryan Stitt
c33342d9dd simplify authorization types so we can pass them deeper easily 2022-11-11 06:19:12 +00:00
Bryan Stitt
e8f2a13f5d better stats aggregations 2022-11-02 23:14:16 +00:00
Bryan Stitt
8b35bf5e63 clean up migration 2022-11-01 18:54:39 +00:00
Bryan Stitt
a534eae968 trace everything 2022-10-28 22:52:47 +00:00
Bryan Stitt
366f2c8f84 rename api_key to rpc_key 2022-10-27 00:12:42 +00:00
Bryan Stitt
8f3e5c0146 user post endpoint 2022-10-26 21:39:26 +00:00
Bryan Stitt
b7259192e8 more context. don't use unix timestamps 2022-10-20 23:50:23 +00:00
Bryan Stitt
552f3dbffc proper sizes for caches and emit all stats 2022-10-11 19:58:25 +00:00
Bryan Stitt
a7b5f25467 unwrap less 2022-09-30 04:18:18 +00:00
Bryan Stitt
5df2469d53 ULID or UUID. Prefer ULID 2022-09-24 05:53:45 +00:00
Bryan Stitt
8459dcd1f1 let the frontend handle their own cookies 2022-09-24 02:47:44 +00:00
Bryan Stitt
6d23071640 less clones, but still some 2022-09-22 22:14:24 +00:00
Bryan Stitt
3854312674 we need to clone :'( 2022-09-22 21:51:52 +00:00
Bryan Stitt
43846a7051 pass authorized_request through a bunch of places 2022-09-22 20:27:14 +00:00
Bryan Stitt
37a1aa554b revert error saving and extract blockHash from requests 2022-09-21 04:48:21 +00:00
Bryan Stitt
739947792a instrument more. add max_wait to wait_for_request_handle 2022-09-20 06:00:27 +00:00
Bryan Stitt
6ae24b1ff9 use cache's expiration and race-free get_with
when this was a dashmap, we needed our own expiration and parallel requests would do the same query.

with moka, we can use their expiration code and get_with
2022-09-20 01:33:39 +00:00
Bryan Stitt
05af0551c9 use ahash
this might actually be slower. do real benchmarks
2022-09-17 02:17:20 +00:00
Bryan Stitt
7a1433e3c9 no longer need to use total difficulty on ETH 2.0 2022-09-14 19:39:08 +00:00
Bryan Stitt
731a255d2f add old block to log and more todos 2022-09-14 06:57:24 +00:00
Bryan Stitt
ea8f6091f9 improve (but disable) rate limits 2022-09-14 06:41:34 +00:00
Bryan Stitt
789672be43 try fixing warning about missing blocks 2022-09-14 05:26:46 +00:00
Bryan Stitt
a5ccec76c7 silence some warnings and make private rpcs an option 2022-09-14 04:27:18 +00:00
Bryan Stitt
5a16b9eed8 fix reconnect for http clients 2022-09-14 02:11:48 +00:00
Bryan Stitt
05e94ff81c send UNAUTHORIZED to unknown keys 2022-09-12 14:33:55 +00:00
Bryan Stitt
cae034afb3 better metrics and spawn 2022-09-08 21:01:36 +00:00
Bryan Stitt
cfca16319b lower uncle log level 2022-09-07 20:24:45 +00:00
Bryan Stitt
c9b2c0c0d2 dry cache code 2022-09-07 03:54:16 +00:00
Bryan Stitt
c34e8ef383 improve rate limiting and request counters 2022-09-06 20:13:07 +00:00
Bryan Stitt
041dd5f317 more logs and beginning of a health check 2022-09-06 16:49:07 +00:00
Bryan Stitt
bb96757452 None instead of Block::default() more places 2022-09-06 12:29:37 +00:00
Bryan Stitt
8080794a8b skip dupes earlier 2022-09-05 16:29:21 +00:00
Bryan Stitt
068c05cf4f improve fork logic again 2022-09-05 16:25:21 +00:00
Bryan Stitt
2092e74fd3 fix variable names and log to match 2022-09-05 15:49:53 +00:00
Bryan Stitt
a7cb3d00df small cleanup 2022-09-05 06:13:36 +00:00
Bryan Stitt
6e12edd555 use sized Caches 2022-09-05 05:53:58 +00:00
Bryan Stitt
593eb461b8 more dashmap 2022-09-05 01:52:59 +00:00
Bryan Stitt
8225285bb8 bug fix and better logs 2022-09-03 02:59:30 +00:00
Bryan Stitt
6f0ae1ec35 slower but correct save_block 2022-09-02 21:35:03 +00:00
Bryan Stitt
010669cf81 handle a missing block 2022-09-02 20:46:39 +00:00
Bryan Stitt
ac6296c5ac better connection pool sizing 2022-09-02 20:16:20 +00:00
Bryan Stitt
2606844c61 almost done with heaviest chain tracking 2022-09-02 05:40:56 +00:00
Bryan Stitt
6450a4cd42 more fork detection work 2022-09-01 05:58:55 +00:00
Bryan Stitt
e5e137f76c fix deadlock 2022-08-30 20:01:42 +00:00
Bryan Stitt
11c66636bb rewrite cannonical block 2022-08-27 23:49:41 +00:00
Bryan Stitt
5e239c05c8 add min_sum_soft_limit to config 2022-08-27 03:13:23 +00:00