* Stab at Legendre custody construction + some tests
* Fix some problems and fix function puller to remove phase0 only lines in phase1
* Pass the linter
* Add headings
* Fix domain for BLS stub
* Change Jacobi to Legendre
* n -> q to clarify notation
* Headings
* Another missing heading
* Custody subchunks via padding
* Fix max_reveal_lateness stuff
* Better names for reveal period functions
* Better parametrization of max_reveal_lateness computation and tests for custody reveal processing
* Fix linter
* Allow challenging for one period after the custody reveal, shorter periods for minimal tests
* Fix lint
* Fix linter error
Also adds `total_bytes` to state. The goal is to facilitate easier fraud proofs, so that one needs to simply check two adjacent headers in a crosslink and their respective bodies to verify a fraud proof.
* constants -> configurations
* constant name updates
* initial validation requirement for attestations
* allow aggregated attestations to be published
* move discv5 down a bit
* additional rationale
1. Clean up configurations
2. Add `HISTORY_ACCUMULATOR_VECTOR`
3. Add `validate_state_root` flag in `shard_state_transition` for testing
4. Rename `history_acc` to `history_accumulator`
* Minimal attestation simplification
* minor fix
* Make the tests pass
* Decrease `PLACEHOLDER`, Use `compute_epoch_of_shard_slot`
* Fix proposer signature name and use get_seed() to calculate current_shuffling_seed
* Fix linter error
* Add the WIP `test_is_valid_shard_block`
* Add `get_shard_block_attester_committee`
* Simplified committee selection
* Added some helpers and simplified
* Update specs/core/1_shard-data-chains.md
* Update 1_shard-data-chains.md
* Simplified switchover epochs, changed block structure, changed crosslink structure
* Update 1_shard-data-chains.md
* Moved balance dependency to proposer selection
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
* Update specs/core/1_shard-data-chains.md
* Fixed shard header flattening
* Update specs/core/1_shard-data-chains.md
* Minor fixes
* Update specs/core/1_shard-data-chains.md
* Update specs/core/1_shard-data-chains.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
* cleanup testing and lint
* return none if not active validators in persistent committee
* only allow active validators as shard proposer
Change presentation to avoid uint64 overflow in slashing penalty calculation. (Factor out `EFFECTIVE_BALANCE_INCREMENT` from `validator.effective_balance`.)
There is a realization of a `list` in the `get_unslashed_attesting_indices` helper that is unnecessary.
The functionality in this PR is the same so this change should only really be cosmetic wrt the spec.