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
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
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
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
3f9a20c7a6
context instead of todo
2022-10-20 07:10:35 +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
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
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
a7b5f25467
unwrap less
2022-09-30 04:18: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
a80503ac48
better logging on save reverts checks
2022-09-24 07:04:11 +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
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
7f7be6aa69
flatter
2022-09-22 22:34:43 +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
abe5001792
atomic and less expires
2022-09-20 06:56:24 +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
b6275aff1e
no need for an atomic bool
2022-09-19 22:17:24 +00:00
Bryan Stitt
12b6d01434
work in progress
2022-09-15 17:57:24 +00:00
Bryan Stitt
ea8f6091f9
improve (but disable) rate limits
2022-09-14 06:41:34 +00:00
Bryan Stitt
1730b8c7a5
switch to deadpool
2022-09-14 06:18:13 +00:00
Bryan Stitt
05e94ff81c
send UNAUTHORIZED to unknown keys
2022-09-12 14:33:55 +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
2c41cad452
more counts to the status page
2022-09-07 04:11:47 +00:00
Bryan Stitt
c9b2c0c0d2
dry cache code
2022-09-07 03:54:16 +00:00
Bryan Stitt
5eef5173a1
disable redis rate limits
2022-09-06 22:55:17 +00:00
Bryan Stitt
c89295ef7e
we should use retry_at
2022-09-06 20:33:25 +00:00
Bryan Stitt
c34e8ef383
improve rate limiting and request counters
2022-09-06 20:13:07 +00:00
Bryan Stitt
e261886c60
user_address change not made yet
2022-09-05 06:29:27 +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
1c2f3e1445
dry user data caching
2022-09-03 19:43:19 +00:00
Bryan Stitt
8225285bb8
bug fix and better logs
2022-09-03 02:59:30 +00:00
Bryan Stitt
2606844c61
almost done with heaviest chain tracking
2022-09-02 05:40:56 +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
8703532ed7
better logs and minor cleanup
2022-08-27 02:14:53 +00:00
Bryan Stitt
81254a24be
wip
2022-08-26 17:26:17 +00:00
Bryan Stitt
3496c828b8
rearrange code
2022-08-23 23:13:56 +00:00
Bryan Stitt
31d30b0eed
use an enum and database roles for auth checks
2022-08-23 20:42:58 +00:00
Bryan Stitt
e65edc7795
add stub verify_auth_token function
2022-08-23 19:08:47 +00:00
Bryan Stitt
8f5e4a200e
create bearer and save bearer separately
2022-08-23 18:56:19 +00:00
Bryan Stitt
0ca7b828b3
check ip rate limit on user post
2022-08-23 18:53:14 +00:00
Bryan Stitt
2989b7e91c
dry redis connections and use bearer tokens
2022-08-23 18:48:27 +00:00
Bryan Stitt
94bc6fef8c
remove unnecessary enum and try_into
2022-08-21 09:47:38 +00:00
Bryan Stitt
bda666eb6c
delete unused code after the rate limit refactor
2022-08-21 09:44:53 +00:00
Bryan Stitt
b16aa8d813
dry rate_limit_by_x
2022-08-21 09:39:38 +00:00
Bryan Stitt
748674fe7a
forgot to git add this
2022-08-21 08:30:49 +00:00
Bryan Stitt
5af834d710
it compiles
2022-08-21 08:27:52 +00:00
Bryan Stitt
9a2fe46105
multiple ways to sign
2022-08-19 20:18:12 +00:00