godmodegalactus
35d13a25de
Merge branch 'production'
2024-03-19 18:09:59 +01:00
godmodegalactus
4bcc9ddb6c
Adding quic timers metrics, more quic bugfixes
2024-03-19 14:37:08 +01:00
godmodegalactus
50b81135c3
Merge branch 'production'
2024-03-18 20:01:02 +01:00
godmodegalactus
85fcb6097e
Adding some more metrics for quic tpu, and changing some parameters
2024-03-18 17:25:52 +01:00
godmodegalactus
9be86919ba
Merge branch 'production'
2024-03-16 16:18:01 +01:00
godmodegalactus
9f2f1c44fc
Disable lite rpc restart when rpc is not reponding and we are using grpc
2024-03-16 09:11:34 +01:00
Groovie | Mango
af2e41d6ac
fix error log on service issue ( #360 )
2024-03-15 12:27:23 +01:00
galactus
722d8bf2a7
Making get program account compatible with mango v4 ( #355 )
...
* getPA should return value with no context
* Setting context depending on config
* Fix clippy
2024-03-11 17:05:50 +01:00
godmodegalactus
374777cabc
minor optimizations, checking blockheight and confirmation status at replay
2024-03-09 19:18:33 +01:00
Groovie | Mango
18a0ab7062
from grpc block ProduceBlock mapping - Performance+Typing ( #348 )
...
* remove all Pubkey::default();
1. the value does not make sense
2. we can safely assume that bytes can be deserialized
* use Signature instead of String
* use solana_sdk:#️⃣ :Hash for blockhash
* store VersionedMessage instead of serialized bas64 string
* refactor compute_budget extraction
* fix test data
* simplify map_compute_budget_instructions
* fmt
---------
Co-authored-by: godmodegalactus <godmodegalactus@gmail.com>
2024-03-01 17:21:48 +01:00
galactus
1dcd3abcf2
Adding few metrics for accounts, getting accounts arguments from env ( #341 )
2024-02-28 17:08:27 +01:00
galactus
49bb7ff9f3
Implementing account on demand ( #338 )
...
* Implementing account on demand
* Resubscribing accounts after every sometime
* Changing account stream commitment to processed instead
* Fixing account on demand, and account subscription bugs
* Changing variable name for commitment from confirmed to processed
* Some account optimizations
* Adding get balance call
* Changes after groovies review.
* On demand accounts subscribe first then delete old subscription
2024-02-28 15:40:11 +01:00
Groovie | Mango
855c0190eb
prepare new "util" crate ( #333 )
...
prepare new "util" crate
2024-02-22 16:54:42 +01:00
galactus
c25c44eb9a
Solving potential deadlock in accounts library related to get_mut on dashmap ( #334 )
2024-02-22 12:49:47 +01:00
galactus
0ab947b7d7
Updating jsonrpsee and fixing cors ( #332 )
...
* Updating json rpsee and fixing CORS
* Fixing cors and updating jsonrpsee and fixing a bug in address lookup table store
* Adding rpc errors, and fixing groovies comments
* for moment get performance data from rpc client
2024-02-21 14:55:44 +01:00
Lou-Kamades
0678bc4f50
validate LITE_RPC_HTTP_ADDR in config ( #331 )
...
validate config value for LITE_RPC_HTTP_ADDR and LITE_RPC_WS_ADDR
2024-02-21 14:17:14 +01:00
Groovie | Mango
2c42a536b6
Improve/geyser replace streams ( #330 )
...
* add env ENABLE_INSTRUMENT_TRACING to enable tracing
* add tracing dependency
* example tracings
* log recent_processed_blocks.len
* bound channels
* replace fastestwins with task version
* revert fake error
* fix meta stream
* disble almost all
* disable more
* keep slot channel up
* log memory usage using CAP
* log CAP memory usage
* add span tracing to mutliplex tasks
* merge
* fix import
* remove useless spans
* fix span logger
* log emitted data from multiplexer
* improve naming of mpsc from autoconnection task
* WIP: use task/mpsc autoconnect for full blocks
* use task/mpsc autoconnect for block meta too
* tag the channels
* add spans
* bump to use updated geyser-grpc-connector with mpsc
* remove unused functions
* extract constant
* split plugger for one and many downstreams
* clippy+fmt
* use task for slots too
* remove broadcast intermediate channel
2024-02-15 21:49:15 +01:00
galactus
bcc3c37346
Accounts support ( #327 )
...
* Slitting rpc and pubsub services, adding few class and rpc, pubsub callbacks for accounts
* Implementing account storage and service writing some tests
* Chainging to interface, adding new tests
* Implementing accounts related rpc endpoints
* Adding tests for account filters
* Minor bug fixed and errors
* Fixing issue with get program accounts
* Implementing subscription
* use auto reconnect (#329 )
* groovie comments part_1
* Fixing tests, fixing groovies comments
* Adding workspace to test filters, minor changes
---------
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
2024-02-14 19:20:25 +01:00
Groovie | Mango
0821057389
obfuscate tokens ( #328 )
...
* obfuscate tokens
* use ellipses
2024-02-14 09:55:21 +01:00
Groovie | Mango
38da1ed987
Improvement/check block sequencing ( #299 )
...
use grpc multiplex and improve sequencing
2024-02-07 15:51:22 +01:00
galactus
196b400e15
Adding support for address lookup tables ( #319 )
...
* Initial implementation of address lookup tables
* Implementing fetching of address lookup tables
* Use address lookup tables to calculate account prio fees
* Adding some logs and renaming classes
* preloading all the alts correctly
* Changes after groovies review
* Fixing issues after rebase
2024-02-06 17:59:46 +01:00
Groovie | Mango
fae4cecc0e
Improvement/saving blocks use lookup tables ( #318 )
...
block store basic implementation
2024-02-05 20:20:15 +01:00
galactus
4d5a21530c
Adding CLI argument to set the max number of connections with the leader ( #317 )
...
* Adding CLI argument to set the max number of connections with the leader
* Fixing env variable name
2024-02-05 14:06:24 +01:00
galactus
9e031902e3
Implementing missing endpoints ( #316 )
...
* Implementing missing endpoints
* Adding slot subscription, and implementing prio fee method
* Changes after groovie and anikets review
2024-02-02 16:42:42 +01:00
galactus
27b1e6ad16
Calculating prio fees by account ( #310 )
...
* Calculating readable and writable accounts for transaction and saving in transaction info, declaration of primary strutures
Implementing calculation of prioritization by accounts
Optimize calculation of prioritization fees stats (#301 )
* Optimize calculation of prioritization fees stats
* comment on arrays in response
* Fix the calculation of supp
* Fix fmt
---------
Co-authored-by: GroovieGermanikus <groovie@mango.markets>
Implementing calculation of prioritization by accounts
Adding endpoint methods for prioritization fees by account
* Implement account stats subscription
* Fixing the serialization and deserialization of last
* Changes after groovies review
2024-02-01 18:49:51 +01:00
galactus
60388667f5
Main into production 01/02/2024 ( #312 )
...
* Production into main (#303 )
* fix: panic on geyser close, multiplex bug
https://github.com/blockworks-foundation/geyser-grpc-connector/issues/3
* update Cargo.lock
* reverting cargo.lock
* Fix issues with grpc and postgres
* Solving merge issues
* Fixing cargo fmt
* Increase finish quic timeout (#280 ) (#281 )
* integrate geyser slot subscription (#283 )
* Increase finish quic timeout (#280 )
* Moving geyser slot subscription from stream to channels (#282 )
* Moving geyser slot subscription from stream to channels
* Closing all the slot subscription tasks incase of restart
* Making slot channel unbounded (bug)
* remove block_debug_listen
caused a panic - need more time to investigate
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])
* Update cargolock file
* Fixing clippy removing grpc_inspect
* merging main with production (#290 )
* remove block_debug_listen (#286 )
* remove block_debug_listen
caused a panic - need more time to investigate
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])
* clippy
* Fixing message too long and overflow panics (#288 )
* Update geyser grpc connector commit (#289 )
---------
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
* Merging MTU changes and setting up transportation config (#293 )
* remove block_debug_listen (#286 )
* remove block_debug_listen
caused a panic - need more time to investigate
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] thread 'tokio-runtime-worker' panicked at cluster-endpoints/src/grpc_inspect.rs:59:21:
2024-01-17T20:31:42.913 app[683d392fd45368] ams [info] Error receiving block: Closed
2024-01-17T20:31:42.922 app[683d392fd45368] ams [info] 2024-01-17T20:31:42.912597Z ERROR lite_rpc: Services quit unexpectedly Err(cluster endpoint failure (Err(JoinError::Panic(Id(20), ...)), 1, [JoinHandle { id: Id(19) }, JoinHandle { id: Id(23) }])
* clippy
* Fixing message too long and overflow panics (#288 )
* Update geyser grpc connector commit (#289 )
* Updating the transport config to match with solana endpoint (#292 )
* Updating the transport config to match with solana endpoint
* Setting max MTU after groovies comments
---------
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
* Making block subscription processed and moving confirmed block subscr… (#291 )
* Making block subscription processed and moving confirmed block subscription to meta
* Sending both processed and confirmed blocks, if block has already been confirmed
* Minor bug, subscribing to processed blocks instead of confirmed (#295 )
---------
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
Co-authored-by: GroovieGermanikus <groovie@mango.markets>
* Restart connection if any stream fails
* Updating to version 0.2.4
* Updating the change logs
* Fixing all the sub overflows by using saturating sub (#309 )
* Fixing by cu computation adding more tests to check by CU (#311 )
* Fixing by cu computation adding more tests to check by CU
* Adding more tests
---------
Co-authored-by: Groovie | Mango <95291500+grooviegermanikus@users.noreply.github.com>
Co-authored-by: GroovieGermanikus <groovie@mango.markets>
2024-02-01 15:08:47 +01:00
godmodegalactus
a44923c334
Updating to version 0.2.4
2024-01-29 13:11:54 +01:00
Groovie | Mango
7171b524f0
Feature/block priofees ( #274 )
...
* boilerplate
* add dummy endpoint
* simple logic with highes block
* endpoint works
* remove cu calculus
* log get_latest_block startup timing
* websocket subscription basics
* WIP
* propagate fees via channel
* cleanup
* use broadcast sender
* proper handling of broadcast channel issues
* rename stuff
* move to dedicated crate
* cleanup deps
* move data definition
* hide private types
* percentile math
* code format
* integrated stats by cu
* add cu stats
* restart inline asserts
* warn about DashMap access
* switch to BTreeMap
* remove vote transactions from calculus
* return vec
* array
* flat format
* reformat
* split arrays
* rename keys
* enable experimental tag
* code format
* more logging
* reset log level
* rename websocket method to blockPrioritizationFeesSubscribe
* HACK: use processed blocks
* add is_vote_transaction
* do not fail if fees goes down
* udp message size example
* imrpove 100 handling
* simplify inital sort
* Revert "HACK: use processed blocks"
This reverts commit ff17d9475c
.
* add percentile test case
* add per block cu_consumed+tx_count(nonvote)
* fix supid cleanup bug
* add TxAggregateStats
* add by_cu test
* add alternative cu percentlie impl
* cleanup cu tests
* add check for step
* saturating_sub
* remove useless file
* add is_vote to history crate
* fix fmt+clippy (nightly)
* clippy
* clippy
* clippy
* clippy
2024-01-25 10:29:14 +01:00
galactus
de26490e9c
Squash and merging all the commits from groovies branch groovie/post… ( #300 )
...
* Squash and merging all the commits from groovies branch groovie/postgres_saving_blocksII
* Ingore tests which require postgres
2024-01-22 15:22:11 +01:00
galactus
4d4019264e
Fixing message too long and overflow panics ( #288 )
2024-01-18 15:11:29 +01:00
galactus
1209a8ae4d
Increase finish quic timeout ( #280 )
2024-01-17 13:10:11 +01:00
galactus
4ed7eead8b
Adding prometheus metrics to follow quic states ( #277 )
2024-01-16 11:30:40 +01:00
godmodegalactus
2498950583
Reconnecing to block stream and slot stream incase of error
2024-01-12 14:33:00 +01:00
galactus
d91e2e9316
disable geyser stakes and votes for refactoring ( #268 )
2024-01-11 14:37:06 +01:00
musitdev
21d0cee332
set initial rpc schedule parameters
2024-01-08 13:19:23 +01:00
musitdev
032232f6f3
add rpc leader shedule loading if the bootstrap file is not present
2024-01-05 15:58:25 +01:00
musitdev
402ebd69b1
correct from PR remarks
2024-01-04 13:36:13 +01:00
GroovieGermanikus
772e2c9909
reset values for leader schedule cache
2024-01-04 11:12:45 +01:00
musitdev
77853a34ca
rm trace comment
2024-01-04 09:56:55 +01:00
musitdev
2e7d86b896
rm trace comment
2024-01-04 09:25:46 +01:00
musitdev
dbc152bb64
rebase from master
2024-01-03 16:50:16 +01:00
musitdev
5a24c2bb4d
set stake_vote optional and integrate leader schedule and vote in send Tx
2024-01-03 10:25:45 +01:00
musitdev
faa5d1a12c
rebase from main
2024-01-03 10:23:17 +01:00
musitdev
16e8c53fad
change some ogs to trace and set default gprc add to localhost
2024-01-03 10:22:43 +01:00
musitdev
eadff4fce3
set inital schedule parameters
2024-01-03 10:21:07 +01:00
musitdev
93ab67db18
test leader and vote RPC calls
2024-01-03 10:21:06 +01:00
musitdev
5c64a151c2
test getvoteaccount. Correct some bugs
2024-01-03 10:20:18 +01:00
musitdev
69754a019a
start get_leader_slot, update for get_vote_account
2024-01-03 10:20:18 +01:00
musitdev
b3317667a6
first impl for RPC get_vote_accounts
2024-01-03 10:20:18 +01:00
musitdev
3e4c81c567
Stake and vote management. Integration of the main loop in current architecture
2024-01-03 10:20:14 +01:00