Commit Graph

290 Commits

Author SHA1 Message Date
Grant Wuerker
c180c6c94f BaconState cleanup, warnings fixed, and invalid proof of possession induction test added 2018-12-29 17:53:48 -06:00
Grant Wuerker
598562da73 BaconState serialization fixed and reorganiztion around induction and deposits 2018-12-29 16:22:14 -06:00
Grant Wuerker
d61ab50f45 ValidatorRecord serialization fixed 2018-12-29 12:17:51 -06:00
Grant Wuerker
03bf0a6855 Merge branch 'master' into validator-record-update 2018-12-28 22:38:43 -06:00
Paul Hauner
41ef019d57
Add unfinished chain code 2018-12-29 15:00:51 +11:00
Paul Hauner
8308ea4932
Fix old instances of shards being u16 2018-12-29 14:35:03 +11:00
Paul Hauner
b365bb8773
Re-add ValidatorRecord::status_is() fn
It was accidentally removed.
2018-12-29 14:34:22 +11:00
Paul Hauner
9efc7a0def
Remove unused types::common mod 2018-12-29 14:33:48 +11:00
Paul Hauner
4757b35ed2
Wrap BLS keypair, pubkey and privkey in newtypes 2018-12-29 14:33:35 +11:00
Paul Hauner
39f2171053
Implement ssz Enc/Decode for BeaconState + more 2018-12-28 19:46:33 +11:00
Paul Hauner
e4e729d309
Add newtype for bls::PublicKey 2018-12-28 19:45:59 +11:00
Paul Hauner
e6977b5f4b
Impl ssz Enc/Decode on Address. Decode on Vec<T> 2018-12-28 19:39:44 +11:00
Paul Hauner
d9c472ec37
Run rustfmt on ssz 2018-12-28 19:39:25 +11:00
Paul Hauner
d0422eed05
Add new ssz error type 2018-12-28 19:38:59 +11:00
Grant Wuerker
a470cb5369 testing around BeaconState and ChainSpec passing 2018-12-27 19:50:05 -06:00
Grant Wuerker
f48eb568ba Merge branch 'master' into validator-record-update 2018-12-26 20:26:33 -06:00
Grant Wuerker
65917a696a beacon_state, deposit_input, and validator_record updated again
beacon_state, deposit_input, and validator_record updated again
2018-12-26 20:06:50 -06:00
Grant Wuerker
da508fd826 deleted validator_change 2018-12-26 12:45:04 -06:00
Grant Wuerker
9040fcf437 fixed conflicts 2018-12-26 12:13:47 -06:00
Grant Wuerker
34ec2887fb Merge branch 'master' into validator-record-update 2018-12-26 12:10:41 -06:00
Grant Wuerker
2b818d0c70 deleted deposit types 2018-12-26 12:10:01 -06:00
Paul Hauner
d79d0182a6
Implement genesis signature 2018-12-26 11:15:51 +11:00
Paul Hauner
79093f6ad1
Merge branch 'master' into issue/105/genesis 2018-12-26 10:52:56 +11:00
Paul Hauner
9764cb0ef3
Remove some Default impls from types 2018-12-26 09:12:11 +11:00
Paul Hauner
926bdcde34
Merge branch 'master' into issue/96/beacon-block-update 2018-12-26 09:03:04 +11:00
Paul Hauner
c64d2bfce9
Merge pull request #125 from sigp/newtype-bls
Wrap Signature and AggregateSignature in a newtype
2018-12-26 08:56:10 +11:00
Paul Hauner
4330acdd96
Tidy up var name in BLS 2018-12-26 08:54:26 +11:00
Paul Hauner
810156a0fb
Remove Default impls for BLS newtypes 2018-12-26 08:46:37 +11:00
Grant Wuerker
77838734b5 tests passing again 2018-12-25 12:19:20 -06:00
Paul Hauner
3c4541156a
Add BeaconBlock genesis 2018-12-25 19:25:48 +11:00
Paul Hauner
b978db23fc
Merge new beacon block, Rust 2018 2018-12-25 19:00:41 +11:00
Paul Hauner
e635423eac
Fix clippy lint in ssz 2018-12-25 18:34:45 +11:00
Paul Hauner
a7756ea4b5
Remove old chain state transition code 2018-12-25 18:22:46 +11:00
Paul Hauner
b95395d1e1
Rename types::random types::test_utils 2018-12-25 10:36:49 +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
Grant Wuerker
1b3de3a507 Merge branch 'master' into validator-record-update 2018-12-23 12:21:49 -06:00
Paul Hauner
6f039e6e6a
Add ssz enc/dec for beacon block 2018-12-23 23:41:22 +11:00
Grant Wuerker
50767c7bfd testing around balance increase and zero balance replacement 2018-12-21 22:45:35 -06:00
Grant Wuerker
537c5e2846 more testing around deposit processing 2018-12-21 18:41:13 -06:00
Paul Hauner
368a218af4
Add types, more ssz testing for existing types 2018-12-21 15:44:11 +11:00
Grant Wuerker
faaba18799 types updated against spec and process_deposit routine partially implemented 2018-12-20 20:22:08 -06:00
Stan Drozd
dcf9f2244a
Add 'edition = "2018"' to every Cargo.toml 2018-12-19 16:38:59 +01:00
Stan Drozd
e502872083
cargo-fix the whole workspace into Rust 2018 2018-12-19 16:07:01 +01:00
Paul Hauner
c9f82f8a1d
Implement ssz enc/decode for beaconblock
Not yet fully tested
2018-12-19 17:56:09 +11:00
Paul Hauner
459be0b4b6
Merge pull request #109 from ralexstokes/update-hash-function
Updates the hash function used to Keccak-256

