Commit Graph

1530 Commits

Author SHA1 Message Date
Age Manning
0972c67d19
Pull basic LMD Ghost into fork choice crate.
- Moves the basic implementation into the fork choice crate.
- Builds the option of fork choices into beacon_struct.
2019-02-05 17:15:15 +11:00
Age Manning
af35bccd7c
Merge pull request #180 from sigp/add-chain-benchmarks
Add chain benchmarks
2019-02-05 16:57:50 +11:00
Paul Hauner
36ee4aa81f
Fix file naming inconsistencies.
File names should be the same as the struct that they contain.
2019-02-05 16:53:44 +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
af50c28e0f
Improve naming consistency in test_harness
With respect to filenames. Especially removing Test.. prefixes
2019-02-05 16:22:07 +11:00
Age Manning
8109fad7bf
Create the fork-choice crate.
- Adds the naive fork choice (longest chain) rule.
- Adds basic documentation for the crate.
2019-02-05 15:55:29 +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
449312d95c
Set all test_harness tests to ignore
They were taking too long, we'll need to build a different build cycle
to cover these.
2019-02-05 12:29:08 +11:00
Paul Hauner
ade2460377
Move all beacon_state fns into single file. 2019-02-05 12:25:42 +11:00
Paul Hauner
4008ec9b25
Re-org test_harness files for consistency 2019-02-05 05:49:53 +11:00
Paul Hauner
0120082f6b
Merge branch 'master' into add-chain-benchmarks 2019-02-05 05:49:45 +11:00
Paul Hauner
d83bafae10
Fix compiler errors from BeaconChain refactor.
I accidentally forgot to include this in the last commit, my bad!
2019-02-05 05:26:47 +11:00
Paul Hauner
c1ed5cd2d8
Refactor beacon_chain.
Moves all the `BeaconChain` impls into the same file that the struct is
defined in.
2019-02-05 05:08:40 +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
ad486c687a
Merge pull request #179 from sigp/merge-spec
Merge `spec` into `types` crate.
2019-02-02 10:37:28 +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
cb85fbcdb2
Tidy and add docstring to chain test harness. 2019-02-01 18:48:37 +11:00
Paul Hauner
4cc88c8cc7
Tidy benches 2019-02-01 18:22:43 +11:00
Paul Hauner
efc0902abb
Run cargo fmt 2019-02-01 18:20:42 +11:00
Paul Hauner
5ca53190b5
Add comments to beacon chain fork choice 2019-02-01 18:18:39 +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
a71e1031ce
Add docstrings to finalized_head 2019-02-01 17:07:59 +11:00
Paul Hauner
b99e4ed9f4
Tidy slot_dump, remove SlotDump, use CheckPoint 2019-02-01 17:04:25 +11:00
Paul Hauner
4d062d77f9
Move CheckPoint into file, tidy canonical_head 2019-02-01 16:58:12 +11:00
Paul Hauner
942ef4b002
Move advance_slot to its own file. 2019-02-01 16:30:42 +11:00
Paul Hauner
db230475d7
Remove SlotClock error from block production, tidy. 2019-02-01 16:21:18 +11:00
Paul Hauner
9d1f98ba8f
Delete SlotClock errs from block_processing, tidy. 2019-02-01 16:07:59 +11:00
Paul Hauner
1e6f85a5eb
Tidy BlockGraph, use parking_lot, add doc comments 2019-02-01 15:59:12 +11:00
Paul Hauner
d4757f2e09
Drop test repetitions down to 100 2019-02-01 15:39:30 +11:00
Paul Hauner
d50a8b03f8
Set BeaconChain present_slot to read from state.
It used to read from the slot_clock, that has been replaced with
`read_slot_clock`.
2019-02-01 15:37:43 +11:00
Paul Hauner
92753fa24e
Tidy attestation_production and create docstrings 2019-02-01 15:26:36 +11:00
Paul Hauner
2ed5f69448
Tidy attestation_processing, add docstrings. 2019-02-01 15:19:50 +11:00
Paul Hauner
a86f7fa51b
Tidy AttestationAggregator, add docstrings. 2019-02-01 15:16:24 +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
c1c5311ea0
Merge pull request #168 from Feng94/protos-build-dir-separator-fix
Fix hardcoded string to use system constant for directory separator
2019-02-01 12:09:27 +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
8b84b741dc
Merge pull request #173 from g-r-a-n-t/sig-lib-version
added version to signature-schemes dependency
2019-02-01 12:06:48 +11:00
Paul Hauner
b6b738e83a
Improve test_harness efficiency for attesatations
Reduce the amount of attester.poll() calls by using a hashset
2019-01-31 20:27:15 +11:00
Paul Hauner
becb81d842
Fix memory blow-up with Arc<ChainSpec>
Previously it was cloning the ChainSpec, now it shares an Arc.
2019-01-31 20:24:37 +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
d6adfc7655
Refactor justified_slot fn
Now it reads from the head state
2019-01-31 18:30:43 +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