Commit Graph

18 Commits

Author SHA1 Message Date
Paul Hauner
7f6ae4c2f5 Refactor tree hashing (#861)
* Pre-allocated tree hash caches

* Add SmallVec to tree hash cache

* Avoid allocation for validator.pubkey

* Avoid iterator which seems to be doing heap alloc

* Add more smallvecs

* MOAR SMALLVEC

* Move non-test code to Hash256 tree hash

* Fix byte ordering error

* Add incomplete but working merkle stream impl

* Fix zero hash error

* Add zero hash fn

* Add MerkleStream comments

* Add smallvec, tidy

* Integrate into tree hash derive

* Update ssz_types tree hash

* Don't heap alloc for mix in length

* Add byte-level streaming to MerkleStream

* Avoid recursion in write method

* Update BLS to MerkleStream

* Fix some not-compiling tests

* Remove debug profiling

* Remove code duplication

* Move beacon state tree hash to new hasher

* Fix failing tests

* Update comments

* Add some fast-paths to tree_hash::merkle_root

* Remove unncessary test

* Rename MerkleStream -> MerkleHasher

* Rename new_with_leaf_count -> with_leaves

* Tidy

* Remove NonZeroUsize

* Remove todo

* Update smallvec
2020-03-05 08:07:27 +11:00
pscott
7396cd2cab Fix clippy warnings (#813)
* Clippy account manager

* Clippy account_manager

* Clippy beacon_node/beacon_chain

* Clippy beacon_node/client

* Clippy beacon_node/eth1

* Clippy beacon_node/eth2-libp2p

* Clippy beacon_node/genesis

* Clippy beacon_node/network

* Clippy beacon_node/rest_api

* Clippy beacon_node/src

* Clippy beacon_node/store

* Clippy eth2/lmd_ghost

* Clippy eth2/operation_pool

* Clippy eth2/state_processing

* Clippy eth2/types

* Clippy eth2/utils/bls

* Clippy eth2/utils/cahced_tree_hash

* Clippy eth2/utils/deposit_contract

* Clippy eth2/utils/eth2_interop_keypairs

* Clippy eth2/utils/eth2_testnet_config

* Clippy eth2/utils/lighthouse_metrics

* Clippy eth2/utils/ssz

* Clippy eth2/utils/ssz_types

* Clippy eth2/utils/tree_hash_derive

* Clippy lcli

* Clippy tests/beacon_chain_sim

* Clippy validator_client

* Cargo fmt
2020-01-21 18:38:56 +11:00
John Adler
fec7168512 Fix lots of typos. 2019-07-26 15:26:06 -04:00
Michael Sproul
44ed3228b9 ssz: implement Encode and Decode for tuples 2019-07-01 14:54:34 +10:00
Matt Garnett
87e681c617 make ssz crate wasm compatible 2019-06-22 14:37:07 -04:00
Paul Hauner
39ec96ad82 Run rustfmt 2019-06-07 02:55:43 -04:00
Paul Hauner
45fb11b208 Impl ssz enc/dec for NonZeroUsize 2019-06-04 12:24:13 +10:00
Paul Hauner
7a2ab2e9aa Add support for SSZ union type via Option 2019-06-04 12:03:54 +10:00
Paul Hauner
39cb63e01e Merge branch 'v0.6.1' into docker-env 2019-06-04 09:25:00 +10:00
Paul Hauner
21ecaddac1 Fix various clippy lints 2019-05-28 10:56:05 +10:00
Paul Hauner
519ee81c68 Merge branch '368' into ef-tests 2019-05-15 12:33:40 +10:00
Michael Sproul
3a0f00215d spec: ensure types up to date with v0.6.1 2019-05-15 11:48:09 +10:00
Paul Hauner
cf509bea9b Improve ef_tests crate 2019-05-13 22:10:23 +10:00
Paul Hauner
a0148b5aae Rename SSZ traits (Encodable -> Encode) 2019-05-13 15:12:19 +10:00
Paul Hauner
3cd112d42d Encapsulate ssz vec decoding in public fn 2019-05-10 16:37:00 +10:00
Paul Hauner
9d27f67643 Tidy SSZ decode impls 2019-05-06 11:36:00 +10:00
Paul Hauner
acf854f558 Add profiling tools, examples 2019-05-05 15:32:09 +10:00
Paul Hauner
0bd5119f19 Replace ssz with ssz2, adapt ssz_derive 2019-05-04 14:11:48 +10:00