Commit Graph

336 Commits

Author SHA1 Message Date
Bryan Stitt 1329084621 cargo upgrade 2022-11-11 18:40:52 +00:00
Bryan Stitt c35dd96cfb save rpc_key_id or origin. needs some testing 2022-11-11 06:19:14 +00:00
Bryan Stitt b800b862ee bump version 2022-11-07 23:06:14 +00:00
Bryan Stitt cb69a2d132 cargo upgrade (requires rust 1.65+) 2022-11-07 22:23:55 +00:00
Bryan Stitt bde240c18a more auth when only rpc_key_id is set 2022-11-04 22:58:15 +00:00
Bryan Stitt e8f2a13f5d better stats aggregations 2022-11-02 23:14:16 +00:00
Bryan Stitt f2268dbb1b this works, but its not super fast 2022-11-01 20:51:33 +00:00
Bryan Stitt f859ed56fc period instead of minute in variable names 2022-11-01 19:24:29 +00:00
Bryan Stitt 8b35bf5e63 clean up migration 2022-11-01 18:54:39 +00:00
Bryan Stitt 1d22291737 wip. add user tiers 2022-10-31 20:51:50 +00:00
Bryan Stitt 234289965d cargo upgrade 2022-10-31 19:34:29 +00:00
Bryan Stitt 366f2c8f84 rename api_key to rpc_key 2022-10-27 00:12:42 +00:00
Bryan Stitt 0c3194f445 upgrades and todo cleanup 2022-10-26 22:38:04 +00:00
Bryan Stitt 8f3e5c0146 user post endpoint 2022-10-26 21:39:26 +00:00
Bryan Stitt 8230172366 more user endpoints 2022-10-25 21:11:19 +00:00
Bryan Stitt 4ccbcb8af4 update sea-orm and entities 2022-10-25 03:41:59 +00:00
Bryan Stitt a0056ca881 optional tracing-sentry 2022-10-24 21:07:29 +00:00
Bryan Stitt cbe2c7a6cd cargo upgrade 2022-10-21 20:57:10 +00:00
Bryan Stitt 12ee26a2b3 wait on background threads 2022-10-20 22:51:56 +00:00
Bryan Stitt 6c1a128802 cargo upgrade --workspace 2022-10-20 07:16:07 +00:00
Bryan Stitt 848af3d8b3 more docs 2022-10-17 21:47:58 +00:00
Bryan Stitt 76c8f1ef96 i think it works 2022-10-11 21:31:34 +00:00
Bryan Stitt 552f3dbffc proper sizes for caches and emit all stats 2022-10-11 19:58:25 +00:00
Bryan Stitt cfd26940a9 this might be too many columns 2022-10-11 05:13:00 +00:00
Bryan Stitt 25aa68a5bf add per-user rpc accounting 2022-10-10 04:15:49 +00:00
Bryan Stitt c8fbf46885 stats in redis that actually work
we should still investigate a real time series db, but stats in redis is much simpler for now
2022-10-07 02:15:53 +00:00
Bryan Stitt 25d34da98d add stat emitter 2022-10-03 18:08:01 +00:00
Bryan Stitt 53f9551180 finish adding semaphores 2022-09-28 03:35:55 +00:00
Bryan Stitt a3bba43360 allow null calldata 2022-09-24 07:03:29 +00:00
Bryan Stitt bbaa32e7b5 release 0.2.0 2022-09-24 05:54:38 +00:00
Bryan Stitt 8459dcd1f1 let the frontend handle their own cookies 2022-09-24 02:47:44 +00:00
Bryan Stitt 8035ee5a0c update entitites 2022-09-24 00:17:02 +00:00
Bryan Stitt dbd8ea2429 add logout endpoint and prefix with /rpc 2022-09-23 21:49:18 +00:00
Bryan Stitt 961ccf7cf2 ip, origin, referer, and user agent checks 2022-09-23 05:22:33 +00:00
Bryan Stitt 6905e9fd46 create a struct for authenticated requests that we need for per-key stats 2022-09-22 19:57:21 +00:00
Bryan Stitt 8481f6d44c wip 2022-09-21 23:50:55 +00:00
Bryan Stitt 37a1aa554b revert error saving and extract blockHash from requests 2022-09-21 04:48:21 +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 b2adc73b50 upgrade tokio-stream 2022-09-19 22:25:45 +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 3d4bfbfde0 use ahash. allow no redis 2022-09-17 01:19:11 +00:00
Bryan Stitt 6182b5f8e6 need a mutex, not a cell 2022-09-17 01:06:10 +00:00
Bryan Stitt 12b6d01434 work in progress 2022-09-15 17:57:24 +00:00
Bryan Stitt 1730b8c7a5 switch to deadpool 2022-09-14 06:18:13 +00:00
Bryan Stitt e9ee87afb2 cargo upgrade 2022-09-14 01:42:08 +00:00
Bryan Stitt dc30bdcef3 cargo upgrade 2022-09-12 14:36:26 +00:00
Bryan Stitt 879c6e49f2 dry errors so that rate limits dont log so much 2022-09-10 00:12:14 +00:00
Bryan Stitt cae034afb3 better metrics and spawn 2022-09-08 21:01:36 +00:00
Bryan Stitt 068c05cf4f improve fork logic again 2022-09-05 16:25:21 +00:00
Bryan Stitt 6e12edd555 use sized Caches 2022-09-05 05:53:58 +00:00
Bryan Stitt 62d747c1b3 Vec instead of IndexSet 2022-09-05 03:40:13 +00:00
Bryan Stitt 593eb461b8 more dashmap 2022-09-05 01:52:59 +00:00
Bryan Stitt b259b56dee upgrade deps 2022-09-02 20:00:59 +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 93fe878748 more use login things 2022-08-27 05:42:25 +00:00
Bryan Stitt 101104ac5d upgrade 2022-08-26 05:26:27 +00:00
Bryan Stitt 2989b7e91c dry redis connections and use bearer tokens 2022-08-23 18:48:27 +00:00
Bryan Stitt 634dc5572d upgrade 2022-08-21 08:30:43 +00:00
Bryan Stitt 5af834d710 it compiles 2022-08-21 08:27:52 +00:00
Bryan Stitt b94cb7382d upgrade deps 2022-08-19 20:13:36 +00:00
Bryan Stitt 115657e97c half the login page and better error handling 2022-08-16 22:52:12 +00:00
Bryan Stitt 305d89ddf4 error refactor for user endpoints 2022-08-16 19:29:00 +00:00
Bryan Stitt 3b23ed1f8e tower-request-id 2022-08-16 00:33:26 +00:00
Bryan Stitt e9000d1f61 drop redis-cell in favor of simpler query 2022-08-15 22:50:56 +00:00
Bryan Stitt 52151f8b22 set content-type header 2022-08-12 21:41:11 +00:00
Bryan Stitt 64c59ef44f start adding prometheus-client 2022-08-12 19:21:14 +00:00
Bryan Stitt 3597fb24ef prettier output in create_user 2022-08-12 19:16:08 +00:00
Bryan Stitt c57c2249c0 load the redirected page from config 2022-08-12 19:08:28 +00:00
Bryan Stitt 80a3c74120 cache db data in a map 2022-08-10 02:37:43 +00:00
Bryan Stitt 439e27101d better results and errors 2022-08-07 06:48:57 +00:00
Bryan Stitt 2811c84c25 dash consistency 2022-08-06 05:46:33 +00:00
Bryan Stitt 20384e7f2f use Uuid and bools in our generated types 2022-08-05 19:47:50 +00:00
Bryan Stitt e295307afc fix directory structure 2022-08-05 19:22:23 +00:00
Bryan Stitt be13cb0ff9 rate limiting on user key 2022-08-04 01:10:27 +00:00
Bryan Stitt dede79fde1 regenerate entities 2022-08-03 23:17:02 +00:00
Bryan Stitt 7bc2325df3 upgrade deps 2022-08-03 00:27:32 +00:00
Bryan Stitt 4b193a7112 basic database 2022-08-03 00:27:26 +00:00
Bryan Stitt 4cb65b0fa4 setup database and stub migrations 2022-07-26 04:55:07 +00:00
Bryan Stitt 4ec10e7a98 first pass at a schema 2022-07-26 00:38:00 +00:00
Bryan Stitt a62157bf35 upgrade 2022-07-25 18:36:15 +00:00
Bryan Stitt 0b184ae9c9 shutdown signal 2022-07-22 23:26:04 +00:00
Bryan Stitt bc1224a0e1 store blocks in Arcs 2022-07-22 05:11:26 +00:00
Bryan Stitt 88cb2cd1d1 document more and cache in block_map 2022-07-19 06:41:04 +00:00
Bryan Stitt 75098d83b6 smarter archive routing 2022-07-19 01:31:12 +00:00
Bryan Stitt b87540d99d better archive split 2022-07-16 04:13:02 +00:00
Bryan Stitt fef1caa056 just do one app for now 2022-07-13 21:50:08 +00:00
Bryan Stitt 23a545177f simple backend server 2022-07-11 19:16:18 +00:00
Bryan Stitt 91b9b65db5 fix hex in some responses 2022-07-09 02:33:57 +00:00
Bryan Stitt fabbf7a3e8 upgrade 2022-07-08 19:00:09 +00:00
Bryan Stitt 8cc2fab48e connection pooling 2022-07-07 03:22:09 +00:00
Bryan Stitt 118ea6204a upgrade 2022-07-06 21:42:53 +00:00
Bryan Stitt 7d81e012ae cargo upgrade 2022-06-25 02:29:07 +00:00
Bryan Stitt afb3dde4b3 newPendingRawTransactions 2022-06-18 07:06:54 +00:00
Bryan Stitt 4ca292c3e1 getting closer 2022-06-16 02:53:37 +00:00
Bryan Stitt 2e559f3063 transaction subscription getting closer 2022-06-14 04:04:14 +00:00
Bryan Stitt d2033b0a4e parking lot upgrade 2022-06-02 21:48:49 +00:00
Bryan Stitt 09db979ba3 subscriptions getting closer 2022-05-30 04:30:13 +00:00
Bryan Stitt 0387492df8 add websocket server 2022-05-29 17:28:41 +00:00
Bryan Stitt 8316c812c6 upgrade dashmap 2022-05-29 01:27:15 +00:00
Bryan Stitt 4335d2120e update ethers-rs 2022-05-28 04:25:55 +00:00
Bryan Stitt 2b4a2c3cad use redis-cell instead of governor 2022-05-21 23:34:05 +00:00
Bryan Stitt 5e14333e61 start adding redis-cell for rate limits 2022-05-21 20:40:22 +00:00
Bryan Stitt 0ef728df93 axum and compact logs 2022-05-20 05:27:18 +00:00
Bryan Stitt 7c7b25d654 minimal app served its purpose 2022-05-20 02:01:02 +00:00
Bryan Stitt 5d1e0a6178 use local clone of ethers-rs 2022-05-20 00:53:57 +00:00
Bryan Stitt 36f2ca380b add minimal code that only watches blocks to see if it locks up 2022-05-19 21:21:41 +00:00
Bryan Stitt 7a3a3271bb back to arcswap and usizes 2022-05-18 20:18:01 +00:00
Bryan Stitt dcfad0c1b5 max fd limit 2022-05-17 17:24:10 +00:00
Bryan Stitt 315b751dc7 add tokio-console 2022-05-17 16:23:27 +00:00
Bryan Stitt 58643d605c tracing should use parking lot too 2022-05-17 04:26:53 +00:00
Bryan Stitt 6ab2b3a533 in-flight request checks 2022-05-16 19:15:47 +00:00
Bryan Stitt 5fcd01065e deadlock detection 2022-05-16 05:16:32 +00:00
Bryan Stitt d961aa647d small refactor 2022-05-15 19:39:13 +00:00
Bryan Stitt 397d4d03e5 add chain_id to proc title 2022-05-12 18:49:57 +00:00
Bryan Stitt 3914a41fa2 handle batched requests 2022-05-11 23:51:03 +00:00
Bryan Stitt cf4055e2b1 dont fear locks and better serializing 2022-05-06 05:44:30 +00:00
Bryan Stitt 6fc80e9358 rustls 2022-05-06 01:25:49 +00:00
Bryan Stitt bc91bd1c6f first pass at caching
i'm confused. i had it over 100k connections on friday, but now even when i go back to those commits, i can't get that high
2022-05-05 19:06:03 +00:00
Bryan Stitt 70ffa51c2f upgrades 2022-05-04 06:06:34 +00:00
Bryan Stitt 5a9bcd5dc3 flume seems faster 2022-05-03 05:13:53 +00:00
Bryan Stitt 651494a278 toml config 2022-05-03 04:02:52 +00:00
Bryan Stitt 79507c92cb arcswap again 2022-05-02 21:35:49 +00:00
Bryan Stitt b47482298c first pass at less sturcts 2022-05-02 20:32:55 +00:00
Bryan Stitt 7510db4989 faster 2022-04-29 01:57:16 +00:00
Bryan Stitt 2fef0e6acb no more dashmap. all atomics 2022-04-28 22:40:29 +00:00
Bryan Stitt 5c2e0dabc8 even better locking 2022-04-28 00:08:30 +00:00
Bryan Stitt 0b5d2ca1cf track latest blocks 2022-04-27 04:36:11 +00:00
Bryan Stitt a870dfa63a derive more 2022-04-26 16:50:02 +00:00
Bryan Stitt 710cef5da3 use channels to return early 2022-04-26 06:54:24 +00:00
Bryan Stitt 969bb32495 start using ethers-rs 2022-04-25 19:42:51 +00:00
Bryan Stitt 7705991b4c watch new heads 2022-04-25 19:14:10 +00:00
Bryan Stitt f9be6a2ef1 parallel processing 2022-04-24 18:56:46 +00:00
Bryan Stitt 5a6467fa3f large improvements 2022-04-24 07:26:00 +00:00
Bryan Stitt 28a99fd6ea initial commit 2022-03-04 19:46:57 -08:00