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
Hsiao-Wei Wang
dc01218182
Add `dataclasses==0.6` to setup.py
2019-06-18 14:23:31 -06: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
ac76c6d279
Merge pull request #1182 from ethereum/cov-reports
...
generate coverage reports in make test, open as html site
2019-06-16 17:42:57 -06:00
Danny Ryan
2f9c554bf7
minor fix to makefile, add codecov instructiosn to readme
2019-06-16 17:38:48 -06: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
1c51982c6b
generate coverage reports in make test, open as html site
2019-06-14 23:12:04 +02: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
d4bf55e5a1
update pyssz to include deserialization bugfix
2019-06-14 21:24:24 +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
protolambda
e7bb9bf19b
SSZ decoding through pyssz, with translation of types/values
2019-06-14 01:56:36 +02: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
f2c33529df
Add mypy check in CI
2019-06-11 00:45:00 -04: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
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