Commit Graph

503 Commits

Author SHA1 Message Date
Hsiao-Wei Wang 00a19e583e
Bump milagro_bls_binding to 1.5.0 2020-10-06 16:17:29 +08:00
Hsiao-Wei Wang d264ad8af7
Merge pull request #2080 from ethereum/bls_v4
Bump IETF BLS spec version draft 03 -> draft 04
2020-10-05 22:12:52 +08:00
Hsiao-Wei Wang 4d3ac72473
Bump milagro_bls_binding to `1.4.0`, handle the exception cases 2020-10-05 21:55:49 +08:00
Hsiao-Wei Wang 4613c6b333
Bump py_ecc to 5.0.0 2020-10-01 00:44:47 +08:00
Danny Ryan 9f36fd6954
PR feedback. thanks @hwwhww 2020-09-29 10:02:28 -06:00
Danny Ryan 0e2e494d7e
fix function signature calls on deposit helpers 2020-09-28 20:25:24 -06:00
Danny Ryan 76d69263fc
use better rng practice for reproducibility 2020-09-28 18:26:03 -06:00
Danny Ryan 4e2c7d20b7
add additional genesis initialization tests 2020-09-28 17:55:54 -06:00
Danny Ryan 157f7e8ef4
upgrade config to mainnet values 2020-09-28 12:56:08 -06:00
Hsiao-Wei Wang b43f62de0e
Fix encoding 2020-09-25 15:05:10 +08:00
Hsiao-Wei Wang ad4ad2d8b4
Bump IETF BLS spec version draft 03 -> draft 04 2020-09-25 15:01:41 +08:00
Hsiao-Wei Wang bdbd2aae37
Aggregate G2 point at infinity 2020-09-25 15:01:41 +08:00
Hsiao-Wei Wang 19d6c8336a
Add IETF BLS draft 04 edge cases test vectors 2020-09-25 15:01:38 +08:00
Danny Ryan 4c9f5eee71
re-enable mainnet ssz_static tests 2020-09-21 13:40:14 -06:00
Danny Ryan 68bcc19e09
Merge pull request #1957 from ethereum/testgenphase1
Enable test generation for phase1
2020-09-18 08:44:38 -06:00
Danny Ryan d257926e3a
remove kludge to skip large_validator_set on mainnet config 2020-09-18 07:59:25 -06:00
Hsiao-Wei Wang 27d8c80690
Use `with_configs[MINIMAL]` on `large_validator_set` tests 2020-09-18 17:05:30 +08:00
Danny Ryan 0c1784b8b5
skip large_validator_set tests if too large 2020-09-17 16:50:59 -06:00
Danny Ryan 92d4a063c1
bump VERSION.txt to 0.12.3 2020-09-17 12:14:17 -06:00
Hsiao-Wei Wang 5374890da0
Merge branch 'dev' into testgenphase1 2020-09-17 21:11:49 +08:00
Danny Ryan 7c685d490e
Merge pull request #2061 from ethereum/anchor_block_header_3
Pass `anchor_block` to `get_forkchoice_store`
2020-09-15 10:10:29 -06:00
Hsiao-Wei Wang 1e29563242
Pass `anchor_block` to `get_forkchoice_store` 2020-09-15 12:51:11 +08:00
Hsiao-Wei Wang 20bd00cef0
Add `make lint_generators` linter check for test generators 2020-09-15 11:19:50 +08:00
Hsiao-Wei Wang c0c2461d2f
Remove redundant keys and use Dict for `phase_0_mods`, `phase_1_mods` instead of List 2020-09-15 11:13:33 +08:00
Danny Ryan 1785f987f8
add a few more proposer slashing tests 2020-09-10 16:50:03 -06:00
protolambda 28137a6176
Merge branch 'dev' into testgenphase1 2020-09-09 23:43:26 +02:00
Hsiao-Wei Wang fd4e7dde94
Fix `disable_process_reveal_deadlines` decorator: should have set it back to the spec function for other test cases afterwards 2020-09-07 13:44:12 +08:00
Hsiao-Wei Wang 916ae9e309
Enable more rewards and finality tests 2020-09-04 21:50:27 +08:00
Hsiao-Wei Wang a0d646e1e0
Add decorators to diable testing with mainnet config 2020-09-04 21:50:21 +08:00
Hsiao-Wei Wang 74a2a1c0d4
Enable all tests 2020-09-04 02:40:36 +08:00
Hsiao-Wei Wang dc888178be
Merge branch 'testgenphase1' into reveal_deadlines_setting 2020-09-02 00:07:19 +08:00
Hsiao-Wei Wang b4583aba5d
Add skipping messages to some old test cases 2020-08-28 14:52:41 +08:00
Hsiao-Wei Wang 458166af83
Update the pytest version to >=4.4 as eth2spec 2020-08-27 16:12:31 +08:00
Hsiao-Wei Wang 42f368c45c
Disable `process_reveal_deadlines` in the custody tests that have `EPOCHS_PER_CUSTODY_PERIOD`-long transition 2020-08-25 13:46:29 +08:00
Hsiao-Wei Wang 7eeb754f7d
Add `disable_process_reveal_deadlines` decorator 2020-08-13 18:06:36 +08:00
Hsiao-Wei Wang 6289664260
Update testing context
1. Add `with_configs` decorator to assign available configs
2. Add `only_full_crosslink` decorator to detect if the configuation can
do full crosslinking
3. Add `context.is_pytest` flag: True if calling via pytest. False if
calling from test generator.
2020-08-12 21:50:14 +08:00
Hsiao-Wei Wang 83760b15ac
Use v-guide's `get_custody_secret` 2020-08-12 17:39:44 +08:00
Hsiao-Wei Wang 643611aa6d
Merge pull request #2010 from ethereum/fix-shard-count
Fix active shard count issues
2020-08-12 03:05:16 +08:00
Hsiao-Wei Wang 52ba90d719
Skip the testcases that don't support the fork or the config 2020-08-11 16:19:20 +08:00
Hsiao-Wei Wang 3e5cada5de
Merge branch 'dev' into testgenphase1 2020-08-11 15:24:43 +08:00
Hsiao-Wei Wang 7ce10dd210
Remove unused `get_attestation_custody_signature` 2020-08-11 12:48:13 +08:00
Danny Ryan b02c2e1c49
fix randao mix in sanity tests 2020-08-10 21:00:23 -06:00
Danny Ryan 8b39d41145
PR feedback 2020-08-10 13:06:20 -06:00
Danny Ryan 76c96782e2
fix disable-bls default value 2020-08-10 12:58:57 -06:00
Danny Ryan c3ae85387c
add larger validator set test for regression test for active_shard_count issue 2020-08-05 13:26:21 -06:00
Danny Ryan 56dbc17793
fix active shard count bugs 2020-08-05 12:44:31 -06:00
Hsiao-Wei Wang 6a9dd1647c
Merge branch 'dev' into shard-fork-choice-fix 2020-07-30 01:13:50 +08:00
Hsiao-Wei Wang 60e9eacf4b
Disable these 2 tests in phase 1 due to #1974 Issue 3 2020-07-30 00:22:27 +08:00
Hsiao-Wei Wang e3bbf3c702
Merge branch 'dev' into shard-fork-choice-fix 2020-07-29 23:55:30 +08:00
Hsiao-Wei Wang bd5346b624
Merge pull request #1989 from ethereum/enable-bls-citest
Enable Milagro BLS in CI
2020-07-29 23:54:53 +08:00
Hsiao-Wei Wang b58633ce5d
Quick fix the phase 1 configurations and tests (#1990)
* Quick fix the configurations

* Remove the unused `CUSTODY_RESPONSE_DEADLINE`
2020-07-29 02:06:25 +08:00
Hsiao-Wei Wang 5d388f7b9b
Fix the conflict of #1971 2020-07-29 02:03:52 +08:00
Hsiao-Wei Wang f6fd151872
Merge branch 'dev' into shard-fork-choice-fix 2020-07-29 00:15:41 +08:00
Hsiao-Wei Wang b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot 2020-07-28 23:59:19 +08:00
Hsiao-Wei Wang a8370f7448
Apply refactoring suggestions from Danny 2020-07-28 21:51:00 +08:00
Danny Ryan cf1a9e815d
Merge pull request #1991 from ethereum/reorg-tests
Reorg tests and add finality test suite
2020-07-24 08:13:54 -06:00
protolambda fbb8401d03
sanity test: proposer slashes themselves 2020-07-24 15:09:20 +02:00
protolambda 951c552ecc
remove second hash cache, type as Bytes32 2020-07-24 02:11:48 +02:00
protolambda e9d887be4d
Enable BLS in finality tests, use Milagro 2020-07-24 01:19:14 +02:00
Hsiao-Wei Wang 64aed78d6a
Only one test format for finality tests. No extra `finality.md` here 2020-07-24 05:25:17 +08:00
Hsiao-Wei Wang b4c91efdbc
Add __init__.py 2020-07-24 04:25:53 +08:00
Hsiao-Wei Wang de15960185
Add finality tests to test vectors 2020-07-24 04:23:26 +08:00
Hsiao-Wei Wang bdde2e5889
Reorg test dir 2020-07-24 03:54:45 +08:00
Hsiao-Wei Wang e7f070d525
Use `hash_tree_root` to generate `ShardBlockHeader.body_root`
Include the mix-in length to the proof.
2020-07-24 02:09:25 +08:00
Danny Ryan 0692ac0172
bump VERSION.txt to 0.12.2 2020-07-23 10:28:02 -06:00
Hsiao-Wei Wang 33e56b5742
Apply Terence's suggestion: refactor on_shard_block interface 2020-07-22 22:48:52 +08:00
Danny Ryan 4c1a28e547
Merge pull request #1976 from ethereum/fix-bls-test-name
Rename `aggregate_na_pubkeys` to `aggregate_na_signatures` and add comments
2020-07-21 10:18:23 -06:00
Hsiao-Wei Wang 302607eac5
Rename `aggregate_na_pubkeys` to `aggregate_na_signatures` and add comments 2020-07-21 21:10:27 +08:00
Hsiao-Wei Wang 4dcf5e2498
Add test case of different shards 2020-07-17 14:24:11 +08:00
Hsiao-Wei Wang 0b81c967fa
Add notes 2020-07-17 00:46:25 +08:00
Hsiao-Wei Wang 8fb96f1860
Enable more phase 0 tests to be compatible with phase 1 2020-07-17 00:10:04 +08:00
Hsiao-Wei Wang cf42fd4828
Rename `PHASE_1_GENESIS_SLOT` to `PHASE_1_FORK_SLOT` and set it to `Slot(0)` for testing. 2020-07-16 23:58:47 +08:00
Hsiao-Wei Wang 8e82ca5d1a
Merge branch 'dev' into hwwhww/new_int_to_bytes_dev 2020-07-16 01:36:19 +08:00
Hsiao-Wei Wang 6e3a7ad8f2
Merge branch 'dev' into hwwhww/strict-uint64-2 2020-07-15 23:02:51 +08:00
Hsiao-Wei Wang f6b1fe6172
Refactor tests and avoiding passing `shart_store` to helper functions 2020-07-15 19:07:39 +08:00
Hsiao-Wei Wang 2da331a345
Rename `test_on_shard_head.py` to `test_on_shard_block.py` 2020-07-15 19:01:20 +08:00
Hsiao-Wei Wang 43ef9aa294
Make ShardLatestMessage per shard per validator
1. Add `ShardLatestMessage` dataclass
2. To make it compatible with phase 0 tests and APIs, add `Store.shard_stores: Dict[Shard, ShardStore]`
3. Update `get_forkchoice_store` and `update_latest_messages`
2020-07-14 17:44:01 +08:00
Hsiao-Wei Wang 60f4bd2288
The AttesterSlashing tests for phase1 can be enabled now after #1889 2020-07-09 21:59:01 +08:00
protolambda 3c374b1e16
Update test gen to output phase 1 test vectors. Mainnet disabled for now. 2020-07-07 21:26:35 +02:00
protolambda 6b1d4839d8
update block operations generator 2020-07-07 20:17:36 +02:00
Hsiao-Wei Wang d608be72c3
Merge pull request #1937 from ethereum/hwwhww/custody-block-test
Fix `ShardTransition.shard_data_roots` and add custody game block-level tests
2020-07-02 13:24:07 +08:00
Hsiao-Wei Wang a681163305
Merge pull request #1938 from ethereum/hwwhww/shard-block-tests-part2
Add more tests for `shard_state_transition`
2020-06-30 00:26:24 +08:00
Hsiao-Wei Wang 98a9facab6
PR feedback from Danny
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-30 00:16:00 +08:00
Danny Ryan e06bbd14f7
Merge pull request #1907 from ethereum/fix_deprecated_merkle_util
Fix deprecated utility code, avoid wrong helper function name, add tests
2020-06-29 08:31:05 -06:00
Hsiao-Wei Wang d3f2344e45
Add CustodySlashing block test and fix `get_attesting_indices` cache 2020-06-29 20:56:36 +08:00
Hsiao-Wei Wang 235175d937
Add `CustodyKeyReveal` and `EarlyDerivedSecretReveal` tests 2020-06-29 19:58:14 +08:00
Hsiao-Wei Wang c871733bf3
Fix yield block 2020-06-29 19:48:07 +08:00
protolambda 3b7617f51a
make extracted byte uint8 for bitshift, do not use negative slice indexing, avoid negative comparison in test 2020-06-26 16:14:27 +02:00
protolambda 3fb0257cbb
update remerkleable for uint and mypy improvements 2020-06-26 15:57:53 +02:00
Hsiao-Wei Wang a159a2da82
Merge pull request #1928 from ethereum/hwwhww/shard-block-tests
Add tests for `shard_state_transition` and some refactorings
2020-06-26 11:54:23 +08:00
Hsiao-Wei Wang 94c231cf98
Fix `ShardTransition.shard_data_roots` and add test
1. Fix `ShardTransition.shard_data_roots`: use `get_block_data_merkle_root` helper to calculate it.
2. Rework `get_valid_custody_chunk_response` testing helper: accept
`block_length_or_custody_data`
3. Add `test_with_custody_challenge_and_response` test
2020-06-26 01:46:45 +08:00
Hsiao-Wei Wang dc02bbc142
Add more shard block tests 2020-06-26 01:44:55 +08:00
Hsiao-Wei Wang a061758a66
Use `encode_bytes` to implement `int_to_bytes`
Rename `bytes_to_int` to `bytes_to_uint64`

Use `encode_bytes` to implement `int_to_bytes`

Rename `int_to_bytes` to `uint_to_bytes` and move it to `ssz_impl.py`
2020-06-25 20:20:39 +08:00
Hsiao-Wei Wang b239f6108c
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-25 17:18:16 +08:00
Hsiao-Wei Wang 2a7b5f7e68
PR feedback from Danny: nuke optional beacon_parent_state 2020-06-25 11:14:25 +08:00
Hsiao-Wei Wang 79b6bc616d
PR feedback from danny 2020-06-25 10:58:04 +08:00
Hsiao-Wei Wang 661959c13e
Add `process_shard_block` verification 2020-06-24 18:18:50 +08:00
Hsiao-Wei Wang 4a46fb2a8a
Refactor phase 1 block tests a bit and add `shard_state_transition`
tests

1. Refacotr phase1/sanity/test_blocks.py
2. Add phase1/sanity/test_shard_blocks.py for testing `verify_shard_block_message` and `verify_shard_block_signature`
2020-06-24 18:08:26 +08:00
Hsiao-Wei Wang c4973792e2
Make `get_pending_shard_blocks` return `Sequence[SignedShardBlock]` 2020-06-24 12:50:27 +08:00
Hsiao-Wei Wang e4d4527845
Merge pull request #1921 from ethereum/hwwhww/shard-tests
Fix no winning root case + add tests + fix #1881
2020-06-24 11:21:23 +08:00
protolambda 4bf10be4ff
use BLS constant for special signature 2020-06-23 21:14:43 +02:00
protolambda ddddc4ba99
attester slashing with 0 indices and out of bounds indices 2020-06-23 02:06:27 +02:00
Danny Ryan e61efc14a3
Merge pull request #1886 from ethereum/fix_store_target_checkpoint_state
Fix store_target_checkpoint_state
2020-06-22 11:38:40 -06:00
Hsiao-Wei Wang 5357bddcf8
PR feedback: use `filter_participant_set` 2020-06-23 00:13:48 +08:00
Hsiao-Wei Wang 97d0048eaa
PR feedback: use condition to determine if the test should be skipped 2020-06-23 00:06:35 +08:00
Danny Ryan a1e3392d2f
add tests for on_attestation ceckpont state fix 2020-06-22 09:47:22 -06:00
Hsiao-Wei Wang 1a5016157a
Fix
1. To make it more compatible, update `is_on_time_attestation` argument: replace `attestation: Attestation` with `attestation_data:
AttestationData`
2. Fix `get_sample_shard_transition`
2020-06-19 23:46:01 +08:00
Hsiao-Wei Wang c28857e4e1
Fix `attestation.data.shard_head_root` bug 2020-06-19 23:34:51 +08:00
Hsiao-Wei Wang 80c6c0b5f1
valid==True for `run_successful_crosslink_tests` helper 2020-06-19 23:07:39 +08:00
Hsiao-Wei Wang b8caa6ee85
Add `test_wrong_shard_transition_root` 2020-06-19 22:52:38 +08:00
Hsiao-Wei Wang a9f8411a51
Verify all shard states 2020-06-19 22:42:18 +08:00
Hsiao-Wei Wang 37d1a0750d
Use `get_shard_winning_roots` to verify 2020-06-19 22:29:49 +08:00
Hsiao-Wei Wang 43605eebe8
Add `test_no_winning_root` 2020-06-19 22:21:29 +08:00
Hsiao-Wei Wang 3117cf3140
Refactor 2020-06-19 19:09:11 +08:00
Hsiao-Wei Wang ea59193157
Rename some `shard_blocks` to `shard_block_dict` 2020-06-19 18:11:28 +08:00
Hsiao-Wei Wang 76840c9178
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-19 17:01:04 +08:00
Danny Ryan 948ad23f96
Merge branch 'dev' into epochwise_committee_count_per_slot 2020-06-18 09:44:02 -06:00
Danny Ryan 05453b786d
Merge pull request #1895 from ethereum/hwwhww/attestation-shard
Add `shard: Shard` field to `AttestationData`
2020-06-18 09:37:07 -06:00
Hsiao-Wei Wang ec25f78632
Update path 2020-06-18 14:55:50 +08:00
Hsiao-Wei Wang 27eb2e2579
Move testing files from */phase_0 to */phase0, */phase_1 to */phase1 2020-06-18 14:54:27 +08:00
Hsiao-Wei Wang 26c540fbf9
Fix `get_min_new_period_epochs` helper 2020-06-18 14:10:49 +08:00
protolambda 41ebd51aff
Merge branch 'dev' into hwwhww/strict-uint64 2020-06-18 02:49:09 +02:00
protolambda 3f765f55ca
Fix deprecated utility code, avoid wrong helper function name, add tests 2020-06-17 22:34:43 +02:00
protolambda 9b60a9b799
Avoid state usage in p2p validation, compute committee count per slot for epoch as a whole 2020-06-17 20:19:32 +02:00
Hsiao-Wei Wang 7117d2e75a
Merge pull request #1896 from lsankar4033/helper_tests
Add unit tests for `compute_fork_digest` and `compute_subnet_for_attestation`
2020-06-17 20:52:19 +08:00
Danny Ryan fbf10a0db3
fix tests 2020-06-16 22:32:09 -06:00
Danny Ryan a21f93646c
Merge pull request #1878 from ethereum/hwwhww/remove_digest
Remove `ShardState.transition_digest`
2020-06-16 16:40:52 -06:00
Danny Ryan 759185632f
Merge branch 'dev' into phase1-validator 2020-06-16 16:07:20 -06:00
Danny Ryan 2e0950560b
PR feedback 2020-06-16 16:03:36 -06:00
Hsiao-Wei Wang 7fba94a73d
Merge branch 'dev' into hwwhww/attestation-shard 2020-06-17 01:58:05 +08:00
Dankrad Feist 8186594dfe
Rename to get_sample_shard_transition 2020-06-16 14:57:06 +01:00
Dankrad Feist 2dee432536
Refactor getting Merkle root of data part of ByteList 2020-06-16 14:43:34 +01:00
Danny Ryan a0175ca1b3
Merge branch 'dankrad-custody-256bit' into dankrad-custody-0.01bit 2020-06-16 07:15:00 -06:00
lsankar4033 55e17fb1f7 Add compute_subnet_for_attestation unittest 2020-06-15 18:42:15 -07:00
Danny Ryan 01a69288b6
custody 0.01 testing cleanup 2020-06-15 15:33:05 -06:00
Hsiao-Wei Wang 3ee0761d17
Add `shard: Shard` field to `AttestationData` 2020-06-16 00:17:49 +08:00
Hsiao-Wei Wang be607e97f6
Merge branch 'dev' into phase1-validator 2020-06-15 21:09:43 +08:00
Hsiao-Wei Wang e80f6727dc
Merge branch 'dev' into dankrad-custody-256bit 2020-06-15 15:13:45 +08:00
Dankrad Feist f6d7dac30c
Change to 2**14 epoch (73 day) custody periods as per #1888 2020-06-13 15:15:37 +01:00
Dankrad Feist f857dbfac2
Custody tests 2020-06-12 22:47:45 +01:00
Dankrad Feist 04fb9926e8
Remove custody bits from phase 1 and tests 2020-06-12 17:16:08 +01:00
Dankrad Feist 65c3417f90
Fix replace_empty_or_append, remove assert False & test 2020-06-12 11:53:32 +01:00
Dankrad Feist bcfaa1b635
Fix tests 2020-06-12 11:07:44 +01:00
Hsiao-Wei Wang aa75fb0b69
Fix `MAX_SHARDS` and move config files to `configs/{network}/{fork}` 2020-06-12 00:47:36 +08:00
Hsiao-Wei Wang 6502cc1149
Separate config files by phases 2020-06-11 01:04:10 +08:00
Dankrad Feist e46d5effe4
Add test for slashing after failing to respond to custody chunk challenge 2020-06-10 17:20:42 +01:00
Hsiao-Wei Wang f0f7bda2ea
Fix tests 2020-06-10 02:44:09 +08:00
Danny Ryan 65a739fe41
Merge branch 'dev' into phase1-validator 2020-06-08 15:50:51 -06:00
Hsiao-Wei Wang 41cfa7fdf6
Merge branch 'dev' into dankrad-custody-256bit 2020-06-09 01:39:51 +08:00
Hsiao-Wei Wang 7e67aaeb35
Rename `build_shard_transitions_till_slot` to `get_shard_transitions` 2020-06-08 18:15:14 +08:00