Commit Graph

733 Commits

Author SHA1 Message Date
protolambda c061abdd75
Avoid Hash <> hash() type and func confusion, intro Root and change to non-roots to Bytes32 2019-11-12 21:29:58 +01:00
Danny Ryan 74253bdbaf
attestations for future blocks not valid in fork choice 2019-11-12 11:29:46 -07:00
Danny Ryan e7f71886b0
Merge pull request #1466 from ethereum/decoy-flip-flop
Decoy flip flop resistance
2019-11-08 03:10:41 +08:00
Danny Ryan f331b55b9e
Merge pull request #1465 from ethereum/bounce-attack
Bounce attack resistance
2019-11-08 02:56:46 +08:00
Danny Ryan e1d2823810
Merge branch 'bounce-attack' into decoy-flip-flop 2019-11-06 17:20:59 -07:00
Danny Ryan fc40bff2a8
use best_justified_checkpoint instead of queued_justified_checkpoints 2019-11-06 17:10:32 -07:00
Danny Ryan 4f42f63e4e
only allow attestatiosn to be considered from current and previous epoch 2019-11-05 13:01:58 -07:00
Danny Ryan 97d7cf5190
further test bounce attack 2019-11-05 10:58:45 -07:00
Danny Ryan 405e218598
add initial fork choice bounce prevention and tests 2019-11-05 08:55:34 -07:00
Danny Ryan 600265a311
remove AttestationDataAndCustodyBit 2019-11-01 21:12:32 -06:00
Danny Ryan 65b615a4d4
remove custody_bits from attestation 2019-11-01 21:02:53 -06:00
Danny Ryan 3d17c10578
fix ruemel.yaml dependency issue 2019-10-28 22:44:41 +09:00
Danny Ryan 09de5957d2
Merge pull request #1454 from ethereum/forkchoice-tests-fixed
Forkchoice tests fixed
2019-10-28 17:21:15 +08:00
protolambda 96d4516889
fix forkchoice tests: fix test decorators, fix block state roots, clean up some logic 2019-10-28 09:35:19 +01:00
Danny Ryan 43132a3082
[reopen] Eth2 shorthand standardized (#1452)
* Update README.md

* Update README.md

* Update p2p-interface.md

* Update simple-serialize.md

* Update README.md

* Update initialization.md

* Update README.md

* Update 0_beacon-chain-validator.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2019-10-28 15:53:10 +08:00
Danny Ryan 6570340e04
Merge branch 'master' into master-to-dev 2019-10-28 15:27:41 +09:00
Danny Ryan c547c5291d
Merge pull request #1447 from ethereum/early-committee-bias
Implement solution for #1446, based on suggested use of eth1 hash
2019-10-28 14:10:50 +08:00
protolambda e6e203ce85
randaomixes init now with eth1 hash repeat 2019-10-27 16:20:35 +01:00
protolambda 2cc643d2bb
update test_eth1_data_votes_no_consensus to not hardcode pre hash 2019-10-25 13:39:50 +02:00
protolambda 2186c45f84
implement (unpolished) solution for #1446, based on suggested use of eth1 hash 2019-10-25 13:35:21 +02:00
Diederik Loerakker 5b94250bf0
Merge pull request #1426 from gnattishness/update-config-helper-reqs
Update config_helper dependencies.
2019-10-24 15:45:53 +08:00
protolambda 0cc50725ed
py docs fixes 2019-10-24 15:31:43 +08:00
Danny Ryan 69730cc267
remove transfers entirely from phase 0 2019-10-24 16:12:10 +09:00
Danny Ryan b2ad6069d4
minor nitpick to PR 2019-10-24 14:55:56 +08:00
gnattishness 691c25ab38
Update config_helper requirements.
Fixes build errors for python 3.8.
2019-10-24 09:32:57 +11:00
protolambda 9deda149da
fix list lookup 2019-10-24 00:00:27 +08:00
protolambda e8a3eac55e
cleanup code duplication, and build new context util for state customization 2019-10-23 17:03:18 +08:00
Danny Ryan f809b21241
minor pr review 2019-10-23 09:37:15 +09:00
Danny Ryan fbcc2a4870
fix comment re: proto 2019-10-18 12:05:43 +09:00
Danny Ryan 437a65d3e1
cleanup wrt Justin's comments 2019-10-17 17:47:51 +09:00
Danny Ryan c239ce0b5e
crosslink committee -> beacon committee 2019-10-17 10:45:07 +09:00
Danny Ryan bd1c71b82e
simplify index 2019-10-16 18:47:19 +09:00
Danny Ryan 6208e74d3f
get crosslink committees by slot 2019-10-13 21:52:58 +09:00
Danny Ryan d8431f8476
add start index back in 2019-10-13 13:53:43 +09:00
Danny Ryan 667bf67d71
temporarily disable phase 1 tests 2019-10-12 13:24:17 +09:00
Danny Ryan d98cabf7e7
fix get crosslink committee and finalitytests 2019-10-12 13:06:52 +09:00
Danny Ryan b3b9b434b4
working through phase 0 tests after crosslink/shard removal 2019-10-12 12:16:13 +09:00
Denis Bogdanas baded82247 test for process_rewards_and_penalties: Case when some eligible attestations are slashed. Modifies attesting_balance and consequently rewards/penalties. 2019-10-07 13:54:35 +03:00
Denis Bogdanas 1a65570c9b test_process_rewards_and_penalties.py: test for case when eligible_validator_indices in get_attestation_deltas() != state.validators. In this test some validators were just never active. 2019-10-07 13:54:35 +03:00
Denis Bogdanas c108d1a356 test for initialize_beacon_state_from_eth1, case when some small deposits don't contribute to active balance. 2019-10-07 13:54:35 +03:00
Denis Bogdanas 82d41db1b4 Test case for get_beacon_proposer_index(), loop with multiple iterations. 2019-10-07 13:54:35 +03:00
Denis Bogdanas f47e023bf0 Test case for get_matching_target_attestations() with some real filtering going on
on line `if a.data.target.root == get_block_root(state, epoch)`.

Discovered by K coverage tool.
2019-10-07 13:54:35 +03:00
Danny Ryan 3c3ae9ac02
enforce beacon state at epoch boundary slot 2019-10-05 07:22:20 +09:00
Danny Ryan dc4869349c
remove explicitly handling empty attestation 2019-10-05 06:56:54 +09:00
Danny Ryan 2af39ad469
fix shard period sanity test 2019-09-30 13:58:48 +09:00
Danny Ryan 49a2919099
add more shard block sanity tests 2019-09-30 12:58:05 +09:00
Danny Ryan 77faa026a0
minor fix to tests 2019-09-27 13:30:31 +09:00
Danny Ryan 3bc05dfff7
remove outdated beacon attestation test 2019-09-27 13:20:23 +09:00
Danny Ryan b892d46f26
working through shard chain tests 2019-09-27 13:02:16 +09:00
protolambda 525d733033
rewards testing now with cleaner attestation signing 2019-09-24 13:56:29 +09:00
protolambda a6e543fd37
just signing, attestations are already filled by get_valid_attestation 2019-09-24 12:24:45 +09:00
Justin Drake e7db58cb7e
Rename ACTIVATION_EXIT_DELAY to MAX_SEED_LOOKAHEAD for phase 1 2019-09-23 12:48:41 -06:00
Justin Drake 47a818c705
Add domain_type to get_seed 2019-09-23 12:48:36 -06:00
Danny Ryan 114ffe3d6d
Merge pull request #1413 from ethereum/proposer-fix
Improve beacon proposer selection logic
2019-09-23 13:45:43 -05:00
Danny Ryan 1688721554
fix up attesation reward tests 2019-09-22 09:54:17 -05:00
Danny Ryan 1aa12034e5
make full_attestation reward test better 2019-09-22 09:51:12 -05:00
Danny Ryan cf1323b79e
add rewards/penalties test for full epoch of attestations 2019-09-22 09:35:18 -05:00
Danny Ryan b3f7dd9dae
fix up rewards/penalties test signatures 2019-09-20 16:05:10 -05:00
Danny Ryan ad4da4cd14
rewards test for duplicate attestation 2019-09-20 12:45:46 -05:00
Danny Ryan 687b262f0d
add test case for crosslink tie breaking between epochs 2019-09-20 11:27:42 -05:00
Danny Ryan 66eaab72c5
Merge branch 'master' into dev-083 2019-09-08 08:46:28 -04:00
Danny Ryan 14496978f1
Merge pull request #1323 from ethereum/vbuterin-patch-13
Starting on phase 1 misc beacon changes
2019-09-02 10:02:51 -06:00
Danny Ryan 82faaf101d
fix tests 2019-08-27 09:38:20 -06:00
Danny Ryan d0b4dc2b01
remove bad length checks from process attestation; ensure committee count and committee size not equal 2019-08-27 09:16:02 -06:00
Danny Ryan 6923bdc46a
remove Optional None from get_generalized_index. instead throw 2019-08-23 14:49:19 -06:00
Hsiao-Wei Wang 7c9f1aad61
`test_compact_committees_root` will be moved to phase 1 2019-08-24 03:13:57 +08:00
Hsiao-Wei Wang f8d9b0d283
Merge branch 'dev' into roots-removal 2019-08-24 03:10:02 +08:00
protolambda 4f462bc88b
make nil-count randomization work for lists 2019-08-23 18:33:16 +02:00
Hsiao-Wei Wang 7409b5ae82
Add basic `test_verify_merkle_proof` and `test_verify_merkle_multiproof` tests 2019-08-20 20:57:37 +08:00
Hsiao-Wei Wang 6577f159c9
Merge branch 'dev' into executable_merkle_proofs 2019-08-20 19:13:12 +08:00
Hsiao-Wei Wang b22caeb246
Add basic merkle proofs tests 2019-08-20 19:09:21 +08:00
Hsiao-Wei Wang 663d43d07f
PR feedback, fix type hinting, add missing `Container.get_field_names()` method 2019-08-20 18:55:30 +08:00
Justin Drake df6e531d74 Improve beacon proposer selection logic 2019-08-20 11:37:27 +02:00
Martin Lundfall 62d37593fb Correct various typos 2019-08-19 13:05:44 +02:00
Hsiao-Wei Wang 8e1333aad1
Add `SSZVariableName` custom type 2019-08-15 19:01:40 +08:00
Danny Ryan c224af999e
MAX_PERSISTENT_COMMITTEE_SIZE -> TARGET_PERSISTENT_COMMITTEE_SIZE 2019-08-12 19:05:16 -06:00
Hsiao-Wei Wang d84c902bb1
Merge branch 'dev' into v082_backport 2019-08-12 01:47:24 +08:00
dankrad b345dc0f5f Legendre custody construction (#1305)
* Stab at Legendre custody construction + some tests

* Fix some problems and fix function puller to remove phase0 only lines in phase1

* Pass the linter

* Add headings

* Fix domain for BLS stub

* Change Jacobi to Legendre

* n -> q to clarify notation

* Headings

* Another missing heading

* Custody subchunks via padding

* Fix max_reveal_lateness stuff

* Better names for reveal period functions

* Better parametrization of max_reveal_lateness computation and tests for custody reveal processing

* Fix linter

* Allow challenging for one period after the custody reveal, shorter periods for minimal tests

* Fix lint

* Fix linter error
2019-08-11 13:05:17 -04:00
Hsiao-Wei Wang 40fbcd3d59
Merge branch 'dev' into v082_backport 2019-08-12 00:58:20 +08:00
Hsiao-Wei Wang 01d58eb1c6
Merge branch 'dev' into v082_backport 2019-08-12 00:18:25 +08:00
Hsiao-Wei Wang 5290b62465
Fix + refactor `is_valid_beacon_attestation` and add basic test 2019-08-11 22:24:21 +08:00
protolambda 12900b2b4c
handle empty test ouputs, and split out output format functions 2019-08-01 22:40:10 +02:00
Justin Drake e5e97a51e6 Fix lint issues 2019-08-01 17:16:36 +01:00
Justin Drake 26641aa699 Remove light client infrastructure (better stuff to be added in phase 1) 2019-08-01 17:03:23 +01:00
Hsiao-Wei Wang db29250256
Add testing helpers 2019-08-01 14:22:01 +08:00
Hsiao-Wei Wang 3aba05e252
Add simple tests for `shard_state_transition` 2019-08-01 14:19:08 +08:00
protolambda 5f33560b47
Merge branch 'v08x' into testgen-reorg 2019-07-30 22:21:59 +02:00
protolambda 7165932012
output list-type parts correctly 2019-07-30 14:08:50 +02:00
protolambda bdebfe31df
organize test-case-part explanation better 2019-07-30 03:09:48 +02:00
protolambda f5e404298b
update test generator documentation 2019-07-30 03:07:42 +02:00
protolambda 2dcad9a6bf
add config filtering option 2019-07-30 02:09:25 +02:00
protolambda c329a003af
improve test gen logging 2019-07-30 00:44:19 +02:00
protolambda eb7c3b9651
make test gen output SSZ in addition to yaml files for SSZ objects 2019-07-30 00:40:01 +02:00
dankrad ab156f31b1
Merge pull request #1283 from ethereum/n_zero
Clarify the illegal SSZ types
2019-07-29 17:40:38 +01:00
vbuterin de9b4f2d6d
Attestation changes + persistent committee changes (#1294)
* Minimal attestation simplification

* minor fix

* Make the tests pass

* Decrease `PLACEHOLDER`, Use `compute_epoch_of_shard_slot`

* Fix proposer signature name and use get_seed() to calculate current_shuffling_seed

* Fix linter error

* Add the WIP `test_is_valid_shard_block`

* Add `get_shard_block_attester_committee`

* Simplified committee selection

* Added some helpers and simplified

* Update specs/core/1_shard-data-chains.md

* Update 1_shard-data-chains.md

* Simplified switchover epochs, changed block structure, changed crosslink structure

* Update 1_shard-data-chains.md

* Moved balance dependency to proposer selection

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>

* Update specs/core/1_shard-data-chains.md

* Fixed shard header flattening

* Update specs/core/1_shard-data-chains.md

* Minor fixes

* Update specs/core/1_shard-data-chains.md

* Update specs/core/1_shard-data-chains.md

Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>

* cleanup testing and lint

* return none if not active validators in persistent committee

* only allow active validators as shard proposer
2019-07-29 09:47:35 -04:00
protolambda adb6bff365
make random value generator respect byte list type limit 2019-07-27 23:57:57 +02:00
protolambda c628c8187b
SSZ static format updated to per-case outputs 2019-07-27 13:34:19 +02:00
protolambda d7728e60c9
handle meta tags passed from inner testgen decorator 2019-07-27 00:26:05 +02:00
protolambda 8a83fce3ab
fixes to decorator order, and make functions fully yield, with pytest compat. 2019-07-26 23:53:03 +02:00
protolambda e8b3f9985b
update testgen, make epoch proc work 2019-07-26 22:40:49 +02:00