Commit Graph

198 Commits

Author SHA1 Message Date
Michael Sproul
56424d94c6
spec v0.6.1: update per-epoch processing 2019-05-21 16:43:54 +10:00
Michael Sproul
d3d2900a6a
state_processing: get_attesting_indices in common 2019-05-21 16:43:54 +10:00
Paul Hauner
39c3526884
Run cargo fmt --all 2019-05-20 16:47:44 +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
6660311b2b
Rename EpochCache to CommitteeCache 2019-05-20 14:36:54 +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
03849de319
Fix some BeaconState API changes in state proc. 2019-05-19 15:56:24 +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
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
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
Michael Sproul
13ec3d125e
WIP trash changes 2019-05-13 17:32:06 +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
Paul Hauner
ce8ebeccbc
Rename BeaconStateTypes to EthSpec 2019-05-10 14:47:09 +10:00
Paul Hauner
77c4b6eafe
Add progress on op pool test fixes 2019-05-09 18:56:41 +10:00
Paul Hauner
6ea538938b
Fix state_processing under new BeaconStateTypes 2019-05-08 16:35:22 +10:00
Paul Hauner
8cefd20e9d
Add progress on state_processing fixed-len update 2019-05-08 15:36:02 +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
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
Paul Hauner
6258abfa9f
Tidy per_slot_processing fn 2019-04-29 07:34:01 +10:00
Paul Hauner
4dd1239b24
Add caching to state transition 2019-04-28 11:33:48 +10:00
Darren Langley
773227d627 removed printlns 2019-04-19 07:09:20 +10:00
Darren Langley
010d319fdf invalid randao signature test implemented 2019-04-18 07:00:40 +10:00
Paul Hauner
745d360566
Store state roots during slot processing 2019-04-17 17:17:43 +10:00
Paul Hauner
343909ef31
Fix boolean-bitfield serialization 2019-04-17 17:17:07 +10:00
Paul Hauner
c3779caede
Add extra info to block proc. error message 2019-04-17 13:59:40 +10:00
Michael Sproul
f592183aa9
Fix signed_root vs tree_hash_root in per_slot 2019-04-17 12:00:24 +10:00
Michael Sproul
d95ae95ce8
spec: update tags to v0.5.1 2019-04-17 12:00:23 +10:00
Michael Sproul
2914d77cd3
spec: update to v0.5.1 2019-04-17 12:00:23 +10:00
Michael Sproul
32547373e5
spec: simplify cache_state
The `latest_block_root` input argument was unnecessary as we were always setting it to something
almost equivalent to `state.latest_block_root` anyway, and more importantly, it was messing up the
caching of the state root. Previously it was possible for the function to update the state's latest
block root, and then hash the outdated block root that was passed in as an argument.
2019-04-17 12:00:23 +10:00
Michael Sproul
0a02567440
bitfield: fix bit ordering issue with YAML parsing 2019-04-17 12:00:22 +10:00
Michael Sproul
8da8730dca
spec: check ProposalSlashing epochs, not slots
As per v0.5.{0,1} of the spec, we only need to check that the epochs of two proposal slashings are
equal, not their slots.
2019-04-17 12:00:21 +10:00
Paul Hauner
49d066015b
Make genesis beacon state return a beacon state 2019-04-17 10:33:31 +10:00
Paul Hauner
f69b56ad60
Add new tree_hash crate project wide. 2019-04-16 14:25:43 +10:00
Paul Hauner
b8c4c3308a
Update types to new tree_hash crate 2019-04-16 14:14:38 +10:00
Darren Langley
d76246e600 invalid block signature test 2019-04-15 10:38:13 +10:00
Darren Langley
bb0500f11d process_block_header tests 2019-04-10 21:58:27 +10:00
Darren Langley
f9c1800c00 process_block_header tests 2019-04-10 21:56:31 +10:00
Darren Langley
8366352aaa mapped out invalid states... 59 2019-04-10 21:07:56 +10:00
Darren Langley
e1c08b1d02 mapped out invalid states... 59 2019-04-10 21:06:25 +10:00
Darren Langley
3e030c78a8 copied builder and setup tests 2019-04-10 14:42:31 +10:00
Paul Hauner
bd860eb3e1
Fixes bug in epoch processing.
- Was using the wrong slot to determine relative epoch.
- Added a non-related test I build during the search
2019-03-31 15:30:09 +11:00
Paul Hauner
b5f176a152
Merge branch 'master' into blop-pool 2019-03-29 17:49:33 +11:00
Paul Hauner
b887509607
Fix double advance-cache calls bug 2019-03-27 10:35:46 +11:00
Michael Sproul
99dbed86f1
types: PendingAttestation::from_attestation 2019-03-26 18:20:01 +11:00
Michael Sproul
518359e898
op-pool: implement attester slashings 2019-03-25 16:58:20 +11:00
Michael Sproul
e512f7c0e1
op-pool: validate_attestation_time_independent_only 2019-03-25 11:29:03 +11:00
Michael Sproul
95ed402228
op-pool: rename to verify_*_time_independent_only 2019-03-25 11:29:03 +11:00
Michael Sproul
b2fe14e12c
Operation pool: refactor verify_deposit/exit 2019-03-25 11:29:03 +11:00
Michael Sproul
8f4a2fbde1
Implement transaction pool basics 2019-03-25 11:29:03 +11:00
Paul Hauner
84f373fcc2
Fix clippy lints 2019-03-20 10:51:53 +11:00
Paul Hauner
baca2c90ab
Add last of 0.5.0 upgrades. Woo! 2019-03-19 19:43:31 +11:00
Paul Hauner
35b90728c7
Push more epoch processing fns to 0.5.0 2019-03-19 19:27:10 +11:00
Paul Hauner
61f6fe25e7
Tidy reward processing 2019-03-19 17:26:20 +11:00
Paul Hauner
d20fb93f0c
Update rewards processing to v0.5.0 2019-03-19 17:16:51 +11:00
Paul Hauner
37b8e9f39a
Move get_active_validator_indices to state 2019-03-19 09:09:57 +11:00
Paul Hauner
1028acf3f1
Move state trans fns into state_processing 2019-03-18 21:34:42 +11:00
Paul Hauner
7503f31ddc
Fix bug with per-block processing 2019-03-18 18:09:31 +11:00
Paul Hauner
edeace9e75
Fix issues with building on genesis block 2019-03-18 16:53:59 +11:00
Paul Hauner
191761f356
Allow epoch cache with zero validators. 2019-03-17 23:32:27 +11:00
Paul Hauner
816c2c651b
Modify genesis processing process.
- Removed BeaconStateBuilder
- Added genesis code to `state_processing`.
2019-03-17 23:11:07 +11:00
Paul Hauner
8677b9e9cc
Fix bug with epoch caches, add tests 2019-03-17 21:07:19 +11:00
Paul Hauner
3a384d93f8
Allow state processing to compile under v0.5.0 2019-03-17 17:47:12 +11:00
Paul Hauner
3b8c1df5da
Fix bug in per block processing. 2019-03-17 12:49:55 +11:00
Paul Hauner
6bd2055a0a
Update block processing to v0.5.0 2019-03-17 12:25:37 +11:00
Paul Hauner
ed49023b87
Merge branch 'faster-rewards' into sane-case 2019-03-14 16:11:41 +11:00
Paul Hauner
1c1c15a122
Tidy per epoch processing
- Add comments to ValidatorStatuses
- Add some checks to guard against a bad statuses list
- Remove unused attester_sets.rs file.
2019-03-14 16:00:22 +11:00
Paul Hauner
10aee6214c
Tidy per_epoch_processing
Mainly renaming variables and files for readability.
2019-03-14 14:59:30 +11:00
Paul Hauner
95599ddc66
Update Attesters struct
- Renames variables
- Moves total balance calculation into struct
2019-03-14 12:49:48 +11:00
Paul Hauner
a319144835
Improve crosslink reward processing 2019-03-14 12:17:43 +11:00
Paul Hauner
6f919e6f7d
Add first iteration on faster rewards processing. 2019-03-14 11:53:50 +11:00
Paul Hauner
6cd3c4bd1a
Add a cache for public keys to BeaconState
This allows for a fast lookup of "is this public key already in the
validator registry".
2019-03-13 16:40:28 +11:00
Paul Hauner
f949919b9b
Add comments to epoch_processing 2019-03-12 18:02:53 +11:00
Paul Hauner
cce88c9923
Improve DX for loading validator keys from file 2019-03-12 14:39:16 +11:00
Paul Hauner
f34ae86cde
Add support for loading keypairs from file 2019-03-12 12:46:44 +11:00
Paul Hauner
e81f1c31c9
Fix proof-of-possession issues.
These were introduced in an earlier commit
2019-03-11 19:47:33 +11:00
Paul Hauner
0b7082e2b9
Move benching_utils structs into types 2019-03-11 11:17:27 +11:00
Paul Hauner
53456a6c79
Remove last inclusion_slot(..) call 2019-03-10 21:06:40 +11:00
Paul Hauner
f27b62d410
Add optimisation for epoch processing 2019-03-10 17:49:06 +11:00
Paul Hauner
89fc386264
Add extra checks for epoch benches finalization 2019-03-10 13:38:57 +11:00
Paul Hauner
3f98849362
Optimise attester slashing processing. 2019-03-10 08:55:45 +11:00
Paul Hauner
e7fba3a473
Process transfers in parallel. 2019-03-10 08:36:49 +11:00
Paul Hauner
1ca99b8c4c
Optimise deposits processing. 2019-03-10 08:33:17 +11:00
Paul Hauner
6250c81bb9
Fix bug in attestation verification
We were ensuring that a validator was present on the aggregation
bitfield before adding their signature to the agg pub
2019-03-09 20:09:17 +11:00
Paul Hauner
73ebb4bc2e
Add incomplete per-block processing benchmarks
Still needs to fill block with operations
2019-03-09 14:11:49 +11:00