1932 Commits

Author SHA1 Message Date
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
Agnish Ghosh
31b5c3e30e
add: inclusion proof and dc sidecar verification (#6577)
* add: inclusion proof and dc sidecar verification

* review 1
2024-09-24 14:46:05 +02:00
tersec
d4e441e694
add Electra attester slashing pool (#6579) 2024-09-24 11:01:40 +02:00
Eugene Kabanov
77e835153c
Bump nimcrypto to fix nim22 issues. (#6578)
* Bump nimcrypto to fix nim22 issues.

* Fix compilation issue.
2024-09-24 02:55:16 +00:00
Etan Kissling
a63325e715
Update EIP-6404: Add support for SetCode transactions 2024-09-23 23:15:27 +02:00
Agnish Ghosh
85d7109065
add: get_data_column_sidecars (#6566)
* add: get_data_column_sidecars

* remove redundant type conversions

* remove redundant for loop

* review 2

* review 1
2024-09-22 23:35:57 +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
ff9d32d30d
some v1.5.0-alpha.6 consensus spec URL updates (#6572) 2024-09-21 06:53:34 +02:00
tersec
256f6b8b89
automated consensus spec URL updating to v1.5.0-alpha.6 (#6571) 2024-09-21 03:22:41 +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
Etan Kissling
9df3d075de
fix blinded block conversion for Deneb and Electra (#6569)
`blob_gas_used` and `excess_blob_gas` were not copied on blinding
signed beacon block.
2024-09-20 16:02:24 +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
Agnish Ghosh
3f0d58492e
add: ssz consensus objs for peerdas (#6555) 2024-09-17 22:57:48 +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
Agnish Ghosh
1feeff4f92
add: recover matrix (#6553) 2024-09-17 10:21:55 +00:00
Agnish Ghosh
b3c8c71776
add: compute matrix (#6550)
* 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
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
tersec
ed2422112c
resolve several outstanding items for Electra support; add debug-foo to light client yamux (#6547) 2024-09-13 10:07:06 +02:00
Agnish Ghosh
f53b621818
add: get_extended_sample_count with test (#6544)
* 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
Agnish Ghosh
a2a7cab76d
Rid result from get_custody_column_subnets (#6543)
* ditch results in get custody column subnets

* fix other part
2024-09-11 12:49:01 +02:00
tersec
1503c7dffe
rm some unused code/imports (#6541) 2024-09-11 05:45:37 +02: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
Agnish Ghosh
444d1dd093
add: get_custody_columns for das_core (#6532)
* 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
5a44e39e31
bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed (#6502) 2024-09-02 11:47:00 +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
Etan Kissling
73be2af0d9
more concise RLP decoding syntax in EL helpers (#6514)
The comment in `readExecutionTransaction` is not actually relevant when
the `rlp.decode` template is called from a non-generic function.
The function still cannot be simply inlined; `is_valid_versioned_hashes`
is itself generic and would require an `export eth_types_rlp` to work
properly (generic sandwich issue). The non-generic function wrapper
seems simpler and avoids injecting RLP into importing modules.
2024-08-28 14:21:28 +02:00
tersec
8c2e8f2b0f
some v1.5.0-alpha.5 consensus spec URL updates (#6509) 2024-08-23 12:43:54 +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
a597fe95fa
check blob versioned hashes when no EL is connected (#6501)
* check blob versioned hashes when no EL is connected

When no EL is conencted, we have to at the very least ensure that the
data in the beacon block is consistent with the execution payload.
We already do this for the block hash, but also have to do it for the
`blob_kzg_commitments`. To validate that they are linked with the
execution payload, we have to RLP decode all EIP-4844 blob transactions
and compare their blob versioned hashes with the hashed commitments.

* simplify loop in case where `blob_versioned_hashes` doesn't exist

* skip blob transaction parsing pre Deneb
2024-08-22 06:04:03 +00:00
tersec
21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 (#6504) 2024-08-21 14:25:19 +02:00
tersec
485ed833e0
use EF consensus-specs v1.5.0-alpha.5 test vectors (#6503) 2024-08-21 12:18:33 +02:00
Etan Kissling
b511f3eeb7
Use Pippenger multiplication for combining multiple sigs of same msg (#6484)
Newer `blst` releases expose multiscalar Pippenger multiplication that
allows accelerated verification of signatures pertaining to same msg.

- https://gist.github.com/wemeetagain/d52fc4b077f80db6e423935244c2afb2
2024-08-16 23:42:46 +02:00
tersec
f258cba816
some v1.5.0-alpha.4 consensus spec URL updates (#6485) 2024-08-10 07:09:37 +02:00
tersec
904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 (#6483) 2024-08-09 18:24:49 +02:00
tersec
2e40a401b0
use EF consensus-specs v1.5.0-alpha.4 test vectors (#6482) 2024-08-09 15:02:04 +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
51ca617d9f
fix LC header upgrade to Electra (#6473)
Followup on incorrect upgrade procedure in #6375 where `blob_gas_used`
was accidentally copied into `excess_blob_gas` when running Electra
`LightClientStore` with earlier `LightClient(Bootstrap|Update)`.
2024-08-06 15:48:15 +00:00
tersec
c0fc0f41dd
calculate next slot's withdrawals properly even across epoch boundary (#6470) 2024-08-06 13:33:16 +02:00
Etan Kissling
809ee5528e
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-08-06 13:25:42 +02:00
tersec
8333365848
replace validator Bloom filter with partial bucket sort (#6469) 2024-08-02 07:30:22 +02:00
Etan Kissling
0075655079
add missing stable_mev file 2024-07-26 13:05:42 +02:00
Etan Kissling
ef499d0cc4
EIP-7688 MEV types 2024-07-26 12:55:42 +02:00
Etan Kissling
6062bde5e5
fixes 2024-07-26 04:50:57 +02:00
Etan Kissling
6e80561080
Electra BlobSidecar for EIP-7688 2024-07-26 04:03:42 +02:00
Etan Kissling
5c1d20f28a
StableContainer fixes for LightClientHeader validation 2024-07-26 03:33:18 +02:00