Commit Graph

1569 Commits

Author SHA1 Message Date
Etan Kissling d028baea2a
introduce `ForkedBlobSidecar` for EIP-7688 Electra period before PeerDAS
On `ELECTRA_FORK_EPOCH`, PeerDAS is not yet activated, hence the current
mechanism based on `BlobSidecar` is still in use. With EIP-7688, the
generalized indices of `BeaconBlockBody` get reindexed, changing the
length of the inclusion proof within the `BlobSidecar`. Because network
Req/Resp operations allow responses across fork boundaries, this creates
the need for a `ForkedBlobSidecar` in that layer, same as already done
for `ForkedSignedBeaconBock` for similar reasons.

Note: This PR is only needed if PeerDAS is adopted _after_ EIP-7688.
If PeerDAS is adopted _before_ EIP-7688, a similar PR may be needed for
forked columns. Coincidental `Forked` jank can only be fully avoided if
both features activate at the same epoch, actual changes to blobs aside.
Delaying EIP-7688 for sole purpose of epoch alignemnt is not worth it.
2024-07-25 18:54:38 +02:00
tersec 15cca5f93e
hypergeometric distribution CDF for PeerDAS () 2024-07-25 01:59:24 +00:00
Etan Kissling a769550db5
rename LC gindex constants to match spec ()
Use `_ELECTRA` suffix for gindex constants to match consensus-specs.
2024-07-23 20:20:15 +00:00
Kim De Mey cd008ba7ef
Bump NimYAML + bump related changes () 2024-07-17 21:50:29 +02:00
tersec 3db571d182
allow individual calculation of validator balances across epoch boundaries () 2024-07-07 00:32:50 +02:00
andri lim 0b276315d2
Bump nim-eth: Convert GasInt to uint64 ()
* Bump nim-eth: Convert GasInt to uint64

* Fixes

* Fix libnimbus_lc
2024-07-06 20:25:31 +00: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
Etan Kissling 1fd246b23e
explicitly refer to attestation fork in SSZ consensus object tests ()
Use fully qualified types when referring to attestation related types
in tests. We should also consider to merge these to a single runner.
2024-07-03 01:40:47 +00:00
tersec 13e766d4df
add database electra block tests () 2024-07-01 04:18:41 +00:00
Etan Kissling 9924aec1e3
extend light client protocol for Electra ()
* extend light client protocol for Electra

Add missing Electra support for light client protocol:

- https://github.com/ethereum/consensus-specs/pull/3811

Tested against PR consensus-spec-tests, the test runner automatically
picks up the new tests once available.

* workaround `version-2-0`: `Error: cannot instantiate: 'SomeUnsignedInt'`

* fix initialization when Electra not scheduled

* try reduce stack size in test

* put correct sync committee branch version into DB

* adjust fork schedule in light client data tests

* further reduce stack size

* split function into multiple parts

* rename variable

* regenerate test reports to cover new Electra tests

* add Nim bug reference
2024-06-26 19:02:03 +00:00
Etan Kissling e4efe9ed75
ensure that rarely ran files are compiled on PR ()
* ensure that rarely ran files are compiled on PR

Add some missing files to `isMainModule` developer internal builds CI.

* fix fork choice compilation

* fix `rest_api_benchmark` compilation

* skip linking

* fix loop

* fix `mock_genesis`

* fix signedness
2024-06-23 23:35:56 +00:00
Etan Kissling 6d0c9d37fa
produce Elctra attestations when running tests ()
Test blocks don't include Electra attestations currently so finality
breaks and tests fail if prolonged. Fix that.
2024-06-23 13:06:58 +00:00
Kim De Mey 7a8c1d818a
Bump nim-eth for Opt changes and make Opt related adjustments () 2024-06-18 23:46:51 +02:00
tersec bfd1a36fcf
add engine API consolidation requests support for getPayloadV4/newPayloadV4 () 2024-06-18 07:35:36 +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 c5326619a4.
2024-06-14 23:23:19 +00:00
tersec 05d2271a9f
Revert "Revert "bump nim-bearssl for gcc-14 compatibility ()" ()" ()
This reverts commit 3d65bdcb09.
2024-06-14 19:06:58 +02: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
andri lim fb0494e739
Bump nim-eth for revert GasInt back to int64 ()
* Bump nim-eth for revert GasInt back to int64

