Commit Graph

81 Commits

Author SHA1 Message Date
Paul Hauner
fc0bf578f8
Use SSZ enc/dec proc macros on most types
Some types were skipped as they have non-standard serialization.
2019-02-19 14:32:00 +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
Paul Hauner
5e6acb8f39
Break BeaconState tests into separate file 2019-02-16 11:19:47 +11:00
Paul Hauner
2affd305d9
Merge branch 'master' into implement-shuffle 2019-02-15 18:21:54 +11:00
Paul Hauner
1c57eb47f9
Move BeaconStateTestBuilder into test mod 2019-02-15 17:07:52 +11:00
Paul Hauner
054c1f9047
Swap over to v0.2.0 shuffling algo 2019-02-15 16:55:52 +11:00
Paul Hauner
4ddbb3197c
Merge branch 'master' into tidy-beacon-state 2019-02-15 16:30:51 +11:00
Paul Hauner
ec4a658fe7
Add beacon state test builder, tidy errors 2019-02-15 16:12:24 +11:00
Paul Hauner
b15ee17fed
Merge pull request #225 from sigp/permutated-index
Add get_permutated_index
2019-02-15 15:32:28 +11:00
Age Manning
b16ac40fd5
Add tests to SlotHeight. 2019-02-15 14:16:45 +11:00
Age Manning
2cab2952a8
Removes duplication of macros in types. 2019-02-15 13:29:09 +11:00
Age Manning
066f0090dd
Add slot_height type. 2019-02-14 16:46:33 +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
492d4749d7
Fix clippy lint 2019-02-13 10:32:56 +11:00
Paul Hauner
5c1d0dcea5
Fix various clippy lints 2019-02-13 07:32:31 +11:00
Paul Hauner
cb97870c15
Add genesis() function to BeaconBlock 2019-02-12 11:57:34 +11:00
Paul Hauner
f27308e377
Tidy old comments 2019-02-12 11:57:20 +11:00
Paul Hauner
3b75e93122
Add genesis() to BeaconState 2019-02-12 11:54:02 +11:00
Paul Hauner
ff2025ec5c
Update epoch processing to v0.2.0 2019-02-12 08:58:20 +11:00
Paul Hauner
03e84a63ec
Tidy BeaconState 2019-02-11 17:24:56 +11:00
Paul Hauner
75a9e0f3de
Add verify_signature() to Attestation 2019-02-11 17:24:32 +11:00
Paul Hauner
25ae0f64c2
Tidy, fix & extend BeaconState impls. 2019-02-11 16:32:55 +11:00
Paul Hauner
d7f8c60f93
Fix un-annotated test in types crate 2019-02-11 16:31:33 +11:00
Paul Hauner
a13dd0d871
Update types defs, move processing out.
- Update `types` to v0.2.0 spec (not all functions upgraded too).
- Move slot/block/epoch processing out to a separate crate (not included
yet, it doesn't compile)
2019-02-11 14:02:59 +11:00
Paul Hauner
ba7137697c
Add impl_common to slot_epoch.rs 2019-02-07 13:53:30 +11:00
Paul Hauner
7583599e65
Add tests for Slot/Epoch types 2019-02-07 13:44:48 +11:00
Paul Hauner
85450ec254
Fix all compile errors from new Slot/Epoch types 2019-02-07 11:22:48 +11:00
Paul Hauner
a98c221447
Add new fn to Slot and Epoch 2019-02-07 09:53:53 +11:00
Paul Hauner
bd71304d73
Convert beacon_state to Slot/Epoch newtypes 2019-02-06 13:17:10 +11:00
Paul Hauner
2aa7d80a5f
Update types to use Slot newtype
All dependant functions haven't yet been updated.
2019-02-05 19:27:12 +11:00
Paul Hauner
dbe9112848
Add first impl of Slot and Epoch newtypes
Not tested yet.
2019-02-05 19:15:26 +11:00
Paul Hauner
87a326d8a2
Complete canonical_root for attestation_data 2019-02-05 12:41:56 +11:00
Paul Hauner
cbb84c0d69
Move all attestation_data fns into same file 2019-02-05 12:40:03 +11:00
Paul Hauner
05b890860a
Move all attestaion fns into same file 2019-02-05 12:38:58 +11:00
Paul Hauner
b9dc8437c9
Move all beacon_block fns into the same file 2019-02-05 12:33:52 +11:00
Paul Hauner
ade2460377
Move all beacon_state fns into single file. 2019-02-05 12:25:42 +11:00
Paul Hauner
bd1cfeeba9
Change bls import method for validator 2019-02-05 03:52:34 +11:00
Paul Hauner
efc0902abb
Run cargo fmt 2019-02-01 18:20:42 +11:00
Paul Hauner
865919e398
Improve attester errors, move info -> helpers
- Ensured one can distingush between a committee error and an invalid
validator index when using `validator_attesation_slot_and_shard`.
- Renamed the `info.rs` file to `getters.rs`, for clarity.
2019-02-01 17:56:49 +11:00
Paul Hauner
20e45b3369
Refactor block_processing
- Add the rayon library for parallelization
- Move from std::sync::Rwlock to rayon::RwLock
- Add `state` field to BeaconChain
- Fix major bug in attestation validator where justified slot was
incorrectly looked up.
2019-02-01 14:48:09 +11:00
Paul Hauner
02a962d35d
Ensure per_epoch trans. happens before per_slot. 2019-01-31 18:32:23 +11:00
Paul Hauner
c1b3d1b63e
Tidy up and add some logs 2019-01-31 18:32:01 +11:00
Paul Hauner
e1239a1ecc
Ensure attestation_participants is deduped 2019-01-31 18:31:20 +11:00
Paul Hauner
3f13c25c05
Fix issues with per_epoch block_root calls
They were being called with the wrong slot.
2019-01-31 18:28:54 +11:00
Paul Hauner
5c44f97fba
Fix bug with committee index for attester duties
It was returning the validator_index instead of the `committee_index`.
2019-01-31 16:42:53 +11:00
Paul Hauner
48801e4674
Re-enable signature checking for validations 2019-01-31 16:42:31 +11:00
Paul Hauner
a1cdc0402d
Tidy attestation_participants function.
It was using a map where it could use a find.
2019-01-31 16:41:54 +11:00
Paul Hauner
8073296f5d
Ensure per_epoch processing always runs.
Previously, it was running _after_ a state transition, not before it
with the slot processing.
2019-01-31 16:39:44 +11:00