Paul Hauner
b374ead24b
Protect against OOB offset in variable list SSZ decoding ( #974 )
...
* Add "pretty-ssz" tool to lcli
* Protect against OOB SSZ offset
* Add more work on decoding
* Fix benches
* Add more decode fixes
* Rename fixed_ptr
* Add, fix tests
* Add extra test
* Increase SSZ decode error granularity
* Ripples new error types across ssz crate
* Add comment to `sanitize_offset`
* Introduce max_len to SSZ list decoding
* Restrict FixedVector, check for zero-len items
* Double check for empty list
* Address Michael's comment
2020-04-20 15:35:47 +10:00
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