Commit Graph

562 Commits

Author SHA1 Message Date
Dankrad Feist 02f6ba36f0
Add Bitvector and Bitlist
Bool, Bit -> boolean, bit
Fix simple-serialize.md
2019-06-27 09:51:06 +01:00
Justin Drake bcfe383e25 WIP 2019-06-27 08:44:44 +01:00
protolambda e49519a53b
wrong end epoch test 2019-06-27 02:50:49 +02:00
protolambda a0c2f5c6b5
fix genesis testing code, add missing constant temporarily, fix py Generator/map/list problems 2019-06-27 01:57:30 +02:00
protolambda aecaed7a66
move genesis tests, structure properly, add yield keys for future test-vec generator 2019-06-27 01:56:52 +02:00
protolambda a62d0261ca
merge with dev, fixed now 2019-06-27 01:31:10 +02:00
protolambda 235c3d6841
re-enable test_empty_epoch_transition_not_finalizing for minimal config 2019-06-27 00:58:25 +02:00
protolambda f7b3c87715
check invalid state root 2019-06-27 00:43:50 +02:00
protolambda 8445d1d90c
fix formatting for lint 2019-06-27 00:37:32 +02:00
protolambda ff2d711d51
test block application on same and on previous slot state 2019-06-27 00:37:20 +02:00
protolambda 7a418ed682
test messed up indices in attester slashings 2019-06-26 23:40:56 +02:00
protolambda 24aa0646c0
new process-slashings tests, and epoch processing bugfix with transition-to-excl not working when not yielded from 2019-06-26 22:22:21 +02:00
protolambda 46dc3f39bb
detach crosslink tests from extra block 2019-06-26 22:22:21 +02:00
protolambda c66031f55c
fix crosslink tests, fix generalization of epoch processing 2019-06-26 22:22:21 +02:00
protolambda aedd281edb
clean up epoch processing testing 2019-06-26 22:22:21 +02:00
protolambda c4c9bd32e2
test_eth1_vote_no_reset 2019-06-26 22:22:21 +02:00
protolambda b2034a54a0
generalize epoch processing testing, add final-processing tests 2019-06-26 22:22:20 +02:00
protolambda 0e3c2cef5c
fix transfer tests, add 2 new tests 2019-06-26 22:22:20 +02:00
protolambda b4b4e9571d
test activation queue 2019-06-26 22:22:20 +02:00
protolambda c4b88e68e1
different new-deposit tests 2019-06-26 22:22:20 +02:00
Diederik Loerakker 6266133572
rename test methods based on suggestion
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-06-26 22:22:20 +02:00
protolambda e79b47e3c3
non-existent transfer participants tests 2019-06-26 22:22:20 +02:00
protolambda 063d94b9c7
Bugfix transfer tests 2019-06-26 22:22:19 +02:00
protolambda 55d86b4f13
effective balance testing in deposits 2019-06-26 22:22:19 +02:00
protolambda 1d6b1cab13
expected deposit count test 2019-06-26 22:22:01 +02:00
protolambda 64e15c524b
improve intersection test, just 1 index is enough. And add invalid att1/att2 tests 2019-06-26 22:19:34 +02:00
protolambda f75e3dccb2
test old and future target epoch in attestation 2019-06-26 22:19:34 +02:00
protolambda 327953852d
test invalid shard in attestation 2019-06-26 22:19:34 +02:00
protolambda 13b67b4cde
sign blocks in eth1 vote tests 2019-06-26 22:19:34 +02:00
protolambda f54d1a56f7
eth1 voting no consensus test 2019-06-26 22:19:27 +02:00
protolambda b133dedeaf
Eth1 data test 2019-06-26 22:11:40 +02:00
Diederik Loerakker d587c4fe61 Critical fix: introduce back total-value check (#1220)
This was dropped in a376b6607f, as improvement in dust checking.
Now that dust-checking is done, we still need to check if the sender has the minimum value, as decrease balance just clips to 0.
See be86f966f8 for older dust-creation problem work around, which was dropped in the above.

The bug enabled you to transfer your full balance to someone else, and pay the same amount in fee, possibly to a puppet proposer to collect back funds.
Effectively enabling printing of money. Silly bug, good to fix and introduce tests for.
2019-06-26 20:21:17 +01:00
Danny Ryan 0827fbd7d5
Merge branch 'fork-choice-epoch' into checkpoints 2019-06-25 15:00:04 -06:00
Danny Ryan c64289677f
fix gethead tests 2019-06-25 14:47:46 -06:00
Danny Ryan 228195d89d
get head tests 2019-06-25 11:48:55 -06:00
protolambda 3b5c7f243a
type hint uint input 2019-06-25 19:32:49 +02:00
Danny Ryan ac06362716
Merge branch 'fork-choice-epoch' into checkpoints 2019-06-25 10:37:04 -06:00
Danny Ryan 846ca649aa
properly construct genesis latest block header in tests 2019-06-25 10:36:11 -06:00
Carl Beekhuizen f29b693a9c
Merge dev -> early_spec_test 2019-06-25 17:11:04 +02:00
Danny Ryan b8c0985e60
merge in fork choice. tests pass 2019-06-24 22:12:55 -06:00
Danny Ryan bacd4b1e89
Merge branch 'fork-choice-epoch' into checkpoints 2019-06-24 21:26:28 -06:00
Danny Ryan d9b97578c0
lint 2019-06-24 21:23:24 -06:00
Danny Ryan 751738f411
enhance fork choice testing 2019-06-24 21:01:15 -06:00
protolambda a5b7564c5b
hash-tree-root tests 2019-06-25 02:37:05 +02:00
protolambda 5989e5cd23
use Bool as base name, make Bit an alias 2019-06-24 23:56:26 +02:00
protolambda c73417b4ca
deserialize-basic detail, make subclass 2019-06-24 23:40:47 +02:00
protolambda 82ae180490
clean up list limit constants 2019-06-24 23:38:36 +02:00
Carl Beekhuizen 139d0f56f1
Finishes moving mask to hash() 2019-06-24 16:26:21 +02:00
Carl Beekhuizen d9644f518b
mask is hash() in tests
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-06-24 16:08:13 +02:00
Justin Drake 181a2a876a Cleanups 2019-06-22 22:49:53 +02:00
protolambda da858f1aae
fix int encoding, fix list randomization size limit. 2019-06-22 21:49:42 +02:00
protolambda 9befe09f82
test merkleize chunks 2019-06-22 21:27:56 +02:00
protolambda 0249cf651e
fix lint, and update encoder to handle the few imported types well 2019-06-22 20:04:17 +02:00
Danny Ryan 8a732fbbcf
pass on checkpoints working in testing 2019-06-22 12:00:26 -06:00
protolambda 47034a6c8c
fix imports in helper test file 2019-06-22 19:59:53 +02:00
protolambda e873bbd73b
support list casting 2019-06-22 19:59:15 +02:00
protolambda dd5ad2e2c5
remove unnecessary (and now outdated) type hints, update List encoding for generators 2019-06-22 19:48:06 +02:00
protolambda f95e7315b4
fix get_active_validator_indices typing usage 2019-06-22 18:34:33 +02:00
Carl Beekhuizen a5b22e13b8
Resolves make masker sign mask 2019-06-22 16:56:16 +02:00
Hsiao-Wei Wang 183fa3c776
Make linter happy 2019-06-21 23:09:11 -06:00
Hsiao-Wei Wang 6aef6c5634
Clean up 2019-06-21 22:26:15 -06:00
Hsiao-Wei Wang 5f09212777
yield for `is_genesis_trigger` 2019-06-21 22:09:09 -06:00
Hsiao-Wei Wang 24ad42663f
`spectest_with_bls_switch` decorator 2019-06-21 22:02:03 -06:00
Hsiao-Wei Wang 7468fd034f
Add more test 2019-06-21 21:50:36 -06:00
Hsiao-Wei Wang 8828dad786
minor updates 2019-06-21 17:07:44 -06:00
Hsiao-Wei Wang e7c595d1d6
Fix test_process_deposit.py 2019-06-21 16:33:24 -06:00
Hsiao-Wei Wang ac34221f55
Fix `is_genesis_trigger` and add test case 2019-06-21 16:30:31 -06:00
Hsiao-Wei Wang 7a16db144c
Add test_genesis 2019-06-21 15:59:18 -06:00
Danny Ryan 8f99741344
remove commented old code 2019-06-21 14:47:18 -06:00
Danny Ryan c09e45c5fc
fix rule_4 underflow and split out genesis finality test 2019-06-21 14:45:15 -06:00
protolambda 80c40f5e09
merge dev, resolve minor merge conflicts 2019-06-21 21:22:23 +02:00
protolambda b7b2fee635
uint add/sub type checking, fixes #1029 2019-06-21 21:12:27 +02:00
Carl Beekhuizen 0e59c6676a
Stop yielding from fork-choie tests 2019-06-21 13:00:42 +02:00
protolambda 6648b3c49e
remove old deposits test, there is no deposit index in deposit data anymore 2019-06-21 00:23:28 +02:00
protolambda c20372409c
comment out old deposit test, re-introduced soon maybe, cc Justin 2019-06-20 22:52:16 +02:00
protolambda f27c44b953
fix deposit negative index fail 2019-06-20 22:49:34 +02:00
protolambda 6338c5b880
fix custody bug, needs review from Carl 2019-06-20 22:49:03 +02:00
protolambda d8f470bb4a
enable slicing of SSZ lists/vectors 2019-06-20 22:34:19 +02:00
protolambda 2d67717079
fix linting issues + make spec builder remove comments in container re-initialization part 2019-06-20 21:42:55 +02:00
protolambda b4ef672f87
deal with deepcopy modifying vector length from 0 to full length during copy 2019-06-20 21:12:46 +02:00
protolambda 8bd204827b
improve type coercion; coerce between equal-length uint subclasses 2019-06-20 21:08:34 +02:00
protolambda 8c6d2b42d8
update ssz-pyssz decoder for fuzzing 2019-06-20 21:07:23 +02:00
Carl Beekhuizen c26fffc154
Moves copy into SSZ container 2019-06-20 20:55:28 +02:00
protolambda 224c98a094
last() method, no negative index lookups 2019-06-20 20:55:17 +02:00
protolambda f157745248
resolve some remaining list-rework rebase details 2019-06-20 20:42:19 +02:00
protolambda 82240d8dbd fix vector default type 2019-06-20 20:31:16 +02:00
protolambda 977856b06f
ssz typing now subclasses list/bytes, much easier to work with than wrapped list/bytes functionality 2019-06-20 20:30:42 +02:00
protolambda 4e747fb887
fixes for class based ssz typing 2019-06-20 20:25:22 +02:00
protolambda 7cdec746b4 fix field iteration crash in ssz typing 2019-06-20 20:20:45 +02:00
protolambda a33c67894e update ssz testing/debug utils 2019-06-20 20:20:45 +02:00
protolambda 6b82e3faa5
Modifications from Vitalik, to enable SSZ Partials 2019-06-20 20:20:07 +02:00
protolambda 5be0c57aad fix linting + mypy 2019-06-20 20:17:29 +02:00
protolambda 4aefc078e9
list-rework type fixes 2019-06-20 20:11:39 +02:00
protolambda 8c6ddd5233 container field coercion 2019-06-20 20:05:57 +02:00
protolambda 73ba419d64 check virtual lengths, fix imports 2019-06-20 20:05:57 +02:00
protolambda 0a43003b42 minor test improvements 2019-06-20 20:03:21 +02:00
protolambda 8bd2e878ef bugfixes and typing improvements 2019-06-20 20:03:21 +02:00
protolambda 08e6f32f38 typing improvements, type testing 2019-06-20 20:03:21 +02:00
protolambda 4ebdceaf12
highly experimental typing 2019-06-20 19:57:50 +02:00
protolambda 108410d862 Change byte to explict class instead of newtype 2019-06-20 19:56:09 +02:00
protolambda 82e7392b17 default method for container is recognized now 2019-06-20 19:56:09 +02:00
Diederik Loerakker 3a9b1fb72c Update test_libs/pyspec/eth2spec/utils/ssz/ssz_impl.py
Co-Authored-By: vbuterin <v@buterin.com>
2019-06-20 19:56:09 +02:00
Diederik Loerakker 54a1fa9abe Update test_libs/pyspec/eth2spec/utils/ssz/ssz_impl.py
Co-Authored-By: vbuterin <v@buterin.com>
2019-06-20 19:56:09 +02:00
protolambda cd5f59eb74
fix bytes value check, fix default-type checking 2019-06-20 19:55:53 +02:00
protolambda b6cf809d9b
more improvements, and implement new space-efficient merkleization with padding support 2019-06-20 19:54:59 +02:00
protolambda d1ecfd510e
typing improvements 2019-06-20 19:53:32 +02:00
vbuterin 8919f628cb Update test_libs/pyspec/eth2spec/utils/ssz/ssz_impl.py
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2019-06-20 19:52:02 +02:00
Vitalik Buterin 7c4232455c Added get_container_type to get_zero_value 2019-06-20 19:52:02 +02:00
protolambda 5ddfe34f0c
Simplified SSZ impl 2019-06-20 19:51:38 +02:00
Carl Beekhuizen e0d814df32
Merge branch 'dev' into executable_fork_choice
* dev:
  Increase historical length and cleanups (#1196)
2019-06-19 22:43:14 +02:00
Carl Beekhuizen 241fe34da7
Workaround for python3.6 2019-06-19 22:37:51 +02:00
Danny Ryan 29dbe1b880 Increase historical length and cleanups (#1196)
* increase historical length and a few cleanups
2019-06-19 20:59:44 +01:00
Carl Beekhuizen 3418c3506f
Merge dev and resolve conflicts (please let the CI tests pass with the new dev) 2019-06-19 20:27:54 +02:00
Carl Beekhuizen 31a4700223
Merge conflicts on `dev` 2019-06-17 22:09:43 -04:00
Hsiao-Wei Wang 01e9f18713
Merge branch 'dev' into mypy 2019-06-17 17:51:46 -04:00
Hsiao-Wei Wang 9af9bbf42b
Merge branch 'dev' into mypy 2019-06-17 17:51:00 -04:00
Danny Ryan d7ac601b9e
Merge branch 'dev' into v071backport 2019-06-17 13:42:27 -06:00
Carl Beekhuizen 2ea6cede3e
Moves fork-choice objects away from SSZ 2019-06-17 10:48:33 -04:00
Danny Ryan 25a16bd26a
Merge pull request #1178 from ethereum/decode-with-pyssz
Fuzzing utilities package / SSZ decoding for spec
2019-06-16 17:25:50 -06:00
Carl Beekhuizen 9f2d06b2e7
Somehow I had indented with 5 spaces everywhere. 2019-06-16 16:02:56 -04:00
Carl Beekhuizen f421850dc9
Fixes tests! Thanks @hwwhww! 2019-06-16 15:53:42 -04:00
Carl Beekhuizen 4deb311b71
Debugging 1st test 2019-06-16 12:17:31 -04:00
Carl Beekhuizen 5d10cd63c7
SSZ (partially) handles Dicts 2019-06-16 09:52:52 -04:00
Carl Beekhuizen 061ecf7d0a
Adds fork-choice tests 2019-06-15 19:13:56 -04:00
Hsiao-Wei Wang 00a68e28b5
Define Custom Types via function_puller 2019-06-15 16:57:50 -04:00
Justin Drake ed748a7d76 Address Danny's comments 2019-06-15 15:09:50 +01:00
protolambda 367586d888
remove need for presets loading, just test mainnet, not too many/large objects anyway 2019-06-14 21:31:33 +02:00
protolambda 895ab67815
fix decoder, also fix bug in pyssz, see PR 74 2019-06-14 20:41:08 +02:00
protolambda 01be8b7e65
minor fix 2019-06-14 19:16:15 +02:00
protolambda 7b0ffc1ace
move decoder for fuzzing, minor fixes, update dependency to support SOS style offsets 2019-06-14 19:09:49 +02:00
Danny Ryan a6230425b8
Merge branch 'dev' into container-cleanup 2019-06-14 10:36:41 -06:00
Danny Ryan f834f727fa
lint 2019-06-13 18:03:20 -06:00
Danny Ryan c391017a05
address #1146 by inserting state root and re-signing blocks in tests 2019-06-13 17:57:29 -06:00
Diederik Loerakker e4704e08cc
Merge pull request #1175 from ethereum/bytes-type-error
fix #1169 bytes type error
2019-06-13 22:49:19 +02:00
Danny Ryan 4a08abfa1d
ensure sanity tests run with bls 2019-06-13 14:47:53 -06:00
Danny Ryan 7c0cc7f801
fix #1169 bytes type error 2019-06-13 14:32:45 -06:00
Hsiao-Wei Wang 7a366828ba
Make phase0 pass 2019-06-12 14:54:00 -04:00
Danny Ryan 577f76aff5
Merge pull request #1165 from ethereum/phase-generators
phase restricted generators
2019-06-11 16:48:18 -06:00
protolambda 9ec395c04f
fig linting + improve docs + structure of hash optimization 2019-06-11 21:53:38 +02:00
protolambda f4814862fe
fix typing check, add zero-hash cache to hash function 2019-06-11 19:23:45 +02:00
protolambda 22f624e12e
re-order type check for more speed 2019-06-11 18:08:27 +02:00
protolambda 7fafebd6cf
missed one case, fix withdrawal byte <> int problem 2019-06-11 17:32:42 +02:00
protolambda 2d636ddf5a
BLS withdrawal byte is formatted as int now, but still one byte. Justin changed spec, now fix tests + configs 2019-06-11 17:27:34 +02:00
Danny Ryan cc625c7d6d
lint 2019-06-11 09:26:23 -06:00
Danny Ryan ef1ef753a3
comment out transfer test from sanity tests 2019-06-11 09:16:37 -06:00
protolambda e86771250b
Fix tests to use new constant name 2019-06-11 17:16:02 +02:00
protolambda 46d8422510
fix ssz container recognition for generators 2019-06-11 16:49:36 +02:00
Hsiao-Wei Wang 9f454185f8
WIP!
1. Use custom types in SSZ declaration
2. Casting
2019-06-11 00:44:54 -04:00
Hsiao-Wei Wang 8b64f37d22
Make uint64 be `class` for type hinting 2019-06-10 23:16:59 -04:00
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
Hsiao-Wei Wang a5576059f8
Fix `ssz_partials.py` linter errors 2019-06-03 17:19:22 +08: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
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
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
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 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 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
protolambda 7d3147d418
add inconsistent bitfields test 2019-05-22 04:19:54 +02:00
protolambda a4363ba096
tests for invalid signatures 2019-05-22 00:52:57 +02:00
protolambda 12af078a6c
make decorators return wrapped fn results properly 2019-05-21 23:03:59 +02:00
protolambda 8303c58aa4
bugfix, make BLS wrapper propagate test output properly 2019-05-21 22:53:46 +02:00
protolambda cfc037fe75
tags applied after generation of vector (and only if), make BLS decorator 2019-05-21 22:28:47 +02:00
protolambda ee9c1d911f
test tagging pattern 2019-05-21 21:51:28 +02:00
protolambda 4d08e9d7d6
signed block header 2019-05-21 21:22:32 +02:00
Carl Beekhuizen 24c4d21d5e
Minor edits + PEP8 2019-05-21 12:41:24 +02:00
Carl Beekhuizen 6b062405c9
merge dev -> carl-exec-phase1 2019-05-20 20:59:08 +02:00
protolambda ab251d4797
make tests work fast + bls signed optionally 2019-05-20 20:44:54 +02:00
protolambda b0aea2a111
bugfix block proc transfer test 2019-05-20 19:38:18 +02:00
Carl Beekhuizen cfed4bb41c
Adds missing functions 2019-05-20 10:50:07 +02:00
Danny Ryan a2108741e8
fix tests with new starT_epoch and end_epoch in Crosslink 2019-05-19 15:47:59 -06:00
protolambda 90bcbd6ff4
fix attester slashing test 2019-05-17 21:56:41 +02:00
protolambda a10aba4bb9
make valid attest creation fill aggregate bitfield 2019-05-17 21:36:17 +02:00
protolambda 0f00b43698
reduce validator key count again, fix valid attestation creation - snippet from Danny 2019-05-17 21:26:18 +02:00
protolambda 08d0ff9336
fix attestation aggregate bitfields 2019-05-17 21:20:09 +02:00
protolambda 183e3a5153
minor refactor import fix 2019-05-17 21:02:00 +02:00
protolambda f937dec2a1
more keys, more validators, fix import 2019-05-17 20:54:34 +02:00
protolambda 62999d8ded
import fixes + fix import loop + fix minor signing things 2019-05-17 20:31:21 +02:00
Carl Beekhuizen 306a613c8a
Simplify minimal SSZ again 2019-05-16 21:01:32 +02:00
Carl Beekhuizen 3e085947b7
Linted :) 2019-05-16 12:38:50 +02:00
protolambda eea6c8f645
voluntary exit testing sigs 2019-05-15 23:26:05 +02:00
protolambda 9f00e4f0e4
sign transfers 2019-05-15 21:07:44 +02:00
protolambda 32efe49b33
proposer slashing signing 2019-05-15 21:07:24 +02:00
protolambda 242bb8c912
sign deposits 2019-05-15 20:50:20 +02:00
protolambda b92a9d8857
sign block headers 2019-05-15 20:50:11 +02:00
protolambda a9069cbf9e
attester slashing signing 2019-05-15 19:53:35 +02:00
protolambda 4dad74eec3
attestation signing 2019-05-15 19:47:50 +02:00
protolambda 8a43ec0132
add signing methods 2019-05-15 19:31:02 +02:00
protolambda 5c3e760c28
update remaining imports 2019-05-15 18:58:12 +02:00
protolambda e07f1bc98f
update imports to new helpers + fix up imports 2019-05-15 18:45:25 +02:00
protolambda a4e22639f3
fix/update bls funcs for testing 2019-05-15 18:37:11 +02:00
protolambda 51c82c5b81
clean up helpers, make helpers pkg 2019-05-15 18:36:32 +02:00
protolambda ce4daea201
Merge branch 'bls-test-deco' into tests-with-sigs 2019-05-15 17:41:04 +02:00
Carl Beekhuizen c10fb92776
Merge dev -> dankrad-p-7 2019-05-15 10:36:01 +02:00
protolambda 904e2e9c0c
BLS on/off deco 2019-05-13 23:15:02 +02:00
Danny Ryan 27c8e41b32
Merge branch 'dev' into JustinDrake-patch-14 2019-05-13 16:29:29 -04:00
protolambda 08faa86d70
POC ssz types spec build + update spec defs, typing still needs work 2019-05-12 23:56:53 +02:00
protolambda 761c9e55fe
SSZ impl. rework started, see issue 1064 2019-05-12 23:16:17 +02:00
protolambda 4f3f68bc12
signatures in tests, most block-ops updated, still many to go 2019-05-11 21:31:37 +02:00
protolambda 680017f69c
voluntary exit test case: invalid, exit in future 2019-05-11 18:33:41 +02:00
protolambda 636a45a415
voluntary exit test case: invalid index 2019-05-11 18:31:05 +02:00
protolambda 17d057e503
improve transfer testing 2019-05-11 18:24:30 +02:00
protolambda b4be220a48
new attestation tests
Co-Authored-By: Dmitry S <zilm13@users.noreply.github.com>
2019-05-11 17:52:44 +02:00
protolambda a39623a95a
fix test tooling bug 2019-05-11 17:51:02 +02:00
protolambda 3189cf0079
new proposer slashing tests
Co-Authored-By: jannikluhn <jannik@brainbot.com>
2019-05-11 17:01:12 +02:00
Hsiao-Wei Wang e1343f99bb
Fix pyspec/eth2spec/debug lint 2019-05-09 14:34:23 +08:00
Dankrad Feist 6ab55efd3d
Phase 0 tests work on phase 1, yay :) 2019-05-08 23:30:08 +01:00
protolambda d9baee2481
move tests to standard pkg/test folder, enable conftest options with soft-import, update readme and makefile 2019-05-08 18:14:47 +02:00
protolambda f9539ed1ab
move tests, update operations test vector generation 2019-05-08 17:33:09 +02:00
Dankrad Feist a604d03dff
Basic phase 1 pulling + correcting syntax errors in phase 1 2019-05-07 12:13:22 +01:00
Justin 9eeca0cdbd
Merge branch 'dev' into JustinDrake-patch-14 2019-05-07 10:16:38 +01:00
protolambda bbaa1417a8
remove incorrect unnecessary offset 2019-05-02 09:16:01 +02:00
protolambda 524d7b09ba
implement SOS serialization in minimal_ssz.py 2019-05-02 00:34:17 +02:00
Justin Drake 5df79d7565 Get rid of state_transition.py 2019-05-01 13:14:10 +01:00
Justin Drake 591a2b47c8 Simplify state_transition.py 2019-05-01 12:08:15 +01:00
Justin d067a9fcf2
Merge branch 'dev' into JustinDrake-patch-14 2019-04-20 15:19:21 +10:00
Justin Drake f908c8d3e0 Revamped balances and incentivisation 2019-04-20 15:17:33 +10:00
protolambda 3a5243cc89
apply PR suggestions from djrtwo 2019-04-19 12:09:30 +10:00
protolambda 627c1a347a make encoder output large uints as string, and fix ssz suite config setting 2019-04-19 12:06:00 +10:00