Commit Graph

859 Commits

Author SHA1 Message Date
yenicelik
fadb61114a should write some tests next 2023-01-30 20:02:28 +01:00
yenicelik
31788bb228 imitating user. login flow still needs to check for read-only at every checkpoint. also referral logic can be removed from the login_post function 2023-01-30 17:45:24 +01:00
yenicelik
04687b3392 ingested changes from upstream main. added another cli admin endpoint 2023-01-29 23:27:34 +01:00
Bryan Stitt
b358463928 use error_builder 2023-01-26 19:18:58 -08:00
Bryan Stitt
2c05c63350 error with body if not json 2023-01-26 19:07:27 -08:00
Bryan Stitt
f9d3eb1e0d cut /rpc/ off 2023-01-25 19:05:11 -08:00
Bryan Stitt
b808a72b35 actually add the script 2023-01-25 17:59:08 -08:00
Bryan Stitt
c0ab400af6 add create_key cli command 2023-01-25 17:58:10 -08:00
Bryan Stitt
f756bc7390 longer timeout 2023-01-25 17:42:16 -08:00
Bryan Stitt
315ac4838d include code in the error message 2023-01-25 14:59:11 -08:00
Bryan Stitt
43b5652ba8 better handling when rate limited 2023-01-25 14:24:38 -08:00
Bryan Stitt
f80390c88a upgrade sentry and fix pagerduty features so we do not need openssl 2023-01-25 14:11:20 -08:00
Bryan Stitt
d5f2d6eb18 improve pager duty errors for smarter deduping 2023-01-25 14:04:06 -08:00
Bryan Stitt
f2260ecdba don't require hard limit send 2023-01-25 10:01:36 -08:00
Bryan Stitt
e85965ec12 more context on everything 2023-01-25 01:00:28 -08:00
Bryan Stitt
0c879c5613 one less unwrap 2023-01-25 00:45:49 -08:00
Bryan Stitt
0c387af589 dedup keys 2023-01-25 00:27:07 -08:00
Bryan Stitt
7e5418a8e7 handle empty result 2023-01-25 00:19:35 -08:00
Bryan Stitt
0c058614ce fix not using the workers config option 2023-01-24 23:21:50 -08:00
Bryan Stitt
07bac8618e cargo upgrade --workspace 2023-01-24 22:46:58 -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
0ae240492a easy trace logging 2023-01-24 20:44:17 -08:00
Bryan Stitt
641d11a19b remove excess continues 2023-01-24 10:09:12 -08:00
Bryan Stitt
522678e394 don't send pagerduty alerts for websocket panics 2023-01-24 09:38:12 -08:00
Bryan Stitt
106dec294f better handling when method not available 2023-01-24 09:36:07 -08:00
Bryan Stitt
447cf90eed jsonrpc instead of 500 errors 2023-01-24 08:07:10 -08:00
Bryan Stitt
c9b8e5dfb9 wrote our own panic handler 2023-01-24 05:27:07 -08:00
Bryan Stitt
4f9d0f6336 add --chain-id to sentryd too 2023-01-24 04:51:55 -08:00
Bryan Stitt
23f31c9129 sanitize inputs and improve logs 2023-01-24 04:29:12 -08:00
Bryan Stitt
953bb27adc add --chain-id to sentryd 2023-01-24 04:17:39 -08:00
Bryan Stitt
17c446b68c why did cargo upgrade miss all these? 2023-01-24 03:25:12 -08:00
Bryan Stitt
7b046451be actually add the file 2023-01-24 03:12:36 -08:00
Bryan Stitt
36d64489d8 sentryd to pagerduty 2023-01-24 03:12:23 -08:00
Bryan Stitt
54d190acfc dryer pagerduty code 2023-01-24 02:45:48 -08:00
Bryan Stitt
a242244a35 broadcast transactions to more servers 2023-01-24 01:58:31 -08:00
Bryan Stitt
7ec4c69fd7 actually add the new file 2023-01-24 00:05:41 -08:00
Bryan Stitt
776bcd149f send panics to pagerduty 2023-01-24 00:05:31 -08:00
Bryan Stitt
c1e81089b1 sort dependencies 2023-01-23 21:50:59 -08:00
Bryan Stitt
47daab3b67 drop log level for backup servers 2023-01-23 21:37:23 -08:00
Bryan Stitt
cfa840a140 DRY and fix comment 2023-01-23 21:08:24 -08:00
Bryan Stitt
56fcd68be7 increase gas estimation on polygon even more 2023-01-23 12:32:59 -08:00
Bryan Stitt
86e3f2991f use watch instead of arcswap 2023-01-22 22:02:08 -08:00
Bryan Stitt
ec5c28b64b better way to allow no config 2023-01-22 17:48:33 -08:00
Bryan Stitt
51a9beaf6f allow no config 2023-01-22 17:19:31 -08:00
Bryan Stitt
e89126cff8 cargo upgrade --workspace 2023-01-20 15:51:19 -08:00
Bryan Stitt
6ffdcd42e3 add todo 2023-01-20 15:50:39 -08:00
Bryan Stitt
412733d505 improve wait_for_sync 2023-01-20 15:43:16 -08:00
Bryan Stitt
b9a12756b9 collect request_metadata.response_from_backup_rpc 2023-01-19 21:46:47 -08:00
Bryan Stitt
501cb4a1b9 cargo upgrade --workspace for some perf improvements 2023-01-19 21:30:24 -08:00
Bryan Stitt
17d8ea0b7f make free tier even better and improve migration locking 2023-01-19 21:28:33 -08:00
Bryan Stitt
0731d92dec use best, not fastest with websocket 2023-01-19 18:32:31 -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
2f8920085b configurable gas buffer 2023-01-19 18:08:53 -08:00
Bryan Stitt
ad169eda0e log cleanup 2023-01-19 17:57:36 -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
274778cd12 cargo upgrade --workspace 2023-01-19 02:21:45 -08:00
Bryan Stitt
76e51e3d11 better log level 2023-01-19 02:21:39 -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
e4b0d4b76d todo comment 2023-01-18 16:21:15 -08:00
Bryan Stitt
90d3371eee improved rate limiting on websockets 2023-01-18 16:17:47 -08:00
Bryan Stitt
053947de40 one bin for everything 2023-01-18 13:56:23 -08:00
yenicelik
942865b6ac also removing login from cache. should add tests for all these cases 2023-01-18 14:00:30 +01:00
Bryan Stitt
e4a223732a add APP_USER_AGENT to the status page 2023-01-17 20:18:18 -08:00
Bryan Stitt
9fe6365283 serarate max_age and max_lag 2023-01-17 15:52:31 -08:00
Bryan Stitt
9ba4c288c6 quick health check script that logs to sentry 2023-01-17 15:42:25 -08:00
yenicelik
74f5a27f0b added binary to change admin status of a user 2023-01-17 21:44:16 +01:00
yenicelik
f0be397b09 tiny refactoring and added admin entities. some bugs coming up 2023-01-17 20:12:40 +01:00
yenicelik
62f89a127d will stash wrong entities 2023-01-17 19:55:54 +01:00
yenicelik
dc11cc89f7 first commit adding admin endpoint to modify users tier. TODO: clear cache 2023-01-17 16:04:23 +01:00
Bryan Stitt
d7c75f843e add stub try_proxy_connection 2023-01-16 22:54:40 -08:00
Bryan Stitt
b21b5699db print result as json 2023-01-16 17:03:31 -08:00
Bryan Stitt
5c03249bda fix accidental merge. moved to a branch 2023-01-16 16:56:43 -08:00
Bryan Stitt
81b178e71c exit with errors better 2023-01-15 14:50:20 -08:00
Bryan Stitt
a5df2ea00d make deadlock feature optional 2023-01-15 14:50:20 -08:00
Bryan Stitt
7d0ac54019 upgrade hashbrown 2023-01-15 12:02:33 -08:00
Bryan Stitt
8c02e4420d remove weight now that we use tiers 2023-01-13 13:45:48 -08:00
Bryan Stitt
8ddfd111d5 lint 2023-01-13 13:45:33 -08:00
Bryan Stitt
5645f89773 actually filter on chain id 2023-01-13 13:45:19 -08:00
Bryan Stitt
9f7d28b538 retry if we get the method X is not available 2023-01-12 22:40:47 -08:00
Bryan Stitt
256cb5bd5d more verbose error 2023-01-12 13:56:39 -08:00
Bryan Stitt
80b84f3a60 add rpc_accounting bin 2023-01-11 17:36:23 -08:00
Bryan Stitt
364097dcec cargo upgrade 2023-01-11 15:19:21 -08:00
Bryan Stitt
e4f1716f06 broadcast txs to less servers 2023-01-11 14:55:41 -08:00
Bryan Stitt
30fd0476e5 finish transfer_key 2023-01-09 18:28:41 -08:00
Bryan Stitt
e2d0369cd5 lower level for reconnect 2023-01-09 18:23:27 -08:00
Bryan Stitt
b193e5cfeb transfer key script 2023-01-09 17:50:32 -08:00
Bryan Stitt
cefbfef4d0 lint 2023-01-06 16:01:10 -08:00
Bryan Stitt
99d095bc33 upgrade after revert 2023-01-06 15:59:36 -08:00
Bryan Stitt
fb62243c3e Revert "cargo upgrade and use trailing slash route extra"
This reverts commit 5bfba3a87afbf4157c2b0bd36273e3dcc4075578.
2023-01-06 15:58:52 -08:00
Bryan Stitt
5bfba3a87a cargo upgrade and use trailing slash route extra 2023-01-06 14:22:57 -08:00
Bryan Stitt
eb3fe0b1b5 start moving more stats from /status to /prometheus 2023-01-06 14:02:06 -08:00
Bryan Stitt
bc5ffc2366 add trailing slash for some routes 2023-01-06 13:40:10 -08:00
Bryan Stitt
221f2c1651 upgrade tokio
its a change for windows so doesn't really matter
2023-01-04 14:34:58 -08:00
Bryan Stitt
ec43d69462 fake weight for now 2023-01-04 14:33:39 -08:00
Bryan Stitt
664ecf5924 use None if on head block 2023-01-04 12:12:44 -08:00
Bryan Stitt
045065986a move allowed_lag around 2023-01-04 12:07:53 -08:00
Bryan Stitt
c0fc999e02 change weight to tier 2023-01-03 22:37:51 -08:00
Bryan Stitt
5a567ebeea try a new way to check block data limit if no longer syncing but limit is 0 2023-01-03 11:54:24 -08:00
Bryan Stitt
d5a17c914d lint 2023-01-03 11:38:06 -08:00
Bryan Stitt
1aefcf166d different polling for different chains 2023-01-03 11:37:42 -08:00
Bryan Stitt
5be5128c93 partial refactor of allowed lag 2023-01-03 08:33:49 -08:00
Bryan Stitt
43dd9628e6 Revert "Revert "Revert "self.check_block_data_limit when syncing changes"""
This reverts commit 36a33a8a1f1ed054a539736cc439e76bd2e7f945.
2023-01-03 07:51:18 -08:00
Bryan Stitt
36a33a8a1f Revert "Revert "self.check_block_data_limit when syncing changes""
This reverts commit ccb79522b6698625c2a00c71f8e71644008ca943.
2023-01-03 06:08:40 -08:00
Bryan Stitt
ccb79522b6 Revert "self.check_block_data_limit when syncing changes"
This reverts commit f3802a48357bd95d4e2b61e650341a458323aa45.
2023-01-03 05:26:21 -08:00
Bryan Stitt
f3802a4835 self.check_block_data_limit when syncing changes 2023-01-02 21:01:04 -08:00
Bryan Stitt
8ccb2e6c46 missed a git add 2023-01-02 17:24:49 -08:00
Bryan Stitt
80dfe8b7f2 count users script and stat 2023-01-02 17:06:36 -08:00
Bryan Stitt
5d368bfd1d rolling counts for a week 2023-01-02 16:34:32 -08:00
Bryan Stitt
31fb3f1a58 use a const 2023-01-02 16:34:22 -08:00
Bryan Stitt
eaea79c055 fix missing import 2023-01-02 10:44:36 -08:00
Bryan Stitt
f701295439 upgrade arc-swap 2023-01-02 10:43:49 -08:00
Bryan Stitt
9b6b0ab7d2 remove extra brace 2023-01-02 10:42:27 -08:00
Bryan Stitt
206d339d45 all_backend_connections skips syncing servers 2023-01-02 10:34:16 -08:00
Bryan Stitt
fb56729ab1 fix key 2022-12-28 23:16:35 -08:00
Bryan Stitt
81c49d08cf tx stats too 2022-12-28 22:21:09 -08:00
Bryan Stitt
68183c34c7 more stats and rate limit on user, not key 2022-12-28 13:50:40 -08:00
Bryan Stitt
3a8f30f87d lint 2022-12-28 08:49:21 -08:00
Bryan Stitt
84517ed5a5 add change_user_tier_by_address subcommand 2022-12-28 08:43:44 -08:00
Bryan Stitt
3b1d6574e3 warn instead of exit on unknown fields 2022-12-28 08:36:22 -08:00
Bryan Stitt
516e130558 missing clone 2022-12-28 00:32:51 -08:00
Bryan Stitt
d9c01a59a3 salted recent ip tracking 2022-12-27 22:11:18 -08:00
Bryan Stitt
853ee354c9 cargo upgrade 2022-12-27 22:10:49 -08:00
Bryan Stitt
15c5ebf3bc spawn less 2022-12-27 19:43:02 -08:00
Bryan Stitt
6a201e1e47 don't set block_data_limit to 0 2022-12-27 18:17:11 -08:00
Bryan Stitt
8c9ad4f453 trim whitespace on authorization checks 2022-12-23 19:03:30 -08:00
Bryan Stitt
4a837b35cc improve eth_sendRawTransaction 2022-12-23 17:35:35 -08:00
Bryan Stitt
ce1b0da1e3 fix off by one error 2022-12-23 16:15:48 -08:00
Bryan Stitt
9bcbadd81a improve some errors 2022-12-23 12:17:14 -08:00
Bryan Stitt
11a7aff8e0 don't unwrap. still might be more errors to handle though 2022-12-23 12:12:17 -08:00
Bryan Stitt
1fecfd8821 don't unwrap an error 2022-12-23 12:03:48 -08:00
Bryan Stitt
95045ec78e block eth_subscribe and eth_unsubscribe over http 2022-12-22 12:05:15 -08:00
Bryan Stitt
9885bdfd8c minor update 2022-12-22 12:04:58 -08:00
Bryan Stitt
d6dfcbd2d7 add wait_for_sync helper 2022-12-22 11:49:34 -08:00
Bryan Stitt
e60b9dc3fe lower eth_getBlockByNumber level to Warn 2022-12-20 22:01:35 -08:00
Bryan Stitt
79075f9974 lowest log level for eth_sendRawTransaction
these are showing up in sentry with things like 'not enough funds'. its an error for the user to see, not us
2022-12-20 21:55:12 -08:00
Bryan Stitt
c0b457cec8 fix allow_not_ready 2022-12-20 21:47:41 -08:00
Bryan Stitt
fc48f2469c check db_replica_url being the same as db_url 2022-12-20 13:38:10 -08:00
Bryan Stitt
ef64ee0a12 longer header name 2022-12-20 11:01:34 -08:00
Bryan Stitt
4d34bc629c whitespace 2022-12-20 10:58:57 -08:00
Bryan Stitt
fd1be8a702 move more into the spawned task 2022-12-20 10:54:13 -08:00
Bryan Stitt
28510f8bba fix warn message on 500 error codes 2022-12-19 21:39:17 -08:00
Bryan Stitt
82eb449e96 add backend nodes to the rpc response headers
only do this in dev?
2022-12-19 21:37:12 -08:00
Bryan Stitt
f27c764a07 more logs 2022-12-19 15:59:01 -08:00
Bryan Stitt
2a19d9791b more logging 2022-12-19 13:53:38 -08:00
Bryan Stitt
263f98ced5 minor updates 2022-12-19 10:58:49 -08:00
Bryan Stitt
27a318c70e default description to None. frontend shows a cute llama 2022-12-19 10:57:30 -08:00
Bryan Stitt
a3a3c78039 boring upgrades 2022-12-16 20:06:53 -08:00
Bryan Stitt
f04905698a improve request caching 2022-12-16 20:05:01 -08:00
Bryan Stitt
1465ee355c add support for optional db replica
also add cleanup of expired login data
2022-12-16 00:48:24 -08:00
Bryan Stitt
0a60ccd95e query_user_stats caching 2022-12-15 22:32:58 -08:00
Bryan Stitt
1d438527e6 chain id needs to be a U64 so it turns to hex 2022-12-15 14:20:58 -08:00
Bryan Stitt
c49782a6ba use mutables 2022-12-15 12:27:39 -08:00
Bryan Stitt
5fe88c6227 serve eth_chainId from config 2022-12-14 18:49:40 -08:00
Bryan Stitt
fbafcca528 fix row and page counts 2022-12-14 18:45:54 -08:00
Bryan Stitt
44ca5a50f1 Merge branch 'gas_estimate_increase' 2022-12-14 14:38:56 -08:00
Bryan Stitt
cd24c240c9 remove stale todo 2022-12-14 14:38:06 -08:00
Bryan Stitt
284eec360b add total_rows 2022-12-14 11:21:56 -08:00
Bryan Stitt
c47655d4ff increase gas estimates mk.1
related to gh#5, but i don't think its a great fix
2022-12-14 11:03:47 -08:00
Bryan Stitt
6f618bbcda todos 2022-12-13 21:05:23 -08:00
Bryan Stitt
081873e937 move pending logins to the database 2022-12-13 18:34:08 -08:00
Bryan Stitt
78df4177a6 consistent case 2022-12-12 11:00:15 -08:00
Bryan Stitt
4c2d3634c5 default to less detailed stats 2022-12-11 20:39:54 -08:00
Bryan Stitt
86f6b16761 another pass at server selection 2022-12-07 22:54:38 -08:00
Bryan Stitt
78a2119c07 quieter syncing nodes 2022-12-05 16:55:18 -08:00
Bryan Stitt
b02c851237 raise log level for block data limit 2022-12-05 16:47:27 -08:00
Bryan Stitt
c10a0e9d3c better error context 2022-12-05 16:35:51 -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
f010166ee0 better lag error 2022-12-05 14:45:12 -08:00
Bryan Stitt
dc5c944545 rename head_block_id to head_block 2022-12-05 14:38:54 -08:00
Bryan Stitt
ed505165ca upgrade things except axum 2022-12-05 14:18:47 -08:00
Bryan Stitt
5bec8bb5b9 much smarter connection logic 2022-12-05 14:11:56 -08:00
Bryan Stitt
f736aeb027 move config safty checks earlier 2022-12-04 17:25:23 -08:00
Bryan Stitt
69f0125eba tests must include the current time 2022-12-04 17:10:20 -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
2ee908938e add goal 2022-11-30 06:01:03 +00:00
Bryan Stitt
4e17a50a18 cost_calculator (and stubs of other scripts) 2022-11-30 05:57:52 +00:00
Bryan Stitt
4d18d50307 fix config item name 2022-11-29 22:30:35 +00:00
Bryan Stitt
04d95f7234 allow unused imports for now 2022-11-29 21:34:42 +00:00
Bryan Stitt
bc49deb7a3 template needs two curly braces 2022-11-29 21:29:34 +00:00
Bryan Stitt
67e4959e34 change user address commands 2022-11-29 21:29:17 +00:00
Bryan Stitt
c8d4e1a653 todo 2022-11-28 20:00:24 +00:00
Bryan Stitt
0406b0dc8d fix redirect. config for login domain 2022-11-28 19:59:42 +00:00
Bryan Stitt
9d7d6c2b22 fix sign in url 2022-11-28 16:37:15 +00:00
Bryan Stitt
519ba473d9 improve rpc filtering 2022-11-28 07:01:34 +00:00
Bryan Stitt
d06aa3b170 health compass cli 2022-11-28 06:10:34 +00:00
Bryan Stitt
0e13a40cb0 error for unauthenticated user queries 2022-11-27 19:49:32 +00:00
Bryan Stitt
824d67f700 more lint 2022-11-26 05:02:21 +00:00
Bryan Stitt
40548bec4f lower log level 2022-11-26 04:57:25 +00:00
Bryan Stitt
0cf51d6776 add command to change user_tier values 2022-11-26 04:35:29 +00:00
Bryan Stitt
1f3afca069 add support for eth_getBlockReceipts 2022-11-26 03:53:30 +00:00
Bryan Stitt
f09d836dfe better weights 2022-11-25 07:41:53 +00:00
Bryan Stitt
4dfb7a5451 fix archive node detection when nodes used to be archive but than changed flags 2022-11-25 00:48:17 +00:00
Bryan Stitt
43d550190b lower log level 2022-11-24 11:04:10 +00:00
Bryan Stitt
6b9fe12ad7 log num_workers at info 2022-11-22 23:34:31 +00:00
Bryan Stitt
0cffa73d41 cargo upgrade serde_json 2022-11-22 22:46:47 +00:00
Bryan Stitt
5b1621ead4 fix bug with not using synced_connections correctly 2022-11-22 22:45:22 +00:00
Bryan Stitt
87b0ecc916 test has_block_data for pruned node 2022-11-22 20:44:23 +00:00
Bryan Stitt
527218d229 test has_block_data for archive nodes 2022-11-22 20:23:08 +00:00
Bryan Stitt
aeb6eac840 comments/todos 2022-11-22 05:42:02 +00:00
Bryan Stitt
9418d72b8b seems to work 2022-11-22 01:27:26 +00:00
Bryan Stitt
ff3c5de0aa start adding user_export and user_import scripts 2022-11-21 22:52:47 +00:00
Bryan Stitt
fa4246d7d4 comment 2022-11-21 17:49:57 +00:00
Bryan Stitt
92fe4b858a stricter test 2022-11-21 17:49:57 +00:00
Bryan Stitt
311f6f1ac6 more ArcBlock 2022-11-21 17:49:57 +00:00
Bryan Stitt
a5fb6479e0 improve error when loading configs 2022-11-21 17:49:57 +00:00
Bryan Stitt
ae39636cd2 fix some error status codes 2022-11-21 17:49:57 +00:00
Bryan Stitt
4018121e51 cargo upgrade 2022-11-21 17:49:57 +00:00
Bryan Stitt
f56d53a221 block erigon_cacheCheck 2022-11-21 17:49:41 +00:00
Bryan Stitt
217a7b3fd3 eth_subscribe rpc_accounting logging 2022-11-19 22:05:51 +00:00
Bryan Stitt
eb96ab0a6c actually save 2022-11-16 21:21:27 +00:00
Bryan Stitt
893bf31fec positional instead of options 2022-11-16 20:18:10 +00:00
Bryan Stitt
4d5ed64ac3 cargo upgrade 2022-11-16 20:17:50 +00:00
Bryan Stitt
5886db20dd cache status page for 1 second 2022-11-16 20:17:33 +00:00
Bryan Stitt
4d8808b886 a little bit more trace logging 2022-11-16 08:34:17 +00:00
Bryan Stitt
50a572bc00 upgrade uuid 2022-11-16 07:27:16 +00:00
Bryan Stitt
2829ce7a7d lint more 2022-11-16 07:19:56 +00:00
Bryan Stitt
186218b8b9 more cli 2022-11-16 07:19:42 +00:00
Bryan Stitt
0460d74c2f optional config in web3_proxy_cli 2022-11-14 19:35:33 +00:00
Bryan Stitt
ee35c15ff4 drop migration lock emergency helper command 2022-11-14 19:13:42 +00:00
Bryan Stitt
ea5f791560 simple lock around database migrations 2022-11-14 18:24:52 +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
fc7e310f58 env_logger 2022-11-12 09:26:05 +00:00
Bryan Stitt
b17894c2d6 deprecated function 2022-11-12 09:25:14 +00:00
Bryan Stitt
0e1cf5767c cut out tracing for now 2022-11-12 08:24:32 +00:00
Bryan Stitt
9ae2337d1d thread fast rng 2022-11-12 06:11:58 +00:00
Bryan Stitt
8e3547bbd0 add test for checking the example.toml 2022-11-11 21:16:32 +00:00
Bryan Stitt
22fa5136a8 allow no allowed_origin_requests_per_period 2022-11-11 19:24:57 +00:00
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
c33342d9dd simplify authorization types so we can pass them deeper easily 2022-11-11 06:19:12 +00:00
Bryan Stitt
2c4586302d clean up rpc_key_id template change 2022-11-10 22:17:22 +00:00
Bryan Stitt
b800b862ee bump version 2022-11-07 23:06:14 +00:00
Bryan Stitt
f694200329 rpc_secret_key should be optional 2022-11-07 23:03:35 +00:00
Bryan Stitt
d3542c914f lint 2022-11-07 22:30:02 +00:00
Bryan Stitt
e01f8505fd log params too
i'm not sure we want this, but maybe
2022-11-07 22:25:52 +00:00
Bryan Stitt
cb69a2d132 cargo upgrade (requires rust 1.65+) 2022-11-07 22:23:55 +00:00
Bryan Stitt
31395c9934 rpc_key_id in the redirect. weights in the /status page 2022-11-07 22:10:19 +00:00
Bryan Stitt
fc8beb52b0 maybe fix next_upstream_server 2022-11-06 21:05:03 +00:00
Bryan Stitt
058dfa6d8e send_head_block_result more places 2022-11-06 20:52:11 +00:00
Bryan Stitt
bde240c18a more auth when only rpc_key_id is set 2022-11-04 22:58:15 +00:00
Bryan Stitt
4f7339c01d refactor shutdown_receiver 2022-11-04 19:52:46 +00:00
Bryan Stitt
bc317ef1e9 remove old file 2022-11-04 19:52:15 +00:00
Bryan Stitt
7127779182 query_window -> query_window_timestamp 2022-11-04 19:01:17 +00:00
Bryan Stitt
7d426413aa cleanup 2022-11-04 04:40:39 +00:00
Bryan Stitt
ef09a44f0e dry stats 2022-11-04 04:32:09 +00:00
Bryan Stitt
1989ec92f4 fix joins for user_stats_aggregate_get 2022-11-04 03:40:43 +00:00
Bryan Stitt
f3e9f6c387 bug fixes 2022-11-03 22:16:27 +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
bb9e4f99ef fix some auth 2022-11-01 19:12:57 +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
2540182b7c put or post for user key management 2022-10-31 20:51:06 +00:00
Bryan Stitt
91eb907a2d fix lints with better types 2022-10-31 20:05:58 +00:00
Bryan Stitt
234289965d cargo upgrade 2022-10-31 19:34:29 +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
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
928fc7e9b0 more user stuff 2022-10-26 00:22:58 +00:00
Bryan Stitt
00f53f95f3 stale imports 2022-10-25 21:12:56 +00:00
Bryan Stitt
8230172366 more user endpoints 2022-10-25 21:11:19 +00:00
Bryan Stitt
d31484467d return user keys as a mapping 2022-10-25 19:03:11 +00:00
Bryan Stitt
a67b85a327 concurrency limits on bearer token actions 2022-10-25 18:27:06 +00:00
Bryan Stitt
21956afe73 delete unused imports 2022-10-25 17:21:51 +00:00
Bryan Stitt
9ec8abdf49 only require invite_code on first login 2022-10-25 17:21:15 +00:00
Bryan Stitt
6e356cf9a7 alphabetical 2022-10-25 04:37:19 +00:00
Bryan Stitt
337f5bc1f8 sort configs 2022-10-25 04:34:24 +00:00
Bryan Stitt
bdc6915387 no need for const_new 2022-10-25 04:31:18 +00:00
Bryan Stitt
1d24955d6f finish basic ProtectedAction 2022-10-25 04:12:24 +00:00
Bryan Stitt
618bfeb861 semafore cleanup 2022-10-25 04:01:41 +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
13ab659060 actually we dont need this /rpc endpoint at all 2022-10-21 21:13:50 +00:00
Bryan Stitt
d574ac9add have / work for the public rpc 2022-10-21 21:12:05 +00:00
Bryan Stitt
9422a335a7 allow origins on public entrypoints 2022-10-21 20:59:05 +00:00
Bryan Stitt
f83eb0d0d2 include user id in login 2022-10-21 19:50:07 +00:00
Bryan Stitt
b7259192e8 more context. don't use unix timestamps 2022-10-20 23:50:23 +00:00
Bryan Stitt
94f205900a missing loop 2022-10-20 23:50:06 +00:00
Bryan Stitt
12ee26a2b3 wait on background threads 2022-10-20 22:51:56 +00:00
Bryan Stitt
6c9189ef76 remove unused variables 2022-10-20 20:26:14 +00:00
Bryan Stitt
94c5b0479a copypasta query window seconds 2022-10-20 19:01:14 +00:00
Bryan Stitt
4f1885306f
Update user_queries.rs 2022-10-20 10:43:31 -07:00
Bryan Stitt
17cac2d726 grammar 2022-10-20 08:37:56 +00:00
Bryan Stitt
c2f648626d delete on successful login 2022-10-20 08:36:53 +00:00
Bryan Stitt
15b4328e31 try both verification methods 2022-10-20 08:25:02 +00:00
Bryan Stitt
9614682e30 more robust login 2022-10-20 08:14:38 +00:00
Bryan Stitt
6c1a128802 cargo upgrade --workspace 2022-10-20 07:16:07 +00:00
Bryan Stitt
3f9a20c7a6 context instead of todo 2022-10-20 07:10:35 +00:00
Bryan Stitt
848eb61349 null private transactions instead of empty 2022-10-20 07:03:58 +00:00
Bryan Stitt
1da730daa2 less unwrap 2022-10-20 06:54:45 +00:00
Bryan Stitt
a3d0803618 DRYer user queries 2022-10-20 06:17:27 +00:00
Bryan Stitt
33d15509cd query_window_seconds 2022-10-20 04:44:33 +00:00
Bryan Stitt
7b5d50a577 more stats 2022-10-19 23:02:34 +00:00
Bryan Stitt
445ce9949e more debug and placeholders 2022-10-19 22:26:33 +00:00
Bryan Stitt
e520d85c43 aggregate users or everybody on the same endpoint 2022-10-19 22:20:34 +00:00
Bryan Stitt
8278fe006b cleanup 2022-10-19 21:34:05 +00:00
Bryan Stitt
e7e949a53e user_login_get does not need params 2022-10-19 18:51:14 +00:00
Bryan Stitt
8a23efd048 optional params like this do not work. need hashmap 2022-10-19 18:50:16 +00:00
Bryan Stitt
e9abcf883f query params and grouping for user stats 2022-10-19 18:38:00 +00:00
Bryan Stitt
3793bdff67 aggregate stats endpoint 2022-10-19 00:57:22 +00:00
Bryan Stitt
f6c2d29d0e stricter configs 2022-10-18 23:27:33 +00:00
Bryan Stitt
69a090522b more todo 2022-10-17 23:16:09 +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
8f3d31869f less locks and fix some stats 2022-10-11 17:34:25 +00:00
Bryan Stitt
cfd26940a9 this might be too many columns 2022-10-11 05:13:00 +00:00
Bryan Stitt
da2bd0b0a5 wait on invalidating 2022-10-10 05:44:04 +00:00
Bryan Stitt
825370b5d9 stats almost work
just need to update the migration to match our new ideas for columns.

