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