Eugene Kabanov
eb2eb67665
Various fixes for light forward syncing algorithm. ( #6831 )
...
* Fix light forward syncing from finishing with inconsistent state.
* Update copyright year.
* Add block retention period check
2025-01-11 01:25:56 +00:00
tersec
adda9738a4
automated consensus spec URL updating to v1.5.0-beta.0 ( #6833 )
2025-01-10 13:10:49 +01:00
tersec
bb22476175
some manual consensus spec URL updates to v1.5.0-alpha.10 ( #6827 )
...
* some manual consensus spec URL updates to v1.5.0-alpha.10
* copyright year linting
2025-01-08 06:47:22 +00:00
Agnish Ghosh
c0108c2f2a
introduced custody groups, and renamed csc to cgc ( #6789 )
...
* introduced custody groups, and renamed csc to cgc
* accomodate tests
* revert to naming columns
* applied review changes
* updated all tests file
* addressed review 2
* merged in typo fixes by airdop farmers/other spam PRs
* handle lint ci
* shift to iterators, avoid redundant copying
2024-12-28 22:07:12 +01:00
tersec
9c9cbed987
implement SingleAttestation ( #6783 )
...
* implement SingleAttestation
* improve SingleAttestation shortLog
* avoid double ShuffleRef lookups in majority/happy case
* restore full electra check_aggregation_count, separately from phase0 one
2024-12-23 16:32:29 +00:00
Agnish Ghosh
06cf78af99
make getTargetGossipState
aware of Fulu + other fixes ( #6780 )
...
* make getTargetGossipState aware of Fulu, make it aware of electra as well in LC
* fix indent
* minonr fix
2024-12-20 18:39:49 +01:00
Agnish Ghosh
c728d8754c
custody subnet count decoding during discovery ( #6777 )
...
* renamed eip7594_helpers to peerdas_helpers, added csc subnet decoding during discovery
* added link
2024-12-20 11:23:46 +01:00
Agnish Ghosh
eb1e809a54
adds peerdas-supernode flag ( #6764 )
...
* adds peerdas-supernode flag instead of launching a peerdas supernode in subscribeAllSubnets
* make the flag default and _hidden_
* fix indentation
2024-12-17 00:14:39 +00:00
Agnish Ghosh
2bf0df7c7f
add: column support to ENR, Metadata and Request Manager ( #6741 )
...
* add csc to enr and metadata
* add column filtering into RequestManager
* nits
* add comment
* resolved reviews 1
* added local custody column set into RequestManager as a field
* faster lookups with hashsets
* fix regressions, fix other reviews, fix response checking for columns
* simpler fix for hashsets
2024-12-15 11:46:08 +00:00
Jacek Sieka
031d24ff41
taskpools: bump ( #6757 )
...
* taskpools: bump
* better raises effects
* get rid of custom naming
* bump
* oops
* bump stable
2024-12-11 11:12:56 +00:00
tersec
5579c5234f
automated consensus spec URL updating to v1.5.0-alpha.9 ( #6725 )
2024-11-24 13:16:09 +01:00
Agnish Ghosh
a157760643
Init Fulu fork ( #6677 )
...
* 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 ( #6515 )
...
* 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
Agnish Ghosh
250a80eb0c
add gossip validation for dc, and data column quarantine strategy ( #6581 )
...
* add gossip validation for dc
* review 1
* rm callback
* review 2
* added custody columns as a global entity
* alpha 8
* few typosA
2024-10-22 05:19:34 +00:00
tersec
3868365ac0
automated consensus spec URL updating to v1.5.0-alpha.8 ( #6617 )
2024-10-09 08:37:35 +02:00
tersec
b8a424991d
use EF consensus spec v1.5.0-alpha.8 test vectors ( #6616 )
2024-10-09 04:33:17 +00:00
tersec
17d66118e8
automated consensus spec URL updating to v1.5.0-alpha.7 ( #6601 )
2024-10-06 14:03:56 +00:00
tersec
a441695c51
plumb through Electra attestation callbacks ( #6586 )
2024-09-27 13:30:26 +02:00
tersec
28b20936e9
add Electra attester slashing gossip support ( #6582 )
2024-09-26 08:11:58 +02:00
tersec
d4e441e694
add Electra attester slashing pool ( #6579 )
2024-09-24 11:01:40 +02:00
tersec
ff9d32d30d
some v1.5.0-alpha.6 consensus spec URL updates ( #6572 )
2024-09-21 06:53:34 +02:00
tersec
256f6b8b89
automated consensus spec URL updating to v1.5.0-alpha.6 ( #6571 )
2024-09-21 03:22:41 +02:00
Eugene Kabanov
e3fcd8b031
REST: getBlockRewards() and getSyncCommitteeRewards() implementation ( #6556 )
...
* Initial commit.
* Use temporary state instead of clearance.
* Attempt to fix `finalized`.
* Fix `genesis` response.
* Pre-calculate genesis block rewards response.
* Add implementation for sync committee rewards.
* Add total active balance calculation.
* Add genesis special case.
* Fix negative reward values.
* Address review comments.
* Fix isGenesis implementation and add REST test rules for both calls.
2024-09-18 23:34:32 +00:00
tersec
16c21e1c1e
rm unused code/type conversoins; re-enable Electra block gossip verification ( #6545 )
2024-09-12 11:11:08 +02:00
tersec
21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 ( #6504 )
2024-08-21 14:25:19 +02:00
tersec
f258cba816
some v1.5.0-alpha.4 consensus spec URL updates ( #6485 )
2024-08-10 07:09:37 +02:00
tersec
904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 ( #6483 )
2024-08-09 18:24:49 +02:00
Etan Kissling
3375875e05
remove option to select Capella fork choice algo ( #6478 )
...
* remove option to select Capella fork choice algo
With Deneb having run stable for quite a while now, it's time to remove
the option to select the prior fork choice algo from Capella.
* also remove usage from test
2024-08-07 14:48:05 +00:00
tersec
c0fc0f41dd
calculate next slot's withdrawals properly even across epoch boundary ( #6470 )
2024-08-06 13:33:16 +02:00
Eugene Kabanov
b345c4fa72
Fix: Avoid downloading genesis multiple times, for holesky testnet. ( #6452 )
2024-07-26 14:54:03 +00:00
Etan Kissling
9f21182646
construct info object for BlobSidecar
earlier ( #6445 )
...
To avoid "forked" types creeping into `BlobSidecar`, move the reduction
to `BlobSidecarInfoObject` to the sole caller. The info object is fork
agnostic, so does not need "forked" if `BlobSidecar` ever updates.
2024-07-23 20:22:29 +00:00
Eugene Kabanov
f751fde417
Use Nimbus specific agent string instead of nim-presto defaults. ( #6424 )
...
* Use Nimbus specific agent string instead of nim-presto defaults.
Use response(code) overload.
* Fix REST API test.
2024-07-15 02:27:23 +00:00
Eugene Kabanov
61610fd243
BN: Disable genesis sync via long-range-sync argument. ( #6361 )
...
* Initial commit.
* Update options.md.
* Add pre-database initialization weak subjectivity period check.
* Add proper log message.
2024-06-20 18:57:08 +00:00
Kim De Mey
7a8c1d818a
Bump nim-eth for Opt changes and make Opt related adjustments ( #6369 )
2024-06-18 23:46:51 +02:00
tersec
88fa8b17ea
automated consensus spec URL updating to v1.5.0-alpha.3 ( #6364 )
2024-06-16 02:59:25 +02:00
Etan Kissling
9fc870777c
remove Bellatrix EL syncing support from light client ( #6352 )
...
Bellatrix light client data does not contain the EL block hash, so we
had to follow blocks gossip to learn the EL `block_hash` of such blocks.
Now that Bellatrix is obsolete, we can simplify EL syncing logic under
light client scenarios. Bellatrix light client data can still be used
to advance the light client sync itself, but will no longer result in
`engine_forkchoiceUpdated` calls until the sync reaches Capella. This
also frees up some memory as we no longer have to retain blocks.
2024-06-14 01:23:17 +00:00
Eugene Kabanov
27664291c4
VC/NIMBUS-BN validators protection. ( #6329 )
...
* 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
Etan Kissling
cccd81a47b
add ANSI art placeholder for Electra 🦒 ( #6338 )
...
Trigger ANSI art on upgrade to Electra
Art created by http://beatscribe.com (beatscribe#1008 on Discord)
2024-06-10 16:45:40 +00:00
tersec
69f13eaa51
add electra gossip transition
2024-05-15 13:30:49 +00:00
tersec
0ca5211f6a
enable nbn electra block processing ( #6288 )
2024-05-14 20:29:03 +02:00
tersec
c1b9e82502
electra attestation gossip plumbing ( #6287 )
2024-05-14 19:01:26 +03:00
tersec
9c669cf57a
some debugRaiseAssert to debugComment; unblock some spec tests ( #6284 )
2024-05-14 12:19:24 +03:00
tersec
3f972a2ca5
add some support for electra aggregated attestations ( #6283 )
2024-05-14 06:12:35 +02:00
tersec
6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 ( #6279 )
2024-05-09 05:03:10 +00:00
tersec
abc8bbbf23
add EF consensus spec test Electra fork and transition fixtures ( #6251 )
2024-04-28 16:13:17 +02:00
tersec
87452374e4
add Electra SSZ object test fixture ( #6225 )
2024-04-22 09:00:38 +00:00
tersec
d139c92df9
explicitly scope AttesterSlashing and IndexedAttestation types to phase0 ( #6224 )
2024-04-21 05:49:11 +00:00
tersec
603c83522e
explicitly refer to phase0.{Attestation,TrustedAttestation} rather than sans module name ( #6214 )
2024-04-17 20:44:29 +00:00
tersec
1bf4058e22
add Electra support to beacon API produceBlindedBlock and produceBlockV3 endpoints; add further VC publish(Blinded)Block Electra support ( #6190 )
2024-04-10 10:54:00 +02:00
tersec
7fa32b7f02
add Electra to ConsensusFork enum ( #6169 )
...
* add Electra to ConsensusFork enum
* fix gnosis check
2024-04-03 16:43:43 +02:00