Commit Graph

201 Commits

Author SHA1 Message Date
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
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
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
Danny Ryan 553a33cd2d
Merge pull request #1766 from ethereum/dev
backport dev to v012x
2020-04-27 17:35:28 -06: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 2129f8a281
fix requirements.txt for bls gens 2020-04-24 16:00:06 -06: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
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 523315bf4f
Use phase name constants for the fork names in test generators 2020-04-02 15:23:20 +08: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 d07aa00307
Merge pull request #1692 from ethereum/master
Backport v0.11.1 to dev
2020-03-29 16:38:50 -06:00
Danny Ryan ba67165da2
bump version to 0.11.1 2020-03-27 12:24:43 -06:00
Martin Lundfall 68cc4c4847 Fix test doc links 2020-03-27 14:02:56 +01:00
Danny Ryan 9f7a5491d7
Merge pull request #1677 from gnattishness/sig_test_formats
Correct/update test format documentation
2020-03-24 07:48:15 -06:00
Nathaniel Jensen 83851f6919
Fix inaccuracies in test format documentation.
* `block_header` operation to accept input of type `BeaconBlock`
* `voluntary_exit` operation to accept input of type
  `SignedVoluntaryExit`.
* sanity/blocks to note that inputs are of type `SignedBeaconBlock`
2020-03-24 13:39:27 +11:00
protolambda c00d8e30ad
Merge branch 'v011x' into fix-memoization 2020-03-23 21:06:58 +01:00
protolambda 33f8f4936d
Fix base-reward memoization bug, improve memoization with LRU, and improve misc rewards test 2020-03-20 21:15:13 +01:00
Danny Ryan 0a9b306d60
PR feedback from @hwwhww 2020-03-18 09:55:09 -06:00
Danny Ryan e2ef4365e2
min total balance is now EFFECTIVE_BALANCE_INCREMENT. update testing 2020-03-16 11:19:21 -06:00
Danny Ryan 1293320675
Merge branch 'dev' into phase1-tests 2020-03-12 07:12:41 -06:00
Danny Ryan 42499a01e7
Merge pull request #1657 from ethereum/fix-ssz-generic-tests
Fix generic SSZ tests, update remerkleable with small bugfix
2020-03-11 16:29:28 -06:00
protolambda 22620bfe5d
Fix generic SSZ tests, update remerkleable with small bugfix 2020-03-11 23:18:06 +01:00
Danny Ryan 36e48fba99
enforce must match target to match head to avoid perverse incentive path 2020-03-11 12:51:05 -06:00
Danny Ryan 8eae0f0b46
Merge pull request #1647 from ethereum/bump-version
bump version to v0.11.0 for coming release
2020-03-11 12:21:17 -06:00
Danny Ryan e2918c6364
Merge pull request #1626 from ethereum/proposer-index
add proposer index to BeaconBlock
2020-03-10 15:10:07 -06:00
Danny Ryan 3b7704a78f
Merge pull request #1649 from ethereum/eth1-voting-period-in-epochs
Eth1 voting period in epochs [updated for configs/phase1/tests compat.]
2020-03-10 13:24:03 -06:00
Danny Ryan 1c9ca3c168
Merge pull request #1635 from ethereum/rewards-overflow
handle rewards overflow
2020-03-10 13:23:21 -06:00
protolambda 2d7a292d36
eth1 vote period constant in epochs: update configs, phase1, tests 2020-03-10 18:36:53 +01:00
Hsiao-Wei Wang 882b9ee035
Merge branch 'dev' into rewards-overflow 2020-03-11 00:41:17 +08:00
Danny Ryan 7d4997f0af
bump version to v0.11.0 for coming release 2020-03-09 12:03:12 -06:00
Danny Ryan 7e04989e29
add genesis_validators_root to beaconstate and utilize in sig domain separation as well as fork separation 2020-03-05 09:21:32 -07:00
Danny Ryan 5e1fb79a8e
Merge pull request #1627 from ethereum/hysteris-fix
adjust hysteresis to avoid initial over-deposit incentive
2020-03-03 14:15:24 -07:00
Danny Ryan 33e7680836
make hysteresis calculations configurable 2020-03-03 10:58:47 -07:00
Danny Ryan 2d4ec7d52f
add REWARD_OVERFLOW_INCREMENT to avoid overflow in rewards calculation 2020-03-03 10:23:08 -07:00
Danny Ryan 0122081d05
hysteresis to -0.25/+1.25 2020-03-02 15:55:01 -07:00
Danny Ryan 186d4258b6
fix shard offsets 2020-02-28 13:20:37 -06:00
Danny Ryan 63687e6f34
fix YAML parsed list of ints 2020-02-28 13:02:20 -06:00
Danny Ryan 9718d206a7
fix attester slahsing test 2020-02-26 11:20:19 -06:00
Danny Ryan 4c1fc9bffa
work through phase 1 tests 2020-02-22 12:06:31 -06:00
Danny Ryan 97fa3741af
working through test issues 2020-02-22 09:30:33 -06:00
Danny Ryan ceb6633eb9
working through phase 1 attestation testing 2020-02-22 09:24:14 -06:00
Danny Ryan d414aac933
rework process_attestation and work through tests 2020-02-22 09:22:49 -06:00
protolambda aa451778f9
work in progress test improvements 2020-02-20 11:34:50 -08:00
protolambda c1076097c3
wip work to improve tests 2020-02-20 11:33:42 -08:00
Danny Ryan 71be8940b6
add a couple more sanity block tests for added rpoposer_index 2020-02-18 12:56:37 -06:00
Danny Ryan a02aac43c2
adjust hysteresis to avoid initial over-deposit incentive 2020-02-18 12:36:20 -06:00
Danny Ryan 757f5a31dd
add proposer index and add/modify tests 2020-02-18 11:38:17 -06:00
nathaniel gentile 7ad710e2f3
fix dev install example distutil command
the option is now --spec-fork, not --spec-version
see: 340549aed6
2020-02-15 15:40:06 -07:00
Danny Ryan 129aa02cb3
support tests with SLOTS_PER_EPOCH * 256 vals 2020-02-10 17:56:05 -07:00
Danny Ryan 331502919f Merge pull request #1610 from ethereum/bls-nitpicks
Bls nitpicks
2020-02-08 18:15:15 -06:00
Danny Ryan 0a429a479b
'full_name' -> 'indentifier' for bls generators 2020-02-08 17:04:19 -07:00
protolambda 305a54847c
more explicit about version file location 2020-02-08 23:59:08 +01:00
Danny Ryan b57b4f5e0d
move desription to human readable name 2020-02-06 13:02:16 -06:00
Chih Cheng Liang f5723cdd93
fix confusing directory name 2020-02-06 12:53:07 -06:00
protolambda 1a16e9a3ab
version eth2spec 2020-02-05 18:38:21 +01:00
protolambda cd4e99f10e
Merge branch 'dev' into pkg-the-pyspec 2020-01-31 12:04:20 +01:00
protolambda 340549aed6
spec version -> spec fork 2020-01-31 11:52:30 +01:00
Danny Ryan 7b76808a1c
Merge pull request #1600 from ethereum/master
Backport BLS test gen fix to dev
2020-01-27 19:07:12 -07:00
Ben Edgington b67aeee855
Fix fast_aggregate_verify BLS tests 2020-01-27 17:39:50 -07:00
protolambda 7848500ea9
spec packaging; implement review suggestions from hww 2020-01-25 22:10:03 +01:00
protolambda 675d404c38
Package eth2spec for tooling and experimentation
See tests/core/pyspec/README.md for usage description.

