Commit Graph

75 Commits

Author SHA1 Message Date
Paul Hauner
73484f04a1 Rename eth2_bytes to int_to_bytes 2019-02-15 11:19:25 +11:00
Paul Hauner
46673238b6 Add eth2_bytes crate
Is passing test vectors
2019-02-15 11:13:56 +11:00
Paul Hauner
18e85a3cf8 Add swap_or_not_shuffle and tests.
The implementation is not matching the EF implementation at this point.
2019-02-14 18:22:55 +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
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
f3e556bca3 Remove validator_induction crate 2019-02-12 09:02:26 +11:00
Paul Hauner
c1f8c85ce9 Add un-finished, uncompiling state_processing 2019-02-11 17:25:23 +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
acf8b79fe9 Add unsafe attester crate 2019-01-28 11:23:30 +11:00
Paul Hauner
e3115d2105 Move TestRig into its own crate 2019-01-27 14:22:51 +11:00
Paul Hauner
ea523c8658 Merge spec crate into types 2019-01-25 13:52:21 +11:00
Paul Hauner
2bcce37b3c Remove outdated attestation_validation crate 2019-01-24 11:42:40 +11:00
Paul Hauner
188434aaa0 Move block_propser -> eth/, impl for val client 2019-01-23 21:41:47 +11:00
Paul Hauner
403eefb7b4 Move block_proposer into separate crate 2019-01-23 21:21:18 +11:00
Paul Hauner
1256ba0d01 Implement very raw state transition logic 2019-01-23 19:25:05 +11:00
Paul Hauner
bf2cd2331d Fix dependencies after eth2 rename 2019-01-22 16:19:39 +11:00
Paul Hauner
40cf650563 Add validator_node, restructure binaries, gRPC.
This is a massive commit which restructures the workspace, adds a very
basic, untested, validator client and some very basic, non-functioning
gRPC endpoints to the beacon-node.
2019-01-14 12:55:55 +11:00
Paul Hauner
f01aac5ffa Merge branch 'master' into chain-update 2019-01-09 10:11:41 +11:00
Paul Hauner
1081529cc7 Add basic BeaconChain struct 2018-12-30 13:03:20 +11:00
Grant Wuerker
f48eb568ba Merge branch 'master' into validator-record-update 2018-12-26 20:26:33 -06:00
Grant Wuerker
da508fd826 deleted validator_change 2018-12-26 12:45:04 -06:00
Paul Hauner
b978db23fc Merge new beacon block, Rust 2018 2018-12-25 19:00:41 +11:00
Paul Hauner
91dea4bf29 Merge Rust 2018 updates 2018-12-24 10:03:56 +11:00
Paul Hauner
a42d931d66 Remove state-transition crate 2018-12-24 10:00:52 +11:00
Stan Drozd
dcf9f2244a Add 'edition = "2018"' to every Cargo.toml 2018-12-19 16:38:59 +01:00
Paul Hauner
be4c6701ac Remove SSZ helpers 2018-12-18 18:08:51 +11:00
Paul Hauner
fdca969868 Merge pull request #119 from ralexstokes/remove-active-validators-crate
Remove active validators crate
2018-12-13 17:46:01 +11:00
Alex Stokes
7d77ebd1b5 remove active-validators crate from deps desc 2018-12-12 19:24:15 -08:00
Paul Hauner
6847e68c5e Move genesis code into its own crate 2018-12-13 12:27:45 +11:00
Paul Hauner
211d3961a0 Add ChainSpec structure.
It includes all constants from the
[Constants](https://github.com/ethereum/eth2.0-specs/blob/master/specs/core/0_beacon-chain.md#attestation)
section in the spec, except for things that are clearly enums.

My reasoning is that these enums are not so much "chain specification"
and this struct should be reserved for items that "configure" the chain.
2018-12-12 16:08:01 +11:00
Paul Hauner
7ea701aa30 Remove old block processing code 2018-12-10 09:54:25 +11:00
Paul Hauner
3533b8b892 Add untested attestation validation logic 2018-12-06 18:16:03 +11:00
Paul Hauner
46da9b670f Add untested minimum viable block processing 2018-10-30 15:49:32 +01:00
Paul Hauner
68e4c47cd3 Add slot-clock 2018-10-24 13:16:09 +02:00
Paul Hauner
a170bfe4fc Add untested validator change code 2018-10-23 23:45:54 +02:00
Paul Hauner
da25a66196 Move active_validators into own crate 2018-10-23 23:43:35 +02:00
Paul Hauner
073e3529e9 Add half-finished chain code 2018-10-20 16:34:08 +11: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
b4566a776a Add validator induction functionality 2018-10-20 03:11:45 +11:00
Paul Hauner
2fb9dfbf14 Merge pull request #33 from sigp/validation
Add block and attestation validation
2018-10-18 10:07:06 +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
Age Manning
ddc8037487 Merge branch 'master' into shuffling 2018-10-10 14:41:49 +11:00
Paul Hauner
739abc0bbd Merge branch 'master' into validation 2018-10-09 18:28:35 +11:00
Paul Hauner
a65531ba95 Remove all libp2p and syncing code
This will all need to be rebuilt in the future.

This code will be available at a "legacy_libp2p" branch.
2018-10-09 13:36:54 +11:00
Age Manning
d15b1d066d Create transition crate 2018-10-03 15:25:15 +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
117a207d49 Add pre-written validation code
This adds block and attestation validation code that was written
previously. There were many non-validation specific changes made whilst
building these functions (e.g., db, hashing, etc) -- these changes have
already been merged into master and this branch has been created just to
make it easy to review this code.
2018-10-02 17:35:03 +10:00
Paul Hauner
0fbe4179b3 Heavily restructure repo
Separate most modules into crates
2018-10-02 16:41:10 +10:00