7476 Commits

Author SHA1 Message Date
George Kadianakis
4be0b9d6bc Add needed math/crypto functions to validate KZG aggregated proofs
All code pretty much straight up copied from https://github.com/ethereum/EIPs/pull/5088
2022-06-14 16:37:08 +03:00
George Kadianakis
e4c75d67ce Introduce high-level logic of new efficient block validation 2022-06-14 16:37:08 +03:00
Danny Ryan
74489d5523
Partial withdrawals (#2862)
* t push base design for partial withdrawals

* moor tests

* clean up withdrawals naming

* make partial withdrawal randomized tests better

* Apply suggestions from code review

Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>

* fix mainnet brokn test

* name swap

* lint

Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-06-08 13:16:12 -06:00
Danny Ryan
1113aa608f
Merge pull request #2903 from ethereum/readme-table
Tidy up README.md specs list
2022-06-06 08:55:14 -06:00
Danny Ryan
a1b4f1d3d6
Merge pull request #2907 from ethereum/de-disable_process_reveal_deadlines
Remove `@disable_process_reveal_deadlines` from `sanity/test_blocks.py`
2022-06-06 08:53:32 -06:00
Hsiao-Wei Wang
c165d31ccb
Remove @disable_process_reveal_deadlines 2022-06-06 16:24:44 +08:00
Hsiao-Wei Wang
dde1313a9d
Add Fork Epoch column 2022-06-06 16:03:46 +08:00
Danny Ryan
2e980222f4
Merge pull request #2904 from ethereum/ralexstokes-patch-1
Update README.md for test formats
2022-06-03 07:01:40 -06:00
Hsiao-Wei Wang
df1464728b
Remove fork version and previous fork. Add seq. 2022-06-02 22:14:39 +08:00
Alex Stokes
0d305f0ae3
Update README.md
Some edits to remove stale information
2022-06-01 22:00:11 -06:00
Hsiao-Wei Wang
986f7ee34c
Use table to list the specs. Add Capella and EIP4844 to README 2022-06-01 02:41:18 +08:00
Murphy Law
a3128b8c57
EIP-4844: fix a typo (#2898) 2022-05-31 08:40:06 -06:00
Danny Ryan
f74f3c37ad
Merge pull request #2899 from ethereum/djrtwo-patch-1
bump version.txt
2022-05-23 05:24:01 -06:00
Danny Ryan
895cce5aeb
bump version.txt 2022-05-23 05:23:16 -06:00
Jacek Sieka
0e6a7cd39a
deprecate BeaconBlocksByRange.step (#2856)
* deprecate `BeaconBlocksByRange.step`

The `step` parameter has not seen much implementation in real life
clients which instead opt to request variations on a few epochs at a
time (instead of interleaving single blocks, entire epochs are
interleaved).

At the same time, supporting `step` on the server side brings several
complications: more complex bounds checking logic, more complex loading
of blocks from linear storage (which presumably stores all blocks and
not just certain increments).

This PR suggests that we deprecate the whole idea. Backwards
compatibility is kept by simply responding with a single block when
`step > 0` - this is allowed by the spec and should thus be handled
gracefully by requesting clients already, should there exist any that
use larger step counts.

Removing `step` now allows simplifying the EL-CL protocol for serving
execution data from the EL to avoid double storage.

* Update specs/phase0/p2p-interface.md

Co-authored-by: Danny Ryan <dannyjryan@gmail.com>

Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2022-05-20 13:18:24 -06:00
Caspar Schwarz-Schilling
72f7b88f2a
Update PROPOSER_SCORE_BOOST to 40 percent (#2895) 2022-05-20 13:15:40 -06:00
Paul Hauner
b23cdef6ea
Remove API restrictions for optimistic sync (#2869)
* Remove API restrictions

* Update optimistic.md
2022-05-19 09:27:51 -06:00
Mikhail Kalinin
d62ebaeaca
Run on_tick before picking the head for proposal (#2897) 2022-05-19 07:56:49 -06:00
Alex Stokes
5337da5dff
use python syntax for bitwise AND operation (#2894) 2022-05-17 07:14:19 -06:00
Jacek Sieka
bab5e402df
Ignore subset aggregates (#2847)
* Ignore subset aggregates

When aggregates are propagated through the network, it is often the case
that a better aggregate has already been seen - in particular, this
happens when an aggregator has not been able to include itself in the
mesh and therefore publishes an aggregate with only its own
attestations.

This new ignore rule allows dropping all aggregates that are
(non-strict) subsets of aggregates that have already been seen on the
network. In particular, it does not mandate dropping aggregates where a
union of previous aggregates would cause it to become a subset).

The logic for allowing this is based on the premise that any aggregate
that has already been seen by a peer will also have been seen by its
neighbours - a subset aggregate (strict or not) brings no new value to
the aggregation algorithm, except in the extreme edge case where you
could combine several such sparse aggregates into a single, more dense
"combined" aggregate and thus use less block space.

Further, as a small benefit, computing the `hash_tree_root` of the full
aggregate is generally not done -however, `hash_tree_root(data)` is
already done for other purposes as this is used as index in the beacon
API.

* add subset ignore rule to sync contributions as well

* typo
2022-05-17 07:05:22 -06:00
Alex Stokes
20a90f1df7
Add new DomainType for application usage (#2884) 2022-05-16 08:08:15 -06:00
Danny Ryan
1d82d33774
Merge pull request #2887 from jtraglia/add-invalid-withdrawable-epoch-test
Add invalid large withdrawable epoch test
2022-05-16 08:07:21 -06:00
Danny Ryan
af1fbab181
Merge pull request #2888 from casparschwa/update-proposer-score-boost
Update proposer score boost
2022-05-16 08:06:59 -06:00
Alex Stokes
30a332690c
Merge pull request #2893 from ChihChengLiang/bump-milagro-version
bump milagro bls binding version
2022-05-14 16:35:49 -06:00
Alex Stokes
b7eff21de5
Merge pull request #2892 from terencechain/patch-135
bellatrix-p2p: fix a typo
2022-05-14 16:34:53 -06:00
ChihChengLiang
87991c8fa2 bump milagro bls version 2022-05-14 19:47:46 +02:00
terencechain
ec7bb23697
bellatrix-p2p: fix a typo 2022-05-14 10:30:20 -07:00
Danny Ryan
8c0ca37725
Merge pull request #2891 from ethereum/mkalinin-patch-2
Optimistic Sync: remove INVALID_TERMINAL_BLOCK
2022-05-13 06:56:12 -06:00
Mikhail Kalinin
08db749bf7
Optimistic Sync: remove INVALID_TERMINAL_BLOCK 2022-05-13 16:44:55 +04:00
Hsiao-Wei Wang
89e7a1073d Add notes about invalid case to epoch_processing test format 2022-05-10 19:02:10 +02:00
Justin Traglia
02090d94ab Remove pytest import 2022-05-10 11:00:16 -05:00
Justin Traglia
d1f0187076 Revert "Move test case to new location"
This reverts commit e2cbdb2b672e1b7a74a94e60e3218c7b79743e88.
2022-05-10 10:48:59 -05:00
Justin Traglia
5868a53cf1 Revert "Fix linter warnings again"
This reverts commit ac7267c93873cca968aa7b6811fb53fb8b0407e9.
2022-05-10 10:48:51 -05:00
Hsiao-Wei Wang
8abf2393d0
Merge pull request #2890 from ethereum/format
minor patch to bytes formatting in capella
2022-05-10 17:47:39 +02:00
Danny Ryan
c0a8178fff
minor patch to bytes formatting in capella 2022-05-10 09:37:01 -06:00
Danny Ryan
242f286f6e
Merge pull request #2878 from michaelsproul/forkchoice-b4-propose
Require fork choice to run before proposal
2022-05-10 09:23:16 -06:00
Hsiao-Wei Wang
96de0fe646
Merge pull request #2889 from jtraglia/remove-set-sampling
Convert sets to sorted lists prior to sampling
2022-05-10 16:12:28 +02:00
Justin Traglia
ac7267c938 Fix linter warnings again 2022-05-09 16:50:43 -05:00
Justin Traglia
e2cbdb2b67 Move test case to new location 2022-05-09 16:47:19 -05:00
Justin Traglia
90c1825637 Convert participation_fn from lambda to def
I felt that the the lambda was a little too complicated.
2022-05-09 15:53:36 -05:00
Justin Traglia
9dcb2eecbc Fix linter warnings 2022-05-09 14:28:54 -05:00
Justin Traglia
a7bda480fe Convert sets to sorted lists prior to sampling
This is because sampling of sets has been deprecated in Python 3.9. I used
sorted() instead of list() so that things are deterministic.
2022-05-09 14:09:27 -05:00
Caspar Schwarz-Schilling
712a4f9cf1 Fix linting 2022-05-09 15:05:05 +02:00
Caspar Schwarz-Schilling
f5303ca58e Update PROPOSER_SCORE_BOOST to 33 percent 2022-05-09 10:17:24 +02:00
Justin Traglia
3c7544af3d Add invalid large withdrawable epoch test 2022-05-06 13:56:40 -05:00
Danny Ryan
c1d0836936
Merge pull request #2855 from ethereum/00-to-01
00 to 01 cred change
2022-05-05 07:31:49 -06:00
Michael Sproul
3f76792ee3
Require fork choice to run before proposal 2022-05-05 11:21:55 +10:00
Hsiao-Wei Wang
8a4ea1d13d
Merge pull request #2877 from zilm13/fix/equivocating-indices
Yield attestation in equivocating indices test
2022-05-03 14:44:57 +02:00
Hsiao-Wei Wang
9e09e9664e
Merge pull request #2876 from etan-status/fix-prepare-payload
Fix param order in `prepare_execution_payload`
2022-05-03 13:05:54 +02:00
Mikhail Kalinin
83bf20cbd4
Merge pull request #2881 from ethereum/mkalinin-patch-2
Remove justified block from optimistic candidate conditions
2022-04-29 19:09:02 +04:00