This commit:
- refactors config loading to be part of the pyspec package
- updates requirements and main files to use new config loading
- cleans up the build script
- converts the build script to a distutil command
- runs pyspec build as part of build package command
- provides pyspecdev command to get editable spec python files
2020-01-25 01:57:11 +01:00
protolambda d9f62f9303
Remerkleable - merkle tree based ssz for better and faster spec 2020-01-25 00:43:43 +01:00
Danny Ryan 67a4d5e659
Merge branch 'dev' into master-copy 2020-01-24 13:49:22 -07:00
Danny Ryan 161c0a8bc1
remove unused code from bls generator file 2020-01-23 11:35:59 -07:00
protolambda 86b699bfd1
Merge branch 'dev' into phase1rebase 2020-01-23 19:24:03 +01:00
Danny Ryan ec00f6d9ea
Merge pull request #1575 from ethereum/broken-gens
Fix broken test generators
2020-01-23 10:36:53 -07:00
Danny Ryan 67763ae0e0
PR feedback 2020-01-23 10:32:12 -07:00
Danny Ryan 3b80e12fc3
only expose BLS tests for the used APIs 2020-01-22 17:56:50 -07:00
Danny Ryan eed3f6053d
Merge pull request #1580 from ethereum/fork-choice-fix-1574
Fork choice fix issue 1574
2020-01-22 16:56:00 -07:00
Danny Ryan d672c47aba
Merge pull request #1579 from ethereum/epochs-in-fork-choice
Properly handle skip slots in fork choice
2020-01-22 16:55:15 -07:00
Danny Ryan fe103394db
Merge pull request #1583 from sigp/kirk-baird-patch-02
Update BLS Link
2020-01-22 14:57:36 -07:00
protolambda 01f7c6c1e2
separate deposit contract compiler and tester, pin compiler to python 3.7. Upgrade others to 3.8 2020-01-22 19:41:19 +01:00
Danny Ryan dd9325d9fa
G2Basic to G2ProofOfPossession for private_to_public_key bls test generator
Co-Authored-By: Carl Beekhuizen <carl@ethereum.org>
2020-01-22 11:32:25 -07:00