Closes #111
2018-12-19 17:11:47 +11:00
Paul Hauner
0260564c15
Begin implementing new types 2018-12-18 18:09:21 +11:00
Paul Hauner
be4c6701ac
Remove SSZ helpers 2018-12-18 18:08:51 +11:00
Paul Hauner
7f00f167e3
Fix error in agg sig newtype 2018-12-18 17:55:21 +11:00
Paul Hauner
92ed2ffc22
Update Attestation to use new bls structs 2018-12-18 17:30:34 +11:00
Paul Hauner
f046a326b8
Implement "newtype" wrappers for BLS structs 2018-12-18 17:04:54 +11:00
Alex Stokes
bd3d388b92
Use resize instead of extend which fits this use much better 2018-12-17 17:16:25 -08:00
Grant Wuerker
e93eb55dcd removed inductor.old.rs 2018-12-16 20:35:15 -06:00
Grant Wuerker
8adf5f7990 exit count changed to 0 2018-12-16 20:32:19 -06:00
Grant Wuerker
eef3627c92 one test passing 2018-12-16 17:00:53 -06:00
Paul Hauner
5c3ee698a7
Add issue link to vec_shuffle/src/lib.rs 2018-12-17 09:14:54 +11:00
Grant Wuerker
a05364cb49 first pass at updating inductor with deposit structs - lots of compilation errors 2018-12-15 23:19:15 -06:00
Grant Wuerker
7065454b5c deposit and validator_record type changes 2018-12-15 23:18:23 -06:00
Grant Wuerker
5fa251943b updated deposit structs and validator record accrding to spec 2018-12-14 17:32:01 -06:00
Grant Wuerker
8974d8e1df Merge branch 'master' into validator-record-update 2018-12-14 17:22:04 -06:00
Alex Stokes
914760e19f
update expected hash 2018-12-13 07:04:50 -08: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
Paul Hauner
01f3b2f0c1
Update BeaconChain w/ new genesis code 2018-12-13 17:33:53 +11:00
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
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
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
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
4fdc2e4ac6
Merge branch 'master' into attestation-update 2018-12-12 09:45:14 +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