2
0
mirror of https://github.com/status-im/nimbus-eth2.git synced 2025-01-11 14:54:12 +00:00

608 Commits

Author SHA1 Message Date
Danyll
2e4d498586
fix typo README.md ()
"cliant" - "client"
2024-11-28 00:06:28 +01:00
tersec
5579c5234f
automated consensus spec URL updating to v1.5.0-alpha.9 () 2024-11-24 13:16:09 +01:00
Agnish Ghosh
a157760643
Init Fulu fork ()
* fulu

* fix ci

* fix ncli

* attempt to fix ci

* fix wss_sim build

* fix vc api

* updated tests

* resolve merge conflicts

* fix tests

* fix check

* attempt to fix minimal test in CI

* addressed reviews

---------

Co-authored-by: tersec <tersec@users.noreply.github.com>
2024-11-13 10:29:14 +07:00
Eugene Kabanov
18409a69e1
Light forward sync mechanism ()
* Initial commit.

* Add hybrid syncing.

* Compilation fixes.

* Cast custom event for our purposes.

* Instantiate AsyncEventQueue properly.

* Fix mistype.

* Further research on optimistic updates.

* Fixing circular deps.

* Add backfilling.

* Add block download feature.

* Add block store.

* Update backfill information before storing block.

* Use custom block verifier for backfilling sync.

* Skip signature verification in backfilling.

* Add one more generic reload to storeBackfillBlock().

* Add block verification debugging statements.

* Add more debugging

* Do not use database for backfilling, part 1.

* Fix for stash.

* Stash fixes part 2.

* Prepare for testing.

* Fix assertion.

* Fix post-restart syncing process.

* Update backfill loading log statement.
Use proper backfill slot callback for sync manager.

* Add handling of Duplicates.

* Fix store duration and block backfilled log statements.

* Add proper syncing state log statement.

* Add snappy compression to beaconchain_file.
Format syncing speed properly.

* Add blobs verification.

* Add `slot` number to file structure for easy navigation over stream of compressed objects.

* Change database filename.

* Fix structure size.

* Add more consistency properties.

* Fix checkRepair() issues.

* Preparation to state rebuild process.

* Add plain & compressed size.

* Debugging snappy encode process.

* Add one more debugging line.

* Dump blocks.

* One more filedump.

* Fix chunk corruption code.

* Fix detection issue.

* Some fixes in state rebuilding process.

* Add more clearance steps.

* Move updateHead() back to block_processor.

* Fix compilation issues.

* Make code more async friendly.

* Fix async issues.
Add more information when proposer verification failed.

* Fix 8192 slots issue.

* Fix Future double completion issue.

* Pass updateFlags to some of the core procedures.

* Fix tests.

* Improve initial sync handling mechanism.

* Fix checkStateTransition() performance improvements.

* Add some performance tuning and meters.

* Light client performance tuning.

* Remove debugging statement.

* Use single file descriptor for blockchain file.

* Attempt to fix LC.

* Fix timeleft calculation when untrusted sync backfilling started right after LC block received.

* Workaround for `chronicles` + `results` `error` issue.
Remove some compilation warnings.
Fix `CatchableError` leaks on Windows.

* Address review comments.

* Address review comments part 2.

* Address review comments part 1.

* Rebase and fix the issues.

* Address review comments part 3.

* Add tests and fix some issues in auto-repair mechanism.

* Add tests to all_tests.

* Rename binary test file to pass restrictions.

* Add `bin` extension to excluded list.
Recover binary test data.

* Rename fixture file to .bin again.

* Update AllTests.

* Address review comments part 4.

* Address review comments part 5 and fix tests.

* Address review comments part 6.

* Eliminate foldl and combine from blobs processing.
Add some tests to ensure that checkResponse() also checks for correct order.

* Fix forgotten place.

* Post rebase fixes.

* Add unique slots tests.

* Optimize updateHead() code.

* Add forgotten changes.

