Commit Graph

681 Commits

Author SHA1 Message Date
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
protolambda 69052ac750
Update testgen code, and if force is not on, test generation won't run if it already exists. 2019-07-26 19:19:36 +02:00
protolambda b73625fbf1
update test generation code (work in progress), improve the simplicity of configuration in context of forks, and update docs 2019-07-25 23:13:33 +02:00
Diederik Loerakker d791e9f7e8
Merge pull request #1319 from ethereum/compact_committees-shard
Fix start shard for compact committees root
2019-07-25 21:40:06 +02:00
Hsiao-Wei Wang f1db318acb
Merge pull request #1289 from ethereum/update_ssz_fuzzing
Bump `py-ssz` to `0.1.3` and update the fuzzing tests
2019-07-26 03:34:04 +08:00
Danny Ryan 1ec20f6c1f
do not reset start_shard until after processing compact root 2019-07-25 12:59:38 -06:00
Danny Ryan bd69dc7e3c
add tests for bit lengths 2019-07-25 12:28:29 -06:00
Hsiao-Wei Wang 62772c9e79
Refactor 2019-07-25 19:41:12 +08:00
Hsiao-Wei Wang 47714cbf64
Add hash_tree_root tests against py-ssz 2019-07-25 19:38:03 +08:00
Hsiao-Wei Wang f336e7ffb3
Rename `is_empty` to `is_zero` 2019-07-25 17:32:27 +08:00
Hsiao-Wei Wang 82e2c559ca
ssz==0.1.3 2019-07-25 00:16:29 +08:00
Hsiao-Wei Wang db9091f507
Add `AttestationDataAndCustodyBit` back 2019-07-23 16:47:52 +08:00
Hsiao-Wei Wang b08ecb018a
Apply suggestions from code review
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2019-07-23 16:47:52 +08:00
Hsiao-Wei Wang f229d21faa
Bump `py-ssz` to `0.1.0a11` and update the fuzzing tests 2019-07-23 16:47:49 +08:00
Hsiao-Wei Wang bfd5010f26
Bump `py_ecc==1.7.1` 2019-07-16 14:27:34 +08:00
Danny Ryan 77f007cab5
Merge pull request #1267 from ethereum/dankrad-patch-9
Define Bitlist/Bitvector serialization using bytes, not bigints
2019-07-14 17:20:12 -06:00
protolambda b98679957b
use as_bytes function to reduce code duplication, and for later usage 2019-07-12 22:11:33 +02:00
protolambda 5a13684c7f
make exceeding limit raise an error 2019-07-12 21:23:45 +02:00
protolambda 65b0311582
more explicit about merkleization limit/pad 2019-07-12 20:39:55 +02:00
protolambda b2c8570606
fix merkleization with 0-limit case, and enforce padding limit 2019-07-12 19:09:33 +02:00
Danny Ryan 6dc306700b avoid overflow in slashing penalty calculation (#1286)
Change presentation to avoid uint64 overflow in slashing penalty calculation. (Factor out `EFFECTIVE_BALANCE_INCREMENT` from `validator.effective_balance`.)
2019-07-11 09:53:51 +01:00
dankrad 619b2a3573
Update test_libs/pyspec/eth2spec/utils/ssz/ssz_impl.py
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2019-07-03 15:10:37 +01:00
Dankrad Feist 6422acdcdd
Cosmetic change: Define Bitlist/Bitvector serialization using bytes, not bigints 2019-07-03 13:31:03 +01:00
Danny Ryan 17b0bc35d8
add json encoding for bitlist and vector 2019-06-30 22:04:47 -06:00
Danny Ryan e1030843d6
Merge branch 'dev' into last-minute-cleanups-2 2019-06-30 22:11:48 -05:00
Danny Ryan 350b9d79ae
Merge pull request #1250 from ethereum/fork_choice_rule_test
Fix `justified_checkpoint` update
2019-06-30 22:03:27 -05:00
Hsiao-Wei Wang 83a68feac6
Merge branch 'dev' into last-minute-cleanups-2 2019-07-01 09:36:13 +08:00
Hsiao-Wei Wang 8b65127c68
fix 2019-07-01 09:33:28 +08:00
Danny Ryan af5719031c
Merge branch 'dev' into fix-bls-domain-type 2019-06-30 20:28:18 -05:00
Hsiao-Wei Wang 9e5117aff7
Merge branch 'dev' into fork_choice_rule_test 2019-07-01 09:27:55 +08:00
Hsiao-Wei Wang b29c751cb7
Merge branch 'dev' into last-minute-cleanups-2 2019-07-01 09:25:06 +08:00
Danny Ryan 2ab55bf1e4
Merge pull request #1247 from ethereum/add-active-index-roots-back
add back in active_index_roots
2019-06-30 19:23:15 -06:00
Hsiao-Wei Wang 5b2b3cfe33
class DomainType would be added in build_spec 2019-07-01 09:03:35 +08:00
Hsiao-Wei Wang 1869cfed2e
test finalized_checkpoint update 2019-07-01 07:48:20 +08:00
Justin Drake aeba6ee8fb compute_domain for consistency with get_domain 2019-07-01 00:35:09 +01:00
protolambda ab2001e237
Merge branch 'dev' into last-minute-cleanups 2019-07-01 01:17:18 +02:00
protolambda b7e8733812
fix usage of bls withdrawal byte in tests 2019-07-01 00:36:24 +02:00
Hsiao-Wei Wang 84d8ca740c
Improve fork choice rule test coverage 2019-07-01 06:33:10 +08:00
protolambda bde73b59fc
fix bls_verify_multiple 2019-07-01 00:00:54 +02:00
Carl Beekhuizen 6e5f43c033
merge in `dev` and resolve conflicts 2019-06-30 23:37:56 +02:00
Carl Beekhuizen 918192cdab
`compute_slot_epoch`->`compute_epoch_of_slot` 2019-06-30 23:35:07 +02:00
Carl Beekhuizen fe68a8d1f0
Minor python style tweaks 2019-06-30 22:59:12 +02:00
Danny Ryan c42b26b0c4
add back in active_index_roots 2019-06-30 15:19:52 -05:00
protolambda e53063c08d
type BLS domain and domain type 2019-06-30 22:12:49 +02:00
Carl Beekhuizen cb71409114
Merge in `dev` 2019-06-30 22:03:19 +02:00
Justin Drake 9b5e18b61c Last minute cleanups 2019-06-30 20:51:10 +01:00
Danny Ryan 83e961d5cc
Merge branch 'dev' into update-generators 2019-06-30 14:48:12 -05:00
Carl Beekhuizen 0fd1d38417
`Misc` function rename 2019-06-30 20:58:02 +02:00
Danny Ryan 4aa676bae7
fix mainnet attestation test 2019-06-30 13:52:35 -05:00
Danny Ryan 6d5e4da3e0
PR feedback 2019-06-30 12:42:24 -05:00
protolambda 8415e6c79d
mark incompatible mainnet tests 2019-06-30 18:42:54 +02:00
protolambda cb01f3ccd9
speed up remaining attestation tests by mocking slots 2019-06-30 18:40:43 +02:00
protolambda 4b93f5d921
disable some super-long tests, and fix a few attestation signatures 2019-06-30 18:15:36 +02:00