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
Paul Hauner
748b50c08c
Fix bit shift function in attestation validation
2018-09-25 22:10:12 +10:00
Paul Hauner
da1e0c8a59
Change bitfield serialization to little-endian
2018-09-25 22:09:30 +10:00