Commit Graph

1530 Commits

Author SHA1 Message Date
Bryan Stitt
172baabb4e even more fields onto popularity contest 2023-06-05 16:40:49 -07:00
Bryan Stitt
640bcd1378 update popularity_contest script to match new status page 2023-06-05 16:40:49 -07:00
David
f66edd961b
Making Balance Changes Atomic (Read and Write) (#84)
* tried to make the balance_entry atomic, asking for feedback

* added locked select everywhere and inside the txn, it should be atomic now

* forgot about overwrite (referee vs sender entities were the same, overwriting each other), fixed it

* will now trigger refreshing cache when balance thresholds are met

* Revert "will now trigger refreshing cache when balance thresholds are met"

This reverts commit b1215ddc43a1358f6086bddbd106996165431165.

* will not modify userTier in database anymore

* made payment atomic

* made updates mostly atomic, locking only the referral table (bcs more complex logic)

* latest changes
2023-06-04 09:32:53 -07:00
Bryan Stitt
79e52f4cdb Merge remote-tracking branch 'origin/main' into devel 2023-05-31 17:12:59 -07:00
Bryan Stitt
633bf1f53b need a decimal 0 2023-05-31 17:12:32 -07:00
Bryan Stitt
cb580d4ea8 Merge remote-tracking branch 'origin/main' into devel 2023-05-31 17:02:34 -07:00
Bryan Stitt
1a26260351 if no credits used, return early 2023-05-31 17:02:24 -07:00
Bryan Stitt
8709737d74 lower log level 2023-05-31 16:07:13 -07:00
Bryan Stitt
fbe0ecfbff rate limit on websockets 2023-05-31 16:05:44 -07:00
Bryan Stitt
cadab50692 lint 2023-05-31 15:54:32 -07:00
Bryan Stitt
56ec9439c3 insert on conflict update for balance table 2023-05-31 14:07:25 -07:00
David
88526c3702
Missing subuser logic (#96)
* will push it for feedback loop

* filtering also to only show rpc keys that the user is an owner of

* revert logs also returning rpc keys

* merged with devel
2023-05-31 13:46:59 -07:00
Bryan Stitt
62997774b1 use abigen types for decoding the logs 2023-05-31 12:44:02 -07:00
Bryan Stitt
7dcc2b4d93 use MultiAbigen 2023-05-31 11:52:57 -07:00
Bryan Stitt
7947cb95ff use bloom filters and support transactions with multiple deposit events 2023-05-31 11:20:17 -07:00
Bryan Stitt
b9f0824dfe start using the internal provider 2023-05-30 23:52:12 -07:00
Bryan Stitt
d64761403b Cow instead of String 2023-05-30 23:17:05 -07:00
Bryan Stitt
f1636d3b85 unlimited localhost 2023-05-30 22:31:35 -07:00
Bryan Stitt
fcc1843af0 put it back. duplication between cargo.toml isnt worth it 2023-05-30 21:37:58 -07:00
Bryan Stitt
fd8bba4bdd most of these are for the whole app, not just the frontend 2023-05-30 21:26:11 -07:00
Bryan Stitt
0b62ffcdfc no need to move the semaphore around like this 2023-05-30 21:08:21 -07:00
Bryan Stitt
2273637a07 move cli into a separate packge and clean up dependencies 2023-05-30 20:58:24 -07:00
Bryan Stitt
cebe8ed1ea
Request refactor (#99)
* wip

* AsRef finally works like i wanted

* actually return the block

* start adding async trait

* remove stale import

* include id in the error response when possible

* remove stale comments
2023-05-30 16:32:34 -07:00
Bryan Stitt
4246342806 lower log levels 2023-05-29 17:26:32 -07:00
Bryan Stitt
c1eba556a5 fix missing ttl send and add name to cache 2023-05-29 17:19:05 -07:00
Bryan Stitt
bb50efb7f9
quick cache ttl max item size, better function names, and tests (#97)
* Revert "remove cache on /status and /health for now"

This reverts commit 166b0d810cd25b895560d50d00383a57e1269ad4.

* Revert "remove cache on backups needed, too"

This reverts commit 4597967def2f1daa71a277ec6731db4739ead640.

* add tests

* add max_item_weight

* comment

* add some helper functions, max weights, and tests
2023-05-29 15:48:22 -07:00
David
5f0c99530c
referral code does not have llamanodes- prefix any longer (#90) 2023-05-29 14:41:15 -07:00
Bryan Stitt
9e935e2c44 cargo upgrade 2023-05-29 09:43:51 -07:00
Bryan Stitt
b05d866f8a Merge remote-tracking branch 'origin/main' into devel 2023-05-29 09:42:21 -07:00
Bryan Stitt
a275e2dee4 add blocktime for binance 2023-05-29 09:41:19 -07:00
Bryan Stitt
dc6e0559f7 improve will_work_eventually 2023-05-29 09:41:19 -07:00
Bryan Stitt
84990bb7b6 check hard_limit_until when finding if an rpc will work 2023-05-29 09:41:19 -07:00
Bryan Stitt
08859ba04d wait for consensus rpcs to change before trying again 2023-05-29 09:41:19 -07:00
David
48905f0235
David/76 bring back docs (#91)
* bring back docs

* added some more rudimentary documentation
2023-05-29 09:24:41 -07:00
David
ccb3a559ad
removed requirement for subuser logic to be admin (#94) 2023-05-29 08:35:24 -07:00
Bryan Stitt
4597967def remove cache on backups needed, too 2023-05-28 09:39:24 -07:00
Bryan Stitt
166b0d810c remove cache on /status and /health for now 2023-05-28 09:38:51 -07:00
Bryan Stitt
7cb07cc49f debug -> trace for some verbose logs 2023-05-27 01:53:49 -07:00
Bryan Stitt
0e7bd1fbf3 add missing anyhow::Context 2023-05-26 17:00:39 -07:00
Bryan Stitt
4aa34740a8 default balance to 0 2023-05-26 16:54:52 -07:00
David
9a5e9d46a9
Merge branch 'devel' into david/devel/debug-graph 2023-05-24 13:36:45 +02:00
yenicelik
b6cab88c4e removed joined_on variable that was not used 2023-05-24 13:35:10 +02:00
yenicelik
47f07261ed detailed request must come with a bearer token 2023-05-24 13:34:50 +02:00
Bryan Stitt
0d15d5baf7 bump versions to match number of migrations 2023-05-23 20:58:29 -07:00
Bryan Stitt
b1a0bcac57 add max wait to fix tests 2023-05-23 20:46:27 -07:00
Bryan Stitt
dafb69fae1 move timeout deeper 2023-05-23 15:50:29 -07:00
Bryan Stitt
55f9c57827 include error in warning 2023-05-23 15:03:16 -07:00
Bryan Stitt
4c7a7b87cb cargo upgrade 2023-05-23 14:58:13 -07:00
Bryan Stitt
dd347fd916 add units to serialized variables 2023-05-23 14:57:24 -07:00
Bryan Stitt
77c9b0ab12 peak latency instead of head latency 2023-05-23 14:52:45 -07:00
Bryan Stitt
651f0fcad3 lint 2023-05-23 14:51:34 -07:00
Bryan Stitt
d83e2f7015 Merge remote-tracking branch 'origin/devel' into devel 2023-05-23 14:44:40 -07:00
Bryan Stitt
78f247fc6c split http and ws provider 2023-05-23 14:40:34 -07:00
David
27333a0028
David/devel/debug graph (#82)
* now should also group by archive_needed (turns out this was wanted)

* influxdb query also groups by archive_needed now

* updated error_response

* updated error_response
2023-05-22 17:08:35 -07:00
David
ddfd1dbff1
Added admin balance increase, and also test (#72)
* added admin balance increase, and also test

* slightly hacky, but does do an update expression

* added note column to entities

* removed redundant printlns

* flattened items

* removed user tier logic from admin increase balance completely. admin will have to manually increase the user tier
2023-05-22 17:07:17 -07:00
Bryan Stitt
05f862f3e4 cargo upgrade 2023-05-22 15:50:00 -07:00
Bryan Stitt
3ac15558e3 fix decay time 2023-05-22 15:43:39 -07:00
Bryan Stitt
91eeee23e2 use ether's reconnects instead of our own which need a lock (wip) 2023-05-22 15:32:27 -07:00
yenicelik
59634139c9 updated error_response 2023-05-21 20:27:52 -04:00
yenicelik
29678b025e updated error_response 2023-05-21 20:27:46 -04:00
yenicelik
46afe8b1e4 influxdb query also groups by archive_needed now 2023-05-21 17:13:15 -04:00
yenicelik
795548580a now should also group by archive_needed (turns out this was wanted) 2023-05-21 16:40:42 -04:00
Bryan Stitt
c443f76623 refactor tiers again 2023-05-19 14:09:03 -07:00
Bryan Stitt
5aae318620 logs and comments 2023-05-18 15:11:29 -07:00
Bryan Stitt
9c584354d9 add to skip list earlier 2023-05-18 13:51:28 -07:00
Bryan Stitt
a92c93706b dont check heads while waiting
this isn't great. but should work better than what we have
2023-05-18 13:47:00 -07:00
Bryan Stitt
8898ffe578 cargo upgrade 2023-05-18 13:36:35 -07:00
Bryan Stitt
b61675e928 replace all moka with quick_cache_ttl 2023-05-18 13:34:22 -07:00
Bryan Stitt
24439c5143 disable balance join for now 2023-05-18 00:43:33 -07:00
Bryan Stitt
0f367d9035 more quick cache ttl 2023-05-18 00:04:30 -07:00
Bryan Stitt
1c61390ad1 check if watch_consensus_rpcs.changed has failed
i dont think it ever will, but better safe than sorry
2023-05-16 23:42:42 -07:00
Bryan Stitt
c818a8fcd7 default balance to zero instead of panicing 2023-05-16 23:40:32 -07:00
Bryan Stitt
89961331af refactor wait_for_block into should_wait_for_block 2023-05-16 22:29:36 -07:00
Bryan Stitt
a07da30042 keep usable_rpcs_by_tier_and_head_number around longer 2023-05-16 18:32:33 -07:00
Bryan Stitt
0f79d2e60d more loud logs 2023-05-16 18:29:56 -07:00
Bryan Stitt
58b7799cc5 for now, always return 0 for cost 2023-05-16 18:25:56 -07:00
Bryan Stitt
a0d8218eb1 best block num has to check has_block_data 2023-05-16 18:18:56 -07:00
Bryan Stitt
30ea532c70 display, not debug 2023-05-16 16:13:56 -07:00
Bryan Stitt
5d64524aa6 add name to web3rpcs 2023-05-16 16:04:17 -07:00
Bryan Stitt
efaaf1bb5f send the correct content type 2023-05-16 15:27:18 -07:00
Bryan Stitt
525f6d4a34 better variable names 2023-05-16 14:58:00 -07:00
Bryan Stitt
40b15579ab Merge remote-tracking branch 'origin/devel' into quick_cache_ttl 2023-05-16 14:47:43 -07:00
Bryan Stitt
f4cebde53f use ttl quick cache 2023-05-16 14:46:05 -07:00
Bryan Stitt
978c385b3c improve wait for block 2023-05-16 14:02:37 -07:00
Bryan Stitt
c66eb6d864 head latency instead of peak latency for now 2023-05-16 12:18:59 -07:00
Bryan Stitt
685c1d039a cargo upgrade 2023-05-13 15:00:24 -07:00
Bryan Stitt
2080739865
Quick cache (#70)
* quick cache and allocate less

* improve /status cache

* prepare to cache raw transaction hashes so we dont dos our backends

* simple benchmark for /health and /status

* mut not needed with atomics

* DRY all the status pages

* use u64 instead of bytes for subscriptions

* fix setting earliest_retry_at and improve logs

* Revert "use kanal instead of flume or tokio channels (#68)"

This reverts commit 510612d343fc51338a8a4282dcc229b50097835b.

* fix automatic retries

* put relaxed back

* convert error message time to seconds

* assert instead of debug_assert while we debug

* ns instead of seconds

* disable peak_latency for now

* null is the default

* cargo fmt

* comments

* remove request caching for now

* log on exit

* unit weigher for now

* make cache smaller. we need a weigher for prod. just debugging

* oops. we need async

* add todo

* no need for to_string on a RawValue
2023-05-13 11:13:02 -07:00
Bryan Stitt
c3cdf7ef43 fix consensus finding bug 2023-05-12 23:40:15 -07:00
Bryan Stitt
4b7f88367d fix serializing /status 2023-05-12 23:22:20 -07:00
Bryan Stitt
74a602bc9c wip 2023-05-12 23:20:59 -07:00
Bryan Stitt
a3b97fda9b lint 2023-05-12 23:04:56 -07:00
Bryan Stitt
c54970da0a change ordering and move fetch_add and fetch_sub 2023-05-12 23:00:03 -07:00
Bryan Stitt
914c3e03a8 remove stale comments 2023-05-12 22:22:21 -07:00
Bryan Stitt
3cea4c3123 update peak_ewma to use request latency and fix off by one 2023-05-12 22:21:11 -07:00
Bryan Stitt
0c990b0755 use a cancel-safe channel for stats 2023-05-12 16:02:43 -07:00
Bryan Stitt
510612d343
use kanal instead of flume or tokio channels (#68) 2023-05-12 15:47:01 -07:00
Bryan Stitt
8a097dabbe
Bryan devel 2023-05-12 (#67)
* add minor todo

* BadRequest instead of web3_context

* more bad request error codes

* use tokio-uring for the tcp listener

* clear block instead of panic

* clone earlier

* more watch channels instead of rwlocks

* drop uring for now (its single threaded) and combine get/post/put routes

* clean up iter vs into_iter and unnecessary collect

* arcswap instead of rwlock for Web3Rpcs.by_name

* cargo upgrade

* uuid fast-rng and alphabetize

* if protected rpcs, only use protected rpcs

* listenfd

* make connectinfo optional

* try_get_with_by_ref instead of try_get_with

* anyhow ensure. and try_get_with_as_ref isn't actually needed

* fix feature flags

* more refs and less clone

* automatic retry for eth_getTransactionReceipt and eth_getTransactionByHash

thanks for the report Lefteris @ Rotki

* ArcSwap for provider

* set archive_request to true on transaction retrying

* merge durable stats

* Revert "ArcSwap for provider"

This reverts commit 166d77f204cde9fa7722c0cefecbb27008749d47.

* comments

* less clones

* more refs

* fix test

* add optional mimalloc feature

* remove stale dependency

* sort

* cargo upgrade

* lint constants

* add todo

* another todo

* lint

* anyhow::ensure instead of panic

* allow rpc_accounting_v2 entries for requests without an rpc key
2023-05-12 15:15:32 -07:00
David
34ed450fab
User Balance + Referral Logic (#44)
* will implement balance topup endpoint

* will quickly fix other PR reviews

* merging from master

* will finish up godmoe

* will finish up login

* added logic to top up balance (first iteration)

* should implement additional columns soon (currency, amount, tx-hash), as well as a new table for spend

* updated migrations, will account for spend next

* get back to this later

* will merge PR from stats-v2

* stats v2

rebased all my commits and squashed them down to one

* cargo upgrade

* added migrtation for spend in accounting table. will run test-deposit next

* trying to get request from polygon

* first iteration /user/balance/:tx_hash works, needs to add accepted tokens next

* creating the referral code seems to work

* will now check if spending enough credits will lead to both parties receiving credits

* rpcstats takes care of accounting for spend data

* removed track spend from table

* Revert "removed track spend from table"

This reverts commit a50802d6ae75f786864c5ec42d0ceb2cb27124ed.

* Revert "rpcstats takes care of accounting for spend data"

This reverts commit 1cec728bf241e4cfd24351134637ed81c1a5a10b.

* removed rpc request table entity

* updated referral code to use ulid s

* credits used are aggregated

* added a bunch of fields to referrer

* added database logic whenever an aggregate stats is added. will have to iterate over this a couple times i think. go to (1) detecting accepted stables next, (2) fix influxdb bug and (3) start to write test

* removed track spend as this will occur in the database

* will first work on "balance", then referral. these should really be treated as two separate PRs (although already convoluted)

* balance logic initial commit

* breaking WIP, changing the RPC call logic functions

* will start testing next

* got rid of warnings & lint

* will proceed with subtracting / adding to balance

* added decimal points, balance tracking seems to work

* will beautify code a bit

* removed deprecated dependency, and added topic + deposit contract to app.yaml

* brownie test suite does not rely on local contract files it pulls all from polygonscan

* will continue with referral

* should perhaps (in a future revision) recordhow much the referees got for free. marking referrals seems to work rn

* user is upgraded to premium if they deposit more than 10$. we dont accept more than $10M in a single tx

* will start PR, referral seems to be fine so far, perhaps up to some numbers that still may need tweaking

* will start PR

* removed rogue comments, cleaned up payments a bit

* changes before PR

* apply stats

* added unique constraint

* some refactoring such that the user file is not too bloated

* compiling

* progress with subusers, creating a table entry seems to work

* good response type is there as well now, will work on getters from primary user and secondary user next

* subuser logic also seems fine now

* downgrade logic

* fixed bug influxdb does not support different types in same query (which makes sense)

* WIP temporary commit

* merging with PR

* Delete daemon.rs

there are multiple daemons now, so this was moved to `proxyd`

* will remove request clone to &mut

* multiple request handles for payment

* making requests still seem fine

* removed redundant commented out bits

* added deposit endpoint, added deposit amount and deposit user, untested yet

* small bug with downgrade tier id

* will add authorization so balance can be received for users

* balance history should be set now too

* will check balance over time again

* subususer can see rpc key balance if admin or owner

* stats also seems to work fine now with historical balance

* things seem to be building and working

* removed clone from  OpenRequestHandle

* removed influxdb from workspace members

* changed config files

* reran sea-orm generate entities, added a foreign key, should be proper now

* removed contract from commit

* made deposit contract optional

* added topic in polygon dev

* changed deposit contract to deposit factory contract

* added selfrelation on user_tier

* added payment required

* changed chain id to u64

* add wss in polygon llamarpc

* removed origin and method from the table

* added onchain transactions naming (and forgot to add a migration before)

* changed foreign key to be the referrer (id), not the code itself

* forgot to add id as the target foreign key

* WIP adding cache to update role

* fixed merge conflicts

---------

Co-authored-by: Bryan Stitt <bryan@llamanodes.com>
Co-authored-by: Bryan Stitt <bryan@stitthappens.com>
2023-05-12 09:45:15 -07:00
Bryan Stitt
36cc884112 Merge remote-tracking branch 'origin/main' into devel 2023-05-11 20:05:47 -07:00
Bryan Stitt
fc8ca4ba4f less max lag 2023-05-11 17:04:33 -07:00
Bryan Stitt
2a242fe37f cargo upgrade --incompatible 2023-05-11 13:25:55 -07:00
Bryan Stitt
6e8536d477 add support for http basic auth 2023-05-11 13:21:12 -07:00
Rory Trent
ec11e210ee
Peak ewma (#63)
* use peak-ewma instead of head for latency calculation

* Implement some suggested changes from PR

* move latency to new package in workspace root

* fix unit tests which now require peak_latency on Web3Rpc

* Switch to atomics for peak-ewma

This change is to avoid locking from tokio::sync::watch.

* add decay calculation to latency reads in peak-ewma

* Add some tests for peak-ewma

* Sensible latency defaults and not blocking on full

* Cleanup and a couple additional comments
2023-05-11 13:09:15 -07:00
Bryan Stitt
96a9a39789 add support for http basic auth 2023-05-11 13:07:38 -07:00
Bryan Stitt
0531e2f8dd add 'quota usage' rate limit substring 2023-05-08 11:25:27 -06:00
Bryan Stitt
4d64bf9580 cargo upgrade 2023-05-08 10:44:01 -06:00
Bryan Stitt
e7da6cd3d6 clone for now. this will change to use refs soon 2023-05-08 10:42:03 -06:00
Bryan Stitt
c2e3d71080 if protected rpcs, only use protected rpcs 2023-05-08 10:39:06 -06:00
Bryan Stitt
8916533a2a set archive_request to true on transaction retrying 2023-05-08 10:38:38 -06:00
Bryan Stitt
aff53ce36a automatic retry for eth_getTransactionReceipt and eth_getTransactionByHash
thanks for the report Lefteris @ Rotki
2023-05-08 10:38:23 -06:00
Bryan Stitt
ffb554d0b3 online editor isn't actually nice when it misses syntax errors :( 2023-04-29 18:50:26 -07:00
Bryan Stitt
91acbcaf75
Fix sort order 2023-04-29 18:38:31 -07:00
Bryan Stitt
93f243696a
simple match statement 2023-04-27 11:15:45 -07:00
Bryan Stitt
a236f7364d
DRY stats (#58)
* DRY functions for saving stats and batch tsdb stats

* move comments
2023-04-25 07:42:00 -07:00
Bryan Stitt
cc3c9462a3 cargo upgrade 2023-04-25 05:39:09 -07:00
Bryan Stitt
1fab1b1d46 oops. lower this log level 2023-04-24 11:21:53 -07:00
Bryan Stitt
56fdf48129
Send transactions to protected and public rpcs (#57)
* move protected transactions into their own function and dry stats sending

* cargo upgrade

* comments

* time to live instead of time to idle

* minor workaround for eth_chainId

* cargo upgrade
2023-04-24 11:00:12 -07:00
Bryan Stitt
7a087415a2 hash instead of block_hash 2023-04-20 19:55:18 -07:00
Bryan Stitt
4d2c0dae53 no sasl 2023-04-20 18:08:53 -07:00
Bryan Stitt
684b14c8a7 enable sasl for kafka 2023-04-20 14:48:15 -07:00
Bryan Stitt
77a317fdf8 default window to 60 seconds 2023-04-20 13:35:59 -07:00
Bryan Stitt
4ce372e57b lint 2023-04-20 10:38:10 -07:00
Bryan Stitt
03c4990dc3 remove commented out code 2023-04-20 10:36:56 -07:00
Bryan Stitt
9929e59f04 lower log level 2023-04-20 09:17:18 -07:00
Bryan Stitt
30eb6e91bf cargo upgrade 2023-04-19 21:09:17 -07:00
Bryan Stitt
03ef27baa4 Merge branch 'main' into devel 2023-04-19 15:31:08 -07:00
Bryan Stitt
b0653c0e9f add log for connecting to kafka 2023-04-19 15:30:01 -07:00
Bryan Stitt
10d2d46512 more packages for kafka+ssl 2023-04-19 15:22:27 -07:00
Bryan Stitt
f5775e5577 add security.protocol to search_kafka script 2023-04-19 14:28:28 -07:00
Bryan Stitt
decdac4b6d set protocol 2023-04-19 10:42:57 -07:00
Bryan Stitt
db3b157a47 really. shut up. i mean it 2023-04-18 21:19:55 -07:00
Bryan Stitt
9118117fe7 tell ethers to shut up 2023-04-18 20:50:35 -07:00
Bryan Stitt
4889c3e1ce Merge branch 'main' into devel 2023-04-18 20:38:43 -07:00
Bryan Stitt
e921d02eb2 remove stale todo 2023-04-17 17:10:09 -07:00
Bryan Stitt
5ff28943da fix incorrect context 2023-04-14 03:44:32 -07:00
Bryan Stitt
2652f88f52 attach more contexts 2023-04-14 03:43:49 -07:00
Bryan Stitt
fffd645acf remove copypasta comment 2023-04-14 02:10:49 -07:00
Bryan Stitt
c2710858e1 only warn if rpc_configs is too short 2023-04-14 00:41:51 -07:00
Bryan Stitt
df19619b77 add context to apply_server_configs 2023-04-14 00:38:49 -07:00
Bryan Stitt
8ed71e1cf1 more goerli fixes 2023-04-14 00:36:46 -07:00
Bryan Stitt
3621d71037 if not watching heads, send to any server 2023-04-14 00:15:27 -07:00
Bryan Stitt
f3435bc6e0 add bundler_4337_rpcs 2023-04-14 00:04:35 -07:00
Bryan Stitt
d035049c8f add /backups_needed endpoint for easy alerts 2023-04-13 17:15:01 -07:00
Bryan Stitt
3c5f973107 more stats 2023-04-11 12:04:16 -07:00
Bryan Stitt
b1120e635a change some error codes jsonrpc error handling 2023-04-10 22:29:02 -07:00
Bryan Stitt
b5ed0c4710 sometimes watch_for_block instead of returning an error 2023-04-10 22:28:31 -07:00
Bryan Stitt
ed5ca0575c logging improvements 2023-04-10 16:05:53 -07:00
Bryan Stitt
29c015508a fix warnings in cargo doc 2023-04-10 15:06:40 -07:00
Bryan Stitt
7250a0c155 upgrade ethers to 2.0.2 2023-04-10 15:01:36 -07:00
Bryan Stitt
55924ff840 cargo upgrade the easy things 2023-04-10 14:27:06 -07:00
Bryan Stitt
767920c055 remove log based debug lines 2023-04-10 14:19:13 -07:00
Bryan Stitt
b460f1701a rename revert_handler to error_handler 2023-04-05 15:34:28 -07:00
Bryan Stitt
072119901e remove stale comment 2023-04-05 15:26:39 -07:00
Bryan Stitt
7994c894bb cargo clippy and fmt 2023-04-05 15:15:20 -07:00
Bryan Stitt
1a160a8c7d Merge remote-tracking branch 'rorytrent/Web3ProxyError' into devel 2023-04-05 15:08:57 -07:00
Bryan Stitt
2b30422b84 fixes for NULL and UNIQUE to work together 2023-04-05 14:55:37 -07:00
Bryan Stitt
e90175c638 remove unused atomics 2023-04-05 14:37:59 -07:00
Bryan Stitt
09dacb45e2 remove stale comment 2023-04-05 14:37:48 -07:00
Bryan Stitt
2e934a41bf cargo upgrade 2023-04-05 12:30:52 -07:00
Bryan Stitt
05db94177d cargo fmt 2023-04-05 12:19:03 -07:00
yenicelik
0069e76040 latest changes from bryan 2023-04-04 14:40:22 +02:00
Rory Neithinger
f0d8a0c8c9 Merge branch 'stats_v3' of github.com:yenicelik/web3-proxy into Web3ProxyError 2023-04-01 00:04:44 -07:00
Rory Neithinger
ffdf25787f Merge branch 'stats_v3' of github.com:yenicelik/web3-proxy into Web3ProxyError 2023-03-31 23:23:30 -07:00
yenicelik
0bb3a2dc06 simple changes around bryans comments 2023-03-31 12:43:41 +01:00
yenicelik
345fa6c513 git status 2023-03-30 13:42:56 +01:00
yenicelik
05463c7ee5 migration seems to work for the most part 2023-03-30 12:54:01 +01:00
yenicelik
7390bb7910 non-lossy data transfer 2023-03-26 15:53:17 +02:00
yenicelik
cef26e66cc will create a PR for some feedback 2023-03-25 19:26:23 +01:00
yenicelik
53c7541fed seems to wait until everything is flushed. I will have to debug some stuff that isnt saved properly in the mysql (and then check influx) 2023-03-25 17:56:45 +01:00
Bryan Stitt
2205a472fd add optional tokio-console and improve reconnect logic 2023-03-22 18:43:13 -07:00
Bryan Stitt
7b223efa4d improve reconnect logic 2023-03-22 16:16:15 -07:00
Bryan Stitt
86b4f39a75 string hostname 2023-03-22 15:36:40 -07:00
Bryan Stitt
b4ca0fb62d better log when servers skipped 2023-03-22 15:19:09 -07:00
Bryan Stitt
c0afc295ca add hostname to status 2023-03-22 15:18:54 -07:00
Bryan Stitt
a69737db98 serialize best_rpcs 2023-03-22 14:23:14 -07:00
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
Bryan Stitt
9fae137e45 shorten log message 2023-03-22 02:06:26 -07:00
Rory Neithinger
e9c1d019fc fix some incorrect error codes and log levels 2023-03-21 22:52:46 -07:00
Rory Neithinger
b012f18b2b Merge branch 'stats_v3' of github.com:yenicelik/web3-proxy into Web3ProxyError 2023-03-21 22:40:39 -07:00
Bryan Stitt
5465d927b4 remove a debug log 2023-03-21 21:22:16 -07:00
Bryan Stitt
d992bb2dc9 skip, don't error 2023-03-21 16:00:34 -07:00
yenicelik
1d72a3cd44 will continue after bryan response 2023-03-21 12:49:36 +01:00
yenicelik
64505102ef creating a CLI endpoint for the migration 2023-03-21 12:07:21 +01:00
yenicelik
9beddc43a4 will get and inser some migration data 2023-03-21 10:11:35 +01:00
yenicelik
fbe97c12b2 will continue mtr 2023-03-20 22:00:49 +01:00
Rory Neithinger
fe2a760c8a more conversions to Web3ProxyError 2023-03-20 13:45:21 -07:00
Rory Neithinger
847e961eb0 remove more anyhows from app module
the only ones left should be in the top level spawn functions.
2023-03-20 13:07:24 -07:00
Rory Neithinger
60c1a6d382 remove anyhow from rest of frontend module 2023-03-20 12:47:57 -07:00
Rory Neithinger
3479bf9d06 add context type which preserves status code 2023-03-20 11:38:54 -07:00
yenicelik
0a6ccf28b5 will continue with migration 2023-03-20 12:22:30 +01:00
Rory Neithinger
1493d73386 better error handling for ws 2023-03-19 19:14:46 -07:00
Rory Neithinger
beac7ee017 better error handling for proxy_web3_rpc() 2023-03-19 18:52:28 -07:00
Rory Neithinger
c32d12b5e0 better error handling for ip_is_authorized() 2023-03-19 15:50:25 -07:00
yenicelik
c925ec9c27 about to merge stats into it 2023-03-18 10:15:21 +01: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
yenicelik
ca41cb5c9e will push this for short review 2023-03-14 20:08:16 +01:00
yenicelik
65ca628cc7 will modify query so we can make queries more easily 2023-03-14 16:32:19 +01:00
yenicelik
9417961d78 for some reason values output is always zero 2023-03-12 16:09:20 +01:00
yenicelik
8c8c183e65 trying to debug returning multiple files 2023-03-10 20:26:15 +01:00
Bryan Stitt
b0c5d2b0eb remove debugging headers 2023-03-10 09:45:55 -08:00
Bryan Stitt
684c37ef6c cargo upgrade 2023-03-10 09:45:47 -08:00
Bryan Stitt
89853e24e5 all strings for json 2023-03-09 22:53:01 -08:00
Bryan Stitt
babd215e69 add an endpoint for debugging headers 2023-03-09 22:51:23 -08:00
Bryan Stitt
4203c61a59 use pretty address in logs 2023-03-09 11:25:57 -08:00
Bryan Stitt
7b9bcf6881 include head block in the log 2023-03-09 11:22:40 -08:00
Bryan Stitt
b480e92259 don't panic if param is not set 2023-03-09 09:32:30 -08:00
Bryan Stitt
d7a843cdc5 lint 2023-03-09 09:32:17 -08:00
Bryan Stitt
df8cc3b954 fix log order 2023-03-07 16:16:32 -08:00
Bryan Stitt
6717999ced actually use backup rpcs 2023-03-07 16:02:22 -08:00
Bryan Stitt
02a7c0be1e add todo 2023-03-07 16:02:22 -08:00
David
d25eed0bd2
hotfix for admin address changes (#39) 2023-03-07 15:44:22 -08:00
Bryan Stitt
7b1b997c72 include backtrace in page 2023-03-07 13:44:27 -08:00
yenicelik
f1f34fbcb0 will get back to this after fixing admin db issues 2023-03-07 22:40:34 +01:00
Bryan Stitt
b2016190e1 change_admin_status script fixes 2023-03-06 04:44:54 +00:00
yenicelik
ffd63444b2 tests seem to run successfully, should double check the huge merge 2023-03-04 22:31:39 +01:00
yenicelik
5a54fc5e99 lets modify web3 proxyd manually copy pasta 2023-03-04 21:19:39 +01:00
Bryan Stitt
c7dcc4aac3 actually return a json result from influx 2023-03-04 20:54:24 +01:00
Bryan Stitt
163bbbafca FromDataPoint needs Default 2023-03-04 20:54:24 +01:00
Bryan Stitt
5b48d471bb fix influxdb derive macro
https://github.com/aprimadi/influxdb2/issues/17
2023-03-04 20:54:24 +01:00
Bryan Stitt
dbd7860416 wip influxdb2 2023-03-04 20:54:04 +01:00
Bryan Stitt
3f217b930a cargo upgrade 2023-03-04 20:49:21 +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
36e4183373 todos 2023-03-03 11:19:25 -08:00
Bryan Stitt
94089eb72b combine comparison 2023-03-03 07:34:04 -08:00
Bryan Stitt
4c18657387 more kafka things 2023-03-03 06:58:45 -08:00
Bryan Stitt
2eb8df22ec kafka helper script 2023-03-03 02:54:52 -08:00
Bryan Stitt
1869e73131 actually add the script 2023-03-02 22:50:14 -08:00
Bryan Stitt
cbdd6d7c1e oops. didn't mean to commit this script yet 2023-03-02 21:12:35 -08:00
Bryan Stitt
586b772cdf apt needs '--yes' 2023-03-02 20:58:07 -08:00
Bryan Stitt
3b61e009f8 group cfgs 2023-03-02 17:51:41 -08:00
Bryan Stitt
3098791ad9 add optional kafka feature 2023-03-03 01:39:50 +00:00
Bryan Stitt
a54e33f598 head lag instead of head block 2023-03-02 19:10:30 +00:00
Bryan Stitt
e6ca8a5253 add head_block, head_latency, and request_latency to popularity_contest table 2023-03-02 19:08:47 +00:00
Bryan Stitt
c7b74e1795 sort popularity_contest rows descending by request counts 2023-03-02 18:33:17 +00:00
Bryan Stitt
d1b955275d clean up wait_for_ functions 2023-03-02 18:27:32 +00:00
Bryan Stitt
907a147afa wait_for_provider helper function 2023-03-02 18:14:17 +00:00
Bryan Stitt
0d07e20d7c make it compile 2023-03-02 17:38:42 +00:00
Bryan Stitt
258e889f69 wait for a provider 2023-03-02 16:52:28 +00:00
Bryan Stitt
499d50b5fc handle empty private_rpcs 2023-03-01 23:21:09 +00:00
Bryan Stitt
c8bc0d288f high log level 2023-03-01 23:04:20 +00:00
Bryan Stitt
fdba8e7864 test all_connections with Nones 2023-03-01 22:50:44 +00:00
Bryan Stitt
f68886fafd add simple test for all connections and include more rpcs 2023-03-01 22:32:01 +00:00
Bryan Stitt
baf07f7de5 sync sort should include backup 2023-03-01 21:35:50 +00:00
Bryan Stitt
2e9803de72 remove arbitrary sleep timer 2023-03-01 20:56:00 +00:00
Bryan Stitt
b87c988439 lint 2023-03-01 11:23:59 -08:00
Bryan Stitt
1da12f5844 bump version to match number of migrations 2023-02-28 23:35:20 -08:00
Bryan Stitt
1ffccbe229
Merge pull request #36 from yenicelik/19-admin-imitate
Admin endpoint (Godmode / Imitate User)
2023-02-28 23:32:05 -08:00
Bryan Stitt
20851af51b log seconds instead of milliseconds 2023-02-28 11:09:49 -08:00
Bryan Stitt
d83a1f0169 use Web3Rpc instead of the name as a key 2023-02-28 11:01:34 -08:00
Bryan Stitt
26970c2d88 move wait on new connection 2023-02-27 13:40:13 -08:00
Bryan Stitt
c5e2402d6e disconnect is noisy but it works 2023-02-27 13:29:07 -08:00
Bryan Stitt
11ee0aafe9 inotify is a pain cross platform. just check file hashes 2023-02-27 13:13:18 -08:00
Bryan Stitt
6067369ee3 add inotify and rpc disconnect 2023-02-27 12:50:57 -08:00
David
27a85c946f
Merge branch 'main' into 19-admin-imitate 2023-02-27 10:56:29 +01:00
yenicelik
fb5c9c8770 typo login should have been logout 2023-02-27 10:56:06 +01:00
Bryan Stitt
475e521918 cache getLogs with blockhash 2023-02-26 23:08:00 -08: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
c9e5661c5b wip 2023-02-25 09:55:28 -08:00
Bryan Stitt
c47c9136a1 cargo upgrade 2023-02-25 00:47:16 -08:00
Bryan Stitt
580965ef83 get instead of remove 2023-02-24 23:31:10 -08:00
Bryan Stitt
91b853d21e archive instead of Some(u64::MAX) in the logs 2023-02-21 21:14:49 -08:00
Bryan Stitt
0ab7738393 per-chain rpc rate limits 2023-02-21 21:10:23 -08:00
Bryan Stitt
6c33b1ae1e block number instead of hash during health check 2023-02-21 20:25:54 -08:00
yenicelik
933f71d2d9 should be ok now again 2023-02-19 21:54:23 +01:00
yenicelik
a7161790f1 pull from origin, about to push 2023-02-19 21:45:58 +01:00
yenicelik
f783ff66cf fix some errors that occurred during refactor 2023-02-19 21:43:38 +01:00
yenicelik
fc1fdaaaf1 continue rebase 2023-02-19 21:36:54 +01:00
Bryan Stitt
df87a41d5b theres a perf regression in here somewhere 2023-02-19 21:34:42 +01:00
Bryan Stitt
678cd8067b lower log level 2023-02-19 21:34:42 +01:00
Bryan Stitt
30d4da6594 the macro is easier 2023-02-19 21:34:42 +01:00
Bryan Stitt
0c4ec8ea03 properly encode number responses as hex 2023-02-19 21:34:42 +01:00
Bryan Stitt
85608dbf25 fix params in health check query 2023-02-19 21:34:42 +01:00
Bryan Stitt
cfff3ac532 comment 2023-02-19 21:34:42 +01:00
Bryan Stitt
e1f803e91a make it work 2023-02-19 21:34:42 +01:00
Bryan Stitt
1b7050d294 yes health, no channel 2023-02-19 21:34:42 +01:00
Bryan Stitt
688cc62460 remove health for now? 2023-02-19 21:34:42 +01:00
Bryan Stitt
d50c869df0 dont hold a lock open 2023-02-19 21:34:42 +01:00
Bryan Stitt
6eff5e3bf1 health check and latency recordings 2023-02-19 21:34:42 +01:00
Bryan Stitt
83c1d7051d undo a rename in the json 2023-02-19 21:34:42 +01:00
Bryan Stitt
88da33c7e4 i think it works 2023-02-19 21:34:42 +01:00
Bryan Stitt
658f658a0b add time to idle to more caches 2023-02-19 21:34:42 +01:00
Bryan Stitt
45fe524efb cargo upgrade 2023-02-19 21:34:42 +01:00
Bryan Stitt
0e8ebfa823 getting close 2023-02-19 21:34:42 +01:00
Bryan Stitt
a519427fcf fixed one test. still more to fix though 2023-02-19 21:34:42 +01:00
Bryan Stitt
da33ec32eb well it compiles. doesnt work yet. but it compiles 2023-02-19 21:34:42 +01:00
Bryan Stitt
53757621ef variable rename 2023-02-19 21:34:42 +01:00
Bryan Stitt
54b4aa8522 cargo upgrade 2023-02-19 21:34:42 +01:00
Bryan Stitt
4daf984b4b use http and ws providers in a single config 2023-02-19 21:34:42 +01:00
Bryan Stitt
5a3f586d99 include to_block more places 2023-02-19 21:34:42 +01:00
Bryan Stitt
8af87845c9 better sorting of connections 2023-02-19 21:34:42 +01:00
yenicelik
11b787e8b1 removed one comment (not needed to remove redis) 2023-02-19 21:34:42 +01:00
yenicelik
38ac23ca06 added admin trail when someone tries to login for godmode 2023-02-19 21:34:42 +01:00
yenicelik
85bec3aaf0 currently also have to specify the admin user calling the request. also added a tiny manual test to imitate user. will add trails next 2023-02-19 21:34:42 +01:00
yenicelik
7bf1d6e95a redis is not saving raw bearer tokens, so i will remove this from here 2023-02-19 21:34:42 +01:00
yenicelik
2e1fd5cd3c still struggingling with login 2023-02-19 21:34:42 +01:00
yenicelik
2ac550f60a will wait for how to login as a third party user 2023-02-19 21:34:42 +01:00
yenicelik
b1f18460d1 changes from review. will test now 2023-02-19 21:34:42 +01:00
yenicelik
de8d665e40 should next write some simple end2end test 2023-02-19 21:34:42 +01:00
yenicelik
f701109aed should write some tests next 2023-02-19 21:34:42 +01:00
yenicelik
1250b7dba2 continue rebase 2023-02-19 21:34:39 +01:00
yenicelik
61bd7d6e35 also removing login from cache. should add tests for all these cases 2023-02-19 21:33:39 +01:00
yenicelik
bbe9061402 continue rebase 2023-02-19 21:33:33 +01:00
yenicelik
6420dc6aa6 tiny refactoring and added admin entities. some bugs coming up 2023-02-19 21:27:59 +01:00
yenicelik
310df0c86d apply rebase 2023-02-19 21:27:53 +01:00
yenicelik
9e3c3fcbe0 continue rebase 2023-02-19 21:25:29 +01:00
David
2c8c4306fa
Merge branch 'main' into 19-admin-imitate 2023-02-17 14:33:43 +01:00
Bryan Stitt
738815244d change ewma calculation 2023-02-16 00:26:58 -08:00
Bryan Stitt
4916188d5c theres a perf regression in here somewhere 2023-02-15 21:54:07 -08:00
Bryan Stitt
cb2b5c16ad lower log level 2023-02-15 21:30:42 -08:00
Bryan Stitt
f2cfe2956a the macro is easier 2023-02-15 21:19:24 -08:00
Bryan Stitt
02bada3006 properly encode number responses as hex 2023-02-15 21:16:33 -08:00
Bryan Stitt
b7dfec9c63 fix params in health check query 2023-02-15 21:13:28 -08:00
Bryan Stitt
91cab8ffe2 comment 2023-02-15 21:09:39 -08:00
Bryan Stitt
bc306f62d4 make it work 2023-02-15 21:05:41 -08:00
Bryan Stitt
3c9576c13b yes health, no channel 2023-02-15 15:52:42 -08:00
Bryan Stitt
63adbc0587 remove health for now? 2023-02-15 15:42:27 -08:00
Bryan Stitt
268ad3a7c5 dont hold a lock open 2023-02-15 15:37:43 -08:00
Bryan Stitt
056670d29a health check and latency recordings 2023-02-15 15:31:59 -08:00
Bryan Stitt
774bd5b232 undo a rename in the json 2023-02-15 12:59:03 -08:00
Bryan Stitt
1fb4dd6ccc i think it works 2023-02-15 12:33:43 -08:00
Bryan Stitt
df668a5dfd add time to idle to more caches 2023-02-15 11:42:25 -08:00
Bryan Stitt
8506cd6bdc cargo upgrade 2023-02-15 11:40:55 -08:00
yenicelik
5fd440523f removed one comment (not needed to remove redis) 2023-02-15 17:13:31 +01:00
yenicelik
d6a7b702f8 added admin trail when someone tries to login for godmode 2023-02-15 17:10:45 +01:00
yenicelik
44ae497100 currently also have to specify the admin user calling the request. also added a tiny manual test to imitate user. will add trails next 2023-02-15 15:20:16 +01:00
yenicelik
36c884c9ab redis is not saving raw bearer tokens, so i will remove this from here 2023-02-15 14:57:34 +01: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
yenicelik
0d4acfbacc still struggingling with login 2023-02-14 17:15:54 +01:00
Bryan Stitt
70105bc7bb variable rename 2023-02-12 10:22:20 -08:00
Bryan Stitt
0e2e45cf90 cargo upgrade 2023-02-12 01:47:06 -08:00
Bryan Stitt
c008f50943 use http and ws providers in a single config 2023-02-12 01:40:01 -08:00
yenicelik
4904bc6734 will wait for how to login as a third party user 2023-02-11 14:19:33 +00:00
Bryan Stitt
f1bc00082a include to_block more places 2023-02-10 20:45:57 -08:00
Bryan Stitt
c959110986 better sorting of connections 2023-02-10 20:24:20 -08:00
yenicelik
8562fc3384 changes from review. will test now 2023-02-10 17:48:51 +00:00
yenicelik
cc41e54cbf Merge branch 'upstream-main' into 19-admin-imitate 2023-02-10 17:12:22 +00:00
David
67765d2bd5
Merge branch 'llamanodes:main' into main 2023-02-10 16:34:10 +00:00
Bryan Stitt
90b57c7aed fix test. usize -> u64 2023-02-09 12:02:57 -08:00
Bryan Stitt
e062975b13 cargo upgrade 2023-02-09 11:56:58 -08:00
Bryan Stitt
1a93e39b09 FuturesUnordered on the spawn handles 2023-02-09 11:56:07 -08:00
Bryan Stitt
6741cd72ac lint 2023-02-09 11:55:54 -08:00
Bryan Stitt
4e63e69c97 actually use app.response_cache_max_bytes 2023-02-09 11:55:39 -08:00
Bryan Stitt
5ffe2aa72a eth_sendRawTransactions should use backups more often 2023-02-09 11:47:56 -08:00
Bryan Stitt
1efa8e7772 improve log message
we don't always get an empty block because we aren't synced. sometimes it is because we got disconnected
2023-02-08 11:30:16 -08:00
Bryan Stitt
ff4cb9abce cargo upgrade 2023-02-08 11:11:16 -08:00
Bryan Stitt
0b1929a820 add minimal config for quick testing 2023-02-06 15:20:36 -08:00
Bryan Stitt
0edd11349f web3 rpc spawn should be unordered 2023-02-06 14:13:43 -08:00
Bryan Stitt
19e51ce328 check http servers twice as often 2023-02-06 13:48:50 -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
266c410f15 add todo 2023-02-05 18:19:13 -08:00
Bryan Stitt
f2d35ba5eb remove metered in favor of influxdb stats 2023-02-05 18:17:26 -08:00
Bryan Stitt
6d959e2c1f add archive depth to app config 2023-02-05 17:58:03 -08:00
yenicelik
a0e257c8cb added endpoint to get or create the referral link for a given user 2023-02-05 14:53:41 +01:00
Bryan Stitt
37830f1156 Jenkinsfile from llamanodes/erigon 2023-02-05 00:13:14 -08:00
Bryan Stitt
1d749ed33d block all admin_ commands 2023-02-03 10:56:19 -08:00
Bryan Stitt
ca1e550370 improve sort order during eth_sendRawTransaction 2023-02-02 14:48:23 -08:00
Bryan Stitt
9ac3ef1e3d cache /health and cache /status for longer 2023-02-02 13:58:04 -08:00
Bryan Stitt
a3f2eff512 simple request counts 2023-02-02 13:45:05 -08:00
Bryan Stitt
cac31303f3 include backup in web3connection serializer 2023-02-02 08:00:59 -08:00
Bryan Stitt
414501fb57 eth_pollSubscriptions is not supported 2023-02-01 14:02:53 -08:00
Bryan Stitt
0fcff5947a one more take 2023-01-31 11:05:29 -08:00
Bryan Stitt
a76a45f63a clone instead of take 2023-01-31 09:47:19 -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
yenicelik
4582cf3e37 should next write some simple end2end test 2023-01-31 15:08:46 +01:00
Bryan Stitt
6c23b73f2d cargo upgrade 2023-01-30 15:57:06 -08:00
Bryan Stitt
203969f628 include from_block and to_block for caching getLogs 2023-01-30 15:47:17 -08:00
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