1) Make `ShardBlock` and `ShardState` flat containers (as opposed to plain containers)
2) Make Gwei deltas `int64` (as opposed `uint64`)
3) Make `older_committee_deltas` a `Vector` (as opposed to `List`)
4) Apply size fee on block body only (as opposed to block header and body)
5) Enshrine minimum "extra" block body fee for proposers (reusing `PROPOSER_REWARD_QUOTIENT`)
6) Fix bugs reported by @terencechain and @hwwhww 👍
WIP!
* Significant simplifications
* A few bug fixes
* Lots of cleanups and reorganising (making it consistent with `0_beacon-chain.md`)
* Likely a few bugs introduced
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.
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