Commit Graph

2280 Commits

Author SHA1 Message Date
Paul Hauner
bc4acd9a5c
Re-work module structure in test_harness
Obeys the standard where structs live in files with the same name
2019-03-04 09:43:19 +11:00
Paul Hauner
3aaa3ea024
Use clearer types in test_harness::Config 2019-03-04 09:30:09 +11:00
thojest
c28c07c17d validator_client: added default_value for spec; used unreachable macro for custom spec (lighthouse-252) 2019-03-03 14:15:00 +01:00
thojest
0b24a47b53 Merge branch 'master' into lighthouse-252 2019-03-03 14:01:57 +01:00
Age Manning
2e020a3efa
Implement the basic structure of the beacon node. 2019-03-03 18:28:12 +11:00
Paul Hauner
ef549aa38b
Merge pull request #273 from mjkeating/tree_hash_container_fix
Brought algorithm in TreeHash macro up to spec
2019-03-03 20:01:47 +13:00
Paul Hauner
9d77f2b1a8
Add README to test_harness 2019-03-03 16:38:25 +11:00
Paul Hauner
697d1ef626
Add CLI option for log-level to test_harness 2019-03-03 16:15:00 +11:00
Paul Hauner
58002f68e1
Move test_harness yaml file 2019-03-03 16:14:40 +11:00
Paul Hauner
31129a47e8
Merge pull request #274 from sigp/fork-choice-update
Convert bitwise ghost to use u64 block heights.
2019-03-03 18:06:21 +13:00
Paul Hauner
ec0e13b764
Add comments to new functions 2019-03-03 15:32:44 +11:00
Paul Hauner
a29eca57a1
Rename test_harness::manifest to test_case
I thing `TestCase` is better than manifest -- a manifest is more of a
list of items than a series of steps and checks. Plus it conflicts with
a Cargo manifest.
2019-03-03 15:12:19 +11:00
Paul Hauner
48fc709109
Fix failing test 2019-03-03 15:08:13 +11:00
Paul Hauner
7b72934943
Add comments to test_harness::Manifest 2019-03-03 15:07:54 +11:00
Age Manning
60cfdf6e55
Convert bitwise ghost to use u64 block heights. 2019-03-03 13:35:15 +11:00
Paul Hauner
1703508385
Add comments to new BeaconChainHarness methods. 2019-03-03 12:02:58 +11:00
Paul Hauner
f5e4fe29d7
Add comments to new BeaconChain methods
- Adds comments
- Also drops a message from `warn` down to `debug`. It was giving
warnings even on an Ok result.
2019-03-03 11:54:51 +11:00
Paul Hauner
ede5685bc2
Fix warnings and clippy lints 2019-03-03 11:47:09 +11:00
Paul Hauner
87feeea1fd
Remove merkle_index from test_harness YAML
IMO, this is an implementation detail that shouldn't be covered in these
tests.
2019-03-03 11:31:08 +11:00
Paul Hauner
a8c3b5fdd8
Update test_harness yaml
- Checks for attester slashing, now it is included in the chain.
- Renames suite to be more specific, use normal Eth2.0 naming
2019-03-03 11:19:27 +11:00
Paul Hauner
76a0ba2d6c
Add attester slashing support to block processing
At spec v0.2.0
2019-03-03 11:18:12 +11:00
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
mjkeating
8a768819b0 brought algorithm in TreeHash macro to spec 2019-03-02 09:59:01 -08:00
Age Manning
684ef9f74c
Merge pull request #271 from michaelsproul/log-int
Fix log_int implementation, removing floats
2019-03-03 00:13:55 +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
Michael Sproul
6795aa42b2 Fix log_int implementation, removing floats
The cast from f32::MAX to u32 was undefined behaviour, and the use of floating
point logarithms would yield incorrect results due to rounding and truncation,
e.g. for the integer 16777206
2019-03-02 15:52:33 +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
thojest
ed7a081008 slightly adapted impossible error for validator_client (lighthouse-252) 2019-03-01 18:27:47 +01:00
thojest
f0ea691208 now possible to select ChainSpec by using CLI flag (lighthouse-252) 2019-03-01 18:19:08 +01: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