Paul Hauner
5fefc79521
Update BeaconChain
for spec v0.2.0
2019-02-12 13:00:52 +11:00
Paul Hauner
36f441c968
Replace genesis
crate with on-type defs
...
The methods in the `gensis` crate have been moved to `genesis` methods
on `BeaconState` and `BeaconBlock`.
2019-02-12 13:00:35 +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
f3e556bca3
Remove validator_induction crate
2019-02-12 09:02:26 +11:00
Paul Hauner
ff2025ec5c
Update epoch processing to v0.2.0
2019-02-12 08:58:20 +11:00
Paul Hauner
c1f8c85ce9
Add un-finished, uncompiling state_processing
2019-02-11 17:25:23 +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
b865768d3b
Update validator_inductor to use Slot newtype
2019-02-07 09:54:45 +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
6c6ee4320d
Fix block_producer
naming to match attester
2019-02-05 16:47:59 +11:00
Paul Hauner
49dcb38c31
Fix naming consistency with attester
crate.
...
Adjusted naming of files to ensure they match the name of the struct.
Also change the name of some structs so they don't look like tests.
2019-02-05 16:41:18 +11:00
Paul Hauner
da1498fc45
Remove validator_shuffling crate.
...
It has been replaced by the `beacon_state.get_shuffling` function.
2019-02-05 12:48:07 +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
0120082f6b
Merge branch 'master' into add-chain-benchmarks
2019-02-05 05:49:45 +11:00
Paul Hauner
bd1cfeeba9
Change bls import method for validator
2019-02-05 03:52:34 +11:00
Paul Hauner
dcb507ca18
Remove unused errors from genesis crate
2019-02-05 03:51:24 +11:00
Paul Hauner
aad3b3dc7a
Merge spec
into types
crate.
...
Also remove some pre-2018 `extern crate` calls.
2019-02-01 19:05:39 +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
10fec4919b
Merge pull request #175 from sigp/tree_hash
...
Merkle hashing chunk size fix
2019-02-01 12:08:17 +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
Paul Hauner
ae39a24e71
Add committee_index to aggregator
...
Fixes a bug where the validator index bit was set on the bitfield,
instead of the committee index
2019-01-31 14:16:28 +11:00
Paul Hauner
5ec9d82e40
Minor bug fixes and formatting changes.
2019-01-31 10:04:40 +11:00
Paul Hauner
2fc6dbb02a
Fix bug with inclusion_distance
2019-01-31 08:49:50 +11:00
Paul Hauner
7d94cfb0e4
Refine state transition to allow first transition
2019-01-31 00:39:34 +11:00
Kirk Baird
73ba4d3cfc
Minor modification to merkle hashing
2019-01-29 09:27:40 +11:00