Skip to content

Pisanello

Compare
Choose a tag to compare
@djrtwo djrtwo released this 24 Jul 19:09
· 4351 commits to master since this release
447b74d

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 and DEPOSIT_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 and Bitvector types (#1912)
  • [non-substantive] Clarify wording of pack, pack_bits and merkleize (#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 to aggregate_na_signatures (#1976)
  • Upgrade remerkleable to 0.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)