Commit Graph

278 Commits

Author SHA1 Message Date
terence tsao 77b933035c
Update apply_shard_transition comments 2020-08-10 07:15:54 -07:00
terence tsao d22e02f20a
Update specs/phase1/beacon-chain.md
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-08-10 06:26:52 -07:00
terence tsao 729e21cbcf
apply_shard_transition: copy shard state 2020-08-08 09:29:04 -07:00
Hsiao-Wei Wang e3bbf3c702
Merge branch 'dev' into shard-fork-choice-fix 2020-07-29 23:55:30 +08:00
Hsiao-Wei Wang bd5346b624
Merge pull request #1989 from ethereum/enable-bls-citest
Enable Milagro BLS in CI
2020-07-29 23:54:53 +08:00
Hsiao-Wei Wang b58633ce5d
Quick fix the phase 1 configurations and tests (#1990)
* Quick fix the configurations

* Remove the unused `CUSTODY_RESPONSE_DEADLINE`
2020-07-29 02:06:25 +08:00
Hsiao-Wei Wang f6fd151872
Merge branch 'dev' into shard-fork-choice-fix 2020-07-29 00:15:41 +08:00
Hsiao-Wei Wang b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot 2020-07-28 23:59:19 +08:00
Hsiao-Wei Wang a8370f7448
Apply refactoring suggestions from Danny 2020-07-28 21:51:00 +08:00
Hsiao-Wei Wang e7f070d525
Use `hash_tree_root` to generate `ShardBlockHeader.body_root`
Include the mix-in length to the proof.
2020-07-24 02:09:25 +08:00
Hsiao-Wei Wang cd8bb3d85a
Update v-guide: Shard head root 2020-07-22 23:39:18 +08:00
Hsiao-Wei Wang 33e56b5742
Apply Terence's suggestion: refactor on_shard_block interface 2020-07-22 22:48:52 +08:00
Hsiao-Wei Wang c981fc4411
Apply mkalinin's suggestion 2020-07-20 16:47:21 +08:00
Hsiao-Wei Wang 74aa027e38
Apply suggestions from @mkalinin
Co-authored-by: Mikhail Kalinin <noblesse.knight@gmail.com>
2020-07-20 16:37:43 +08:00
Hsiao-Wei Wang 0b81c967fa
Add notes 2020-07-17 00:46:25 +08:00
Hsiao-Wei Wang cf42fd4828
Rename `PHASE_1_GENESIS_SLOT` to `PHASE_1_FORK_SLOT` and set it to `Slot(0)` for testing. 2020-07-16 23:58:47 +08:00
Hsiao-Wei Wang 8e82ca5d1a
Merge branch 'dev' into hwwhww/new_int_to_bytes_dev 2020-07-16 01:36:19 +08:00
Hsiao-Wei Wang f6b1fe6172
Refactor tests and avoiding passing `shart_store` to helper functions 2020-07-15 19:07:39 +08:00
Hsiao-Wei Wang 43ef9aa294
Make ShardLatestMessage per shard per validator
1. Add `ShardLatestMessage` dataclass
2. To make it compatible with phase 0 tests and APIs, add `Store.shard_stores: Dict[Shard, ShardStore]`
3. Update `get_forkchoice_store` and `update_latest_messages`
2020-07-14 17:44:01 +08:00
ericsson 3e9556202a change `get_custody_period_for_validator()` return type to `uint64` 2020-07-08 18:19:41 +03:00
terence tsao 27fa15eb76 A few light client typos 2020-07-02 16:46:31 -07:00
Danny Ryan c3350f4477
Merge pull request #1946 from ericsson49/fix_is_valid_fraud_proof2
Fix `is_valid_fraud_proof` which tries to access `message` field of a `ShardBlock` instance
2020-07-02 09:58:14 -06:00
Danny Ryan 5a9dd44ff4
Merge pull request #1943 from ethereum/avoid-neg-op
Avoid negative values and minor refactoring
2020-07-02 09:37:16 -06:00
Hsiao-Wei Wang d608be72c3
Merge pull request #1937 from ethereum/hwwhww/custody-block-test
Fix `ShardTransition.shard_data_roots` and add custody game block-level tests
2020-07-02 13:24:07 +08:00
ericsson dafbd98f2b Merge branch 'dev' into fix_is_valid_fraud_proof2 2020-07-01 23:04:37 +03:00
ericsson 7674c76b61 get rid of `.message` as `block` is `ShardBlock` already 2020-07-01 17:23:05 +03:00
terence tsao 36339de511
Lint 2020-06-30 09:11:13 -07:00
terence tsao c8752956ed
use next epoch for new_committee? 2020-06-30 08:44:09 -07:00
terence tsao 1876c9591b
Update light committee for next slot 2020-06-30 08:16:28 -07:00
Hsiao-Wei Wang 966363890b
PR feedback from @ericsson49: fix when `len(bytez) > BYTES_PER_CUSTODY_ATOM` 2020-06-30 19:16:18 +08:00
Hsiao-Wei Wang eaae70b3b3
Minor refactoring 2020-06-30 17:16:48 +08:00
Hsiao-Wei Wang 96b71a19de
Avoid Python-specific negative operation 2020-06-30 16:58:56 +08:00
Hsiao-Wei Wang 2c0595da01
PR feedback from Danny 2020-06-30 00:11:43 +08:00
Hsiao-Wei Wang a159a2da82
Merge pull request #1928 from ethereum/hwwhww/shard-block-tests
Add tests for `shard_state_transition` and some refactorings
2020-06-26 11:54:23 +08:00
Hsiao-Wei Wang 94c231cf98
Fix `ShardTransition.shard_data_roots` and add test
1. Fix `ShardTransition.shard_data_roots`: use `get_block_data_merkle_root` helper to calculate it.
2. Rework `get_valid_custody_chunk_response` testing helper: accept
`block_length_or_custody_data`
3. Add `test_with_custody_challenge_and_response` test
2020-06-26 01:46:45 +08:00
Hsiao-Wei Wang a061758a66
Use `encode_bytes` to implement `int_to_bytes`
Rename `bytes_to_int` to `bytes_to_uint64`

Use `encode_bytes` to implement `int_to_bytes`

Rename `int_to_bytes` to `uint_to_bytes` and move it to `ssz_impl.py`
2020-06-25 20:20:39 +08:00
Hsiao-Wei Wang 2a7b5f7e68
PR feedback from Danny: nuke optional beacon_parent_state 2020-06-25 11:14:25 +08:00
Hsiao-Wei Wang 79b6bc616d
PR feedback from danny 2020-06-25 10:58:04 +08:00
terence tsao 7e04c70ca1
Update beacon-chain.md 2020-06-24 16:53:53 -07:00
Hsiao-Wei Wang 661959c13e
Add `process_shard_block` verification 2020-06-24 18:18:50 +08:00
Hsiao-Wei Wang 4a46fb2a8a
Refactor phase 1 block tests a bit and add `shard_state_transition`
tests

1. Refacotr phase1/sanity/test_blocks.py
2. Add phase1/sanity/test_shard_blocks.py for testing `verify_shard_block_message` and `verify_shard_block_signature`
2020-06-24 18:08:26 +08:00
Hsiao-Wei Wang c4973792e2
Make `get_pending_shard_blocks` return `Sequence[SignedShardBlock]` 2020-06-24 12:50:27 +08:00
Hsiao-Wei Wang 021788a634
Merge pull request #1925 from ethereum/hwwhww/shard_state_transition
Rework `shard_state_transition` interface + fix #1922
2020-06-24 12:29:31 +08:00
Hsiao-Wei Wang dbd1d4e589
PR feedback: Enable `verify_shard_block_signature` 2020-06-24 12:22:24 +08:00
Hsiao-Wei Wang e4d4527845
Merge pull request #1921 from ethereum/hwwhww/shard-tests
Fix no winning root case + add tests + fix #1881
2020-06-24 11:21:23 +08:00
Hsiao-Wei Wang e52c19896d
Update
1. Check on-time attestations fit `attestation.data.shard_transition_root != hash_tree_root(ShardTransition())`
2. Move `attestation.data.shard_head_root` check to after winning root
2020-06-23 18:22:18 +08:00
Hsiao-Wei Wang db5da9dc97
Fix return type
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-23 10:50:41 +08:00
Danny Ryan 05dc8fe9a0
Merge pull request #1922 from terencechain/patch-105
Remove shard check in `verify_shard_block_message`
2020-06-22 12:05:32 -06:00
Hsiao-Wei Wang eec1442417
Reorg `shard_state_transition` argument and fix `get_shard_transition_fields` 2020-06-22 23:41:02 +08:00
Hsiao-Wei Wang 4f618fc62d
Rework `shard_state_transition` interface
To make `shard_state_transition` similar to phase 0
`state_transition` function

1. Rename old `shard_state_transition` to `process_shard_block`
2. Add `shard_state_transition` with `validate_message` flag, we only
validate it in shard fork choice
2020-06-22 23:21:24 +08:00