Commit Graph

968 Commits

Author SHA1 Message Date
Paul Hauner
182135b832
Remove old DB crates, start fixing fork_choice 2019-05-20 18:01:51 +10:00
Paul Hauner
39c3526884
Run cargo fmt --all 2019-05-20 16:47:44 +10:00
Paul Hauner
048f342e1d
Fix off-by-one error in CommitteeCache 2019-05-20 16:46:44 +10:00
Paul Hauner
21de9c1cb8
Re-work CommitteeCache to use less memory
Now it just stores a reverse mapping of the shuffling (validator index
-> position in shuffling) instead of all the `AttestationDuty`.
2019-05-20 16:21:26 +10:00
Kirk Baird
c991f4631d
Update to bls version 0.7.0 2019-05-20 15:38:14 +10:00
Michael Sproul
857c4ed2db
spec v0.6.1: process proposer/attester slashings 2019-05-20 15:12:24 +10:00
Michael Sproul
dab11c1eed
spec v0.6.1: verify attester slashing 2019-05-20 15:12:24 +10:00
Michael Sproul
58481c7119
spec v0.6.1: verify proposer slashing 2019-05-20 15:12:23 +10:00
Michael Sproul
366f0ffd87
spec v0.6.1: get_genesis_beacon_state 2019-05-20 15:12:23 +10:00
Michael Sproul
55537078a1
block processing: v0.6.1 headers, randao, eth1 data 2019-05-20 15:12:23 +10:00
Paul Hauner
aa01808a00
Tidy, add comments to CommitteeCache 2019-05-20 15:10:56 +10:00
Paul Hauner
6660311b2b
Rename EpochCache to CommitteeCache 2019-05-20 14:36:54 +10:00
Paul Hauner
cb74187cfc
Re-add old cache tests 2019-05-20 14:25:38 +10:00
Paul Hauner
89df2b173e
Add more epoch_cache tests 2019-05-20 14:04:02 +10:00
Paul Hauner
2fd45e093c
Remove shard_count from ChainSpec 2019-05-20 14:00:47 +10:00
Paul Hauner
7ea1c4bb12
Ensure BeaconState epoch tests use distinct seed 2019-05-20 11:02:18 +10:00
Paul Hauner
d868d82124
Add more EpochCache tests 2019-05-19 19:08:10 +10:00
Paul Hauner
399ad6e2bd
Add a "minimum_validator_count" to EthSpec 2019-05-19 19:07:53 +10:00
Paul Hauner
1565096008
Move committee tests to beacon state tests
They used to be in epoch_cache tests but they were really testing
BeaconState interfaces.
2019-05-19 18:15:32 +10:00
Paul Hauner
05b38cbb7b
Tidy epoch processing, improve testing 2019-05-19 18:07:18 +10:00
Paul Hauner
94a39c3cb6
Implement state.get_crosslink_committees_at_slot 2019-05-19 17:21:24 +10:00
Paul Hauner
9264ec1aa9
Remove state.get_crosslink_committee fn
Replaced by state.get_crosslink_committee_for_shard
2019-05-19 17:08:09 +10:00
Paul Hauner
ea96d24420
Make #stateprocessingcompileagain 2019-05-19 16:56:39 +10:00
Paul Hauner
29a3e0c868
Move beacon state fns to be RelativeEpoch native 2019-05-19 16:03:54 +10:00
Paul Hauner
03849de319
Fix some BeaconState API changes in state proc. 2019-05-19 15:56:24 +10:00
Paul Hauner
9eb8c7411f
Make EpochCache store shuffling and less maps 2019-05-19 15:41:22 +10:00
Paul Hauner
089febb944
Fix epoch cache, add tests 2019-05-17 16:40:33 +10:00
Darren Langley
b9ab3b2523 fake sig back, merge, and fixed up yml checkin issue 2019-05-16 23:06:41 +10:00
Darren Langley
7b937ce901 merged master 2019-05-16 22:45:32 +10:00
Paul Hauner
86c3dad3e7
Add progress on epoch cache testing 2019-05-16 17:54:45 +10:00
Paul Hauner
944ac73ef9
Add progress on epoch caching 2019-05-16 16:54:11 +10:00
Michael Sproul
0885d56b36
spec: v0.6.1 scaffold for updated epoch cache 2019-05-15 17:20:04 +10:00
Michael Sproul
137afa9131
state_processing: nicer attestation swap 2019-05-15 17:14:07 +10:00
Michael Sproul
e4bbcd333a
state_processing: delete get_attestation_participants 2019-05-15 13:18:15 +10:00
Paul Hauner
8484cbf6ec
Add custom serde deser to block_body.graffiti 2019-05-15 13:11:47 +10:00
Paul Hauner
519ee81c68
Merge branch '368' into ef-tests 2019-05-15 12:33:40 +10:00
Michael Sproul
3a0f00215d
spec: ensure types up to date with v0.6.1 2019-05-15 11:48:09 +10:00
Michael Sproul
9f6b7eb757
Merge remote-tracking branch 'origin/sos' into spec-0.6 2019-05-15 11:09:00 +10:00
Paul Hauner
4b753015d8
Remove commented-out code 2019-05-15 10:40:30 +10:00
Paul Hauner
9f42d4d764
Extend ssz-static testing 2019-05-15 09:50:05 +10:00
Paul Hauner
b6d8db3f72
Add serde transparent flag to fixed_len_vec 2019-05-15 07:55:03 +10:00
Paul Hauner
d73e068686
Add additional fake_crypto objects 2019-05-14 22:09:57 +10:00
Paul Hauner
d1a6ac3a28
Make tests generic across an EthSpec 2019-05-14 17:40:17 +10:00
Paul Hauner
f4ec8b3e84
Merge branch '368' into ef-tests 2019-05-14 17:18:55 +10:00
Michael Sproul
c568dd01fe
types: del SlashableAttestation, fix fork defaults 2019-05-14 16:37:19 +10:00
Michael Sproul
2727590762
spec: confirm default 0 val for latest_start_shard 2019-05-14 15:49:58 +10:00
Michael Sproul
45506ded5d
spec: implement get_epoch_start_shard v0.6.1 2019-05-14 15:37:40 +10:00
Michael Sproul
79de966d3a
spec: top-level per-epoch processing v0.6.1 2019-05-14 15:00:18 +10:00
Michael Sproul
894ecdd4ea
state_processing: process_slashings v0.6.1 2019-05-14 12:56:15 +10:00
Michael Sproul
e80264b8c8
Merge remote-tracking branch 'origin/master' into spec-0.6 2019-05-14 12:09:59 +10:00
Paul Hauner
cf509bea9b
Improve ef_tests crate 2019-05-13 22:10:23 +10:00
Michael Sproul
13ec3d125e
WIP trash changes 2019-05-13 17:32:06 +10:00
Michael Sproul
ac51d7be3b
WIP beacon state changes 2019-05-13 17:31:47 +10:00
Michael Sproul
2751be9a05
state_processing: verify_deposit v0.6.0 2019-05-13 17:28:37 +10:00
Michael Sproul
4f138fa3fe
state_processing: IndexedAttestation rename 2019-05-13 17:28:04 +10:00
Michael Sproul
92e88b1b75
spec: apply_rewards tweaks 2019-05-13 17:18:42 +10:00
Michael Sproul
fd56c8fa04
state_processing: winning_root v0.6.1 2019-05-13 17:18:21 +10:00
Michael Sproul
ca73fb72da
state_processing: get_attesting_indices 2019-05-13 17:15:30 +10:00
Michael Sproul
240e269f2f
types: more v0.6.1 updates 2019-05-13 17:13:56 +10:00
Paul Hauner
8222ac17cf
Merge branch 'master' into sos 2019-05-13 15:17:56 +10:00
Paul Hauner
bf23a5b7b0
Merge pull request #369 from sigp/fixed-vec
Implement fixed-length lists for BeaconState
2019-05-13 15:16:03 +10:00
Paul Hauner
a0148b5aae
Rename SSZ traits (Encodable -> Encode) 2019-05-13 15:12:19 +10:00
Paul Hauner
fcabef91da
Use E for EthSpec trait, instead of B 2019-05-13 14:44:43 +10:00
Paul Hauner
afa8fff31a
Remove old tree_hash_vector file 2019-05-13 14:14:40 +10:00
Paul Hauner
94ab2479fe
Add docs to SSZ 2019-05-13 14:13:15 +10:00
Paul Hauner
16a8cdb714
Add tests for excess bytes in SSZ 2019-05-13 13:51:58 +10:00
Paul Hauner
9ccaec5b91
Move SSZ macros into own file 2019-05-13 12:33:59 +10:00
Paul Hauner
9f62f261c4
Run cargofmt --all 2019-05-13 12:29:26 +10:00
Paul Hauner
03fee2fb97
Fix SSZ for bls fake_crypto features 2019-05-13 12:23:06 +10:00
Paul Hauner
eb62b5842d
Update beacon node crates for new SSZ 2019-05-13 12:07:32 +10:00
Paul Hauner
d9bfbc2657
Add macros for easy SSZ impl via From trait 2019-05-13 09:25:37 +10:00
Paul Hauner
f96a6268e5
Remove old dbg! statements from tests 2019-05-12 09:34:01 +10:00
Paul Hauner
349d33052b
Fix SSZ encode impl for fixed_len_vec 2019-05-12 09:33:47 +10:00
Paul Hauner
02afc6ef24
Tidy ssz decoding code 2019-05-11 22:52:24 +10:00
Paul Hauner
fc2a406edf
Fix bug in ssz decoding 2019-05-11 22:25:28 +10:00
Paul Hauner
96aeac333a
Add tests for fixed_len_vec ssz 2019-05-11 19:09:51 +10:00
Paul Hauner
1f7b7ec498
Add tests for SSZ offset attacks 2019-05-11 19:09:27 +10:00
Paul Hauner
2313de9b6e
Fix types ssz macro 2019-05-10 16:41:52 +10:00
Paul Hauner
1e2bf03d5e
Update ssz impl for fixed_len_vec 2019-05-10 16:37:56 +10:00
Paul Hauner
3cd112d42d
Encapsulate ssz vec decoding in public fn 2019-05-10 16:37:00 +10:00
Paul Hauner
3ef46c03d1
Merge branch 'fixed-vec' into sos 2019-05-10 15:27:21 +10:00
Paul Hauner
ce8ebeccbc
Rename BeaconStateTypes to EthSpec 2019-05-10 14:47:09 +10:00
Luke Anderson
93a4bef41c
Very small wording/typo fixes for docs. 2019-05-10 13:49:01 +10:00
Paul Hauner
3be80ba9a9
Marginally improve cached_tree_hash docs 2019-05-10 13:29:43 +10:00
Paul Hauner
75b310a078
Add convenience methods to BeaconStateTypes 2019-05-10 11:23:19 +10:00
Paul Hauner
59883603ac
Remove state_processing tests, update travis 2019-05-10 10:28:18 +10:00
Paul Hauner
3115bf7d36
Fix operation_pool release-only tests 2019-05-10 09:45:28 +10:00
Paul Hauner
be9f8aa0bf
Fix fork_choice release-only tests 2019-05-10 09:45:08 +10:00
Paul Hauner
77c4b6eafe
Add progress on op pool test fixes 2019-05-09 18:56:41 +10:00
Paul Hauner
2a938f2fd5
Fix clippy lints 2019-05-09 13:35:00 +10:00
Paul Hauner
49c92ef167
Remove attester, block_producer & test_harness 2019-05-09 11:48:14 +10:00
Paul Hauner
4c0c93f0c9
Update beacon_node to work w/ BeaconStateTypes 2019-05-09 09:40:32 +10:00
Paul Hauner
42b7aa89d4
Update network and rpc to BeaconStateTypes 2019-05-08 19:38:18 +10:00
Paul Hauner
51dc97ee42
Allow fork_choice and beacon_chain to compile 2019-05-08 18:18:17 +10:00
Paul Hauner
9fd8af8428
Update operations_pool for new BeaconStateTypes 2019-05-08 17:07:26 +10:00
Paul Hauner
6ea538938b
Fix state_processing under new BeaconStateTypes 2019-05-08 16:35:22 +10:00
Paul Hauner
81c1dcceec
Add spec fn to BeaconStateTypes 2019-05-08 16:29:27 +10:00
Paul Hauner
8cefd20e9d
Add progress on state_processing fixed-len update 2019-05-08 15:36:02 +10:00
Paul Hauner
7a67d34293
Add FewValidatorsBeaconState for testing 2019-05-08 13:26:19 +10:00
Paul Hauner
5ba069c774
Implement new BeaconStateTypes trait in types 2019-05-08 13:08:37 +10:00
Luke Anderson
ce8a31f0ee
Igoring state_transition_tests_small and test_read_yaml because they are failing to download the correct files. 2019-05-08 01:34:15 +10:00
Paul Hauner
009d05cafd
Implement basic FixedLenVec 2019-05-07 18:42:41 +10:00
Michael Sproul
eda8ec8c55
spec: registry updates v0.6.1 2019-05-07 18:27:58 +10:00
Michael Sproul
5394726caf
spec: initiate_validator_exit v0.6.1
Added a new field `exit_cache` to the BeaconState, which caches
the number of validators exiting at each epoch.
2019-05-07 18:27:58 +10:00
Michael Sproul
5c03f7b06c
spec: update chain spec for v0.6.1 2019-05-07 18:27:43 +10:00
Michael Sproul
839ef0119b
spec: justification and finalization v0.6.1 2019-05-07 18:27:36 +10:00
Michael Sproul
ed00ad9d00
spec: get_crosslink_deltas to v0.6.1 2019-05-07 18:27:36 +10:00
Michael Sproul
caff553af9
spec: update reward processing to v0.6.1 + bugfix
Two bugs fixed by this commit:

