Commit Graph

4612 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 73031537bc
Merge pull request #1814 from terencechain/patch-98
s/beacon_state/state for get_shard_transition
2020-05-15 19:11:21 +08:00
terence tsao 6f5cbe6182
Update shard-transition.md 2020-05-14 14:55:29 -07:00
Danny Ryan 6474218fb1
Merge pull request #1747 from ethereum/rewards-rework
[Proposal] rework rewards/penalties to be more granular
2020-05-11 08:16:49 -06:00
Danny Ryan 7a130606ac
hww feedback 2020-05-08 10:51:41 -06:00
Danny Ryan 5b2a08b717
Merge pull request #1793 from gnattishness/config-readme
[Minor] Fix config readme example to not assign a return value.
2020-05-08 06:28:16 -06:00
Nathaniel Jensen 38a5f41c30
[Minor] Fix config example to not assign a return value. 2020-05-08 20:12:44 +10:00
Danny Ryan 197f1f5496
Merge pull request #1781 from ethereum/double-operations
test double proposer slashings and exits
2020-05-07 12:38:06 -06:00
Danny Ryan b317a7329f
Merge branch 'dev' into double-operations 2020-05-07 12:32:25 -06:00
Danny Ryan 4ad3d65d10
add multiple exits block sanity test 2020-05-07 12:23:37 -06:00
Danny Ryan ee7d11d18f
clean up proposer slashing tests and add a couple 2020-05-07 12:00:07 -06:00
Hsiao-Wei Wang 0d459af4f3
Merge pull request #1790 from ethereum/hwwhww/badges
Add latest release and pypi version badges
2020-05-07 09:44:45 +08:00
Hsiao-Wei Wang c8b13c320c
Add release & pypi badges 2020-05-06 18:03:48 +08:00
Danny Ryan 4ffa0dba60
Apply suggestions from code review
"rewards/penalties" -> "deltas" in throughout test comments/descriptions

Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-05 16:31:40 -06:00
Danny Ryan f0742b2f2d
add exited tests for rewards. make some valiators exited/withdrawable in slashed tests 2020-05-05 16:28:29 -06:00
Danny Ryan 4f401133e1
address PR feedback from @protolambda 2020-05-05 15:37:14 -06:00
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 2fb5c251b2
Merge pull request #1785 from ethereum/hwwhww/readme-patch
Fix README spec links
2020-05-05 12:30:23 -06:00
Hsiao-Wei Wang f60f8ca332
Fix README spec links 2020-05-06 02:10:43 +08:00
Danny Ryan f35106d9ee
add comment for helper -- has_enouh_for_reward 2020-05-05 09:43:25 -06:00
Danny Ryan 3f250f7dd3
PR feedback 2020-05-04 21:05:10 -06: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
Danny Ryan 71dc744f42
Merge pull request #1703 from ethereum/hwwhww/signed_pattern
Rework shard block and fraud proof (shard state transition) spec
2020-05-04 10:39:47 -06:00
Hsiao-Wei Wang 7a770186b5
Reorg beacon-chain spec a bit 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang 4558c7db4e
Reorg the file structure 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang b43e24acb6
specs/phase1/fraud-proofs.md -> specs/phase1/shard-transition.md 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang 977cd73379
Refactor the tests 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang ff85025113
PR feedback from terence 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang e758fb76c2
Check `head_shard_root` of all `transition_attestations` 2020-05-02 02:32:36 +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 c8a473ba24
Apply suggestions from code review
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2020-05-02 02:32:30 +08:00
Hsiao-Wei Wang 40483b587b
[squashed] shard chain updates wip
Use `ShardBlock` in `shard_state_transition`

PR feedback

1. Rename `ShardState.data` -> `ShardState.transition_digest`
2. Rename `compute_shard_transition_data` to `compute_shard_transition_digest`
3. Add `assert state.slot > PHASE_1_GENESIS_SLOT` just in case, may move it later

Add `get_post_shard_state` as a pure function wrapper
2020-05-02 02:32:24 +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 9724cb832d
Apply suggestions from code review from @djrtwo
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2020-05-02 02:31:53 +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 afa12caf1f
Refactor `get_shard_state_transition_result` 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
Hsiao-Wei Wang 849d3f83bf
Apply @terencechain 's review feedback
Co-Authored-By: terence tsao <terence@prysmaticlabs.com>
2020-05-02 02:31:09 +08:00
Hsiao-Wei Wang 247a6c8fca
Add `verify_fraud_proof` function 2020-05-02 02:31:09 +08:00
Hsiao-Wei Wang be50020bf8
Refactor `get_light_client_committee` to similar to
`get_shard_committee`
2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang 5f69afea38
Make `shard_state_transition` more like beacon state_transition function 2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang e9f1e4186d
Add `proposer_index` to shard block 2020-05-02 02:31:08 +08:00
Hsiao-Wei Wang feb27a14be
beacon-chain.md: Replace block wrapper with signable pattern 2020-05-02 02:31:08 +08:00
protolambda 45ad270f76
test double proposer slashings and exits 2020-05-01 19:14:01 +02:00
Danny Ryan c2c27791c5
Merge branch 'dev' into rewards-rework 2020-05-01 10:52:19 -06:00
Danny Ryan 4b4fc32f9c
Merge pull request #1755 from paulhauner/patch-23
Fork choice: Remove redundant check in validate_on_attestation
2020-04-30 11:06:29 -06:00
Danny Ryan a30b2d3639
Merge pull request #1775 from ethereum/attnet-note
add clarifying note about attnets ENR entry
2020-04-30 07:13:18 -06:00