Skip to content

Steady Progress

Pre-release
Pre-release
Compare
Choose a tag to compare
@djrtwo djrtwo released this 08 Feb 23:42
· 8193 commits to master since this release
ab55020

Release

This is the first of weekly Friday releases in February -- Steady Progress!

This release includes a number of small feature additions/modifications, helpers, clarifications, and minor bug fixes. The most significant feature addition is the introduction of the point-wise shuffle -- "Swap-or-Not" (#576). This shuffling algorithm was suggested by Dan Boneh at a recent research event at Stanford and seems to meet all of our shuffling needs!

Outside of this release, steady progress is also being made on the cross-client testing. Test generators have moved out of the test vector repo and into a standalone eth2.0-test-generators repo. When a release is cut in the generators repo, tests are automatically generated and pushed to eth2.0-tests. In an attempt to learn from eth1.0, this in an effort to make testing PRs more sane.

Changelog

Phase 0 spec

  • features
    • introduce "swap-or-not" shuffle (#576)
    • fork choice rule now weighted by balance (#569)
    • mix epoch into seed within generate_seed rather than in get_shuffling (#552)
    • AttestationData includes latest_crosslink rather than just latest_crosslink_root (#585)
  • helpers
    • add get_previous_epoch helper (#565, #592)
    • add get_total_balance helper (#567, #569)
    • int_to_bytesN uses little-endian (#564)
  • bugfixes
    • minor range fix to verify_bitfield (#573)
  • misc
    • Use 2**63 for GENESIS_SLOT (#537) [Note: this is contentious due to collision with signed types and likely to change]
    • Remove vyper contract source from spec. replaced by API and link to deposit_contract repo (#562)
    • minor formatting/typos/etc PRs (#547, #551, #558, #561, #574)

Phase 0 validator

  • rename get_next_epoch_crosslink_committees -> get_next_epoch_committee_assignment (#549, #592)
  • added registry_change arg to get_next_epoch_committee_assignments returns assigned slot and bool for is_proposer (#549, #592)
  • get_next_epoch_committee_assignments returns tuple -- (validators, shard, slot, is_proposer) (#549, #592)

Simple Serialize

  • List tree-hash padding consistency fix (#538)
  • "internal" vs "external" hash roots padding fix (#543)

BLS

  • rename message -> message_hash in all bls functions (#580, #583)