* Fix libnimbus_lc
2024-06-13 15:25:59 +02:00
tersec 3d65bdcb09
Revert "bump nim-bearssl for gcc-14 compatibility ()" ()
This reverts commit 45d50f041a.
2024-06-12 14:30:17 +02:00
andri lim 238589868c
Bump nim-web3 and nim-eth ()
In nim-web3 all std.Option are replaced by results.Opt. The same goes in nim-eth, with additional fields name changes and GasInt changed from int64 to uint64.
2024-06-12 08:46:39 +07: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 45d50f041a
bump nim-bearssl for gcc-14 compatibility ()
* bump nim-bearssl for gcc-14 compatibility

* Bump chronos.

* Fix flaky test.

---------

Co-authored-by: cheatfate <eugene.kabanov@status.im>
2024-06-10 19:13:15 +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
tersec e3d4ad5d39
properly (re)factor consolidation signature checking () 2024-06-09 19:37:41 +02:00
Etan Kissling ab892c1a04
bump `mainnet` to `f6b7882618a5ad2c1d2731ae35e5d16a660d5bb7` ()
* bump `mainnet` to `f6b7882618a5ad2c1d2731ae35e5d16a660d5bb7`

- Initial commit

* fix soft links
2024-05-30 09:28:16 +00:00
Eugene Kabanov 1cdb32222b
VC: Add block scoring ()
* Add scoring for blocks.

* Update Alltests.
2024-05-29 10:07:39 +00:00
tersec c7bf6fb542
rm debugRaiseAssert; clean up several debugComments ()
* rm debugRaiseAssert; clean up several debugComments

* exception linting
2024-05-23 23:51:09 +02:00
tersec b56a671122
fix most ConvFromXtoItselfNotNeeded hints and unhide remaining ones () 2024-05-22 13:56:37 +02:00
tersec 3e6990ccc4
rm unused ProduceBlockResponseV2 type () 2024-05-22 04:52:35 +02:00
tersec dd452f71d3
rm outdated/semi-duplicate execution layer withdrawal request processing () 2024-05-22 01:59:11 +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 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 69f13eaa51
add electra gossip transition 2024-05-15 13:30:49 +00:00
tersec 1c3aaa7be2
add (Signed)AggregateAndProof SSZ tests () 2024-05-14 13:51:06 +02:00
tersec 9c669cf57a
some debugRaiseAssert to debugComment; unblock some spec tests () 2024-05-14 12:19:24 +03: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
tersec 963e0bb92b
use EF consensus spec v1.5.0-alpha.2 test vectors () 2024-05-08 04:43:05 +02:00
Eugene Kabanov f3da063510
Fix VC not properly handled getAggregatedAttestation's 404 error. ()
* Fix VC not properly handled getAggregatedAttestation's 404 error.

* Update AllTests.
2024-05-01 15:32:28 +00:00
tersec e70fa6d6de
rename ElectraIndexedAttestation/ElectraAttesterSlashing for consistency () 2024-04-29 04:19:10 +02:00
tersec abc8bbbf23
add EF consensus spec test Electra fork and transition fixtures () 2024-04-28 16:13:17 +02:00
tersec a66876c8e5
add EF consensus spec test Electra block sanity fixtures ()
* add EF consensus spec test Electra block sanity fixtures

* move process_consolidation/process_deposit_receipt before usage
2024-04-28 09:15:03 +00:00
tersec 302f645a01
use EF consensus spec v1.5.0-alpha.1 test vectors () 2024-04-28 03:33:44 +00:00
tersec 6119389c3a
add EF consensus spec test Electra attestation operations fixture () 2024-04-28 00:52:14 +00:00
tersec 8f0a61b964
add EF consensus spec test Electra execution payload operations fixture () 2024-04-26 16:02:15 +00:00
tersec 63d00931a3
add EF consensus spec test Electra deposit receipt operations fixture () 2024-04-26 12:39:09 +00:00
tersec 34ba05f4d3
add EF consensus spec test Electra deposits operations fixture () 2024-04-26 07:18:44 +00:00