Pisanello
Release
In preparation for Medalla, v0.12.2
release integrates a number of clarifications and enhancements to the p2p spec, provides new chain configuration params for the source chain for deposits, and cleans up a few things in the fork choice.
Phase 1 continues to be in active development (thank you our many contributors!) but is not quite ready for the release of test vectors. We anticipate these to be released in the next couple of weeks.
Importantly, Phase 0 of v0.12.2
is 100% backwards compatible with v0.12.1
. That said, we encourage client teams to patch as much of v0.12.2
as possible prior to the launch of Medalla
. If anything, please update the gossipsub params in a minor release!
Note: Finality test generators have been added (#1991). These have mistakenly been left out of test generator releases until now and should be added to client code bases.
PR showing full diff can be found here: #1955
Phase 0
Beacon chain
- Add
DEPOSIT_CHAIN_ID
andDEPOSIT_NETWORK_ID
to configuration (#1988) - [non-substantive] Compute committee count per slot is epoch based and rewrite gossip condition to be less stateful (#1904)
- [non-substantive] Apply strict
uint64
casting (#1746, #1935) - [non-substantive] Separate config files by phases (#1882)
- [non-substantive] Reorder conditions to validator
target_epoch
before its use (#1996)
Fork choice
- [bug-fix] Fix edgecase in updating target checkpoint state (#1886)
- [non-substantive] Use
parent_root
in ancestor check to add mutations after assertions (#1884) - [non-substantive] Avoid redundant call to
get_ancestor
(#1880)
Validator
- [non-substantive] Fix param in
epoch_boundary_block_root
calculation (#1962)
Networking
- Add queuing possibility to p2p messages in gossip (#1956)
- Update gossipsub config params and add FAQ for explanation of choices (#1958)
- Remove
ssz
encoding from req/resp (#1982) - Add gossip conditions that block must have finalized checkpoint as ancestor (#1985)
- [non-substantive] p2p formatting RP (#1953)
Deposit contract
For testnets and mainnet, we are using a new solidity version of the deposit contract written by @axic. This is being integrated into the spec's repo here, and will be released in an official release soon.
Simple Serialize
- [non-substantive] Clarify SSZ
Bitlist
andBitvector
types (#1912) - [non-substantive] Clarify wording of
pack
,pack_bits
andmerkleize
(#1934)
BLS
Stable!
Phase 1 spec (warning: not stable)
Continued work on refining Phase 1 specs. Thank you to the many contributors :)
Light client spec (warning: not stable)
Light client sync spec is under redesign in the context of the phase 1 redesign. The current light client spec can be used for general educational purposes to understand the approach we are considering, but will see heavy redesign after phase 1 stabilizes.
Testing, Repo, etc
- Add
AttesterSlashing
high index out of bounds test cases (#1926) - Add unit testing for validator guide, not for test generators (#1896)
- Rename
aggregate_na_pubkeys
toaggregate_na_signatures
(#1976) - Upgrade
remerkleable
to0.1.17
(#1940) - Enable Milagro-bls as default for most test generators (other than bls tests) (#1993)
- Add finality tests to generators (#1991)
- Add proposer self-slashing test case (#1997)