Commit Graph

1606 Commits

Author SHA1 Message Date
Eugene Kabanov fcf72a6e8e
VC: Electra fixes. ()
* Initial commit.

* Add aggregated attestation processing.

* Add missing presets file.

* Fix compilation error.

* Fix post-rebase compilation error.

* Satisfy push raises requirement.

* Fix sync committee duties retrieval process.

* Fix forks configuration management.

* Fix deposits to use new fork configuration scheme.

* Fix /eth/v2/validator/aggregate_attestation implementation.

* Fix RANDAO preparation loop to handle blocks at epoch boundary properly.

* Simplification of RANDAO fix.

* Fix typo.

* Address review comments and fix tests.

* Fix incorrect status codes in REST test.

* Rework attestation and aggregated attestations processing code.

* Address review comments.

* Fill committee_index in RegisteredAttestation construction code.

* Address review comments part 2.

* Address review comments part 3.

* use Deneb fork epoch

* Add transition from Deneb to Electra into CI finalization test.

---------

Co-authored-by: tersec <tersec@users.noreply.github.com>
2024-10-16 17:20:39 +00:00
tersec acad28d05b
avoid combining multiple aggregates from same committee () 2024-10-15 06:02:36 +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 8a91d91b0d
rm ExecutionPayloadV4/electra.ExecutionPayload roundtrip tests () 2024-10-10 10:31:45 +00:00
tersec 3868365ac0
automated consensus spec URL updating to v1.5.0-alpha.8 () 2024-10-09 08:37:35 +02:00
tersec b8a424991d
use EF consensus spec v1.5.0-alpha.8 test vectors () 2024-10-09 04:33:17 +00:00
Eugene Kabanov 5d11c5229b
Add Web3signer electra support ()
* Add Electra support to nimbus_signing_node.
Add tests.
Annotate nimbus_signing_node with asyncraises.

* Update AllTests.
2024-10-07 23:31:16 +00: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
tersec 9c9f3707a1
use EF consensus spec v1.5.0-alpha.7 test vectors () 2024-10-06 13:15:56 +02:00
Pedro Miranda ff0cc8e62e
Electra - Filter aggregated attestations by root/committee ()
* Filter aggregated attestations by root/committee

* fixed validator api documentation link

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-10-04 05:15:48 +00:00
tersec fa8b7e380f
add Electra beacon chain database state tests () 2024-09-27 07:53:58 +02:00
tersec f2d6166099
remove block fork guessing/inference from REST JSON decoding ()
* remove block fork guessing/inference from REST JSON decoding

* use template to avoid repetitive per-fork code

* consolidate RestPublishedSignedBeaconBlock and RestPublishedSignedBlockContents parsing fork handling
2024-09-25 02:58:53 +00:00
tersec d4e441e694
add Electra attester slashing pool () 2024-09-24 11:01:40 +02:00
Etan Kissling ec831f1c99
clean up config loading in light client tests ()
The consensus-spec-tests routinely add random experimental features
to their config.yaml which can be ignored.
2024-09-21 12:54:27 +00:00
tersec 256f6b8b89
automated consensus spec URL updating to v1.5.0-alpha.6 () 2024-09-21 03:22:41 +02:00
tersec 193a982d24
use EF consensus spec v1.5.0-alpha.6 test vectors ()
* use EF consensus spec v1.5.0-alpha.6 test vectors

* LC changes are good as is, no need for the debug comment

* Fix indentation

* Use `execution_requests` for requests root

* fill in spec reference URLs for ExecutionPayload(Header)

* copy `execution_requests` when blidning blocks for Electra and add test

* fix `test_engine_api_conversions`

---------

Co-authored-by: Etan Kissling <etan@nimbus.team>
2024-09-20 21:32:16 +02:00
Etan Kissling 9df3d075de
fix blinded block conversion for Deneb and Electra ()
`blob_gas_used` and `excess_blob_gas` were not copied on blinding
signed beacon block.
2024-09-20 16:02:24 +02:00
tersec e94417c500
speed up electra attestation tests by 5x () 2024-09-19 07:46:38 +02:00
Agnish Ghosh 3f0d58492e
add: ssz consensus objs for peerdas () 2024-09-17 22:57:48 +00:00
Agnish Ghosh 1feeff4f92
add: recover matrix () 2024-09-17 10:21:55 +00:00
Agnish Ghosh b3c8c71776
add: compute matrix ()
* add: compute matrix

* rm unsused imports

* rm unused imports 2

* rm bin

* rm unused line

* improve doc

* rid space on proc sig

* review 1

* added seeded PRNG

* randomize blob count as well, with smaller seed

* review 2
2024-09-16 11:19:34 +00:00
Agnish Ghosh f53b621818
add: `get_extended_sample_count` with test ()
* add: get_extended_sample_count with test

* drop return

* reviews

* review fix

* fixed

* fix doc

* hooked to all_tests

* rm bin

* add updated test file

* early return, maybe need results?

* refactor function intricacies

* drop columnsCount
2024-09-12 17:55:16 +02:00
tersec 16c21e1c1e
rm unused code/type conversoins; re-enable Electra block gossip verification () 2024-09-12 11:11:08 +02:00
Pedro Miranda 1ac9b851b9
Add GetAggregateAttestation V2 endpoint version ()
* attestation pool support and tests

* REST endpoints changes

* initial ncli and validator client support

* updated tests file

* fixed typos

* review improvements

* remove V1 endpoint

* revert v1 removal

* V2 endpoint version available to pre electra

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-06 12:15:30 +00:00
Agnish Ghosh 444d1dd093
add: `get_custody_columns` for das_core ()
* add: get_custody_columnns in das core specs with tests

* apply review changes

* review changes 2

* review 3
2024-09-04 16:05:18 +02:00
Agnish Ghosh 8306ad58bd
add: EF test vectors as per alpha 5 for peerdas ()
* added: EF tests for peerdas kzg crypto

* keep links to alpha 5 (latest)
2024-09-02 17:23:06 +02:00
Agnish Ghosh 5a44e39e31
bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed () 2024-09-02 11:47:00 +00:00
Pedro Miranda f9e44b2a3b
Improved electra attestations packing ()
* test disjoint comittee bits

* test for aggregated attestations with disjoint bits

* improved attestation pool on-chain collecting and packing

* addressed format issues

* improved sorting method

* updated AllTests-mainnet file

* updated AllTests-mainnet file

* review corrections

* review corrections

* removed old phase0 artifacts

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-08-23 13:26:35 +02:00
tersec 44cc72c104
refactor engine API conversions out of EL manager () 2024-08-22 16:12:03 +02:00
tersec 21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 () 2024-08-21 14:25:19 +02:00
tersec f258cba816
some v1.5.0-alpha.4 consensus spec URL updates () 2024-08-10 07:09:37 +02:00
tersec 904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 () 2024-08-09 18:24:49 +02:00
Etan Kissling 3375875e05
remove option to select Capella fork choice algo ()
* 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 () 2024-08-06 13:33:16 +02:00
tersec 8333365848
replace validator Bloom filter with partial bucket sort () 2024-08-02 07:30:22 +02:00
Etan Kissling ea16edd886
add test for shuffled attestation signatures ()
Followup of  to test proper signature verification. Also document
possible further optimization based on blst `v0.3.13`.
2024-07-26 23:31:05 +00:00
Etan Kissling c373e3ab35
reduce code repetition in `test_toblindedblock` ()
Use `withAll` to generate the tests for various blinded block types
instead of copy pasting them for every fork.
2024-07-26 22:03:11 +00: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