Commit Graph

272 Commits

Author SHA1 Message Date
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
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 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 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 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
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 224c98a094
last() method, no negative index lookups 2019-06-20 20:55:17 +02:00
protolambda 4e747fb887
fixes for class based ssz typing 2019-06-20 20:25:22 +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
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 31a4700223
Merge conflicts on `dev` 2019-06-17 22:09:43 -04:00
Danny Ryan d7ac601b9e
Merge branch 'dev' into v071backport 2019-06-17 13:42:27 -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
Justin Drake ed748a7d76 Address Danny's comments 2019-06-15 15:09:50 +01: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
Danny Ryan 577f76aff5
Merge pull request #1165 from ethereum/phase-generators
phase restricted generators
2019-06-11 16:48:18 -06: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
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
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
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
Carl Beekhuizen 9d00a76493
Skips tests properly 2019-06-04 16:14:14 +02:00
Carl Beekhuizen c06a60c95a
Fix descriptions
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-06-04 15:37:08 +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 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
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
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
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
Danny Ryan d3d8b36365
Merge branch 'dev' into v06x-to-dev 2019-05-27 11:09:52 -06:00
Danny Ryan 8d420c0780
fix prestate for process registry updates 2019-05-27 08:38:37 -06: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
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
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
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