nimbus-eth2/beacon_chain/spec
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
..
datatypes add gossip validation for dc, and data column quarantine strategy (#6581) 2024-10-22 05:19:34 +00:00
eth2_apis VC: Electra fixes. (#6631) 2024-10-16 17:20:39 +00:00
mev use EF consensus spec v1.5.0-alpha.6 test vectors (#6568) 2024-09-20 21:32:16 +02:00
presets automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
beacon_time.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
beaconstate.nim fix migration of `blob_gas_used`/`excess_blob_gas` from Deneb to Electra (#6655) 2024-10-17 00:15:34 +00:00
block_id.nim verify `genesis_time` more strictly (fixes #1667) (#5694) 2024-01-06 15:26:56 +01:00
crypto.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
deposit_snapshots.nim fix `/eth/v1/beacon/deposit_snapshot` for EIP-4881 (#6038) 2024-03-08 14:22:03 +01:00
digest.nim make Eth2Digest isZero 8x faster (#6682) 2024-10-28 05:21:18 +00:00
eip7594_helpers.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
engine_authentication.nim Bump nimcrypto to fix nim22 issues. (#6578) 2024-09-24 02:55:16 +00:00
english_word_list.txt Bump testutils 2020-06-01 16:58:28 +03:00
eth2_merkleization.nim fix Electra light client objects; use version-2-0 for Nim again (#6222) 2024-04-19 19:20:45 +00:00
eth2_ssz_serialization.nim fix Electra light client objects; use version-2-0 for Nim again (#6222) 2024-04-19 19:20:45 +00:00
forks.nim add gossip validation for dc, and data column quarantine strategy (#6581) 2024-10-22 05:19:34 +00:00
forks_light_client.nim use EF consensus spec v1.5.0-alpha.6 test vectors (#6568) 2024-09-20 21:32:16 +02:00
helpers.nim Bump nim-eth to 66297c5c0a8c22ec3f16c899e902d79aa00df575 (#6669) 2024-10-22 14:15:33 +02:00
helpers_el.nim use types from `eth/common/eth_types` (#6614) 2024-10-14 14:55:56 +00:00
keystore.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
light_client_sync.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
network.nim add gossip validation for dc, and data column quarantine strategy (#6581) 2024-10-22 05:19:34 +00:00
presets.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
signatures.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
signatures_batch.nim Light forward sync mechanism (#6515) 2024-10-30 05:38:53 +00:00
ssz_codec.nim make `Gwei` `distinct` (#6090) 2024-03-19 14:22:07 +01:00
state_transition.nim update to devnet-4-compatible engine API (#6657) 2024-10-17 16:53:37 +02:00
state_transition_block.nim stop checking for irrelevant unsigned wraparound in Electra deposit codepath (#6683) 2024-10-28 17:18:01 +01:00
state_transition_epoch.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00
validator.nim fix inconsistent aggregation bits len in Electra (#6679) 2024-10-25 16:04:35 +02:00
weak_subjectivity.nim automated consensus spec URL updating to v1.5.0-alpha.8 (#6617) 2024-10-09 08:37:35 +02:00