Releases: ethereum/consensus-specs
Ampharos
v1.5.0-alpha.9
-- Ampharos -- is the alpha release for the coming Electra upgrade.
PR showing full diff can be found here: #3982
Bellatrix
- Synchronously check all transactions to have non-zero length #3885
Electra
- Separate type for unaggregated network attestations #3900
- Update validator spec to handle execution requests #3976
- Fix validator fields in
get_validator_from_deposit
#3978 - Fix withdrawals bug and add more tests #3979
- Rename index vars in
get_attesting_indices
#3996 - Exclude empty requests in requests list #3998
- Add missed exit checks to consolidation processing #4000
- Ensure non-zero bits for each committee bitfield comprising an aggregate #4002
EIP-7594 (PeerDAS)
- Rebase eip7594 onto Electra #3893
- Specify data column sidecar verification functions to run #3963
- Add
MAX_BLOBS_PER_BLOCK_EIP7594
and corresponding configs #4008
Networking
- Deprecate
TTFB
,RESP_TIMEOUT
, introduce rate limiting recommendations #3767
Testing, repo, etc
- Encode zero-length hex-strings with quotes #3754
- Avoid generating empty transactions in tests #3884
- Fix blob transaction serialization to use RLP #3904
- Move deposit contract rules to its own
Makefile
#3940 - Add new
check_mods
function for generators #3970 - In
README
, move outdated specs to new section #3973 - Fix invalid file references in markdown files #3975
- Add misc beacon chain operations tests #3980
- Add more epoch processing tests #3984
- Add gen-modcheck CI check #3986
- Add more transition tests #3990
- Fix all
pytest
warnings #3989 - Upgrade
pylint
& split config files #3991 - Add test to check that pending deposits are sorted at fork #3995
Voltorb
Zeraora
v1.5.0-alpha.7
-- Zeraora -- is the alpha release for the coming Electra upgrade.
PR showing full diff can be found here: #3954
Deneb
- Use
bls.Scalar
as the base class forBLSFieldElement
#3907
Electra
- Add a note on
attester_slashing
topic modification #3941 - Use
get_max_effective_balance
inprocess_effective_balance_updates
#3948 - Fix partial withdrawals count bug #3943
- Remove
get_active_balance
#3949 - Remove
queue_entire_balance_and_reset_validator
#3951 - Switch to compounding when consolidating with source==target #3918
- Queue deposit requests and apply them during epoch processing #3818
EIP-7594 (PeerDAS)
- Reject invalid
DataColumnSidecar
for zero blobs #3953
Testing, repo, etc
- Fix merkle multiproof documentation #3928
- Improve
check_toc
rule in Makefile #3937 - Replace links to eth2.0-specs with consensus-specs #3934
- Add test vector generation badge to readme #3933
- Simplify output from
make pyspec
#3938 - Fix Electra sanity testgen for blocks #3939
- Fix insufficient effective balance test and add a balance test #3947
- Add a negative test for full exit has partial withdrawal #3946
- Add a negative test for inactive validator for withdrawal request #3945
Mareep
v1.5.0-alpha.6
-- Mareep -- is the alpha release for the coming Electra upgrade.
PR showing full diff can be found here: #3920
Altair
- Simplify
is_better_update
condition #3816
Electra
- Update correlation penalty computation #3882
- Move requests out of
execution_payload
intobeacon_block.body
#3875 - Remove stale comment on
latest_execution_payload_header
#3929 - Remove unnecessary signing domain for consolidations #3915
- Minor fixes on Electra spec and test helper #3914
- Simplify name of helper
get_validator_max_effective_balance
#3909 - Harmonize
process_withdrawals
spec with 3761 #3905
EIP-7594 (PeerDAS)
- Use explicit csc integer size #3897
- Change csc types to back to uint64 #3908
- Delete
g2_lincomb
in poly-commits-sampling spec #3913
EIP-7732 (ePBS)
- Fix some typos #3902
- Modify
ExecutionPayloadEnvelopeByRoot
#3890 - Refactor beacon chain state transition function #3898
- Require the builder is active and non-slashed #3888
Testing, repo, etc
- Update python to 3.12.4 #3880
- Fix the
install_pyspec_test
CI check #3894 - Fix test vector generators to work with Python 3.12 #3927
- Add cronjob for test vector generation #3922
- Update README and dependencies #3879
- Randomize validator index in partial withdrawal test #3892
- Get rid of
compute_state_by_epoch_processing_to
#3878 - Ensure EL block hash is updated when beacon parent root is overridden #3881
- Fix yield statement in
test_get_custody_columns
#3931
Pincurchin
v1.5.0-alpha.5
-- Pincurchin -- is the alpha release for the coming Electra upgrade.
This is the spec target for peerdas-devnet-2
.
PR showing full diff can be found here: #3889
Bellatrix and Capella fork choice
- [non-substantive] Minor refactoring by removing redundant
copy()
#3877
Experimental
EIP-7594 (PeerDAS)
DAS Core
Tynamo
v1.5.0-alpha.4
-- Tynamo -- is the alpha release for the coming Electra upgrade.
This release includes an Electra bugfix (#3868).
PR showing full diff can be found here: #3853
SSZ
- Fix spec error in
get_generalized_index
function #3838
Safe block
- Rename
get_safe_execution_payload_hash
->*_block_hash
#3595
Capella
- [non-substantive] Make
process_withdrawals
slightly cleaner (equivalent functionality) #3761
Deneb
- [non-substantive] Make
MAX_BLOBS_PER_BLOCK
a config parameter #3817
Electra
- Fix off-by-one in
process_pending_consolidations
#3868
Light client
- Update light client specifications for Electra #3811
Experimental
EIP-7594 (PeerDAS)
DAS Core
- Clarify reconstruction and cross-seeding #3794
- Clarify PeerDAS sampling #3782
- Update
get_data_column_sidecars
to takecells/proofs
#3836
Cryptography
- Remove proof parameter from
recover_cells_and_kzg_proofs
#3819 - Use "universal verification equation" in
verify_cell_kzg_proof_batch
#3812 - In batch cell verification, check if there are zero cells #3835
- In batch cell verification, take commitment for each cell #3834
- Remove
verify_cell_kzg_proof
(non-batch) #3830 - Rename
column_index
tocell_index
in KZG spec by #3841 - Replace
recover_data
withrecover_polynomialcoeff
#3820 - Improve documentation in recovery code #3858
Networking
- Add MetadataV3 with
custody_subnet_count
#3821
[new] EIP-7732 (Enshrined Proposer-Builder Separation, ePBS)
Testing, repo, etc
- Bump remerkleable to
v0.1.28
#3807 - Add Electra merkle proof test vectors #3763
- Fix typing issue when
10e10
is interpreted as float #3810 - Update
test_incorrect_not_enough_consolidation_churn_available
and add assertions to test cases #3814 - Add more Electra fork tests #3764
- Proofread #3822 #3823 #3826 #3837 #3849 #3863 3873
- Fix EL block hash computation for Deneb #3829
- Fix indentation for some
kzg_7594
tests #3855 - For pytest, replace
NUMBER_OF_CORES
with auto #3846 - Remove
compute_cells
test format #3860 - Update test formats #3860 #3848
Twiga
v1.5.0-alpha.3
-- Twiga -- is the alpha release for the coming Electra upgrade.
It is the spec target of pectra-devnet-1
.
PR showing full diff can be found here: #3786
Electra
- Add Electra version of
AggregateAndProof
#3759 - Properly calculate proposer probabilities #3769
- EL-triggered consolidations #3775
- Handle top-ups to exiting/exited validators #3776
- Rename
DepositReceipt
toDepositRequest
#3757 - Rename objects with prefix ExecutionLayerXXX #3791
- Append new
committee_bits
field to end ofAttestation
#3768 - Switch the rest of the spec to
MAX_EFFECTIVE_BALANCE_ELECTRA
#3783
Experimental
EIP-7594 (PeerDAS)
DAS Core
- Add custody settings config #3766
recover_cells_and_kzg_proofs
& matrix refactor #3788- Update ENR record #3772
Cryptography
- Add a missing check and a missing test vector for
recover_all_cells
#3765 - Fix
shift_polynomialcoeff
#3792 - Have a section listing Public Methods #3795
- Rename
CellID
toCellIndex
#3797 - Remove
compute_cells
method #3796 - Refactor cell recovery code by #3781 #3806
Networking
- Provide max size for columns by range request #3760
[new] EIP-6800 (Verkle/Verge)
- The Verge CL Specs #3230
Testing, repo, etc
Electivire
v1.5.0-alpha.2
-- Electivire -- is the alpha release for the coming Electra upgrade.
It is the spec target of pectra-devnet-0
, with bug fixes on test cases.
It also includes some essential EIP-7594 fixes for initial interop.
PR showing full diff can be found here: #3749
Phase0
- [non-substantive] Fix typo on CommitteeIndex in p2p spec #3756
Electra
- [non-substantive] EIP-7549: Fix typo in
get_committee_indices
#3740
Experimental
EIP-7594 (PeerDAS)
DAS Core
- Fix
get_custody_columns
#3748
Cryptography
- Add type casts #3734
Networking
- Pad column indices when calling
verify_cell_kzg_proof_batch
#3745 - Add
DataColumnSidecarsByRange
v1 Req/Resp #3750
Testing, repo, etc
Electabuzz
v1.5.0-alpha.1
-- Electabuzz -- is the alpha release for the coming Electra upgrade.
It is the spec target of pectra-devnet-0
, with bug fixes on test cases and new fork tests.
It also includes the new EIP-7594 (PeerDAS) tests with new test formats for general/eip7594/kzg
and {mainnet, minimal}/eip7594/networking/get_custody_columns
.
PR showing full diff can be found here: #3725
Electra
- [non-substantive] Refactor
upgrade_to_electra()
in #3711 - [non-substantive] Minor comment on
ExecutionLayerWithdrawalRequest
#3707
Experimental
EIP7594 (PeerDAS)
DAS Core
- Make
get_custody_columns
return sorted values and addget_custody_columns
#3715 - Fix
EIP7594_FORK_VERSION
test #3730
Cryptography
Shout out to @kevaundray, @jtraglia, and @asn-d6!
- Rename
CELLS_PER_BLOB
toCELLS_PER_EXT_BLOB
#3694 - Change
g2_lincomb
to take in G2Point #3692 - Fix and elaborates on comments #3695
- For
compute_kzg_proof_multi
remove remainder polynomial when in monomial form #3696 - Change
recover_polynomial
torecover_all_cells
#3702 - Remove extra return value in
construct_vanishing_polynomial
#3704 - Add more description for the kzg verify algorithm by #3703
- Add a new config
MAX_EXTENDED_MATRIX_SIZE
#3708 - Add
BLS_MODULUS
to places where the result of a subtraction can be negative #3709 - Integrate new
CosetEvals
type by #3701 - Use
CELLS_PER_EXT_BLOB
to compute the number of columns #3710 - Make List Copy explicit in
divide_polynomialcoeff
#3706 - Add asserts for public functions #3684
- Use py-arkworks's multi-exp method inside of
g1_lincomb
andg2_lincomb
#3714 - Replace "proofs" with "kzg_proofs" in function names #3727
- Fix
bls.multi_exp
when using py_ecc #3730
Testing, repo, etc
- Fix and move
test_multiple_consolidations_*
tests to sanity block tests #3724 - Fix consolidation
test_invalid_*_signature
tests #3728 - Add Electra fork tests #3720
- Add EIP-7594 to
TESTGEN_FORKS
#3721 - Add kzg_7594 test formats #3718
- Add initial version of kzg_7594 test generator #3693
- Rename formats/kzg to formats/kzg_4844 #3716
- Fix
test_effective_balance_hysteresis_with_compounding_credentials
test #3730 - Enable EIP7594 merkle proof testgen and use
bls.use_fastest()
in default testgen #3732
Elekid
v1.5.0-alpha.0
-- Elekid -- is the alpha release for the coming Electra upgrade.
Thank you all for helping with this baby Electra release! ๐ฃ
PR showing full diff can be found here: #3675
Phase 0
- [networking] Align
seen_ttl
with attestation lifetime #3627
Deneb
- [non-substantive] Clarify
voluntary_exits
gossip topic after Capella #3651
Electra
Miscs
- Update Electra config #3632
- Init Electra (EIP6110 + EIP7002) #3615
- Add EIP-7549 to Electra #3653
- Track blob gas when upgrading to Electra #3665
- Add EIP-7251 to Electra #3668
- EIP-7002/7251: clarify pending partial withdrawals handling #3679
EIP-6110
- Rename
get_eth1_deposit_count
function #3629
EIP-7002
- Bugfix when processing execution layer exit request #3660
- Some clean ups from merging EIP-7002 into Electra #3666
EIP-7251
- Increase
MAX_EFFECTIVE_BALANCE
#3618 - Fix bug in
get_active_balance()
#3637 - Rename PartialWithdrawal field #3643
- Use
MIN_ACTIVATION_BALANCE
instead ofMAX_EFFECTIVE_BALANCE
#3647 - Remove extra
queue_excess_active_balance
call #3654 - Fix EIP-7251 tests #3656
- Rename
get_churn_limit()
for clarity #3676 - Enforce Activation Rate Limit at Fork Transition #3659
- Fix off-by-one in churn computations #3682
EIP-7549
- Move committee index outside Attestation #3559
- Clarify network vs on chain aggregation #3628
- Flatten
aggregate_bits
#3631 - Enable EIP-7549 on CI by #3640
- Misc changes #3636 #3657
- Fix
has_sufficient_effective_balanc
computation #3658 - Clarify electra validator spec with EIP7549 #3669
- Add
AttesterSlashing
to modified containers #3674
Experimental
EIP7594 (PeerDAS)
- Check for degree overflow in
multiply_polynomialcoeff()
#3619 - Add PeerDAS protocol #3574
- Use
FIELD_ELEMENTS_PER_EXT_BLOB
inNUMBER_OF_COLUMNS
#3662
Testing, repo, etc
- Update
single_merkle_proof.md
test format docs #3635 - Remove wip messages on shipped forks #3646
- Typo fixes #3645
- Add EIP7549 aggregation logic in testing tool #3649 #3680
- Add EIP-7549 tests and Electra random tests #3670
- Remove duplicate deposit processing tests #3678
- Fix electra tests and enable testgen #3681
- Fix broken exit tests due to change in the churn computation by #3690
- Fix tests by #3691