should also make the shutdown smarter so that nothing gets lost
2022-10-10 05:35:25 +00:00
Bryan Stitt
25aa68a5bf add per-user rpc accounting 2022-10-10 04:15:49 +00:00
Bryan Stitt
ecd3dc29fc shorter strings 2022-10-07 02:21:34 +00:00
Bryan Stitt
44adffcd32 no pipe needed 2022-10-07 02:21:24 +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
875ae457ef emit our first stats-- cache hits and misses 2022-10-03 20:02:05 +00:00
Bryan Stitt
25d34da98d add stat emitter 2022-10-03 18:08:01 +00:00
Bryan Stitt
a7b5f25467 unwrap less 2022-09-30 04:18:18 +00:00
Bryan Stitt
9cc34f7aa8 move warning 2022-09-28 17:01:11 +00:00
Bryan Stitt
2b03372e6b error instead of todo 2022-09-28 16:35:18 +00:00
Bryan Stitt
53f9551180 finish adding semaphores 2022-09-28 03:35:55 +00:00
Bryan Stitt
0c7a2b05ec start adding semaphores 2022-09-27 02:01:45 +00:00
Bryan Stitt
a199f13426 not everything needs to be under /rpc 2022-09-25 16:37:45 +00:00
Bryan Stitt
28dcfca47b add sensitive-headers 2022-09-25 16:35:01 +00:00
Bryan Stitt
7ed7f96a2f very permissive cors policy 2022-09-25 04:26:13 +00:00
Bryan Stitt
2c69b0ce9a fix method and param for saving reverts 2022-09-24 07:36:25 +00:00
Bryan Stitt
3074d6f76f left pad addresses 2022-09-24 07:18:33 +00:00
Bryan Stitt
a80503ac48 better logging on save reverts checks 2022-09-24 07:04:11 +00:00
Bryan Stitt
7da8864a1d improve --address flag on user_create 2022-09-24 07:03:42 +00:00
Bryan Stitt
bbaa32e7b5 release 0.2.0 2022-09-24 05:54:38 +00:00
Bryan Stitt
5df2469d53 ULID or UUID. Prefer ULID 2022-09-24 05:53:45 +00:00
Bryan Stitt
b254cb7d26 check for bearer token on /rpc 2022-09-24 04:31:06 +00:00
Bryan Stitt
81deb1103c login needs its own rate limiter 2022-09-24 03:59:21 +00:00
Bryan Stitt
c12e25a210 no need for this clone 2022-09-24 02:48:23 +00:00
Bryan Stitt
8459dcd1f1 let the frontend handle their own cookies 2022-09-24 02:47:44 +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
d55aea2d98 even flatter 2022-09-22 22:42:44 +00:00
Bryan Stitt
7f7be6aa69 flatter 2022-09-22 22:34:43 +00:00
Bryan Stitt
987ed181cd comments 2022-09-22 22:16:28 +00:00
Bryan Stitt
6d23071640 less clones, but still some 2022-09-22 22:14:24 +00:00
Bryan Stitt
8d011e0cd1 pass db conn through 2022-09-22 22:10:28 +00:00
Bryan Stitt
3854312674 we need to clone :'( 2022-09-22 21:51:52 +00:00
Bryan Stitt
2ed2408ed3 even more authorized_request 2022-09-22 21:04:03 +00:00
Bryan Stitt
43846a7051 pass authorized_request through a bunch of places 2022-09-22 20:27:14 +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
339bd41f50 change rpm to u64 and create RevertLogs table 2022-09-21 19:55:43 +00:00
Bryan Stitt
37a1aa554b revert error saving and extract blockHash from requests 2022-09-21 04:48:21 +00:00
Bryan Stitt
6054c3f340 we do need fetch_sub 2022-09-21 02:48:02 +00:00
Bryan Stitt
d98b6aeff3 split error counts 2022-09-20 06:59:10 +00:00
Bryan Stitt
abe5001792 atomic and less expires 2022-09-20 06:56:24 +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
dfd6aed6e6 no timeouts here, we already have a timeout on requests 2022-09-20 03:26:12 +00:00
Bryan Stitt
e35a4119e7 context is really handy 2022-09-20 01:37:15 +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
90fed885bc add ttl to user_cache 2022-09-19 23:09:31 +00:00
Bryan Stitt
8785cb6d2d no idle timeout or max lifetime 2022-09-19 22:41:53 +00:00
Bryan Stitt
b2adc73b50 upgrade tokio-stream 2022-09-19 22:25:45 +00:00
Bryan Stitt
3e3a9fcf64 larger max_capacity now that there is a weigher 2022-09-19 22:24:56 +00:00
Bryan Stitt
a7761a0430 add a weigher function to sized caches 2022-09-19 22:17:35 +00:00
Bryan Stitt
b6275aff1e no need for an atomic bool 2022-09-19 22:17:24 +00:00
Bryan Stitt
28fa424c2a start weighers 2022-09-17 02:30:06 +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
12b6d01434 work in progress 2022-09-15 17:57:24 +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
31227d8c0c drop in flight. throughput is enough 2022-09-14 07:08:48 +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
ed505cdd23 fix check for http providers
even the websocket providers have an http_client set. maybe drop that?
2022-09-14 06:38:53 +00:00
Bryan Stitt
1730b8c7a5 switch to deadpool 2022-09-14 06:18:13 +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
1d4d5844d0 reconnect -> connect 2022-09-14 03:32:38 +00:00
Bryan Stitt
612f5a48c1 minor polish to error 2022-09-14 03:01:58 +00:00
Bryan Stitt
5a16b9eed8 fix reconnect for http clients 2022-09-14 02:11:48 +00:00
Bryan Stitt
7eaf6f3540 retrying reconnect 2022-09-14 01:43:09 +00:00
Bryan Stitt
73a2fcaf72 add FAQ 2022-09-14 01:42:48 +00:00
Bryan Stitt
519c312e8d reconnect needs to clear more state 2022-09-12 23:00:10 +00:00
Bryan Stitt
dc30bdcef3 cargo upgrade 2022-09-12 14:36:26 +00:00
Bryan Stitt
05e94ff81c send UNAUTHORIZED to unknown keys 2022-09-12 14:33:55 +00:00
Bryan Stitt
7ff319e9b0 reconnect sooner 2022-09-12 14:33:19 +00:00
Bryan Stitt
88661fa865 return UnknownKey instead of error 2022-09-10 03:46:02 +00:00
Bryan Stitt
d98886db14 simple status json and prometheus 2022-09-10 02:59:07 +00:00
Bryan Stitt
501f2b0b24 improve logging 2022-09-10 00:58:33 +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
c8da98d12e even more metrics 2022-09-09 03:53:16 +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