-
Notifications
You must be signed in to change notification settings - Fork 108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Main <- Stage #2011
Merged
Main <- Stage #2011
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…tivation (#1689) * fix: (EventHandler) update non-committee shares upon liquidation/reactivation --------- Co-authored-by: olegshmuelov <45327364+olegshmuelov@users.noreply.github.com>
Co-authored-by: Matus Kysel <matus@ssvlabs.io> Co-authored-by: rehs0y <lyosher@gmail.com>
…adata sync (#1805) * rename setupEventHandling to syncContractEvents * refactor beaconprotocol.UpdateValidatorsMetadata to MetadataFetcher * don't pass logger to operatorNode.Start() * don't pass logger to reportOperators * don't pass logger to p2pNetwork Setup and Start * fix TestSetupValidatorsExporter * reduce errors text in fetchAndUpdateValidatorsMetadata * extract a package for metadata updating; start it before p2p setup * minor cleanup * pass context * get rid of update metadata loop in validator controller * remove unused code from validator controller * fix tests for StartValidators * initialize metadata updater before validator controller * various fixes in metadata updater * sharesStorage -> shareStorage * remove redundant comment * avoid blocking on channel send * return shares instead of nil on timeout * fix TODO's; add tests * fix linter * review comments and some code improvements * review comments [2] * minor improvements * move metadata updater inside validator * review comments [3] * add comments * add another comment * network/p2p: extract logger changes to another PR * network/p2p: revert leftovers * resolve a busy loop * remove logic with indices diff * wrap context in reportIndicesChange * review comments * ValidatorSyncer -> Syncer * fix comment * rename receiver * get rid of fetcher * fix TestUpdateValidatorMetadata * NewValidatorSyncer -> NewSyncer * minor renames * add a comment in HandleMetadataUpdates * revert removal of active index comparison * add self subnets logic missed on merge conflicts * fix leftovers * apply changes from #1969 * filter shares by own subnets * use fixed subnets * improve the last batch sleep comment * minor rename * comments * comment * comment * logs --------- Co-authored-by: zippoxer <moshe@blox.io>
Co-authored-by: moshe-blox <moshe@blox.io> Co-authored-by: Matus Kysel <matus@ssvlabs.io>
Stage <- Main
chore: remove old ci files
…Index field (#1837) * shares-storage: replace gob encoding with ssz * disable completed(txn) for easier testing on stage * add a link to the relevant fastssz issue for additional context * share: unify/deduplicate access to ValidatorIndex field * remove unused logger object * add missing HasBeaconMetadata check, rename HasBeaconMetadata to HasOnChainData, group share on-chain data into separate struct * fixing stuff after rebase * use HasBeaconMetadata instead of HasOnChainData for consistency * fixes after rebase * addressing error: Txn is too big to fit into one request * comment clarifications * use proper prefix for SSZ shares (migration 5) * dump obj into error string to see why we can't gob-decode it * see if we can read & decode SSZ shares in Badger DB * enable gob->ssz migration * fix prefix usage to properly separate GOB and SSZ shares in DB * drop GOB shares in DB (we don't need to keep this data since it can be synced from smart-contract), and mark DB migration as completed * fix compilation issue (after rebase) * addressing review comments * change ssz tag to ssz-size since public keys are fixed size. * fix TestRegistryData test * upudate SSZ encodings in migrations package (to follow up on recent commits that change SSZ annotation max->size) * revert(migration_5_gob.go): changing types used for GOB-encoding from pkg-public to pkg-private due to GOB complaining about it (can't decode data fetched from DB) * use ssz-max for SharePubKey (instead of ssz-size) since not own shares have no share pubkey on it * minor improvements (review comments) * do not complete this migration_5 for now, we'll complete it once additional sanity-checks are added --------- Co-authored-by: y0sher <lyosher@gmail.com>
…ibp2p-pubsub (#1992) * update go-libp2p-pubsub to v0.12.0 * increase subscription buffer size to 256
* beacon/goclient: support multiple nodes * eth/executionclient: support multiple nodes * eth/executionclient: implement round-robin client switch on failure * eth/executionclient: assert node configs are same * eth/executionclient: unit tests for doCall method * eth/executionclient: fix linter * temporary use ";" as separator because "," is used as separator by deployment bot * return what spec field mismatches * don't check INTERVALS_PER_SLOT * check all genesis fields * remove struct comparison * eth/executionclient: fix a bug with address * k8s: temporary tcpproxy pod * k8s: temporary tcpproxy binary * fix linter * beacon/goclient: allow delayed start * beacon/goclient: move version check and log * eth/executionclient: get rid of reconnect * eth/executionclient: attempt to fix incorrect removal of reconnect * eth/executionclient: try another implementation * eth/executionclient: handle sync tolerance * beacon/goclient: fix unit tests * fix linter * eth/executionclient: fail if any client cannot be dialed on start * eth/executionclient: consider sync distance when checking if node is healthy * eth/executionclient: disconnect if stream fails * eth/executionclient: add some managed client tests * fix linter * initial implementation of execution multi client * delete tcpproxy * multi client options * implement ethereum.LogFilterer * log call failure * make FetchHistoricalLogs asynchronous * fix linter * behave like single client if there's only one client * add some multi client unit tests * more unit tests * call reconnect * cleanup debug logs * add HeaderByNumber to multi client * resolve PR review comments * add a comment about a closure * simplify condition for Fatal log * change context methods to functions * fix bug with no logs in chan * make sure execution client is healthy before fetching logs * fix linter * switch to the next client if the current one is not healthy * more unit tests * draft: healthy streaming * fix build * ec -> mc * returned multi err in call * is_healthy -> isHealthy * Revert "draft: healthy streaming" This reverts commit 1c5d708 * simplify FetchHistoricalLogs * fix tests * get rid of reconnect call * add a comment for StreamLogs * add healthy channel * update comment about separator * refactor MultiClient to use atomic operations and concurrency pool for health checks * fix lint * Healthy(): dont fail if at least one is heathy * dont switch client if no error * undo second client index bump removal * fix client skipping * fix * no shadowing * advance currentClientIndex to next client on error * comment * add a comment about Fatal log * wait for other clients in SubmitBlindedBeaconBlock * refactor multi client health check * fix atLeastOneSubmitted usage * refactor * refactor Healthy() * assert only same genesis * remove double return * double default syncDistanceTolerance to 8 * reduce sync distance tolerance to 6 * use time.Equal --------- Co-authored-by: zippoxer <moshe@blox.io> Co-authored-by: y0sher <lyosher@gmail.com>
* fix missing identifier value * passing message ID
Co-authored-by: zippoxer <moshe@blox.io>
* migrations: finalize migration_5 (share encoding GOB -> SSZ) * fix linter warnings * add backward-compatibility test for encoding of storageShare struct * use exact code we use for db types for Shares (exporting it from storage package instead of copy-pasting it to migrations package) * go mod tidy * fix typos * prefer require over assert * rename spec share to domain share where applicable * rename DomainShare to SSVShare * ignore int conversion --------- Co-authored-by: y0sher <lyosher@gmail.com>
* executionclient: add a comment about SubscribeNewHead choice * update the comment
#2000) * do not crash if one client fails version check * fix help note on multiple addresses * don't compare genensis values * remove old assertSameGenesis code * beacon/goclient: set up connection hooks, assert genesis * beacon/goclient: remove outdated comment * eth/executionclient: allow starting with unhealthy client * eth/executionclient: simplify mutex usage * eth/executionclient: fix tests for assertSameChainID * eth/executionclient: improve comment for assertSameGenesis * handle nil genesis and chain ID responses * refactor(multi_client): replace connectedCount atomic int with bool. replace connected atomic with regular bool value * clarify comment * fix double mutex lock * fix potential nil pointer dereference * check only genesis fork version instead of whole genesis * create getClient helper method * improve logs * fix issue with log fields * atomic chain ID * fix comment for client mutexes * no nil assignment in Close * add panic hook * attempt to fix panic * fix logging * iterate clients forever in StreamLogs * set follow distance to 1 * Revert "set follow distance to 1" This reverts commit 768665d. * delete healthy channel * remove obsolete tests * add successful call log * fix potential nil ptr dereference * go-eth2-client: use fork with sync distance tolerance * add a comment about using github.com/nkryuchkov/go-eth2-client * code review comments * named consensus client logger * remove trace logs * fix a typo * add a comment with execution client shutdown scenarios * improve the comment for the call method * log client address on submissions * improve logs --------- Co-authored-by: Nikita Kryuchkov <nkryuchkov10@gmail.com>
* eth/executionclient: rate limit Healthy call * use atomic instead of mutex * use < instead of <=
nkryuchkov
approved these changes
Feb 3, 2025
MatusKysel
approved these changes
Feb 3, 2025
* eth/executionclient: use go-eth2-client with el_offline support * use https://github.com/ssvlabs/go-eth2-client instead of https://github.com/nkryuchkov/go-eth2-client
…rt (#2012)" (#2014) * Revert "eth/executionclient: use go-eth2-client with el_offline support (#2012)" This reverts commit 443945d. * use https://github.com/ssvlabs/go-eth2-client instead of https://github.com/nkryuchkov/go-eth2-client * add a comment
andrew-blox
approved these changes
Feb 3, 2025
* eth/executionclient: use go-eth2-client with el_offline support * update commit hash * update commit hash [2] * update comment
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.