Commit Graph

342 Commits

Author SHA1 Message Date
Danny Ryan 94d4e3a944
operations suite generator for phase0 2019-06-10 20:05:43 -06:00
Danny Ryan c4bf772d30
demo phase restricted generators for epoch processing 2019-06-10 17:26:39 -06:00
Justin Drake 05f1a44a38 Fix tests 2019-06-10 21:20:45 +01:00
Justin Drake dc56d87eef Revert a couple of renamings 2019-06-10 21:16:51 +01:00
Danny Ryan e68b495ada
Merge branch 'dev' into master-port 2019-06-10 10:53:13 -06:00
Hsiao-Wei Wang 9fc197af67
class Bytes32 2019-06-10 11:10:13 -04:00
Justin Drake 565f61dfaa Cleanup containers 2019-06-09 20:41:21 +01:00
Carl Beekhuizen 67471a8d6e
Rework of phases decorator 2019-06-06 23:30:40 +02:00
Carl Beekhuizen 956c476d81
Move over to parameterised decorators for phases 2019-06-06 16:23:30 +02:00
Carl Beekhuizen 35c03c5f3e
Adds review suggestions I missed 2019-06-06 11:45:22 +02:00
Carl Beekhuizen 4c1b9ef6d6
Fixes custody key reveal test bug 2019-06-06 11:04:55 +02:00
Carl Beekhuizen 60d9dc68c4
Apply suggestions from @djrtwo's code review 2019-06-05 21:49:30 +02:00
Carl Beekhuizen e498ff7e94
Separates tests into phases 2019-06-05 21:28:30 +02:00
protolambda b9abc5f2cf
List[uint64] is not like a type but just for annotation, same for other Generics with __args__, Vector/BytesN work, because their metaclasses produce non-parametrized types, so don't check vector values when type contains args 2019-06-05 18:53:34 +02:00
protolambda 1cc7c7309d
change to issubclass, hope parametrized external type is ok 2019-06-05 18:28:09 +02:00
protolambda a7554d503c
fix for typing check of vector elements with non-type element type (annotation) 2019-06-05 18:02:39 +02:00
Carl Beekhuizen e5fb91c4a2
Make test generators work with phase 1 execution 2019-06-05 16:23:44 +02:00
Carl Beekhuizen d761b6f041
Implements new SSZ types 2019-06-05 15:29:26 +02:00
protolambda 4bf3a26afc
fix formatting 2019-06-04 18:18:18 +02:00
protolambda 6168a90a20
speed and simplicity improvement for next_power_of_two function 2019-06-04 18:12:23 +02:00
protolambda 578328bb54
call comments: remove partials from ssz rework PR, review that seperately 2019-06-04 18:11:50 +02:00
Carl Beekhuizen f6bb47c402
Apply @dankrad's suggestions from code review 2019-06-04 17:08:18 +02:00
Carl Beekhuizen 9d00a76493
Skips tests properly 2019-06-04 16:14:14 +02:00
protolambda 59137fd5a6
fix get_zero_value exception raise + fix up type checks 2019-06-04 15:40:15 +02:00
Carl Beekhuizen c06a60c95a
Fix descriptions
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-06-04 15:37:08 +02:00
Diederik Loerakker 8631cad251
Apply suggestions from code review
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-06-04 15:22:34 +02:00
Hsiao-Wei Wang 6d55ba9c8c
minor refactor 2019-06-04 18:59:52 +08:00
Hsiao-Wei Wang e2eab66a9e
Refactor 2019-06-04 17:55:05 +08:00
Hsiao-Wei Wang a7ee6f108e
Refactor 2019-06-04 17:42:21 +08:00
protolambda fb584bc067
fix linting dependency + caching issue 2019-06-03 17:23:30 +02:00
Hsiao-Wei Wang a5576059f8
Fix `ssz_partials.py` linter errors 2019-06-03 17:19:22 +08:00
protolambda 8e8ef2d0a4
Fix forgotten setup.py change, make generators using ssz work again 2019-06-01 03:19:29 +02:00
protolambda fae1e9285d
resolve some new lint issues detected by newer version, and a few looked over ones 2019-06-01 02:40:29 +02:00
protolambda f3a517b6f6
fix minor lint problems 2019-06-01 02:32:11 +02:00
protolambda 7df788c7d5
resolve linting problems, except ssz-partials 2019-06-01 02:22:14 +02:00
protolambda df25f22f01
get rid of scope-problem inducing init trick 2019-06-01 01:55:20 +02:00
protolambda 77d4f0b407
update generator type hinting to use new type syntax 2019-06-01 01:53:50 +02:00
protolambda 33233c98ff
fix ssz imports 2019-06-01 01:51:09 +02:00
protolambda 1c734d30a0
fix utils init 2019-06-01 01:50:28 +02:00
protolambda 3cb43fcc27
fix ssz infer type decorator, one None argument too many 2019-06-01 01:49:52 +02:00
protolambda e044305457
Merge branch 'dev' into ssz-impl-rework 2019-06-01 01:34:49 +02:00
Danny Ryan 8b65b95bd4
port deposit test from #1133 2019-05-31 13:54:58 -06:00
Carl Beekhuizen 28d98b5cf4
PEP8 cleanups 2019-05-31 13:20:10 +02:00
Carl Beekhuizen 92916e5383
Tests run with both spec versions 2019-05-31 13:08:42 +02:00
Carl Beekhuizen 9e8a969f22
Removes old tests & fixes phase1 tests 2019-05-31 12:44:34 +02:00
Carl Beekhuizen 0c57cfcaa7
state builds from spec version 2019-05-31 11:33:47 +02:00
Carl Beekhuizen ec9f8f15ed
Adds Custody Tests 2019-05-31 11:32:53 +02:00
Carl Beekhuizen ed71efc061
state is kwarg 2019-05-31 10:41:39 +02:00
Carl Beekhuizen 5155bc6c4f
Makes everything pass around 2019-05-30 22:57:18 +02:00
Vitalik Buterin 3630b2ea9f Merge branch 'ssz-impl-rework' of github.com:ethereum/eth2.0-specs into ssz-impl-rework 2019-05-30 09:42:47 -04:00
Vitalik Buterin 8fae0f8c78 Added support for SSZ partials 2019-05-30 09:42:42 -04:00
Hsiao-Wei Wang ebdf74c6b8
kick the CI 2019-05-30 15:57:39 +08:00
Michael Sproul cc5b172da3 Test deposit top-up with inconsistent withdrawal credentials (#1133)
* Simplify deposits

* Avoid divisions by zero

Possible fix to avoid four cases of divisions by zero:

* `return state.validator_registry[index].effective_balance // adjusted_quotient // BASE_REWARDS_PER_EPOCH`
* `rewards[index] += get_base_reward(state, index) * attesting_balance // total_balance`
* `validator.effective_balance * min(total_penalties * 3, total_balance) // total_balance`
* `rewards[index] += base_reward * attesting_balance // committee_balance`

See also #1107.

* fix deposit test for new index handling

* tests: deposit with inconsistent withdrawal credentials

* Update README.md

* Update 0_beacon-chain.md

* Fix linter errors

* Update test_process_deposit.py

* fix deposit test

* fix lint
2019-05-29 20:38:55 -06:00
Danny Ryan f0314bec52
Merge branch 'dev' into JustinDrake-patch-13 2019-05-29 20:15:17 -06:00
Hsiao-Wei Wang 6ec59867ef
Fix linter errors 2019-05-30 09:53:46 +08:00
Danny Ryan 6286fb3fb5
Merge branch 'dev' into JustinDrake-patch-13 2019-05-28 18:15:33 -06:00
Vitalik Buterin 053d6e7805 Simplified hash tree root 2019-05-28 14:33:12 -04:00
Vitalik Buterin 4955c40a7b merge 2019-05-28 09:44:53 -04:00
protolambda 401dba3230
Merge branch 'bls-setting' into v06x-to-dev 2019-05-28 15:38:08 +02:00
protolambda 6ffd41650b
suggestion from hww, reduce into one bls_setting key 2019-05-28 15:35:00 +02:00
Vitalik Buterin 19601df572 Starting work on partials 2019-05-28 09:30:35 -04:00
Hsiao-Wei Wang f0ceefc36d
Make `test_libs/pyspec/tests` pass
1. Use `typing_inspect` library to check if it's `typing.List[Any]`. Use it in `is_list_type`.
2. Add `__hash__`, `__eq__`, `__repr__` methods to some classes.
2019-05-28 13:57:42 +08:00
Hsiao-Wei Wang 00ffaf4d71
Fix ssz path 2019-05-28 12:37:41 +08:00
protolambda 5e28adf556
bugfix: don't forget about var-length bytes getting a length mixin 2019-05-28 00:51:27 +02:00
protolambda 9e61cc2ed3
bugfix: typing edge-case: python bool is subclass of int. 2019-05-28 00:45:13 +02:00
protolambda 0e9a047b1d
Merge branch 'dev' into ssz-impl-rework 2019-05-28 00:42:35 +02:00
Danny Ryan 47f3df6d0a
fix deposit test for new index handling 2019-05-27 16:40:00 -06:00
protolambda d023d2d20f
lots of bugfixes 2019-05-27 23:40:05 +02:00
protolambda 0f79ed709b
update yaml encoder/decoder and obj randomizer for typed ssz usage 2019-05-27 22:19:18 +02:00
protolambda c68944bd53
separate type (direct) from kinds (alias incl) 2019-05-27 22:18:34 +02:00
protolambda 87b3466eae
update encoder and decoder for reading from parsed data 2019-05-27 21:46:14 +02:00
protolambda d63b553a2d
efficiency bugfix in bytes encoding, improve typing doc + bugfix 2019-05-27 21:45:47 +02:00
protolambda f3088884b3
Minor adjustments + getting the beacon spec doc ready 2019-05-27 20:29:53 +02:00
Danny Ryan d3d8b36365
Merge branch 'dev' into v06x-to-dev 2019-05-27 11:09:52 -06:00
protolambda d5eab257d0
improve impl, box less used integer types, use uint64 as default 2019-05-27 18:01:46 +02:00
Danny Ryan 8d420c0780
fix prestate for process registry updates 2019-05-27 08:38:37 -06:00
Vitalik Buterin e14f789779 Presentation edits 2019-05-27 08:07:00 -04:00
Vitalik Buterin 5b6a98b107 Some updates 2019-05-25 14:06:42 -04:00
Carl Beekhuizen c4b9c6372c
Merge in state_transition.py 2019-05-25 15:54:14 +02:00
protolambda ed4416ba34
update SSZ implementation 2019-05-25 00:05:03 +02:00
protolambda b12031b48d
not signed by default 2019-05-24 18:38:51 +02:00
protolambda 321baf79f4
fix missing imports from earlier code suggestion 2019-05-24 15:03:03 +02:00
protolambda 73f0f74fb0
run process yield-from test pattern 2019-05-24 14:58:06 +02:00
Carl Beekhuizen d41bc67ec8
merge dev -> dankrad-patch-7 2019-05-24 14:56:10 +02:00
Diederik Loerakker f2e3cd01aa
Update test_libs/pyspec/eth2spec/test/epoch_processing/test_process_crosslinks.py
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-05-24 08:34:14 -04:00
protolambda 57dd9fc4ff
fix syntax 2019-05-24 01:15:49 +02:00
protolambda f98a8d534e
update epoch processing tests to conform to processing pattern, add docs for epoch sub-transition testing 2019-05-23 23:50:58 +02:00
protolambda 21c48b574f
move sanity tests, separate slot tests 2019-05-23 23:32:21 +02:00
protolambda 1bbab9aa00
more direct in what is happening in test utils 2019-05-23 22:28:11 +02:00
protolambda f0c9e7a395
ignore just the one crosslinks case that is incompatible with mainnet 2019-05-23 22:26:36 +02:00
Danny Ryan 3500bde594
only sign in test_double_late_crosslink when necessary 2019-05-23 11:01:07 -06:00
protolambda 754d972108
implement epoch processing test-gen, bugfix tests 2019-05-23 15:13:37 +02:00
protolambda 958f71bb68
minor underflow fix for proposer slashing test 2019-05-22 21:03:46 +02:00
protolambda 58fd712607
fix style issue with deposit processing helper 2019-05-22 20:50:18 +02:00
Carl Beekhuizen 271f615873
Dramatically speed up tests 2019-05-22 12:40:57 +02:00
Carl Beekhuizen 9058647b67
flake8v3.7->flake8v3.5 2019-05-22 10:28:03 +02:00
Danny Ryan dad89ae926
minor lint 2019-05-21 23:20:12 -06:00
Danny Ryan 2c79e584c2
minor lint 2019-05-21 22:42:47 -06:00
protolambda 7d3147d418
add inconsistent bitfields test 2019-05-22 04:19:54 +02:00
protolambda 6b5f4b44ea
avoid zero constant for deposits fork-version, just default to it 2019-05-22 01:39:20 +02:00