Paul Hauner
96ef8e7073
Tidy SSZ encode impls
2019-05-06 10:26:49 +10:00
Paul Hauner
56fe63f78d
Improve allocations for SszEncoder
2019-05-06 09:58:31 +10:00
Paul Hauner
480c5ff160
Update SszEncoder
2019-05-06 09:26:58 +10:00
Paul Hauner
aeb17c73f6
Add SszEncoder
2019-05-06 09:01:28 +10:00
Paul Hauner
daf6912d18
Begin refactor for less allocation
2019-05-06 08:47:49 +10:00
Paul Hauner
acf854f558
Add profiling tools, examples
2019-05-05 15:32:09 +10:00
Paul Hauner
fd5f914c3c
Fix failing decode test
2019-05-05 12:47:57 +10:00
Paul Hauner
c5f00d1666
Update SSZ derive macro, create failing test
2019-05-05 12:11:25 +10:00
Paul Hauner
b5d9157722
Add tests for derived encoding
2019-05-04 18:06:01 +10:00
Paul Hauner
0bd5119f19
Replace ssz
with ssz2
, adapt ssz_derive
2019-05-04 14:11:48 +10:00
Paul Hauner
7096d56749
Add working decoder example
2019-05-03 17:50:29 +10:00
Paul Hauner
0c0edb0653
Add ssz examples, decoder struct
2019-05-03 17:39:51 +10:00
Paul Hauner
7865f0de89
Tidy encode impl tests
2019-05-03 16:21:18 +10:00
Paul Hauner
80ef379202
Improve docs, cover a bunch of invalid inputs
2019-05-03 15:43:10 +10:00
Paul Hauner
90d8afd64b
Simplify SOS vec decoding
2019-05-03 14:16:36 +10:00
Paul Hauner
6d721813f1
Fix failing SOS nested vec tests
2019-05-03 13:43:52 +10:00
Paul Hauner
9943e70cb9
Fix failing SOS tests, add new failing tests
2019-05-03 13:14:26 +10:00
Paul Hauner
3f9430ddff
Add partial progress on sos
2019-05-03 11:05:51 +10:00
Paul Hauner
c5acbd978f
Start works on SOS-SSZ
2019-05-01 17:51:07 +10:00
Johns Beharry
06362d32d3
chore(hashing/merkle_root): remove semi colon on returns
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:28 +03:00
Johns Beharry
725401d2e1
test(hashing/merkle_root): write test for empty vector and odd leaf count
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
8429f3bff1
chore(hashing): update comments of fn merkle_root
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
9fbacbf967
chore(merkle_root): move function into lib.rs
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
5f9e93d338
chore(merkle_root): split function to it's own file
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Johns Beharry
80ac60cc0e
feat(merkle_root): calculate merkle root from leaves
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Johns Beharry
af87fbf203
feat(merkle_root): hash vector of leafs to get merkle_root
...
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Paul Hauner
84d72cfed6
Tidy and add docs for cached tree hash
2019-04-29 17:46:01 +10:00
Paul Hauner
f622aa0b65
Add doc comments to vec impl
2019-04-29 15:45:02 +10:00
Paul Hauner
f20314bd87
Fix clippy lints, impl treehash for slices
2019-04-29 15:32:41 +10:00
Paul Hauner
240d1e197a
Ignore clippy range_plus_one
lints
2019-04-29 14:24:57 +10:00
Paul Hauner
a90bbbfd82
Address various clippy lints, improve comments
2019-04-29 14:04:52 +10:00
Paul Hauner
fbf8fad4f1
Add counter-resets to reset_modifications
2019-04-29 10:57:19 +10:00
Paul Hauner
0599d3f1f8
Remove redundant type param fom CachedTreeHash
2019-04-29 07:48:48 +10:00
Paul Hauner
68b36787e2
Move leaf node creation into separate fn
2019-04-28 20:30:48 +10:00
Paul Hauner
58308e3dc5
Modify example execution counts
2019-04-28 19:10:59 +10:00
Paul Hauner
a4559e798d
Add benches, examples for cached hashing.
...
Ignore flamegraph files
2019-04-28 11:38:32 +10:00
Paul Hauner
c58723350c
Improve cached hashing performance
2019-04-28 11:33:29 +10:00
Paul Hauner
89d64b007f
Run cargofmt --all
2019-04-27 19:04:26 +10:00
Paul Hauner
6c9be1a73c
Add tree hash cache as field to BeaconState
.
2019-04-27 19:02:52 +10:00
Paul Hauner
b70ebd09ea
Increase detail of cached hashing testing
2019-04-27 16:33:31 +10:00
Paul Hauner
80fa5d08c5
Fix bug with cached tree hash, passes tests
2019-04-27 16:24:29 +10:00
Paul Hauner
b86e118062
Add specific failing cache test
2019-04-26 18:19:13 +10:00
Paul Hauner
a425beb42a
Fix chunk index bug with structs
2019-04-26 17:39:38 +10:00
Paul Hauner
d3309b9f7e
Fix bug with bitfield tree hash caching
2019-04-26 17:27:39 +10:00
Paul Hauner
dddcc91ef3
Fix bug with shrinking list.
2019-04-26 16:56:01 +10:00
Paul Hauner
f65e981f6f
Begin implementing cached hashing in types
2019-04-26 15:24:18 +10:00
Paul Hauner
ecff8f0007
Update CachedTreeHash
trait to return schema
2019-04-26 12:27:04 +10:00
Paul Hauner
8976e652d2
Introduce BTreeSchema
2019-04-26 11:55:26 +10:00
Paul Hauner
794b48078c
Remove num_items
from BTreeOverlay
2019-04-26 11:39:33 +10:00
Paul Hauner
15f81c0907
Implement CachedTreeHash for TreeHashVector
2019-04-26 11:15:17 +10:00
Paul Hauner
f1d8224d89
Further tidy tree_hash
crate.
2019-04-26 10:37:50 +10:00
Paul Hauner
b213a5ade4
Create cached_tree_hash
crate.
2019-04-26 09:55:03 +10:00
Paul Hauner
827e1c62d9
Add extra tests, all passing
2019-04-25 12:11:31 +10:00
Paul Hauner
58b69e9ba6
Add comma to readme
2019-04-24 18:30:59 +10:00
Paul Hauner
1f6a54c2ba
Update readme
2019-04-24 18:27:03 +10:00
Paul Hauner
cab5e59a6f
Rename CachedTreeHash
trait, add readme
2019-04-24 18:23:58 +10:00
Paul Hauner
7563755b15
Fix mix-in-length issue
2019-04-24 18:14:00 +10:00
Paul Hauner
e12fa58e6e
Fix failing test, add hacky fix
2019-04-24 14:56:39 +10:00
Paul Hauner
e19abee7f9
Fix bug with num_nodes/num_chunks
2019-04-24 10:17:05 +10:00
Paul Hauner
a84a063c25
Update depth variable
2019-04-24 09:29:32 +10:00
Paul Hauner
ec43a4085c
Introduce failing test
2019-04-22 21:31:39 +10:00
Paul Hauner
2f69185ccb
Fix tree hash bug
2019-04-22 16:58:40 +10:00
Paul Hauner
7c64a5a21b
Add tests, fix bugs
2019-04-22 16:09:29 +10:00
Paul Hauner
2c12aabf04
Implement further cache tests and bug fixes
2019-04-22 09:20:13 +10:00
Paul Hauner
4aeadfa60f
Remove "old" item requirement from treehash
2019-04-21 12:12:47 +10:00
Paul Hauner
2527252248
Merge branch 'master' into 0.5.1-tests
2019-04-17 21:21:07 +10:00
Paul Hauner
343909ef31
Fix boolean-bitfield serialization
2019-04-17 17:17:07 +10:00
Paul Hauner
bf1a93f444
Allocate correctly for tree hash
2019-04-17 14:00:00 +10:00
Michael Sproul
b801303374
spec: fix shuffle direction in get_crosslink_committees_at_slot
2019-04-17 12:00:22 +10:00
Michael Sproul
71a0fed8eb
testing: add a fake_crypto
feature
2019-04-17 12:00:22 +10:00
Michael Sproul
0a02567440
bitfield: fix bit ordering issue with YAML parsing
2019-04-17 12:00:22 +10:00
Paul Hauner
10a5d2657c
Encode bitfield as list not vector
2019-04-17 11:57:57 +10:00
Paul Hauner
10eeced227
Remove SSZ dep from tree_hash
2019-04-17 11:18:00 +10:00
Paul Hauner
af39f096e7
Add vector type to tree hashing
2019-04-17 10:58:03 +10:00
Paul Hauner
f69b56ad60
Add new tree_hash
crate project wide.
2019-04-16 14:25:43 +10:00
Paul Hauner
b8c4c3308a
Update types
to new tree_hash crate
2019-04-16 14:14:38 +10:00
Paul Hauner
3eaa06d758
Remove tree hashing from ssz crate
2019-04-16 12:29:39 +10:00
Paul Hauner
024b9e315a
Add signed_root to tree_hash crate
2019-04-16 11:14:28 +10:00
Paul Hauner
d840d6e2d4
Merge branch 'master' into simple-cached-tree-hash
2019-04-16 10:55:27 +10:00
Paul Hauner
8a1bde3e2f
Update naming for tree_hash fns/structs/traits
2019-04-16 10:48:33 +10:00
Paul Hauner
d311b48a9f
Unify tree hash methods
2019-04-16 09:34:23 +10:00
Paul Hauner
93f3fc858d
Add uncached tree hashing
2019-04-16 09:14:33 +10:00
Sean Yu
8cb6368fe6
Adding a #[signed_root(skip_hashing)] macro
...
Lets the user annotate fields of a struct to skip for signed root
hashing.
Also added tests in a `eth2/utils/tests` crate, so that we can test
whether these derived macros work as intended.
2019-04-15 09:40:45 -07:00
Paul Hauner
2be05a466f
Add tree_hash_derive crate
2019-04-15 15:45:05 +10:00
Paul Hauner
354f823c16
Tidy tree hash cache, add new trait
2019-04-15 15:13:02 +10:00
Paul Hauner
8e5b79452a
Further tidy cached tree hash
2019-04-15 12:01:12 +10:00
Paul Hauner
c18cdf2abf
Remove num_bytes method
2019-04-15 11:55:56 +10:00
Paul Hauner
cb9b59b93d
Remove panics from packed_encoding
2019-04-15 11:49:50 +10:00
Paul Hauner
e6c33e1b60
Remove child_nodes method from CachedTreeHash
2019-04-15 11:44:44 +10:00
Paul Hauner
c87a0fc588
Tidy CachedTreeHash trait
2019-04-15 11:37:29 +10:00
Paul Hauner
0b5c10212d
Move tree_hash from ssz into own crate
2019-04-15 11:14:30 +10:00
Paul Hauner
7132ee59c0
Rename OffsetHandler -> BTreeOverlay
2019-04-15 09:06:19 +10:00
Paul Hauner
ab78a15313
Add mix-in-len to cached tree hash
2019-04-14 21:39:36 +10:00
Paul Hauner
0632a00a48
Fix failing test for shrinking vec of structs
2019-04-14 18:50:12 +10:00
Paul Hauner
da74c4ce74
Add tree shrinking for u64 vec
2019-04-14 16:50:00 +10:00
Paul Hauner
9bc0519092
Add tree shrink fn
2019-04-14 16:31:47 +10:00
Paul Hauner
582f465ffd
Add test for growing vec of structs
2019-04-14 14:20:33 +10:00
Paul Hauner
737e6b9a86
Fix failing tree hash test
2019-04-14 13:54:04 +10:00
Paul Hauner
e038bd18b5
Add failing test for grow merkle tree
2019-04-14 10:34:54 +10:00
Paul Hauner
1ce1fce03c
Fix failing grow tree test
2019-04-13 17:28:27 +10:00