Commit Graph
4350 Commits
Author SHA1 Message Date
Alex Stokes 97bd323a52 Updates the hash function used to Keccak-256 2018-12-12 21:54:04 -08:00
Paul Hauner 06e1ee0e5f Add extra params to ChainSpec 2018-12-13 16:01:04 +11:00
Alex Stokes de54d40841 fix build by patching up import and usage 2018-12-12 19:29:28 -08:00
Alex Stokes 7d77ebd1b5 remove active-validators crate from deps desc 2018-12-12 19:24:15 -08:00
Alex Stokes ca3aa82f4e rustfmt changes 2018-12-12 19:22:52 -08:00
Alex Stokes 5eabdad0dc remove active_validators crate 2018-12-12 19:22:44 -08:00
Alex Stokes 1ff47720f1 Clean up representation of ValidatorStatus 2018-12-12 19:05:32 -08:00
Grant Wuerker 6089b7c108 chain config TODO 2018-12-12 19:55:30 -06:00
Paul Hauner 4f0a223579 Change some ShardAndCommittee -> ShardCommittee 2018-12-13 12:28:37 +11:00
Paul Hauner 6847e68c5e Move genesis code into its own crate 2018-12-13 12:27:45 +11:00
Grant Wuerker 82b3a21767 Merge branch 'master' into validator-record-update 2018-12-12 18:42:16 -06:00
Grant Wuerker 045f7b5b98 typo 2018-12-12 17:59:50 -06:00
Grant Wuerker c7f7bfaab4 deposit and deposit_parameters types added 2018-12-12 17:57:14 -06:00
Grant Wuerker 071e099203 validator registration removed 2018-12-12 17:56:44 -06:00
mjkeating 3fd62239ad Merge branch 'tree_hash' of https://github.com/mjkeating/lighthouse into tree_hash 2018-12-12 14:01:37 -08:00
mjkeating be2c82a732 updated with latest spec changes 2018-12-12 13:48:54 -08:00
mjkeating 1e4e92bf2e removed a debugging println statement 2018-12-12 09:23:53 -08:00
mjkeating c961c87307 fixed tree_hash() for Vec<T> and a couple of other issues 2018-12-12 09:23:53 -08:00
mjkeating 68629acebe Added tree_hash impl for Vec and Hashtable (list and container); plus various cleanup code 2018-12-12 09:23:53 -08:00
mjkeating f11c619ef5 WIP for tree_hash 2018-12-12 09:23:53 -08:00
mjkeating fbb05946dd tree_hash WIP 2018-12-12 09:23:53 -08:00
Paul Hauner 7fa9c90d62 Add some extra tests for boolean-bitfield 2018-12-12 09:23:53 -08:00
Alex Stokes db4c4bf223 Run cargo fmt that got clobbered in merge 2018-12-12 09:23:53 -08:00
Alex Stokes 9021227c1c Remove warning about unused import 2018-12-12 09:23:53 -08:00
Alex Stokes 8c78dde43b Fixes bug with ssz encoding of BooleanBitfield 2018-12-12 09:23:53 -08:00
Alex Stokes 38d9d7ac92 Add method to calculate the underlying number of bytes
Required for part of attestation validation logic
2018-12-12 09:23:53 -08:00
Alex Stokes f611602235 Begin updating tests to reflect changes to bitfield 2018-12-12 09:23:53 -08:00
Alex Stokes b1f8046563 Update bitfield to expand size when writing out-of-bounds 2018-12-12 09:23:53 -08:00
Alex Stokes 2defe8e4ee get tests passing (except one) 2018-12-12 09:23:53 -08:00
Alex Stokes 3a26f73cf2 Simplifies the boolean-bitfield implementation to use bit-vec crate 2018-12-12 09:23:53 -08:00
Paul Hauner bf49c881d5 Introduce un-tested BeaconState genesis code. 2018-12-12 18:36:12 +11:00
Paul Hauner 56dc73fbd1 Update some shard u16 to u64
This is pretty hacky, is just serving my purpose for `BeaconChain`.
These structs will need to be fully updated to the latest spec.
2018-12-12 18:35:31 +11:00
Paul Hauner 92786520e4 Update (hacky) validator induction and shuffling.
This allows the `BeaconChain` struct to be updated but it doesn't bring
these functions in line with the spec.
2018-12-12 18:32:19 +11:00
Paul Hauner c944c435e2 Update CrosslinkRecord to latest spec
Addresses #100
2018-12-12 18:30:20 +11:00
Paul Hauner 89bea5b5e8 Update BeaconState rename ShardCommittee
Both structs are now consistent with the spec.

Addresses #100
2018-12-12 18:25:21 +11:00
Paul Hauner 7808835f1c Merge pull request #112 from sigp/issue/101/ChainSpec
Add `ChainSpec` structure.
2018-12-12 16:27:16 +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 bea166389b Merge pull request #110 from sigp/attestation-rename
Rename `AttestationRecord` -> `Attestation`

Closes #82
2018-12-12 14:13:42 +11:00
Paul Hauner 4d0641636e Rename AttestationRecord -> Attestation 2018-12-12 12:16:11 +11:00
Alex Stokes fa3d9bdb07 begin the transition to using ValidatorStatus as a distinct type 2018-12-11 15:17:55 -08:00
Alex Stokes d3681e876a add method to determine validator status 2018-12-11 15:16:25 -08:00
Paul Hauner 7259e1d7b6 Merge pull request #85 from sigp/attestation-update
Update `AttestationRecord` as per spec
2018-12-12 09:59:15 +11:00
Paul Hauner 4fdc2e4ac6 Merge branch 'master' into attestation-update 2018-12-12 09:45:14 +11:00
Paul Hauner fb03b0a649 Merge branch 'master' into attestation-update 2018-12-12 09:42:12 +11:00
Paul Hauner f29d7961fd Merge pull request #87 from ralexstokes/fix-boolean-bitfield-serde-bug
Fix boolean bitfield serde bug
2018-12-12 09:36:54 +11:00
Alex Stokes 6c2c42e6b7 Adds custom std::cmp::PartialEq impl
Two bitfields now match if they contain the same information.

There were some discrepancies before when comparing fields with the same
bits set but came from different sources, e.g. off the wire vs created
in memory, due to the existence of unset bits in the high byte.
2018-12-10 20:34:35 -08:00
Alex Stokes 1ffd9e10b3 Fixes bug with attestation validation that arose from change to API 2018-12-10 20:33:43 -08:00
Alex Stokes 4d43de1cea rustfmt edits 2018-12-10 20:32:44 -08:00
Grant Wuerker 1d48aa280b test passing in validator_record.rs 2018-12-09 22:22:08 -06:00
Grant Wuerker c63ef6d032 ValidatorRecord initialization updated to reflect struct 2018-12-09 22:13:57 -06:00