389 Commits

Author SHA1 Message Date
Etan Kissling
5985ed0d2d
Merge branch 'feat_eip-7688' into pureth 2024-12-04 15:44:58 +01:00
Etan Kissling
cf9dc4a79b
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-12-04 14:18:18 +01:00
Etan Kissling
13df492133
Merge branch 'stable' into dev/etan/df-forkedblobs 2024-12-03 14:38:06 +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
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
tersec
c0f7220ab2
rm unused and obsolete produceBlindedBlock client-side infrastructure (#6697) 2024-10-31 03:58:44 +00:00
Eugene Kabanov
fcf72a6e8e
VC: Electra fixes. (#6631)
* 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
Etan Kissling
2fc2ecbfe0
Merge branch 'feat_eip-7688' into fusaka-light 2024-10-13 18:37:44 +02:00
tersec
bc51ba3077
styleCheck tweaks (#6638) 2024-10-12 00:51:28 +02:00
Etan Kissling
91f47a382d
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-10-11 15:52:10 +02:00
tersec
5608a803d7
update beacon_validators to be more Nim 2.2-compatible (#6637) 2024-10-11 15:39:45 +02:00
Etan Kissling
a6311884d1
Merge branch 'unstable' into dev/etan/df-forkedblobs 2024-10-10 00:55:37 +02:00
Miran
3f37caa0da
fix deprecated warnings (#6606) 2024-10-08 01:54:02 +00:00
Eugene Kabanov
5d11c5229b
Add Web3signer electra support (#6607)
* 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 (#6596) 2024-10-07 07:53:38 +00:00
tersec
9c9f3707a1
use EF consensus spec v1.5.0-alpha.7 test vectors (#6600) 2024-10-06 13:15:56 +02:00
Etan Kissling
d976a9313e
Merge branch 'stable' into dev/etan/df-forkedblobs 2024-10-04 16:14:58 +02:00
tersec
2e64fdfa67
centralize ConsensusFork <=> string handling in spec/forks (#6587) 2024-09-28 09:23:45 +02:00
Pedro Miranda
4beb890385
new pool attester slashings endpoint version (V2) for electra (#6585)
* new pool attester slashings endpoint version (V2) for electra

* formatting

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-28 00:00:26 +00:00
Pedro Miranda
744cc00984
replace default word usage (#6580)
Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-26 19:49:03 +00:00
Pedro Miranda
daf7f899c2
Attestation API updates for Electra (#6557)
* new V2 endpoint for beacon getBlockAttestations

* nnew GET endpoint version (V2) for getPoolAttestations

* new POST endpoint version (V2) for submitPoolAttestations

* remove premature ncli tests

* review improvements

* review comments and increased test coverage

* small improvements

* documentation typos

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-25 12:33:58 +00:00
tersec
f2d6166099
remove block fork guessing/inference from REST JSON decoding (#6552)
* 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
Etan Kissling
a63325e715
Update EIP-6404: Add support for SetCode transactions 2024-09-23 23:15:27 +02:00
Etan Kissling
4ed4bf7d88
Merge branch 'feat_eip-7688' into fusaka-light 2024-09-21 17:09:42 +02:00
Etan Kissling
af75741f2a
Merge branch 'unstable' into feat_eip-7688 2024-09-21 14:44:53 +02:00
tersec
193a982d24
use EF consensus spec v1.5.0-alpha.6 test vectors (#6568)
* 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
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
Etan Kissling
d31f4cde3a
apply latest EIP-6404 field renames
In https://github.com/ethereum/EIPs/pull/8886 certain fields related to
the `from` address and signature have been renamed. Sync those changes.
2024-09-17 15:08:03 +02:00
tersec
72b5c2bd6e
add some electra support to REST JSON decoding; rm unused code (#6549) 2024-09-15 13:33:13 +00:00
Pedro Miranda
7b6caebf6e
Add publishAggregateAndProofsV2 (#6546)
* added new endpoint version(v2) for validator aggregate and proof

* review improvements

* introduced nim template for proof executiion

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-13 21:11:09 +00:00
Pedro Miranda
1ac9b851b9
Add GetAggregateAttestation V2 endpoint version (#6511)
* 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
Etan Kissling
dcb268e307
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-09-01 16:34:50 +02:00
Etan Kissling
7ac4756e73
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-09-01 15:48:31 +02:00
Etan Kissling
18af8dcd9f
Merge branch 'stable' into dev/etan/df-forkedblobs 2024-08-30 14:54:33 +02:00
Jacek Sieka
42c4ea109c
Revert "stop testing broken upstream version-2-0" (#6506)
* Revert "stop testing broken upstream version-2-0 (#6499)"

This reverts commit 2be7eba25a36a14950e977b9441930d252d7975f.

* fix field warning template
2024-08-23 12:18:06 +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
Etan Kissling
809ee5528e
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-08-06 13:25:42 +02:00
Etan Kissling
6e80561080
Electra BlobSidecar for EIP-7688 2024-07-26 04:03:42 +02:00
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
Eugene Kabanov
85c2850971
Fix publishBlockV1() and publishBlockV2() SSZ decoding process. (#6408) 2024-07-04 01:08:07 +00:00
Eugene Kabanov
84a35c85c5
Fix for gcc-14 issues in kzg-4844. (#6403)
* 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
9924aec1e3
extend light client protocol for Electra (#6375)
* 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
256020037a
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-06-25 16:45:53 +02:00
Etan Kissling
0ef4742fd5
fix REST encoding 2024-06-25 13:08:41 +02:00
Etan Kissling
65ae4d8eb1
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.
2024-06-21 15:02:01 +02:00
tersec
88fa8b17ea
automated consensus spec URL updating to v1.5.0-alpha.3 (#6364) 2024-06-16 02:59:25 +02:00
tersec
0fab9682a6
use EF consensus-specs v1.5.0-alpha.3 test vectors (#6362) 2024-06-16 00:15:27 +02:00
tersec
a93ab7cf3b
Revert "bump nim-kzg4844 for gcc-14 compatibility (#6342)" (#6360)
This reverts commit c5326619a4d094db6f9e36c18992e0fa62fdc3d1.
2024-06-14 23:23:19 +00:00
Eugene Kabanov
c5326619a4
bump nim-kzg4844 for gcc-14 compatibility (#6342)
* 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
Etan Kissling
d221cd5a6b
Merge branch 'feat/eip-7495' into feat_eip-6493 2024-05-24 17:19:04 +02:00