1255 Commits

Author SHA1 Message Date
Danny Ryan
b2dfb6cebe
PR feedback from @hwwhww 2020-05-05 13:33:44 -06:00
Danny Ryan
d26cfd2e59
Apply suggestions from code review from @hwwhww
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-05-05 13:08:41 -06:00
Danny Ryan
38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD 2020-05-05 11:44:53 -06:00
Danny Ryan
5b3ed8a3e7
bump VERSION.txt to 0.12.0 2020-05-05 09:45:24 -06:00
Danny Ryan
b2c36112f6
Merge branch 'dev' into v012x 2020-05-05 09:44:27 -06:00
Danny Ryan
f35106d9ee
add comment for helper -- has_enouh_for_reward 2020-05-05 09:43:25 -06:00
Hsiao-Wei Wang
79b1b4bdbe
Add (shard, shard_root) to LatestMessage 2020-05-05 21:42:18 +08:00
Hsiao-Wei Wang
8fafb6a9e5
Make ShardStore an independent object 2020-05-05 21:42:06 +08:00
Hsiao-Wei Wang
cddf9cf114
Refactor 2020-05-05 21:42:00 +08:00
Hsiao-Wei Wang
dab5a936c4
wip shard fork choice rule 2020-05-05 21:41:46 +08:00
Hsiao-Wei Wang
f4334d1522
Delete outdated helper 2020-05-05 15:28:12 +08:00
Hsiao-Wei Wang
ee4c866575
Merge branch 'dev' into dankrad-custody-256bit-merging 2020-05-05 15:22:36 +08:00
Danny Ryan
8f569a8ddc
add inactivity penalty deltas tests 2020-05-04 20:58:42 -06:00
Danny Ryan
5194c1f2d2
add test_get_inclusion_delay_deltas 2020-05-04 17:00:43 -06:00
Danny Ryan
a7354bd358
Merge branch 'dev' into rewards-rework 2020-05-04 13:34:35 -06:00
Danny Ryan
eda249957e
basic generators work 2020-05-04 13:20:32 -06:00
Hsiao-Wei Wang
977cd73379
Refactor the tests 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang
524ba166d1
[squashed] shard chain updates wip
Fix wrong field names

Fix `build_attestation_data` and other PR feedback from Danny and
Terence

1. Rename `get_previous_slot` to `compute_previous_slot`
2. Break down `build_empty_block` into
`get_state_and_beacon_parent_root_at_slot`, use it in
`build_shard_block`
3. Set defult `slot` to `shard_state.slot + 1` in `build_shard_block`

Update `verify_shard_block_message`: check beacon_parent_root at fork
choice rule stage instead of state transition

Fix  `beacon-chain.md`

1. Fix typo `attestation.slot == state.slot` -> `attestation.data.slot == state.slot` in `is_winning_attestation`
2. Check `verify_shard_transition_false_positives` **after** `process_operations`
3. Fix `shard_attestations` filter in `process_crosslinks`: since attestations come from block, should use `attestation.data.slot + MIN_ATTESTATION_INCLUSION_DELAY == state.slot`
4. [TBD] Allow empty `light_client_signature` to make the tests pass
5. [TBD] Add `is_shard_attestation`, filter out empty `ShardTransition()`

Rework `test_process_crosslink`

Add basic phase 1 `test_blocks`

Add more test cases

Revert `is_shard_attestation` and fix test cases backward compatibility.

Remove `test_process_beacon_block_no_shard_transition` and consider it as invalid case.
2020-05-02 02:32:31 +08:00
Hsiao-Wei Wang
85d5a9abaf
[squashed] shard chain updates wip
PR feedback from Danny and some refactor

1. Add stub `PHASE_1_GENESIS_SLOT`
2. Rename `get_updated_gasprice`  to `compute_updated_gasprice`
3. Rename `compute_shard_data_roots` to `compute_shard_body_roots`

Apply shard transition for the skipped slots

Refactor `shard_state_transition`

Get `beacon_parent_root` from offset slot

Add more test

Add `verify_shard_block_message`

Add `> 0`

Keep `beacon_parent_block` unchanged in `is_valid_fraud_proof`

Remove some lines

Fix type

