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
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