* Address review comments on state as argument.
2024-10-30 05:38:53 +00:00
tersec
2d3614ff69
update to devnet-4-compatible engine API () 2024-10-17 16:53:37 +02:00
tersec
c01cf6601a
attestation and aggregated attestation BN fixes for Electra ()
* attestation and aggregated attestation BN fixes for Electra

* disable electra transition for this PR

* use cleaned-up verification function everywhere
2024-10-14 14:20:26 +00:00
tersec
5608a803d7
update beacon_validators to be more Nim 2.2-compatible () 2024-10-11 15:39:45 +02:00
tersec
3868365ac0
automated consensus spec URL updating to v1.5.0-alpha.8 () 2024-10-09 08:37:35 +02:00
Eugene Kabanov
a25afaed5a
Increase number of web3 signer requests before signaling failure to 4. ()
Decrease number of pre-computed slots from 32 to 2.
Add validator field to some log statements.
2024-10-08 05:37:00 +02:00
tersec
50eed81dcf
electra BN attestation aggregating () 2024-10-07 07:53:38 +00:00
tersec
17d66118e8
automated consensus spec URL updating to v1.5.0-alpha.7 () 2024-10-06 14:03:56 +00:00
Jacek Sieka
8f0d910422
web: bump to new nim-eth types () 2024-10-02 15:26:11 +02:00
Pedro Miranda
4beb890385
new pool attester slashings endpoint version (V2) for electra ()
* new pool attester slashings endpoint version (V2) for electra

* formatting

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-28 00:00:26 +00:00
tersec
28b20936e9
add Electra attester slashing gossip support () 2024-09-26 08:11:58 +02:00
Pedro Miranda
daf7f899c2
Attestation API updates for Electra ()
* new V2 endpoint for beacon getBlockAttestations

* nnew GET endpoint version (V2) for getPoolAttestations

* new POST endpoint version (V2) for submitPoolAttestations

* remove premature ncli tests

* review improvements

* review comments and increased test coverage

* small improvements

* documentation typos

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-25 12:33:58 +00:00
Eugene Kabanov
841904bd53
Do not cache resolved hostnames in REST client. () 2024-09-24 04:23:38 +00:00
tersec
ff9d32d30d
some v1.5.0-alpha.6 consensus spec URL updates () 2024-09-21 06:53:34 +02:00
tersec
256f6b8b89
automated consensus spec URL updating to v1.5.0-alpha.6 () 2024-09-21 03:22:41 +02:00
Eugene Kabanov
20bb20f75d
Add ResolveAlways flag for web3signer requests. () 2024-09-20 13:10:25 +02:00
Pedro Miranda
7b6caebf6e
Add publishAggregateAndProofsV2 ()
* added new endpoint version(v2) for validator aggregate and proof

* review improvements

* introduced nim template for proof executiion

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-13 21:11:09 +00:00
tersec
ed2422112c
resolve several outstanding items for Electra support; add debug-foo to light client yamux () 2024-09-13 10:07:06 +02:00
Agnish Ghosh
5a44e39e31
bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed () 2024-09-02 11:47:00 +00:00
tersec
8c2e8f2b0f
some v1.5.0-alpha.5 consensus spec URL updates () 2024-08-23 12:43:54 +02:00
tersec
21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 () 2024-08-21 14:25:19 +02:00
tersec
904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 () 2024-08-09 18:24:49 +02:00
tersec
d2c8561fcd
add some Electra config constants to beacon API config endpoint () 2024-08-07 18:15:29 +02:00
tersec
c0fc0f41dd
calculate next slot's withdrawals properly even across epoch boundary () 2024-08-06 13:33:16 +02:00
tersec
9f654690b8
update builder API registrations after keymanager API fee recipient change () 2024-07-04 14:08:07 +02:00
Eugene Kabanov
84a35c85c5
Fix for gcc-14 issues in kzg-4844. ()
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.

* Add debugging output.

* Remove debugging output.

