Commit Graph

51 Commits

Author SHA1 Message Date
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
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
Paul Hauner
6a4252b8c6
Add state helpers from #148 2019-01-28 19:12:20 +11:00
Paul Hauner
f92b9d618a
Add get_shuffling to state 2019-01-28 17:45:54 +11:00
Paul Hauner
be7e326c33
Add FreeAttesation type 2019-01-28 16:21:33 +11:00
Paul Hauner
5bbffcb053
Add attester to beacon chain test harness 2019-01-28 15:50:42 +11:00
Paul Hauner
e1698102e0
Add attestation aggregation to BeaconChain 2019-01-28 13:04:50 +11:00
Paul Hauner
a037fec283
Add signable_message() to AttestationData 2019-01-28 11:22:25 +11:00
Paul Hauner
fd47f6c433
Move attestation validator to BeaconState fn 2019-01-27 17:54:26 +11:00
Paul Hauner
b487db68a1
Add signable_message() to Attestation 2019-01-27 17:28:16 +11:00
Paul Hauner
79d1b15afc
Tidy epoch_processing 2019-01-27 13:59:29 +11:00
Paul Hauner
7ee836d118
Implement the majority of per-epoch processing 2019-01-26 22:07:50 +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
73d86bcc3b
Fix canonical_root fns
Fixes #92
2019-01-25 17:39:46 +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
f67facae88
Add return type for AttesationDataAndCustodyBit hash_tree_root 2019-01-25 14:39:51 +11:00
Paul Hauner
ea523c8658
Merge spec crate into types 2019-01-25 13:52:21 +11:00
Kirk Baird
9c9b07c182
Add TreeHash trait to all types and structs 2019-01-25 12:22:56 +11:00
Paul Hauner
298f9acd6a
Merge branch 'master' into lmd-ghost 2019-01-24 12:06:23 +11:00
Paul Hauner
d009b85637
Export bls::Keypair from types crate 2019-01-24 11:52:19 +11:00
Kirk Baird
c860191f14
More updates base upon the specs, again 2019-01-24 10:17:12 +11:00
Paul Hauner
1256ba0d01
Implement very raw state transition logic 2019-01-23 19:25:05 +11:00
Kirk Baird
e047fbe914
More updates base upon the specs 2019-01-23 18:06:25 +11:00
Kirk Baird
560dbe4ae1
Update constants / types to match specs as of 23.1.19 2019-01-23 15:04:40 +11:00
Paul Hauner
b555916808
Add slow LMD ghost implementation 2019-01-23 09:33:04 +11:00