* Reward proposers rather than attesters in `get_proposer_deltas`
* Prevent double-counting of validator balances towards the total when
  computing validator statuses
2019-05-07 18:27:25 +10:00
Michael Sproul
1ad0024045
spec v0.6.0: update types 2019-05-07 18:27:24 +10:00
Michael Sproul
7dda85e87e
hashing: Keccak -> SHA256 2019-05-07 18:27:24 +10:00
Paul Hauner
e13bc5cd19
Merge pull request #346 from sigp/testnet-key-load
Added deterministic keypair generation
2019-05-07 16:10:26 +10:00
Paul Hauner
759d0250c5
Clean out some occurances of SszStream 2019-05-06 19:50:05 +10:00
Paul Hauner
5550d14d62
Upgrade BLS to new SSZ 2019-05-06 15:03:20 +10:00
Paul Hauner
ebbeb03349
Update boolean bitfield to new SSZ 2019-05-06 13:25:11 +10:00
Paul Hauner
1f098ecbde
Remove antiquated test vectors 2019-05-06 11:52:46 +10:00
Paul Hauner
c31ef5cf7f
Remove old code, fix bug with MAX_LENGTH_VALUE 2019-05-06 11:51:50 +10:00
Paul Hauner
9d27f67643
Tidy SSZ decode impls 2019-05-06 11:36:00 +10:00
Luke Anderson
934cb5af5f
Merge branch 'master' into testnet-key-load 2019-05-06 11:13:16 +10:00
Paul Hauner
96ef8e7073
Tidy SSZ encode impls 2019-05-06 10:26:49 +10:00
Paul Hauner
56fe63f78d
Improve allocations for SszEncoder 2019-05-06 09:58:31 +10:00
Paul Hauner
480c5ff160
Update SszEncoder 2019-05-06 09:26:58 +10:00
Paul Hauner
aeb17c73f6
Add SszEncoder 2019-05-06 09:01:28 +10:00
Paul Hauner
daf6912d18
Begin refactor for less allocation 2019-05-06 08:47:49 +10:00
Paul Hauner
acf854f558
Add profiling tools, examples 2019-05-05 15:32:09 +10:00
Paul Hauner
fd5f914c3c
Fix failing decode test 2019-05-05 12:47:57 +10:00
Paul Hauner
c5f00d1666
Update SSZ derive macro, create failing test 2019-05-05 12:11:25 +10:00
Paul Hauner
b5d9157722
Add tests for derived encoding 2019-05-04 18:06:01 +10:00
Paul Hauner
0bd5119f19
Replace ssz with ssz2, adapt ssz_derive 2019-05-04 14:11:48 +10:00
Paul Hauner
7096d56749
Add working decoder example 2019-05-03 17:50:29 +10:00
Paul Hauner
0c0edb0653
Add ssz examples, decoder struct 2019-05-03 17:39:51 +10:00
Paul Hauner
7865f0de89
Tidy encode impl tests 2019-05-03 16:21:18 +10:00
Paul Hauner
80ef379202
Improve docs, cover a bunch of invalid inputs 2019-05-03 15:43:10 +10:00
Paul Hauner
90d8afd64b
Simplify SOS vec decoding 2019-05-03 14:16:36 +10:00
Paul Hauner
6d721813f1
Fix failing SOS nested vec tests 2019-05-03 13:43:52 +10:00
Paul Hauner
9943e70cb9
Fix failing SOS tests, add new failing tests 2019-05-03 13:14:26 +10:00
Paul Hauner
3f9430ddff
Add partial progress on sos 2019-05-03 11:05:51 +10:00
Paul Hauner
c5acbd978f
Start works on SOS-SSZ 2019-05-01 17:51:07 +10:00
Johns Beharry
06362d32d3
chore(hashing/merkle_root): remove semi colon on returns
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:28 +03:00
Johns Beharry
725401d2e1
test(hashing/merkle_root): write test for empty vector and odd leaf count
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
8429f3bff1
chore(hashing): update comments of fn merkle_root
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
9fbacbf967
chore(merkle_root): move function into lib.rs
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:27 +03:00
Johns Beharry
5f9e93d338
chore(merkle_root): split function to it's own file
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Johns Beharry
80ac60cc0e
feat(merkle_root): calculate merkle root from leaves
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Johns Beharry
af87fbf203
feat(merkle_root): hash vector of leafs to get merkle_root
Signed-off-by: Johns Beharry <johns@peakshift.com>
2019-04-30 08:24:26 +03:00
Paul Hauner
84d72cfed6
Tidy and add docs for cached tree hash 2019-04-29 17:46:01 +10:00
Paul Hauner
f622aa0b65
Add doc comments to vec impl 2019-04-29 15:45:02 +10:00
Paul Hauner
f20314bd87
Fix clippy lints, impl treehash for slices 2019-04-29 15:32:41 +10:00
Paul Hauner
240d1e197a
Ignore clippy range_plus_one lints 2019-04-29 14:24:57 +10:00
Paul Hauner
a90bbbfd82
Address various clippy lints, improve comments 2019-04-29 14:04:52 +10:00
Paul Hauner
52695c29e8
Improve cached hash testing in types 2019-04-29 10:57:39 +10:00