* Restore groupBlobs function.
2024-07-03 10:01:33 +00:00
tersec
9b6b42c8f9
some consensus spec URL updates to v1.5.0-alpha.3 () 2024-06-22 07:28:19 +02:00
tersec
88fa8b17ea
automated consensus spec URL updating to v1.5.0-alpha.3 () 2024-06-16 02:59:25 +02:00
tersec
0fab9682a6
use EF consensus-specs v1.5.0-alpha.3 test vectors () 2024-06-16 00:15:27 +02:00
tersec
a93ab7cf3b
Revert "bump nim-kzg4844 for gcc-14 compatibility ()" ()
This reverts commit c5326619a4d094db6f9e36c18992e0fa62fdc3d1.
2024-06-14 23:23:19 +00:00
Eugene Kabanov
c5326619a4
bump nim-kzg4844 for gcc-14 compatibility ()
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.
2024-06-14 00:46:03 +00:00
Eugene Kabanov
27664291c4
VC/NIMBUS-BN validators protection. ()
* Beacon node side implementation.

* Validator client side implementation.

* Address review comments and fix the test.

* Only 400 errors could be IndexedErrorMessage, 500 errors are always ErrorMessage.

* Remove VC shutdown functionality.

* Remove magic constants.

* Make arguments more visible and disable default values.

* Address review comments.
2024-06-11 19:38:16 +00:00
tersec
77d926525f
stop using deprecated stew/results ()
* stop using deprecated stew/results

* exception tracking linting
2024-06-11 02:34:56 +00:00
tersec
598485ee1a
add consolidations block body packing plumbing and correct electra MEV block body htr override () 2024-06-10 05:05:51 +02:00
Eugene Kabanov
d7c5bc0397
[VC] Add builderBoostFactor support. ()
* Initial commit.

* Replace localBlockValueBoost with builderBoostFactor.

* Add test.

* Update AllTests.

* Update options.md

* Recover `localBlockValueBoost` for BN-only mode.

* Address review comments.
2024-05-19 04:49:43 +03:00
Jacek Sieka
d191b35e2e
electra: attestatoin sending () 2024-05-17 17:34:46 +02:00
Jacek Sieka
045c4cf185
electra attestation updates ()
* electra attestation updates

In Electra, we have two attestation formats: on-chain and on-network -
the former combines all committees of a slot in a single committee bit
list.

This PR makes a number of cleanups to move towards fixing this -
attestation packing however still needs to be fixed as it currently
creates attestations with a single committee only which is very
inefficient.

* more attestations in the blocks

* signing and aggregation fixes

* tool fix

* test, import
2024-05-17 15:37:41 +03:00
tersec
b9151d43ce
produce blobs in electra 2024-05-15 14:49:57 +00:00
tersec
c1b9e82502
electra attestation gossip plumbing () 2024-05-14 19:01:26 +03:00
tersec
1c3aaa7be2
add (Signed)AggregateAndProof SSZ tests () 2024-05-14 13:51:06 +02:00
tersec
3f972a2ca5
add some support for electra aggregated attestations () 2024-05-14 06:12:35 +02:00
tersec
6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 () 2024-05-09 05:03:10 +00:00
Eugene Kabanov
484f48953b
Fix POST to eth/v1/builder/blinded_blocks missing header Eth-Consensus-Version. ()
* Fix submitBlindededBlock() do not send consensus-version HTTP header.

* Address review comments.
2024-05-03 01:08:16 +00:00
tersec
87452374e4
add Electra SSZ object test fixture () 2024-04-22 09:00:38 +00:00
tersec
d139c92df9
explicitly scope AttesterSlashing and IndexedAttestation types to phase0 () 2024-04-21 05:49:11 +00:00
tersec
645e627b03
add new Electra beacon chain containers and presets ()
* add new Electra beacon chain containers and presets

* re-enable attestations in electra state transition
2024-04-18 07:30:01 +00:00
tersec
0132f5d689
some consensus spec v1.4.0 spec URL updates () 2024-04-18 03:00:04 +02:00