Commit Graph

50 Commits

Author SHA1 Message Date
Alex Stokes
6c2c42e6b7
Adds custom std::cmp::PartialEq impl
Two bitfields now match if they contain the same information.

There were some discrepancies before when comparing fields with the same
bits set but came from different sources, e.g. off the wire vs created
in memory, due to the existence of unset bits in the high byte.
2018-12-10 20:34:35 -08:00
Alex Stokes
564f13be5f fixes bug with serialization logic for boolean bitfield
should match the python impl
2018-12-03 20:46:11 -08:00
Paul Hauner
bedc1abec0
Add failing boolean bitfield test 2018-12-03 17:13:39 +11:00
mjkeating
d6bf1a6119 removed unnecessary call to saturated_sub() in vec_shuffle 2018-11-23 19:29:03 -08:00
Paul Hauner
f65888226a Add some extra tests for boolean-bitfield 2018-11-22 14:18:08 -08:00
Alex Stokes
57dcad149f Fixes bug with ssz encoding of BooleanBitfield 2018-11-20 12:40:13 -08:00
Alex Stokes
031b7bf225 Add method to calculate the underlying number of bytes
Required for part of attestation validation logic
2018-11-20 12:40:13 -08:00
Alex Stokes
72cf7ad1bd Begin updating tests to reflect changes to bitfield 2018-11-20 12:40:13 -08:00
Alex Stokes
832d1bd295 Update bitfield to expand size when writing out-of-bounds 2018-11-20 12:38:23 -08:00
Alex Stokes
37b05e1a5b get tests passing (except one) 2018-11-20 12:38:23 -08:00
Alex Stokes
a9decd3aed Simplifies the boolean-bitfield implementation to use bit-vec crate 2018-11-20 12:34:28 -08:00
Paul Hauner
900ffac5e0
Run rustfmt globally.
Using `$ cargo fmt` in the root. Closes #68.
2018-11-04 15:35:55 +01:00
Paul Hauner
46da9b670f
Add untested minimum viable block processing 2018-10-30 15:49:32 +01:00
Paul Hauner
b2495cbcff
Fix clippy lints 2018-10-24 15:40:09 +02:00
Paul Hauner
28ffb037cc
Merge branch 'master' into genesis 2018-10-24 15:26:27 +02:00
Paul Hauner
e2c264de96
Merge pull request #58 from g-r-a-n-t/clippy-warnings
Clippy warnings
2018-10-24 15:25:14 +02:00
Paul Hauner
98076d6439
Add test for utils/active-validators 2018-10-24 15:22:39 +02:00
Grant Wuerker
625fc4c9b9 mutable iterator in encode_length 2018-10-24 07:56:58 -05:00
Paul Hauner
68e4c47cd3
Add slot-clock 2018-10-24 13:16:09 +02:00
Grant Wuerker
4c272d7f0a suppressed unknown lint warning in test 2018-10-23 19:34:47 -05:00
Paul Hauner
da25a66196
Move active_validators into own crate 2018-10-23 23:43:35 +02:00
Paul Hauner
41bfb7a0e2
Merge branch 'shuffle_underflow' into genesis 2018-10-22 06:17:02 +11:00
Paul Hauner
afc219c26b
Merge branch 'validator_induction' into genesis 2018-10-22 05:59:55 +11:00
Paul Hauner
8a2baa7b26
Move proof_of_possession into bls crate 2018-10-22 05:58:12 +11:00
Paul Hauner
db735a598f
Fix underflow in shuffle with empty list 2018-10-22 05:24:13 +11:00
Paul Hauner
bdb5c45e60
Merge pull request #57 from pinkiebell/shuffling/test_vectors
Closes #51
2018-10-21 22:07:13 +11:00
pinkiebell
78f9c09278 beacon_chain/utils/shuffling: Resolve PR comments 2018-10-21 13:01:56 +02:00
Paul Hauner
694db90b8c
Simplify parent_hashes code 2018-10-21 20:12:17 +11:00
Paul Hauner
6ee3ad10da
Change integer literals to constants 2018-10-21 20:07:57 +11:00
Grant Wuerker
d670294c11 readded cast_lossless supress to encode 2018-10-20 20:31:26 -05:00
Grant Wuerker
3c1640f41a moved suppress warning tag 2018-10-20 19:20:01 -05:00
Grant Wuerker
0cab98ffe1 another loop fixed 2018-10-20 18:43:43 -05:00
Grant Wuerker
d3ec313b43 a few more quick changes and another range loop ignore 2018-10-20 17:38:32 -05:00
Grant Wuerker
869049d099 needless_range ignore and derive[default] tag on sszstream 2018-10-20 17:29:12 -05:00
Grant Wuerker
e714ec0489 cast_lossless warning supressed and better looking vectors 2018-10-20 17:04:17 -05:00
Grant Wuerker
9c1d34253a refactoring of impl_decodable_for_uint 2018-10-20 15:15:58 -05:00
Grant Wuerker
ba65bdfc6a redundant if and type conversion change 2018-10-20 14:20:23 -05:00
pinkiebell
5252b54a04 beacon_chain/utils/shuffling: Introduce test vectors from sigp/shuffling_sandbox
Also:
 - return early if we shuffle an empty list
 - change RAND_MAX as per spec
2018-10-20 18:44:39 +02:00
Paul Hauner
606c32950d
Move shuffling functions around
- Move `delegation` from the `transition` dir into its own dir:
`beacon_chain/validator_shuffling`
- Rename `beacon_chain/utils/shuffling` -> `vec_shuffle`
2018-10-20 16:30:32 +11:00
Paul Hauner
d5675062c1
Add proof-of-possession hash fn 2018-10-20 03:09:42 +11:00
Paul Hauner
1acfb87e77
Merge branch 'master' into beacon_block 2018-10-18 10:14:55 +11:00
Paul Hauner
c45e05ca02
Update SszBeaconBlock as per new spec 2018-10-16 13:59:26 +11:00
Paul Hauner
1621901f0d
Update SSZ
- Implement generic list decoding>
- Expose `encode` mod.
- Add convenience encoding function.
2018-10-16 13:44:26 +11:00
Paul Hauner
a862c82b37
Rename Block -> BeaconBlock
- Update types::block
- Update ssz_helpers::SszBlock
- Update db::stores::block_store
- Add new fields to types::Block
- Update SszBlock as per new Block fields
2018-10-15 14:57:14 +11:00
Paul Hauner
561167fa1e
Fix panic in ssz decode 2018-10-15 14:10:43 +11:00
Paul Hauner
9717698f7b
Break split function into its own crate.
- Added tests
- Remove it from the delegation dir
- Added it as a crate in utils
2018-10-10 16:09:00 +11:00
Paul Hauner
eca4448207
Remove test vectors
These will be added in a future PR.
2018-10-03 13:45:57 +10:00
Paul Hauner
6d4a3bba11
Update shuffling comments 2018-10-03 13:43:46 +10:00
Paul Hauner
2763f7bc00
Move shuffling to its own crate, update hash fn
Previously blake2s-256 was being used, now blake2b-512[:32] is being
used.
2018-10-03 13:43:28 +10:00
Paul Hauner
0fbe4179b3
Heavily restructure repo
Separate most modules into crates
2018-10-02 16:41:10 +10:00