Commit Graph

4328 Commits

Author SHA1 Message Date
tersec 412ea71115
update to current EIP-7685 engine API request format (#6766) 2024-12-17 13:14:10 +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
tersec ed6669bae4
increase default gas limit from 30M to 36M (#6763) 2024-12-16 00:33:20 +00:00
tersec 232cf2a538
automated consensus spec URL updating to v1.5.0-alpha.10 (#6762) 2024-12-15 17:36:50 +01:00
tersec 7cb0a61471
use EF consensus spec v1.5.0-alpha.10 test vectors (#6761) 2024-12-15 14:18:52 +01: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
Agnish Ghosh 7647d17d9e
wait for fulu fork epoch to pass, then trigger metadata_v3 (#6759)
* wait for fulu fork epoch to pass, then trigger metadata_v3

* tiny fix
2024-12-13 18:51:38 +01:00
tersec dd069f23e3
Merge remote-tracking branch 'origin/stable' into unstable 2024-12-13 08:22:52 +00:00
Agnish Ghosh 98a7f446c1
fix: response checking from RequestManager for blobs (#6755)
* rewrite: response checking from RequestManager for blobs

* clean whitespace

* use a comparator and std instead

* sort incoming blobs by index

* fix list traversal

---------

Co-authored-by: tersec <tersec@users.noreply.github.com>
2024-12-12 16:37:22 +01:00
tersec 4e440277cf
version v24.12.0 2024-12-12 14:40:52 +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
Etan Kissling 7d81ee17db
Support reading `bootstrap_nodes.yaml` (#6751)
* Support reading `bootstrap_nodes.yaml`

`bootstrap_nodes.txt` is retired in lieu of `bootstrap_nodes.yaml`,
start reading `.yaml` format (similar to `.enr`).

* Support Gnosis Chiado format (duplicates of entries in other file)
2024-12-09 13:38:56 +00:00
Etan Kissling 0ae7bcfff9
Obtain extra `LightClientFinalityUpdate` after LC sync (#6752)
To avoid having to wait several minutes for LC finality gossip, obtain
extra finality update once LC sync finishes.
2024-12-05 14:07:20 +01:00
Etan Kissling 67eefaaafd
Update Electra art with text 🦒 (#6748)
Add `Compounding on` text to Electra fork transition art.

Co-authored-by: Beatscribe <beatscribes@gmail.com>
2024-12-03 11:45:12 +00:00
Agnish Ghosh c13b0c94b9
`getMetaData_v3` (#6739)
* add getMetaDataV3

* simpler fix, to review

* drop returns
2024-11-30 16:53:02 +01:00
tersec 18f492d929
Merge remote-tracking branch 'origin/stable' into unstable 2024-11-30 15:03:57 +00:00
tersec 38de746aa4
version v24.11.0 2024-11-29 11:18:07 +00:00
Danyll 2e4d498586
fix typo README.md (#6735)
"cliant" - "client"
2024-11-28 00:06:28 +01:00
andri lim 1eaeea10b3
Bump nim-web3 to c8f36f59cb354196cfe117b6866e81d450c8cfd7 (#6727)
* Bump nim-web3 to c8f36f59cb354196cfe117b6866e81d450c8cfd7
* no need to convert accessList and authorizationList anymore
2024-11-27 14:42:45 +07:00
Agnish Ghosh f12ceb8c75
Req/Resp domain for columns part 1 (#6723)
* added column support for req resp domain

* fix

* update links
2024-11-27 05:04:19 +01:00
Eugene Kabanov a461bb102f
Fix block proposer verification failure for light forward syncing algorithm. (#6726) 2024-11-24 23:51:21 +01:00
tersec 5579c5234f
automated consensus spec URL updating to v1.5.0-alpha.9 (#6725) 2024-11-24 13:16:09 +01:00
tersec 710f16f510
use EF consensus spec test vectors v1.5.0-alpha.9 (#6724) 2024-11-24 09:47:36 +01:00
Etan Kissling ddad30f725
Adopt latest changes to request hash computation (#6718)
* Adopt latest changes to request hash computation

The `requestType` of empty lists is no longer part of the requests hash.

- https://github.com/ethereum/EIPs/pull/8989

* Avoid nested computeDigest scopes
2024-11-24 07:36:39 +01:00
Agnish Ghosh 99bb845227
add column support to beacon chain db (#6660)
* add column support to beacon chain db

* slight fix

* fix db util

* fix import issues

* gate fulu columns if fulu fork epoch is far future epoch

* fixed all tests file

* fix comment
2024-11-19 06:53:13 +01:00
Eugene Kabanov bd04dcc3dc
Fix syncing problem introduced by light forward syncing PR. (#6714)
* Fix blobs check response algorithm and add more logging information.

* Add MAX_BLOBS_PER_BLOCK check.
Add tests.

* Adopt AllTests.

* Address review comments.

* One more missed lenu64.
2024-11-19 06:35: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
tersec b7ea6a627e
fix some deprecation warnings (#6702) 2024-11-04 12:19:43 +01:00
Eugene Kabanov 7726f39004
VC: Fix forks management behavior. (#6698)
* Fix issue "ignore _VERSION configuration value if _EPOCH == FAR_FUTURE_EPOCH".
Add `OptionalForks` constant which should provide default values for _VERSION/_EPOCH.
Fix Fork schedule should update Fork's configuration with _EPOCH values.

* Fix compilation error.

* Add comment why and how `OptionalForks` should be maintained.
2024-11-02 09:59:07 +00:00
Jacek Sieka 6cf388065d
network: remove unusede p2p macro stuff (#6700) 2024-11-01 16:40:13 +01:00
tersec c0f7220ab2
rm unused and obsolete produceBlindedBlock client-side infrastructure (#6697) 2024-10-31 03:58:44 +00:00
Agnish Ghosh c4d8ae40b0
fix (#6688) 2024-10-30 15:16:02 +01: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
tersec 00f276eacf
Merge remote-tracking branch 'origin/stable' into unstable 2024-10-29 07:29:04 +00:00
tersec c4037d6361
version v24.10.0 2024-10-29 00:27:43 +00:00
tersec f85521230f
stop checking for irrelevant unsigned wraparound in Electra deposit codepath (#6683) 2024-10-28 17:18:01 +01:00
tersec 4565c029e1
make Eth2Digest isZero 8x faster (#6682)
* make Eth2Digest isZero 8x faster

* use staticFor and copyMem

* branchless with or
2024-10-28 05:21:18 +00:00
tersec 58a34e00a1
fix inconsistent aggregation bits len in Electra (#6679) 2024-10-25 16:04:35 +02:00
Eugene Kabanov a3d4a3ee5e
BN: Fix el_manager timeouts issue in block processing. (#6665)
* Fix el_manager + block_processor NEWPAYLOAD_TIMEOUT timeouts issue.
Use predefined array of exponential timeouts when all the requests to EL has been failed.

* Increase timeout value to (next_slot.start_time - 1.second)

* Address review comments.

* Do not repeat requests when node is optimistically synced.
2024-10-23 00:42:46 +00:00
Etan Kissling 117fecad99
Bump nim-web3 to `c76ddefea96e7763c3cc5b28ec5cbac1adefc4e7` (#6670)
- Fix AuthorizationObject fields name to v, r, s
2024-10-22 18:13:36 +02:00
andri lim 5d940b4c1e
Bump nim-eth to 66297c5c0a8c22ec3f16c899e902d79aa00df575 (#6669) 2024-10-22 14:15:33 +02: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
Etan Kissling 3cb7b9140a
Remove request details from LC (#6666)
Requests are no longer exposed by execution data, remove from LC API.
2024-10-22 03:41:01 +00:00
Etan Kissling 6f6de8d9dc
Implement latest EIP-7685 `requestsHash` method (#6667)
It's now this weird one-off hashing method so that EL can partially
forget in some modules what the data schema is.
2024-10-21 17:09:26 +02:00
tersec 7e5338deb3
disable optimistic Electra EL block hash verification (#6664) 2024-10-21 05:09:33 +02:00
Caleb Omoniyi eb993ffcee
Fix comment to reflect correct validator balance count transition (#6663) 2024-10-21 00:40:14 +00:00
tersec 84eaa57f82
don't use {.noinit.} with case objects (#6662) 2024-10-21 01:22:16 +02:00
tersec 2d3614ff69
update to devnet-4-compatible engine API (#6657) 2024-10-17 16:53:37 +02:00
tersec f7ae15e107
rm experimental Yamux support (#6636) 2024-10-17 00:23:13 +00:00
Etan Kissling bd94c20325
fix migration of `blob_gas_used`/`excess_blob_gas` from Deneb to Electra (#6655)
`blob_gas_used` and `excess_blob_gas` were reset on fork transition
from Deneb to Electra, which is not according to spec. Fix it.
2024-10-17 00:15:34 +00:00