Commit Graph

793 Commits

Author SHA1 Message Date
Paul Hauner
9d27f67643
Tidy SSZ decode impls 2019-05-06 11:36:00 +10:00
Luke Anderson
934cb5af5f
Merge branch 'master' into testnet-key-load 2019-05-06 11:13:16 +10:00
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
52695c29e8
Improve cached hash testing in types 2019-04-29 10:57:39 +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
6258abfa9f
Tidy per_slot_processing fn 2019-04-29 07:34:01 +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
4dd1239b24
Add caching to state transition 2019-04-28 11:33:48 +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
0f3b74b20e
Update TestRandom to vary list length 2019-04-26 18:10:06 +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
Michael Sproul
b201c52140
state transition tests: use TreeHashVector 2019-04-17 18:07:28 +10:00
Michael Sproul
332795e8b7
Revert "questionable patch for TreeHashVector"
This reverts commit 701cc00d08.
2019-04-17 18:00:14 +10:00
Paul Hauner
745d360566
Store state roots during slot processing 2019-04-17 17:17:43 +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
Paul Hauner
c3779caede
Add extra info to block proc. error message 2019-04-17 13:59:40 +10:00
Michael Sproul
f592183aa9
Fix signed_root vs tree_hash_root in per_slot 2019-04-17 12:00:24 +10:00
Michael Sproul
701cc00d08
questionable patch for TreeHashVector 2019-04-17 12:00:23 +10:00
Michael Sproul
d95ae95ce8
spec: update tags to v0.5.1 2019-04-17 12:00:23 +10:00
Michael Sproul
2914d77cd3
spec: update to v0.5.1 2019-04-17 12:00:23 +10:00
Michael Sproul
4f63c89bb6
jenkins: run all state tests 2019-04-17 12:00:23 +10:00
Michael Sproul
a19f8580f5
travis: state transition tests 2019-04-17 12:00:23 +10:00
Michael Sproul
32547373e5
spec: simplify cache_state
The `latest_block_root` input argument was unnecessary as we were always setting it to something
almost equivalent to `state.latest_block_root` anyway, and more importantly, it was messing up the
caching of the state root. Previously it was possible for the function to update the state's latest
block root, and then hash the outdated block root that was passed in as an argument.
2019-04-17 12:00:23 +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
19fad1012f
state transitions tests: check more fields 2019-04-17 12:00:22 +10:00
Michael Sproul
b21cc64949
state transition tests: check expected state 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
300fcd6ec3
state transition test progress 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
Michael Sproul
8da8730dca
spec: check ProposalSlashing epochs, not slots
As per v0.5.{0,1} of the spec, we only need to check that the epochs of two proposal slashings are
equal, not their slots.
2019-04-17 12:00:21 +10:00
Paul Hauner
10a5d2657c
Encode bitfield as list not vector 2019-04-17 11:57:57 +10:00
Paul Hauner
ea8d5a3db9
Ensure deposit uses correct list type 2019-04-17 11:57:34 +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
49d066015b
Make genesis beacon state return a beacon state 2019-04-17 10:33:31 +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