Paul Hauner
f31d41e123
Implement SSZ decode for BeaconBlock, fix encode
2018-10-16 13:47:28 +11:00
Paul Hauner
1621901f0d
Update SSZ
...
- Implement generic list decoding>
- Expose `encode` mod.
- Add convenience encoding function.
2018-10-16 13:44:26 +11:00
Paul Hauner
e91317ca27
Change SpecialRecord to use u8 instead of enum
2018-10-15 16:26:40 +11:00
Paul Hauner
cd05616efa
Merge branch 'validation' into beacon_block
2018-10-15 15:29:29 +11:00
Paul Hauner
e289d8b5fd
Fix comment in attestation_validation
2018-10-15 15:08:43 +11:00
Paul Hauner
a862c82b37
Rename Block -> BeaconBlock
...
- Update types::block
- Update ssz_helpers::SszBlock
- Update db::stores::block_store
- Add new fields to types::Block
- Update SszBlock as per new Block fields
2018-10-15 14:57:14 +11:00
Paul Hauner
561167fa1e
Fix panic in ssz decode
2018-10-15 14:10:43 +11:00
Paul Hauner
064e87a347
Add SpecialRecord struct
2018-10-15 12:05:36 +11:00
Paul Hauner
e8daca4c80
Ensure that parent_block.slot < block.slot
2018-10-12 20:54:33 +11:00
Paul Hauner
1f089d423e
Ensure attestation val. check parent.slot
...
As per comments by Danny Ryan on PR#33
2018-10-12 20:41:18 +11:00
Paul Hauner
b5441535ba
Add comment regarding tightening block val.
...
Comment was suggested by Danny R.
2018-10-12 19:30:52 +11:00
Paul Hauner
68ca51c7ac
Fix "indicies" type
2018-10-12 00:55:29 +11:00
Paul Hauner
3139d0e5da
Replace hashmap with hashset
2018-10-12 00:53:56 +11:00
Paul Hauner
6ef4268d6d
Verify attestation justified_block_hash.
...
Previously there was not a check that the hash was in the chain, just
that it was known (in the database in any chain)
2018-10-12 00:41:47 +11:00
Paul Hauner
739abc0bbd
Merge branch 'master' into validation
2018-10-09 18:28:35 +11:00
Paul Hauner
cf9f8c1e85
Fix issue with last_justified_block_hash
...
Previously we were just checking it exists in the DB. This is incorrect
because the last_justified_block_hash _must_ be in the chain referenced
by the block.
I.e., it's not OK for a block to reference a justified block in another
chain.
2018-10-09 12:14:59 +11:00
Paul Hauner
f13a4fffea
Fix a type in sig. ver. comment
2018-10-09 11:09:37 +11:00
Paul Hauner
9a59908506
Rename voted_hashmap to voted_hashset
2018-10-09 11:08:09 +11:00
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
Age
fd0de57aa7
Remove dead code
2018-10-04 14:51:27 +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
eca4448207
Remove test vectors
...
These will be added in a future PR.
2018-10-03 13:45:57 +10:00
Paul Hauner
6d4a3bba11
Update shuffling comments
2018-10-03 13:43:46 +10:00
Paul Hauner
2763f7bc00
Move shuffling to its own crate, update hash fn
...
Previously blake2s-256 was being used, now blake2b-512[:32] is being
used.
2018-10-03 13:43:28 +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
0fbe4179b3
Heavily restructure repo
...
Separate most modules into crates
2018-10-02 16:41:10 +10:00