Commit Graph

1185 Commits

Author SHA1 Message Date
Paul Hauner
59128f842a Add verify_slashable_attestation spec method
As per v0.2.0 spec
2019-03-03 11:16:59 +11:00
Paul Hauner
3561d44cbe Update per-block processing for new AggPub wrapper
AggregatePublicKey newtype was introduced in previous commit
2019-03-03 11:12:18 +11:00
Paul Hauner
35ae1b6745 Add agg_pub to bls, add agg_sig.verify_multiple
- Adds a new-type wrapper for `AggregatePublicKey`, just like all the
other types.
- Adds the `verify_multiple` method to the `AggregateSignature` newtype,
as was introduced in a recent version of signature-schemes.
2019-03-03 11:10:38 +11:00
Paul Hauner
9156aa2203 Add info log when building test_harness chain dump
It helps people know why they're waiting
2019-03-02 20:20:06 +11:00
Paul Hauner
e2dd753f05 Merge branch 'master' into yaml-chain-tests 2019-03-02 20:18:09 +11:00
Paul Hauner
4db2f082e1 Add state-checks to test_harness YAML
Runs tests against a state at some slot
2019-03-02 20:17:14 +11:00
Paul Hauner
f5614381e1 Re-organise test_harness binary
Moves manifest and components into separate files.
2019-03-02 18:59:47 +11:00
Paul Hauner
db28cc1b92 Fix warnings in test_harness/src/bin.rs 2019-03-02 18:43:27 +11:00
Paul Hauner
c975d49ead Copy SlashableVote.. tests to SlashableAttestation
SlashableVoteData tests were just copied directly across
2019-03-02 18:39:52 +11:00
Paul Hauner
e59404f463 Change test_harness proposer_slashings YAML
Removes a lot of the detail from the `proposer_slashings` field -- IMO
this is not necessary in the test spec, the details of how a
proposer_slashing is created should be held in the program and the spec
should only define that one happens.
2019-03-02 18:37:21 +11:00
Paul Hauner
8e1380d7c4 Add ProposerSlashingBuilder
It is capable of producing double votes
2019-03-02 18:36:44 +11:00
Paul Hauner
bb4d392a98 Add AttestationSlashingBuilder 2019-03-02 16:05:45 +11:00
Paul Hauner
ff2783a1cb Add AttesterSlashing to test_harness
- Adds methods to BeaconChainHarness
- Adds YAML parsing
2019-03-02 15:35:02 +11:00
Paul Hauner
f3a3cfcc45 Add surround/dbl vote fns to SlashableAttestation
Copied from `SlashableVoteData`
2019-03-02 15:33:52 +11:00
Paul Hauner
c885e36a93 Add fn to BeaconChainHarness validator signing
Signs some message using the priv key of some validator
2019-03-02 15:30:50 +11:00
Paul Hauner
ec5581ce1d Shorten test_harness YAML to single test 2019-03-02 15:28:01 +11:00
Paul Hauner
22d59a70cc Add debug message when validator is penalized 2019-03-02 11:27:12 +11:00
Paul Hauner
867dce34cd Remove domain constants from block_processable
The information is gather from the `spec` object, not the constants.
2019-03-02 11:26:39 +11:00
Paul Hauner
7f1e40a8c6 Add proposer slashing support to test_harness
Test harness will now add signatures to a ProposerSlashing and submit it
to the BeaconChain
2019-03-02 11:25:55 +11:00
Paul Hauner
fd819fb7ca Set BeaconChain block propose failure log to warn
It think it's more suitable to a warn
2019-03-02 11:24:41 +11:00
Paul Hauner
1de723b275 Add proposer/attester slash queues to BeaconChain
Allows for storing and including AttesterSlashing and ProposerSlashing
objects in blocks.
2019-03-02 11:23:37 +11:00
Paul Hauner
b0403707eb Add support for deposits to test_harness 2019-03-01 16:59:55 +11:00
Paul Hauner
c278c08e34 Remove unnecessary clone. 2019-03-01 16:57:24 +11:00
Paul Hauner
eeeff9ef02 Ensure chain-dumps come with earliest block first
Previously dump.first() was the latest block. IMO, this is
counter-intuitive
2019-03-01 16:56:52 +11:00
Paul Hauner
1097c8089b Add naive deposit-handling to BeaconChain 2019-03-01 16:56:27 +11:00
Paul Hauner
8671c5790c Merge pull request #268 from sigp/fork-choice-corrections
Correct bitwise fork-choice rule.
2019-03-01 18:34:44 +13:00
Age Manning
c1f8ebeca1 Merge pull request #266 from sigp/faster-swap-or-not
Faster swap-or-not for full list shuffles.
2019-03-01 15:45:20 +11:00
Age Manning
13c957bef7 Correct bitwise fork-choice rule. 2019-03-01 14:38:07 +11:00
Paul Hauner
fe7c475207 Merge pull request #265 from sigp/more-readmes
Readme updates
2019-03-01 16:36:34 +13:00
Paul Hauner
9727638c4f Merge pull request #267 from chronaeon/ssz_link_fix
modified:   README.md
2019-03-01 16:11:08 +13:00
Paul Hauner
1479013bd0 Add skip_slots to test_harness yaml processor 2019-03-01 13:28:07 +11:00
Luke Anderson
3753782c40 Just some small gramatical improvements on READMEs 2019-03-01 13:10:50 +11:00
Age Manning
20d7407faa Merge pull request #263 from sigp/remove-next-epoch-cache-build
Remove cache operations from epoch processing
2019-03-01 12:40:52 +11:00
Paul Hauner
c3b2f802a7 Add fast full-list shuffle for swap-or-not
- Passes test vectors
- Implemented in beacon state
- Added more docs
2019-03-01 12:19:05 +11:00
Micah Dameron
056a263f02 modified: README.md 2019-02-28 18:05:11 -07:00
Paul Hauner
8aa7f25bbc Introduce faster swap-or-not whole-list shuffle 2019-03-01 01:47:40 +11:00
Paul Hauner
8842adb53b Fix typos in READMEs 2019-03-01 00:25:11 +11:00
Paul Hauner
6fac35a7c5 Update main readme, add eth2/ readme 2019-03-01 00:18:53 +11:00
Paul Hauner
8b06fa31da Add basic YAML test_harness tests
Works, however ignores a lot of fields in the YAML.
2019-02-28 23:13:00 +11:00
Paul Hauner
e0926dcd8d Change log msgs in BeaconState
Make it louder when shuffling happens, also when deposits are being
processed.
2019-02-28 23:10:40 +11:00
Paul Hauner
7108d057fb Set BeaconState to process deposits in parallel
Provides a large speed improvement.
2019-02-28 23:09:21 +11:00
Paul Hauner
073be906da Remove cache operations from epoch processing.
- Don't build the next cache at all.
- Call `advance_caches()` in per-slot processing.
2019-02-28 16:37:12 +11:00
Age Manning
ed032dddea Merge pull request #261 from sigp/epoch-benches
Move epoch benches to 16k validators
2019-02-27 12:39:31 +11:00
Age Manning
274458d41e Merge pull request #260 from sigp/shuffle-bench
Add benchmarks to shuffling crates
2019-02-27 12:37:30 +11:00
Paul Hauner
04f179243e Fix type in BeaconStateBuilder comments 2019-02-26 22:35:51 +13:00
Paul Hauner
c2fb095759 Add docstrings to BeaconStateBuilder 2019-02-26 22:34:41 +13:00
Paul Hauner
3ff8f6ebb3 Update epoch trans. tests to us 16,384 validators 2019-02-26 22:25:29 +13:00
Paul Hauner
af17fb1d03 Update BeaconStateBuilder API 2019-02-26 22:00:07 +13:00
Paul Hauner
5cfc9cb21d Test state processing with and w/o caches 2019-02-26 20:18:59 +13:00
Paul Hauner
931da13545 Add drop_cache fn to BeaconState
Permits clearing an epoch cache.
2019-02-26 20:18:20 +13:00