Commit Graph

1136 Commits

Author SHA1 Message Date
pscott
c7b3a7abd8 BlockProcessing testing (#559)
* Add valid_deposit test and build_with_deposit method

* Insert_deposit takes a num_deposit param

* Deposit with spec.max_effective_balance

* Copy int_to_bytes32 implem from beacon_chain_builder

* Add debug information to insert_deposit

* Remove length-proof assertion

* Insert_deposit displays error

* Batch deposits now pass tests

* Optimize insert_deposit

* Rename insert_deposits and set num_deposits to 2 in valid_deposit test

* update test_utils to pass tests

* fix typo in test_utils

* update cast in test_utils

* Add DepositCountInvalid tests

* Add tests for bad deposit signature

* Add tests and test utils in test_builder

* Return error instead of ok on bad signature

* Update DepositTestTask enum

* Add comment about manually setting deposit_count and deposit_index

* add badblsbytes test

* add bad_index var for clarity ; remove underflow test

* cargo fmt

* Add insert 3 exits tests

* Add validator_unknwon test

* Add far_future_epoch test and already exited

* Add MaxVoluntaryExits + 1 test

* Add exit_already_initiated test

* Add exit_not_active test

* Add too_young_to_leave test

* Cargo fmt

* Confirm already_anitiated test

* Fix typo in enum variant

* Adjust some tests to return ok(()) and revert changes for early return in per_block_processing.rs

* cargo fmt

* Adjust AlreadyIniated test to expect Ok(()) and revert changes in per_block_processing.rs

* Remove extraneous newline

* Add insert_valid_attester_slashing

* Initial cargo fmt

* Add NotSlashable test

* Cargo fmt

* Remove AttestationDataIdentical

* Make test_task pass through reference ; fix max_attester_slashing_plus_one test

* Initial cargo fmt

* Add InvalidIndexedAttestation1 and 2

* Add comments

* Add ProposalsIdenticalTest

* Add ProposalsIdentical test

* Cargo fmt

* Add ProposerUnknown test

* Add ProposalEpochMismatch test

* Add BadProposal1Signature and Badproposal2Signature tests

* Add ProposerNotSlashable test

* Derive PartialEq and use if instead of match

* Merge attestation tests

* Remove useless AlreadyInitiated variant in beacon_state

* Remove MaxOperations plus one tests for each operation

* Clean comments

* add IncludedTooLate and BadTargetEpoch tests

* Update AttestationDataBuilder call in operation_pool testing

* Cargo fmt

* Remove BadIndex enum variant, unused in the code

* Cargo fmt

* Cargo fmt updated

* simply increment deposit_count instead of hardsetting deposit_index in insert_deposits

* Fix bad_merkle_proof when calling insert_deposits
2019-11-12 16:09:33 +11:00
Pawan Dhananjay
613fdbeda6 Derive PartialEq for Keypair (#595)
* Derive `PartialEq` for Keypair

* Silence clippy warning
2019-11-11 10:28:22 +11:00
Michael Sproul
f5d0ee0ed7
Fix merkle_proof for eth2_hashing refactor (#593) 2019-11-05 18:06:41 +11:00
Michael Sproul
c1a2238f1a
Implement tree hash caching (#584)
* Implement basic tree hash caching

* Use spaces to indent top-level Cargo.toml

* Optimize BLS tree hash by hashing bytes directly

* Implement tree hash caching for validator registry

* Persist BeaconState tree hash cache to disk

* Address Paul's review comments
2019-11-05 15:46:52 +11:00
pscott
4ef66a544a Move EthSpec (#591)
* Allow slot clock to work on genesis

* Loose over-strict requirements for slot clock tests

* move and rename beacon_state_types to eth_spec.rs
2019-11-05 14:43:08 +11:00
pscott
a1e14cc369 Implement push_leaf for MerkleTree (#574)
* Prototype for far_right push

* Add push method and tests

* Modify beacon_chain_builder for interop to use push instead of create

* Add Push method to MerkleTree

* Cargo fmt

* Remove redundant tests

* Fix typo

* Rename push to push_leaf

* Fix clippy warnings

* Add DepthTooSmall enum variant

* Avoid cloning in MerkleTree::push_leaf

* Add quickcheck test for push_leaf

* Cargo fmt updated

* Return err instead of using unwrap()

* Use enumerate instead of hard indexing

* Use if let and return string on error

* Fix typo in deposit_leave

* Fix cargo fmt
2019-11-05 12:29:07 +11:00
Sam Wilson
dea2b5dffc Depend on sha2 in eth2_hashing for wasm32 (#589) 2019-11-05 12:28:35 +11:00
Mehdi Zerouali
83c571d6eb Delete fuzzing targets (#586) 2019-10-31 13:13:21 +11:00
Age Manning
5c97ed3562
Updates external dependencies (#577)
* Updates external dependencies

* Correct fmt formatting
2019-10-30 12:22:18 +11:00
Paul Hauner
2c6b40be78
Allow slot clock to work on genesis (#573)
* Allow slot clock to work on genesis

* Loose over-strict requirements for slot clock tests
2019-10-29 12:51:32 +11:00
gnattishness
a488c4dccd Rename get_permutated_index to compute_shuffled_index. (#564)
To match name of equivalent function in v0.8.3 spec.
2019-10-29 12:07:12 +11:00
Paul Hauner
dd370b2e33
Revert "Implement push_leaf for MerkleTree (#563)" (#572)
This reverts commit 13faa47da1.
2019-10-26 15:17:29 +11:00
pscott
13faa47da1 Implement push_leaf for MerkleTree (#563)
* Prototype for far_right push

* Add push method and tests

* Modify beacon_chain_builder for interop to use push instead of create

* Add Push method to MerkleTree

* Cargo fmt

* Remove redundant tests

* Fix typo

* Rename push to push_leaf

* Fix clippy warnings

* Add DepthTooSmall enum variant

* Avoid cloning in MerkleTree::push_leaf

* Add quickcheck test for push_leaf

* Cargo fmt updated

* Return err instead of using unwrap()

* Use enumerate instead of hard indexing

* Use if let and return string on error

* Fix typo in deposit_leave
2019-10-25 16:07:03 +11:00
Michael Sproul
6c2871637d Delete unused validator_change crate (#569)
Hopefully for the last time...
2019-10-25 11:52:19 +11:00
Michael Sproul
96a327fe50
Update Milagro BLS to v0.11.0 (#554) 2019-10-02 12:04:17 +10:00
Paul Hauner
9aedb12bfc
Refactor docs into mdbook (#547)
* Refactor documentation, ef_tests makefile

* Add makefile to root

* Tidy readme

* Fix readme badges

* Tidy logs

* Add terminalize gif

* Update readme image

* Update readme image

* Tidy logs

* Update readme image

* Update readme

* Update readme

* Fix book link

* Update makefiles

* Update book

* Fix link in book

* Add readme for book

* Remove old docs, move api spec YAML

* Fix eth2/ dir readme

* Add readme for lcli

* Add about this book section

* Minor formatting improvements

* Address mehdi's comments
2019-10-02 11:04:56 +10:00
pscott
7eb82125ef Clippy clean (#536)
* Change into_iter to iter

* Fix clippy 'easy' warnings

* Clippy eth2/utils

* Add struct NetworkInfo

* Clippy for types, utils, and beacon_node/store/src/iters.rs

* Cargo fmt

* Change foo to my_foo

* Remove complex signature

* suppress clippy warning for unit_value in benches

* Use enumerate instead of iterating over range

* Allow trivially_copy_pass_by_ref in serde_utils
2019-09-30 13:58:45 +10:00
Michael Sproul
392b4203d1
Consolidate lazy_static versions 2019-09-30 12:36:42 +10:00
Michael Sproul
01db3b6f4e
Fix SignedRoot macro attribute parsing 2019-09-30 12:32:44 +10:00
Michael Sproul
81325a0e05
Run rustfmt 2019-09-30 11:30:47 +10:00
Michael Sproul
3d559d8b41
Robustify derive macro attribute parsing (#544)
Missing whitespace in the implementation of `TokenStream::to_string` on
beta and nightly was breaking our parsing of derive macro attributes.

This change makes the parser ignore whitespace, and should make the beta
and nightly builds succeed again.
2019-09-28 14:29:14 +10:00
Paul Hauner
97a45cdcb8
Address Michael's comments 2019-09-26 13:00:31 +10:00
Paul Hauner
8ceb2e3d95
Refactor slot clock to remove underflow
Previously I had used `Instant` to refer to the genesis time.
2019-09-21 11:21:47 +10:00
Paul Hauner
879f5bfdd0
Fix signature serialization bug 2019-09-14 22:25:53 -04:00
Paul Hauner
8c5a8034b6
Add whiteblock script, CLI options to support it 2019-09-10 12:13:54 -04:00
Paul Hauner
d9a4dbd912
Add nimbus-specific test 2019-09-09 12:22:09 -04:00
Paul Hauner
15220ae565
Fix minor vec access panic opportunity 2019-09-09 01:55:43 -04:00
Paul Hauner
e1d6e187d1
Fix bug in crosslink rewards during per-epoch 2019-09-09 01:54:32 -04:00
Paul Hauner
0e5f33d928
Removes testin dbg!'s
Hopefully this appeases @gregthegreek
2019-09-08 18:37:30 -04:00
Paul Hauner
1040c80cd8
Add noisey debugging to attestation processing 2019-09-08 16:28:01 -04:00
Paul Hauner
6311b13169
Add ssz benches to state processing 2019-09-08 13:42:38 -04:00
Paul Hauner
6a870d468c
Add ssz_fixed_len method to ssz::Encode 2019-09-08 12:23:37 -04:00
Paul Hauner
bef21d9218
Merge branch 'v0.8.3' into interop 2019-09-06 22:04:13 +10:00
Michael Sproul
1c9e4bc09c
Fix bug in SSZ encoding of FixedVector 2019-09-06 17:05:40 +10:00
Paul Hauner
8b69a48fc5
Allow validator client to start before genesis 2019-09-06 10:03:45 +10:00
Paul Hauner
940ddd0d13
Use michael's milagro in interop keypairs 2019-09-05 20:57:48 +10:00
Paul Hauner
3bc62ef411
Merge branch 'v0.8.3' into interop-v0.8.3 2019-09-05 17:39:23 +10:00
Michael Sproul
24ebad9168
Merge remote-tracking branch 'origin/master' into v0.8.3 2019-09-05 12:27:58 +10:00
Michael Sproul
d511c939eb
SSZ generic tests for big uints 2019-09-04 14:32:04 +10:00
Paul Hauner
572df4f37e
Make bootstrapper block til connection established 2019-09-04 13:56:30 +10:00
Paul Hauner
7edc5f37b9
Move BeaconChainHarness to interop spec 2019-09-04 10:25:30 +10:00
Michael Sproul
f47eaf5730
Parallel tests and SSZ generic 2019-09-03 16:46:10 +10:00
Michael Sproul
8d5a579aa6
Fix BeaconChain tests 2019-09-03 10:20:51 +10:00
Paul Hauner
5a8c31e6bf
Remove JSON epoch test 2019-09-02 16:29:05 +10:00
Paul Hauner
d05c2d4110
Start working on u64 json issue 2019-09-02 13:21:53 +10:00
Paul Hauner
d4bf1390c9
Add interop eth1 data stub 2019-09-02 11:39:28 +10:00
Paul Hauner
543e9457b7
Move bootstrapper into own crate 2019-09-01 19:32:57 +10:00
Paul Hauner
96fb3be2c7
Swap endianness of test keys 2019-08-30 17:02:57 +10:00
Paul Hauner
a6e6827337
Remove pub const from interop keypairs 2019-08-30 16:48:22 +10:00
Paul Hauner
9ffb6d0fe1
Fix fake_crypto test fails 2019-08-30 15:49:06 +10:00