-
Notifications
You must be signed in to change notification settings - Fork 299
update #7442
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
Closed
Closed
update #7442
Conversation
This file contains hidden or 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
* Speed up and simplify json serialization * split out "json serialization" from "rest serialization" as a separate module that only implements the `RestJson` format - this way, SSZ and JSON support each has its own module while "rest" serialization combines the two * set unknown/optional/required field options on the `RestJson` flavor directly * switch to `Opt` throughout and make sure json_serialization `results` support is enabled - this makes the framework consistently skip `none` whem writing fields which allows simplifying the code * stream json text directly instead of first allocating temporary strings for hex arrays/numbers - 2-3x performance improvement on state endpoint, ie down from 6-7s to 2-3s for a `curl` download - a json state is now >800mb! * reduce code duplication, import lists and binary size by exploiting fork patterns and auto-generating serialization for more types * read "dynamically typed" JSON fields like `data` using custom `object` with `JsonString` instead of using hand-written parser - the framework-generated parser is generally more efficient * add Web3Signer decoding/roundtrip tests based on yaml spec examples * print `ConsensusFork` like it's done in the beacon API spec throughout * make SSZ `SignedBeaconBlock` root updates safer via ssz_serialization bump * make JSON `SignedBeaconBlock` root updates safer by enabling them for all root-carrying types The remote keystore serialization code could likely be simplified in a similar way with additional tests. * lint * lint
* adjust fulu mev unblind condition * fix * remove the isOk
* validator custody and related changes * note * fix * review * oops * add missing Epoch type conversion * use let instead of var --------- Co-authored-by: tersec <[email protected]>
#7404 attempted to use `waitSignal` to handle shutdown notifications but this turned out to be unreliable, in particular due to multi-threading and cross-platform differences. This PR fixes the crash in signal handlers by removing logging but otherwise retains the polling nature of the shutdown initiation - it also allows nimbus eth1/2 to share the same cross-thread mechanism for initiating a shutdown.
* Update data directory defaults to include namespace, network Running `nimbus_xxx` without `--data-dir` currently results in the data directories colliding, for several reaons: * Beacon node, validator client and signing node all use the same validator folders derived from the data directory - this means that when running either of those processes together based on defaults, the processes will attempt to load the same keys which is a bad idea - separating the folders by namespace gives an extra layer of safety * Running with `--network` and without `--data-dir` fails due to incompatible databases - adding the network name helps keep each network separate This change only affects the defaults - an explicit `--data-dir` continues to work as it did before. Also, if the legacy folder exists, it will be used in preference over the new structure. While we're here, we also take the opportunity to: * use `LocalAppData` on Windows, to avoid roaming the blockchain database * use `XDG_STATE_HOME` on linux, in line with XDG spec 0.8 (2021) * rework `nimbus_binary_common` to reduce eth2-specific quirks such that it can be reused in non-eth2 binaries * clean up after VC stopped using `runSlotLoop` * improve compatibilty for out-of-git builds when fetching git revision * lint * split * export * rm help texts they don't get expanded * special-case some network names (minimal in particular needs this) * what a mess
- Phase out createMerkleizer API - bump hashtree to not need CPU-agnostic fallback - Implement EIP-7495: SSZ ProgressiveContainer
Implement test runner for new consensus-spec test format for EIP-7495 ProgressiveContainer. New tests will automatically be picked up once they become available. - ethereum/consensus-specs#4529
* Update web3 to new abi encoder / decoder * Update nim-web3 * Update nim web3 * Update nim web 3
* initial Gloas fork infrastructure * copyright and exception tracking linting, and add datatypes/gloas * fix Gnosis build * exclude gloas merkle proof tests * don't run gloas in light client processor test, either * tweaked how test summaries are made * fix BeaconBlock constructor * fix optionalforks not to keep vc from refusing to use BN
Useful for comparing with EL
|
Pull requests to the |
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.