Commit Graph

786 Commits

Author SHA1 Message Date
Paul Hauner
493a16ac18
Update attestation_validator for spec updates 2018-12-13 17:33:16 +11:00
Paul Hauner
96c2012434
Add canonical_hash method to BeaconState 2018-12-13 17:32:48 +11:00
Paul Hauner
220a5bad76
Add clone method to some types 2018-12-13 17:32:17 +11:00
Alex Stokes
9b59acb95b
remove file lost in merge 2018-12-12 21:58:21 -08:00
Alex Stokes
e339d4bd71
update hash usage to get tests passing 2018-12-12 21:56:28 -08:00
Alex Stokes
c700d014db
update function we removed so test compiles 2018-12-12 21:54:05 -08:00
Alex Stokes
cc7982b277
Fixes a bug that was not returning the hash
The way this library works is that it is demand-driven, not
supply-driven; i.e. it will only fill as many bytes as you provide in a
given slice. The prior implementation was a vector of length 0 so the
backing slice requested no bytes.
2018-12-12 21:54:05 -08:00
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
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
Paul Hauner
3ae82c0710
Strip out anitquated parts of chain crate 2018-12-10 10:48:02 +11:00
Paul Hauner
7ea701aa30
Remove old block processing code 2018-12-10 09:54:25 +11:00
Paul Hauner
a35a28f522
Remove old validation crate 2018-12-10 09:48:41 +11:00
Paul Hauner
0f9482f9d1
Complete attestation_validation, bar tests 2018-12-10 09:33:57 +11:00
Grant Wuerker
0627b658f1 struct updated accoding to spec 2018-12-08 21:11:10 -06:00
Paul Hauner
a8bfa4d733
Add more attestation validation tests 2018-12-07 08:59:05 +11:00
Paul Hauner
2d2da001b9
Implement tests for attestation validation 2018-12-06 19:50:33 +11:00
Paul Hauner
36bda7502b
Implement signature verification test 2018-12-06 18:41:22 +11:00
Paul Hauner
3533b8b892
Add untested attestation validation logic 2018-12-06 18:16:03 +11:00