Commit Graph

77 Commits

Author SHA1 Message Date
Danny Ryan 7f680dfca4
fix tests 2020-06-05 14:09:17 -06:00
Hsiao-Wei Wang 30f72dd696
Fix `get_shard` and `compute_shard_from_committee_index` calls 2020-06-01 23:15:16 +08:00
Hsiao-Wei Wang 8e5db1b49f
Merge pull request #1856 from ethereum/hwwhww/verify_empty_shard_transition
Rework `Shard transition processing`
2020-06-01 17:47:00 +08:00
Hsiao-Wei Wang 8f570b461d
Merge pull request #1854 from ethereum/hwwhww/phase1_refactor
Some phase1 refactoring
2020-06-01 17:46:16 +08:00
Hsiao-Wei Wang cceeab2657
Combine `process_crosslinks` and `verify_empty_shard_transition` into `process_shard_transitions` 2020-05-30 03:13:20 +08:00
Hsiao-Wei Wang ca48963032
Rename `head_shard_root` to `shard_head_root` 2020-05-28 21:38:11 +08:00
Hsiao-Wei Wang c437578280
Add `shard` field to `ShardBlock` 2020-05-28 21:32:27 +08:00
Hsiao-Wei Wang 5e8457e62d
Fix phase1 on-time sign_indexed_attestation 2020-05-23 21:53:55 +08:00
Danny Ryan 943e51aef1
hww feedback for finality rewards fix 2020-05-20 10:12:57 -06:00
Danny Ryan 95c3295eeb
move proposer negation to inactivity_penalty deltas 2020-05-19 17:17:20 -06:00
Danny Ryan 85e78223dd
ensure when performing optimally that you don't lose money during a leak 2020-05-19 16:51:46 -06:00
Danny Ryan 6d45afeefb
add some more random reawrds tests 2020-05-18 19:59:50 -06:00
protolambda 85f6712363
fix comments based on PR feedback 2020-05-19 03:42:58 +02:00
protolambda 75a0d60eb3
cached epoch attestation preparation 2020-05-19 02:25:32 +02:00
Danny Ryan 8060505743
refactor rewards/penalties tests to use a single structure 2020-05-18 16:00:59 -06:00
Danny Ryan 5da4fe37f8
Merge pull request #1821 from ethereum/rewards-with-inactive-vals
Rewards with not yet activated validators
2020-05-18 14:13:27 -06:00
Danny Ryan c5367295c3
Merge branch 'dev' into v012x 2020-05-18 13:32:24 -06:00
Danny Ryan b7cfa94cb4
Merge branch 'dev' into v0113-dev-merge 2020-05-18 13:22:16 -06:00
Danny Ryan 96b5733086
cleanup set some new deposits helper for rewards tests 2020-05-18 12:06:24 -06:00
Danny Ryan 97b6db4971
add rewards tests for validators not yet activated 2020-05-18 10:07:30 -06:00
Danny Ryan b975a92e90
ensure at least one validator is slashed for slashing rewards tests 2020-05-18 09:29:01 -06:00
Danny Ryan 4a86c39712
Merge pull request #1799 from ethereum/bls_v2
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 + draft-irtf-cfrg-hash-to-curve-07
2020-05-18 07:35:49 -06:00
Danny Ryan e7ae4be8a9
ensure that pre-state slot is less than block for all block tests 2020-05-13 17:25:39 -06:00
Danny Ryan 1d147037eb
write block tests for double slot proposal and genesis proposal 2020-05-13 11:52:04 -06:00
protolambda 68442c2eef
Update testing and restrict to incremental block transitions 2020-05-13 16:46:28 +02:00
Danny Ryan 17f656cefe
Merge branch 'dev' into v012x 2020-05-11 10:41:35 -06: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
Hsiao-Wei Wang cdd0ed0f7b
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 2020-05-09 11:48:48 +08:00
Danny Ryan 1137e0332d
move MAX_ATTESTER_SLASHINGS to 2, add multiple slashings per block tests 2020-05-08 10:43:11 -06:00
Danny Ryan 3a71c6d9bd
Merge branch 'dev' into v012x 2020-05-07 12:48:47 -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
Danny Ryan 12aa84fc8a
PR feedback 2020-05-07 10:47:20 -06:00
Danny Ryan 08652f543b
Merge branch 'v012x' into empty-bits-case 2020-05-07 10:17:26 -06: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 f35106d9ee
add comment for helper -- has_enouh_for_reward 2020-05-05 09:43:25 -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
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