Commit Graph

102 Commits

Author SHA1 Message Date
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 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
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
Hsiao-Wei Wang 00a68e28b5
Define Custom Types via function_puller 2019-06-15 16:57:50 -04: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
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
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
Hsiao-Wei Wang 9fc197af67
class Bytes32 2019-06-10 11:10:13 -04:00
Carl Beekhuizen 60d9dc68c4
Apply suggestions from @djrtwo's code review 2019-06-05 21:49: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 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