Refactor + simplify skipped slot processing
2020-05-02 02:31:54 +08:00
Hsiao-Wei Wang
e645d6b5fa
Rename build_empty_shard_block to build_shard_block 2020-05-02 02:31:53 +08:00
Hsiao-Wei Wang
4e8a7ff115
[squashed] shard transition wip
Fix the wrong `get_shard_proposer_index` parameters order

Phase 1 WIP

Add shard transition basic test

Fix lint error

Fix
2020-05-02 02:31:10 +08:00
protolambda
45ad270f76
test double proposer slashings and exits 2020-05-01 19:14:01 +02:00
protolambda
47ed5b6500
Fix rewards testing for empty/weird participation cases, adding more as well 2020-05-01 16:18:43 +02:00
protolambda
09cae4b3cc
Handle empty-aggregation-bits case, and add tests. See #1713 2020-05-01 15:17:41 +02:00
Dankrad Feist
b82496fd11
Rename file 2020-05-01 00:19:25 +01:00
Dankrad Feist
d30f11a781
Fix lint 2020-05-01 00:16:00 +01:00
Danny Ryan
cd27e5e045
add tests for source, target, head 2020-04-29 10:23:12 -06:00
Danny Ryan
5f18dd778c
add baseline get_target_deltas tests 2020-04-28 19:26:14 -06:00
Hsiao-Wei Wang
fa66475da4
Move sanity to under phase_0 2020-04-29 00:04:44 +08:00
Dankrad Feist
0e2931b9b3
All tests passed 2020-04-28 01:09:20 +01:00
Dankrad Feist
2449db1bb6
Phase 1 block tests are working 2020-04-27 16:08:49 +01:00
Hsiao-Wei Wang
2dbc333270
Make compute_new_state_root a pure function 2020-04-27 22:18:43 +08:00
Hsiao-Wei Wang
70bd73d2b5
Apply PR feedback from @djrtwo
Fix get_eth1_vote test cases
2020-04-27 22:18:41 +08:00
Hsiao-Wei Wang
8adc15e83d
Add validator guide tests
1. "Beacon chain responsibilities: Attesting"
2. "Beacon chain responsibilities: Attestation aggregation"
2020-04-27 21:47:25 +08:00
Hsiao-Wei Wang
bdae27e317
Add bls.AggregatePKs helper 2020-04-27 21:47:25 +08:00
Hsiao-Wei Wang
303d7d5adb
Add validator guide tests
1. "Becoming a validator"
2. "Validator assignments"
3. "Beacon chain responsibilities: Block proposal"
2020-04-27 21:47:25 +08:00
Danny Ryan
fde9b410f0
Merge pull request #1752 from ethereum/dev
sync v0.11.2 to `v012x`
2020-04-24 11:36:17 -06:00
Danny Ryan
56535e3dbe
bump version to v0.11.2 2020-04-24 10:21:47 -06:00
Dankrad Feist
ab2ee0e2c2
Restoring chunk challenges and testing 2020-04-24 17:06:27 +01:00
Hsiao-Wei Wang
3575b18cd4
Fix config_util.py typing 2020-04-17 23:55:42 +08:00
Hsiao-Wei Wang
cafd98b9e8
Fix utils.hash_function typing 2020-04-17 23:55:32 +08:00
protolambda
13d1303db8
update remerkleable; mul/div bound checks, update config loading 2020-04-06 18:40:09 +02:00
Danny Ryan
c3e5ddaabc
Merge branch 'dev' into phase1-tests 2020-04-03 09:54:34 -06:00
Danny Ryan
246b46771e
address @hwwhww feedback 2020-04-03 09:46:57 -06:00
Danny Ryan
f2c2da95ed
add compute_offset_slots 2020-04-03 09:19:56 -06:00
Hsiao-Wei Wang
3f87cea435
Use constants phase names 2020-04-02 15:09:47 +08:00
Hsiao-Wei Wang
a890d1f6a0
Use constant variables to define phase name/ID 2020-04-02 15:09:25 +08:00
Danny Ryan
073f78efa1
Merge branch 'dev' into phase1-tests 2020-03-29 17:04:25 -06:00
Danny Ryan
ba67165da2
bump version to 0.11.1 2020-03-27 12:24:43 -06:00
protolambda
c00d8e30ad
Merge branch 'v011x' into fix-memoization 2020-03-23 21:06:58 +01:00