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
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
0e136b1104
update yaml and eth-utils dependencies
2019-05-21 22:55:22 +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
Danny Ryan
847fcf52cc
utilize bls_domain directly for deposits
2019-05-21 11:30:38 -06: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
65b0701f8c
Helpers depend on spec version and p1 tests work
2019-05-20 18:14:37 +02:00
Carl Beekhuizen
b68c471a54
Moves spec to global variable
2019-05-20 17:08:03 +02:00
Carl Beekhuizen
cfed4bb41c
Adds missing functions
2019-05-20 10:50:07 +02:00
Danny Ryan
4c5e054883
fix previous crosslink root test
2019-05-19 16:11:39 -06:00
Danny Ryan
62f8d19ffc
add some attestation crosslink tests
2019-05-19 16:06:10 -06: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
Carl Beekhuizen
b1711b4ff1
Implements parameterised phase1 tests
2019-05-16 12:10:08 +02:00
Carl Beekhuizen
1b2e7c1b6e
Passes spec & helpers module to tests phase0
2019-05-16 11:07:21 +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
becda4f463
Several changes before I break everything
2019-05-15 16:26:49 +02:00
Carl Beekhuizen
77b29f4960
Early derived secret testing
2019-05-15 15:17:01 +02:00
Carl Beekhuizen
f3742566f7
The new test structure starts to take shape
2019-05-15 15:02:27 +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
ec230f443a
Merge branch 'dev' into dankrad-patch-7
...
# Conflicts:
# specs/core/1_custody-game.md
# specs/core/1_shard-data-chains.md
2019-05-09 01:00:25 +01:00
Dankrad Feist
3217938b6f
Re-add early derived secret reveal tests
2019-05-08 23:48:12 +01: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
Danny Ryan
33e5b98f17
Merge branch 'dev' into JustinDrake-patch-10
2019-05-08 08:42:47 -06:00
Danny Ryan
513c44bd3d
add back in empty attestation test
2019-05-08 08:38:14 -06:00
protolambda
683fe0062f
fix blocks
2019-05-07 18:38:58 +02:00
Dankrad Feist
1db49f4c98
Merge branch 'dev' into dankrad-patch-7
...
# Conflicts:
# specs/core/1_custody-game.md
2019-05-07 12:27:24 +01: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
Danny Ryan
8e619f8ab9
port finality tests to new format. still has excessive deepcopies
2019-05-06 16:23:31 -06:00
Danny Ryan
e5a50bc8a0
finish port of test_sanity to new format
2019-05-06 16:12:13 -06:00
Justin Drake
ea60fb632c
More renaming
2019-05-06 20:49:46 +01:00
Justin Drake
f4db9ebae0
Renamings triggered by HW comment
2019-05-06 18:26:14 +01:00
Justin
7ba13aa4c5
Merge branch 'dev' into JustinDrake-patch-21
2019-05-06 17:48:09 +01:00
protolambda
d2afed847a
fix deposit testing generalization
2019-05-06 18:05:40 +02:00
protolambda
89a2bd2bea
work on sanity tests
2019-05-06 17:43:02 +02:00
JSON
d1c96c1e0d
Doc standardization ( #1039 )
2019-05-06 16:30:32 +01:00
protolambda
1722d58067
updat epoch processing tests
2019-05-06 17:10:43 +02:00
protolambda
922a30a619
update voluntary exit tests
2019-05-06 16:51:46 +02:00
protolambda
4820ac9d1a
update transfer tests
2019-05-06 16:35:01 +02:00
protolambda
802f2710c3
clean import, update proposer slashing test
2019-05-06 16:30:13 +02:00
protolambda
90a56e2f5b
update deposit testing
2019-05-06 16:24:11 +02:00
protolambda
9ff52193b1
update block header testing
2019-05-06 16:23:53 +02:00
protolambda
61c0ddbcbb
update attester slashing testing
2019-05-06 16:23:33 +02:00
protolambda
7bbf9ed3fc
update attestation testing
2019-05-06 16:23:15 +02:00
protolambda
dcedfc350a
move out spec state test deco
2019-05-06 16:22:51 +02:00
protolambda
a8d8da25fd
fix wording and improve encoding logic
2019-05-06 15:40:18 +02:00
protolambda
8b24abde31
implement spectest decorator, update attestation tests
2019-05-06 00:31:57 +02:00
Justin Drake
5fb32fd19b
Fix tests
2019-05-05 12:10:39 +01:00
Danny Ryan
f57d6fa28e
Merge pull request #1038 from ethereum/master
...
backport v0.6.1 into dev
2019-05-03 16:28:24 -06:00
Danny Ryan
c011feb3c7
Merge pull request #1024 from ethereum/sos_ssz_py
...
implement SOS serialization in minimal_ssz.py
2019-05-03 15:43:07 -06:00
Justin Drake
197a7200ef
Add HW and Danny comments
2019-05-03 21:21:42 +01:00
dankrad
c0f3453093
RANDAO reveal slashing, custody period staggering and integration of custody and RANDAO reveals ( #880 )
...
* Add RandaoRevealSlashing for early Randao reveals
* add some randao reveal slashing tests
* Unifying RANDAO reveal slashing and Custody reveal slashing; implemented more lenient penalty for not-to-early reveals
* Fix custody reveal domain
* Also test exposed_randao_reveals
* Re-add exposed_randao_reveals to validator initialization
* Fix tests
* Unified Randao Reveal slashing mechanism and Custody Reveal,
CUSTODY_PERIOD_TO_RANDAO_PADDING = EPOCHS_PER_CUSTODY_PERIOD
* Move exposed_randao_reveals into separate data structure to keep validator record clean
* new shiny staggered custody periods
* Fixes style and type hinting
* removes whitespace
* Cleans up multi-line conditionals
* Make RANDAO key reveal penalties proportional to block rewards
* Minor typos
* Minor typos
* Fixes off-by one error
* Removes unnecicary whitepsace
* Clean up comments; add test for key reveal too far in the future
* Reduce the CUSTODY_PERIOD_TO_RANDAO_PADDING again
* Fix max_proposer_slot_reward
* Fix types
* Move test
* Fix RandaoKeyReveal tests
* Move all RANDAO key reveal to phase 1
* Factor out signature checking
* Some fixes
* Update specs/core/1_custody-game.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
* Addressing Vitalik's suggestions: Separate RANDAO and Custody key reveals; append the cleanup of RANDAO reveals instead of adding a new function
* Remove remnants of verify_custody_key
* RandaoKeyReveal -> EarlyDerivedSecretReveal
* Make penalty proportional to number of secrets already exposed
* Update specs/core/1_custody-game.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
* Update specs/core/1_custody-game.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
* Update specs/core/1_custody-game.md
Co-Authored-By: dankrad <dankrad@ethereum.org>
2019-05-03 17:30:55 +08:00
Justin Drake
973f072235
Remove unnecessary test
2019-05-02 09:25:29 +01:00
protolambda
bbaa1417a8
remove incorrect unnecessary offset
2019-05-02 09:16:01 +02:00
Danny Ryan
6242e54c0a
Merge branch 'JustinDrake-patch-11' of github.com:ethereum/eth2.0-specs into JustinDrake-patch-11
2019-05-01 17:06:23 -06:00
protolambda
524d7b09ba
implement SOS serialization in minimal_ssz.py
2019-05-02 00:34:17 +02:00
Danny Ryan
ef72b7ec20
Merge branch 'master' into vbuterin-patch-2
2019-05-01 16:19:21 -06:00
Diederik Loerakker
9d1ec584d3
Merge pull request #1022 from ethereum/revert-981-only_setup_py
...
Revert 981 only setup py to master
2019-05-02 01:25:14 +08: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
Hsiao-Wei Wang
5f341ae493
Move `get_state_root` to `pyspec/tests/helpers.py`
2019-05-01 17:06:02 +08:00