Commit Graph
335 Commits
Author SHA1 Message Date
Paul Hauner a998ac2a12 Add InvalidBitfieldEndBits tests 2018-10-09 11:05:40 +11:00
Paul Hauner e2d45eafae Separate parent block checking and proposer checking 2018-10-04 15:43:17 +10:00
Paul Hauner c30a9a7565 Update comment for rejecting future block
As per Danny's request
2018-10-04 14:46:05 +10:00
Paul Hauner 49737fbc82 Add doc comments to attestation validation 2018-10-02 17:58:33 +10:00
Paul Hauner 50d7252cd0 Remove failing benchmarks 2018-10-02 17:45:37 +10:00
Paul Hauner eaa694bced Deleted some unnecessary files 2018-10-02 17:44:47 +10:00
Paul Hauner 117a207d49 Add pre-written validation code
This adds block and attestation validation code that was written
previously. There were many non-validation specific changes made whilst
building these functions (e.g., db, hashing, etc) -- these changes have
already been merged into master and this branch has been created just to
make it easy to review this code.
2018-10-02 17:35:03 +10:00
Paul Hauner 6a75aa3246 Merge pull request #26 from sigp/restructure
Restructure codebase
2018-10-02 16:13:39 +09:30
Paul Hauner 0fbe4179b3 Heavily restructure repo
Separate most modules into crates
2018-10-02 16:41:10 +10:00
Paul Hauner 07bfd7e97d Add tests for attestation_validation 2018-10-02 09:47:45 +10:00
Paul Hauner cd3b2f5371 Add test for attestation msg generation 2018-10-02 09:47:20 +10:00
Paul Hauner 6b7677a206 Update block and attestation validation code 2018-10-02 09:46:14 +10:00
Paul Hauner 8e094b358f Implement framework for testing attestation val. 2018-10-01 17:19:08 +09:30
Paul Hauner 8f5285875b Refactor validation tests into integration tests 2018-10-01 16:37:34 +09:30
Paul Hauner 4d1f730c95 Restructure block validation directory 2018-09-30 16:25:28 +09:30
Paul Hauner c3ec8a3407 Introduce AttestationValidationContext
This reduced code duplication.
2018-09-30 16:09:35 +09:30
Paul Hauner b426c9e724 Remove "benches" feature
Now benches just live with the rest of the code in the default feature.
2018-09-30 16:09:07 +09:30
Paul Hauner 29ed29cfc3 Update benchmarks as per recent code changes 2018-09-30 15:38:22 +09:30
Paul Hauner 77b48b9822 Implement more tests for block validation 2018-09-30 14:25:42 +09:30
Paul Hauner 496adc0f0b Fix bug in attestation val. bitfield checking
There was a logic error
2018-09-30 14:24:42 +09:30
Paul Hauner a87fe88d97 Fix bug in boolean bitfield
The length generated when converting from a string was incorrect.
2018-09-30 14:24:03 +09:30
Paul Hauner 9642c4b7e1 Simplify block validation tests
Move more parameters into get_simple_params()
2018-09-30 12:21:30 +09:30
Paul Hauner 5dd2361d21 Progress further with block validation
- Rename errors returned from SszBlock.
- Add parent_hash concept to block validation.
- Add more comments to block validation.
2018-09-30 11:26:36 +09:30
Paul Hauner 385564d637 Rename block_store functions
- Specified that the block is "serialized".
2018-09-30 11:25:12 +09:30
Paul Hauner 0b99951bf8 Refactor block val. into "BlockValidationContext" 2018-09-29 16:07:59 +09:30
Paul Hauner bc27be147f Further development on block validation
- Return a fully deserialized block from validate_ssz_block
- Ensure the parent_hash field is handled
2018-09-29 15:38:54 +09:30
Paul Hauner e0e8aa98f4 Introduce "benches" feature
So that benchmarks don't run each time tests run
2018-09-29 13:01:33 +09:30
Paul Hauner 7c88f94377 Tidy comments in block validation 2018-09-29 12:32:33 +09:30
Paul Hauner 13467abd7f Tidy benches file 2018-09-28 17:30:49 +09:30
Paul Hauner 8020b897c6 Refactor block val. benches to use test funtions 2018-09-28 17:15:42 +09:30
Paul Hauner 19ddbdefa8 Refact block val. tests to be more modular 2018-09-28 17:15:29 +09:30
Paul Hauner b92d88d42b Add (untested) parallelization for att validation 2018-09-28 15:38:51 +09:30
Paul Hauner 05fe231e41 Fix bug with bitfield validation 2018-09-28 15:37:53 +09:30
Paul Hauner debc642b50 Move attestation validation into iter.for_each 2018-09-26 23:28:47 +10:00
Paul Hauner a8b08fb300 Add first block validation benches 2018-09-26 14:06:16 +10:00
Paul Hauner 84bb40855f Split block validation tests into functions 2018-09-26 13:31:58 +10:00
Paul Hauner 9dcec214af Add block validation code
This was created in another branch along with a whole bunch of other
commits building out databases and other common elements.

This full history of these works is available on master, however it
should not be necessary.
2018-09-26 13:00:25 +10:00
Paul Hauner c8ff539686 Merge database works, directory restructuring 2018-09-26 11:58:46 +10:00
Paul Hauner baa7b06b56 Fix clippy lints 2018-09-26 11:54:13 +10:00
Paul Hauner 966d891cb5 Remove validation fns (will be added in a PR) 2018-09-26 11:40:28 +10:00
Paul Hauner 3188d32423 Fix unused dep warning 2018-09-26 11:38:12 +10:00
Paul Hauner 362b7b2513 Remove some stray print statements 2018-09-25 23:40:01 +10:00
Paul Hauner eedfa8c8ea Add more unique errors in validate ssz block 2018-09-25 23:35:10 +10:00
Paul Hauner 310662ee17 Fix shard_block_hash in block val. tests 2018-09-25 23:34:44 +10:00
Paul Hauner 177c04dc1a Fix bitfield setting in block val. test 2018-09-25 23:34:25 +10:00
Paul Hauner e1e494b9aa Fix parent_hashes generation in block val. test 2018-09-25 23:33:20 +10:00
Paul Hauner 55e0e7d05d Add/fix message hashing in block validation tests 2018-09-25 23:32:35 +10:00
Paul Hauner 6529b4c09f Fix pub key getting in signature verification 2018-09-25 23:31:58 +10:00
Paul Hauner 9207a44bce Fix parent_hashes bug in message_generation 2018-09-25 23:31:39 +10:00
Paul Hauner 8d2e9f33c7 Progress further with block validation tests 2018-09-25 22:10:47 +10:00