Michael Sproul
7bb5e1c151
Implement library for verifying Merkle proofs.
2019-03-06 16:59:36 +11:00
Michael Sproul
6253167cac
Update ethereum-types to 0.5
2019-03-06 10:08:35 +11:00
Paul Hauner
94122a7334
Add SignedRoot methods
2019-03-04 15:47:48 +11:00
Age Manning
0e1a14a628
Merge pull request #264 from sigp/yaml-chain-tests
...
YAML-defined test_harness routines
2019-03-04 13:19:25 +11:00
Paul Hauner
ede5685bc2
Fix warnings and clippy lints
2019-03-03 11:47:09 +11:00
Paul Hauner
35ae1b6745
Add agg_pub to bls, add agg_sig.verify_multiple
...
- Adds a new-type wrapper for `AggregatePublicKey`, just like all the
other types.
- Adds the `verify_multiple` method to the `AggregateSignature` newtype,
as was introduced in a recent version of signature-schemes.
2019-03-03 11:10:38 +11:00
mjkeating
8a768819b0
brought algorithm in TreeHash macro to spec
2019-03-02 09:59:01 -08:00
Paul Hauner
c3b2f802a7
Add fast full-list shuffle for swap-or-not
...
- Passes test vectors
- Implemented in beacon state
- Added more docs
2019-03-01 12:19:05 +11:00
Paul Hauner
8aa7f25bbc
Introduce faster swap-or-not whole-list shuffle
2019-03-01 01:47:40 +11:00
Age Manning
274458d41e
Merge pull request #260 from sigp/shuffle-bench
...
Add benchmarks to shuffling crates
2019-02-27 12:37:30 +11:00
Paul Hauner
a8ebc0e19c
Add benchmarks for fisher_yates_shuffle
2019-02-26 19:32:32 +13:00
Paul Hauner
0fe3a81c9e
Add benches to swap_or_not_shuffle
2019-02-26 19:30:51 +13:00
thojest
6e8fc1b6d0
resolved merge conflicts due to Treehash macro implementation (lighthouse-246)
2019-02-25 23:20:24 +01:00
mjkeating
c688e37693
merged master
2019-02-25 09:46:49 -08:00
mjkeating
d7184345b8
renamed the macro Hashtree to TreeHash
2019-02-25 09:17:17 -08:00
thojest
cd4346962a
Merge branch 'master' into lighthouse-246
2019-02-25 09:24:47 +01:00
Kirk Baird
f72b45147a
Merge conflicts from master
2019-02-25 10:36:54 +11:00
Darren Langley
2961edcbb4
merged upstream changes
2019-02-23 14:24:23 +10:00
mjkeating
f95a0134e6
now using the Hashtree macro for most struct types
2019-02-22 13:07:04 -08:00
thojest
66b5accdc2
replaced manual TestRandom implementation with macro when possible; fixed typo in TestRandom macro (lighthouse-246)
2019-02-22 17:10:26 +01:00
thojest
278b41c8ef
decided against moving test_utils (lighthouse-246)
2019-02-22 16:05:52 +01:00
thojest
7a382043e1
added test_random_derive implementation (lighthouse-246)
2019-02-22 15:54:18 +01:00
thojest
5f3ba42b97
added first draft for lib-crates for test_random and test_random_derive (lighthouse-246)
2019-02-22 12:16:11 +01:00
Kirk Baird
ab1dc7bfce
Add simple fuzz tests for hashing and boolean-bitfield
2019-02-22 16:50:14 +11:00
Kirk Baird
68017b66fd
Fuzzing for Vec<u8>
2019-02-21 14:23:21 +11:00
Kirk Baird
274bdd491d
Fuzz for address and Hash256
2019-02-21 13:43:09 +11:00
Kirk Baird
00e5b57166
Fuzz test ssz_encode and ssz_decode for usize
2019-02-20 16:43:30 +11:00
Kirk Baird
b98db3773e
Fuzz test ssz_encode for u8 to u64
2019-02-20 16:15:30 +11:00
Kirk Baird
d5c4771f0a
Fuzz test decodes from u8 to u64
2019-02-20 15:34:15 +11:00
Kirk Baird
38abcc4a24
Fuzz test for u8 fails
2019-02-20 15:03:32 +11:00
Kirk Baird
52347d8e6d
Write a fuzz test
2019-02-20 14:46:25 +11:00
Kirk Baird
3517ef6513
Initialise fuzzing for ssz
2019-02-20 14:16:07 +11:00
Kirk Baird
673c8ea388
Merge current master
2019-02-20 13:59:11 +11:00
Paul Hauner
59fd716286
Add extra comment to ssz_derive
2019-02-20 11:23:35 +13:00
Paul Hauner
586bb09e02
Set ssz_derive to import from ssz::
...
Previously it was expecting `Encodable`, `Decodable`, etc to be in
scope, now it uses `ssz::Encodable`.
2019-02-20 11:06:03 +13:00
Paul Hauner
abef6698b1
Fix failing doc examples in ssz_derive
2019-02-20 10:12:18 +13:00
Paul Hauner
a78256c778
Merge branch 'master' into ssz-derive
2019-02-19 20:46:47 +13:00
Paul Hauner
5e67ddd498
Add docs to ssz_derive
2019-02-19 20:43:09 +13:00
Paul Hauner
b6f3156b4e
Run rustfmt on ssz_derive
2019-02-19 18:04:29 +13:00
Paul Hauner
345c527d33
Add SSZ encode/decode for bool
2019-02-19 14:31:09 +11:00
Paul Hauner
fdfaf18dbd
Add ssz_derive
crate.
...
It appears to be fully functional at this stage.
2019-02-19 13:54:39 +11:00
mjkeating
cd676d5621
fixed a bug in TreeHash.rs/list_to_blob
2019-02-18 11:55:44 -08:00
Kirk Baird
21d75f1853
Use verify_proof_of_possession
2019-02-18 12:06:47 +11:00
Kirk Baird
2c8aa17e0d
Merge branch 'master' into signature-scheme-update
2019-02-18 10:54:26 +11:00
Kirk Baird
9c4a1f1d1f
Update to signature-scheme 0.5.2
2019-02-18 10:50:40 +11:00
mjkeating
6fa141181b
Updated TreeHash to spec - added padding
2019-02-17 09:30:18 -08:00
Darren Langley
0da268ad5f
cargo fmt fixes
2019-02-16 06:52:10 +10:00
Darren Langley
d7a9fac6b5
fixed tests in broader project
2019-02-15 21:32:17 +10:00
Darren Langley
c59bab58d2
big to little endian, some more tests
2019-02-15 20:46:06 +10:00
Kirk Baird
977f3edfb6
Add domain to all signature funcitons, modify validate_proof_of_possession()
2019-02-15 13:58:14 +11:00
Paul Hauner
af1d44e8b0
Add shuffling to fuzzer, fixing a bug
...
We were being to strict on list length, it can be 2**24 as all index's
will need to be less than that.
2019-02-15 12:58:14 +11:00
Paul Hauner
fc04286ae6
Use int_to_bytes
in swap or not.
...
I also fixed an error I found through strict typing.
2019-02-15 12:13:57 +11:00
Paul Hauner
73484f04a1
Rename eth2_bytes
to int_to_bytes
2019-02-15 11:19:25 +11:00
Paul Hauner
46673238b6
Add eth2_bytes
crate
...
Is passing test vectors
2019-02-15 11:13:56 +11:00
Paul Hauner
8c54e55d99
Updates to permutated_index
...
- Add comments.
- Add more `None` conditions.
- Add more tests.
2019-02-15 00:28:24 +11:00
Paul Hauner
c98a9fdf3e
Update test vectors, align to test vectors.
2019-02-14 23:55:48 +11:00
Paul Hauner
18e85a3cf8
Add swap_or_not_shuffle and tests.
...
The implementation is not matching the EF implementation at this point.
2019-02-14 18:22:55 +11:00
Paul Hauner
c41b743d2d
Rename vec_shuffle
to fisher_yates_shuffle
...
We're adding another shuffler so it's nice to be specific
2019-02-14 14:57:29 +11:00
Paul Hauner
35c914baa6
Revert "Merge pull request #200 from sigp/new-structure"
...
This reverts commit d7a3545be1
, reversing
changes made to 1da06c156c
.
2019-02-14 12:09:18 +11:00
Paul Hauner
1d5ff4359a
Strip out old code
...
All of these files have been moved to either:
- https://github.com/sigp/lighthouse-beacon
- https://github.com/sigp/lighthouse-validator
- https://github.com/sigp/lighthouse-common
For rationale, see: https://github.com/sigp/lighthouse/issues/197
2019-02-13 14:15:53 +11:00
Paul Hauner
4824b43808
Fix various clippy lints
2019-02-13 07:46:59 +11:00
Paul Hauner
85450ec254
Fix all compile errors from new Slot/Epoch types
2019-02-07 11:22:48 +11:00
Paul Hauner
0120082f6b
Merge branch 'master' into add-chain-benchmarks
2019-02-05 05:49:45 +11:00
Paul Hauner
10fec4919b
Merge pull request #175 from sigp/tree_hash
...
Merkle hashing chunk size fix
2019-02-01 12:08:17 +11:00
Kirk Baird
73ba4d3cfc
Minor modification to merkle hashing
2019-01-29 09:27:40 +11:00
Grant Wuerker
0cbc2936ea
added version to signature-schemes dependency
...
using tag instead of branch
changed signature-schemes tag to 0.3.0
2019-01-27 21:12:00 -06:00
Paul Hauner
d5da84d967
Add BitAnd
impl for BooleanBitfield
2019-01-28 11:23:01 +11:00
Paul Hauner
fd47f6c433
Move attestation validator to BeaconState
fn
2019-01-27 17:54:26 +11:00
Paul Hauner
90ae2298ab
Impl serde::Serialize for all types
2019-01-26 08:25:31 +11:00
Paul Hauner
f9acc42aca
Rename canonical_hash
to `hash
2019-01-25 17:40:22 +11:00
Paul Hauner
6b4c0fe1a3
Merge branch 'master' into lmd-ghost
2019-01-25 17:23:14 +11:00
Paul Hauner
138fcd6275
Fix issues with old state information
2019-01-25 16:47:24 +11:00
Paul Hauner
5ef02688d5
Remove pre-2018 extern crate uses
2019-01-25 16:46:16 +11:00
Kirk Baird
9f703765aa
Minor modification to tree_hash
2019-01-25 16:42:19 +11:00
Kirk Baird
10333cc99f
Minor modification to tree_hash
2019-01-25 16:18:48 +11:00
Paul Hauner
ea523c8658
Merge spec
crate into types
2019-01-25 13:52:21 +11:00
Kirk Baird
5a2cf6219e
Modify tree_hash
2019-01-25 12:59:11 +11:00
Kirk Baird
eb3969af98
Merge branch 'master' into tree_hash
2019-01-25 12:33:31 +11:00
Kirk Baird
9c9b07c182
Add TreeHash trait to all types and structs
2019-01-25 12:22:56 +11:00
Paul Hauner
7454370084
Remove println from tests
2019-01-25 12:08:46 +11:00
mjkeating
4a2d5c9fbe
Added TreeHash functionality
2019-01-24 16:32:58 -08:00
Paul Hauner
5f953f76d8
Make TestingSlotClock thread-safe
2019-01-25 11:25:09 +11:00
Kirk Baird
407bf5e06d
Minor updates to TreeHash
2019-01-24 15:47:28 +11:00
Kirk Baird
77d4405b7a
Merge mjkeating changes into local branch
2019-01-24 14:23:51 +11:00
Paul Hauner
eae904270b
Derive Clone for SystemTimeSlotClock
2019-01-24 11:51:25 +11:00
Paul Hauner
1256ba0d01
Implement very raw state transition logic
2019-01-23 19:25:05 +11:00
Paul Hauner
e16f9e0aec
Rename beacon_chain/
-> eth2/
2019-01-22 16:16:02 +11:00