Commit Graph

534 Commits

Author SHA1 Message Date
Hsiao-Wei Wang c9de95541f
Use a dummy `INCOMPLETE` file to indicate that the test generation is incomplete 2021-03-17 00:28:09 +08:00
Justin Drake 27e88a2484 (WIP) refactor sync committee rewards 2021-03-16 15:30:25 +00:00
Danny Ryan 0a97f65729
Merge pull request #2243 from ethereum/fix-altair-gens
fix altair test generators
2021-03-16 08:26:29 -06:00
Danny Ryan 85d323c227
Merge pull request #2242 from ethereum/sync_aggregate
Define SyncAggregate to bundle sync committee bits and signature
2021-03-15 15:48:20 -06:00
protolambda 1eaa3c1742
Define SyncAggregate to bundle sync committee bits and signature, update tests to better isolate the state-change, introduce helper function for future tests, and update test doc 2021-03-15 21:55:36 +01:00
Danny Ryan 06eed71856
fix altair test generators 2021-03-15 13:10:19 -06:00
Danny Ryan 4afb6533a2
suffix ALTAIR on update constants 2021-03-15 11:46:53 -06:00
Hsiao-Wei Wang 64dbcdce35
Use @with_all_phases 2021-03-16 01:10:18 +08:00
Hsiao-Wei Wang 734863a6d6
Skip mainnet genesis tests 2021-03-16 00:46:57 +08:00
Hsiao-Wei Wang 1a4bbdfd79
Disable `test_sync_committees_progress` + mainnet config 2021-03-16 00:16:27 +08:00
Hsiao-Wei Wang d590eebd36
`SpecLightclient` -> `SpecAltair` 2021-03-16 00:00:08 +08:00
Hsiao-Wei Wang 78211a3649
Enable Altair genesis tests 2021-03-16 00:00:04 +08:00
Danny Ryan b8bf7f0f80
Merge pull request #2236 from ethereum/justin_altair_cleanups
Altair cosmetic cleanups plus a couple substantive changes
2021-03-15 08:57:35 -06:00
Justin Drake 8e815dd3f7 revert rename of to 2021-03-15 11:25:59 +00:00
Justin Drake 5a16f99302 Fix line too long 2021-03-15 11:21:05 +00:00
Justin Drake e7ebd08d69 Altair cosmetic cleanups plus a couple substantive changes 2021-03-15 11:08:41 +00:00
Hsiao-Wei Wang 1c0238075e
Fix some leftover from #2097 2021-03-13 12:42:51 +08:00
Hsiao-Wei Wang 5dcc9927c8
Merge pull request #2202 from ethereum/fork-choice-test-vectors
fork-choice test vectors: starting with `get_head` tests
2021-03-13 12:08:33 +08:00
Hsiao-Wei Wang e77ba91821
Apply proto's feedback, fix+refactor test_get_head, fix test format doc
Note that to execute on_attestation after on_block

Output more checking field

Disable mainnet config test_filtered_block_tree

Fix after rectoring + use more run_on_block

Fix and refactor `tick_and_run_on_attestation`
2021-03-13 00:29:35 +08:00
Danny Ryan 65dcf897c2
Merge pull request #2147 from ethereum/lightclient-sync-exe
Make `sync-protocol.md` pass the linter and add basic tests
2021-03-12 07:52:45 -07:00
Hsiao-Wei Wang d29926efe6
Remove the duplicate get_head unit test 2021-03-12 21:05:23 +08:00
Hsiao-Wei Wang a1e74b2c18
Fix conflicts 2021-03-12 01:05:26 +08:00
Hsiao-Wei Wang c34eae33d0
Merge branch 'dev' into lightclient-sync-exe 2021-03-12 00:49:29 +08:00
Hsiao-Wei Wang 216bbb0a46
Merge branch 'dev' into fork-choice-test-vectors 2021-03-12 00:34:23 +08:00
Danny Ryan 79f351cfca
Merge branch 'dev' into leak-scores 2021-03-11 09:28:58 -07:00
Hsiao-Wei Wang 96e29841a7
Merge branch 'dev' into fork-choice-test-vectors 2021-03-11 23:45:54 +08:00
Hsiao-Wei Wang 72832c8b9c
Fix test 2021-03-11 22:25:48 +08:00
Hsiao-Wei Wang b44e576e95
LIGHTCLIENT_PATCH/HF1 -> ALTAIR 2021-03-11 21:32:00 +08:00
Hsiao-Wei Wang 69489d1541
Rename folders and file names to `altair` 2021-03-11 21:12:46 +08:00
Hsiao-Wei Wang 2de64cbda1
Add `process_light_client_update` tests 2021-03-11 21:06:58 +08:00
Danny Ryan 813608928c
Merge branch 'dev' into tests-compression 2021-03-10 16:43:02 -07:00
Danny Ryan 36b6f8c3bf
Merge branch 'dev' into lightclient-sync-exe 2021-03-10 16:25:01 -07:00
Danny Ryan cc191a0e2c
Merge branch 'dev' into leak-scores 2021-03-10 13:18:58 -07:00
Danny Ryan 37c49ffcdc
ensure rewards are tested properly post altair fork 2021-03-10 13:11:03 -07:00
Danny Ryan 1f3e73703c
use 'other_phases' for fork tests 2021-03-10 12:52:35 -07:00
Danny Ryan e792c27c91
@hwwhww review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-10 12:27:50 -07:00
Danny Ryan f9b54ea03b
remove fork_test 2021-03-09 16:18:30 -07:00
Danny Ryan 956a7a2ef1
Update tests/core/pyspec/eth2spec/test/context.py 2021-03-09 16:09:08 -07:00
Danny Ryan e2abdb74ae
port testing 2021-03-09 15:41:28 -07:00
Hsiao-Wei Wang f025ec40c5
Fix linter error 2021-03-09 21:21:32 +08:00
Hsiao-Wei Wang 7a10c7108a
Fix decorator calls 2021-03-09 21:21:10 +08:00
Hsiao-Wei Wang f97ea9e172
Generate basic tests. Still having problem with generating `with_custom_state` tests 2021-03-09 20:55:39 +08:00
Hsiao-Wei Wang 50fb3da072
Make test_fork.py truly pass 2021-03-09 20:54:48 +08:00
Danny Ryan 6c406753f1
working through test gens 2021-03-08 19:11:31 -07:00
Danny Ryan d6961f636d
add base hf1 fork function tests 2021-03-08 17:21:01 -07:00
Danny Ryan deace8768e
port @justindrake's general cleanups from #2212 2021-03-01 19:41:28 -07:00
Danny Ryan 63e014791c
Merge branch 'dev' into dev-merge 2021-02-24 16:23:04 -07:00
Danny Ryan fb974ed37f
bump version to 1.0.1 2021-02-23 16:40:19 -07:00
Danny Ryan 7af50cc827
add eth1 withdrawal credentials to spec 2021-02-23 16:16:35 -07:00
Danny Ryan e35b850181
Merge pull request #2198 from ethereum/hf1-config
update penalty config values for hf1
2021-02-22 18:26:43 -06:00
Danny Ryan 6df3de8506
Merge pull request #2199 from ethereum/turn_off_phase1_testgen
[testgen] turn off phase 1, turn on HF1, and refactoring
2021-02-22 13:28:19 -06:00
Hsiao-Wei Wang de4cad5d35
Update docs 2021-02-22 18:40:04 +08:00
Hsiao-Wei Wang 27507fb3e2
Add `get_head` test vectors 2021-02-19 13:08:35 +08:00
Hsiao-Wei Wang e58dcb40ac
Clean up and kick the cache 2021-02-18 17:51:01 +08:00
Hsiao-Wei Wang 9cc8567d68
Move `gen_helpers` into a module of `eth2spec` package 2021-02-18 15:17:47 +08:00
Danny Ryan 8ec082fcf9
Merge pull request #2149 from ethereum/0x01-creds
Eth1 withdrawal credentials (0x01)
2021-02-16 13:06:34 -06:00
Hsiao-Wei Wang 600a4daddf
Turn off phase1 testgen and turn on lightclient_patch testgen 2021-02-15 22:29:27 +08:00
Hsiao-Wei Wang dda7010c0c
Fix the tests that use `MIN_SLASHING_PENALTY_QUOTIENT`. (The mainnet tests failed before this fix) 2021-02-13 23:02:06 +08:00
Hsiao-Wei Wang 24a244eb9b
Fix typo: `get_slashing_multipler` -> `get_slashing_multiplier` 2021-02-13 22:48:34 +08:00
Danny Ryan 2b8b0d9e2b
update penalty config values for hf1 2021-02-11 15:55:43 -07:00
Danny Ryan 34cea67b91
ValidatorFlags -> ValidatorFlag 2021-02-04 08:45:25 -07:00
Danny Ryan 1c1ba5cba2
minor PR feedback 2021-02-02 12:35:00 -07:00
protolambda e865670111
add missing decorators for testruns in no-bls mode 2021-02-01 21:47:00 +01:00
protolambda 3677073812
bitvector[8] -> uint8, for efficient packing in flags merkle tree 2021-02-01 21:46:27 +01:00
Danny Ryan 1ba4917119
add process_attestation tests to cover various timing and correctness scenarios 2021-02-01 08:35:58 -07:00
Danny Ryan b029c75d88
must be correct target to get correct head 2021-02-01 07:52:06 -07:00
Danny Ryan ad01c85ff6
minor reorder to process_epoch calls 2021-02-01 07:06:29 -07:00
Hsiao-Wei Wang 6ce4b1b0e7
Fix tests 2021-01-29 10:39:13 -07:00
Danny Ryan 46848e4202
Merge branch 'dev' into accounting-reform 2021-01-29 08:49:51 -07:00
Hsiao-Wei Wang 1b00c10ed3
Apply @michaelsproul's feedback 2021-01-27 14:47:52 +08:00
Hsiao-Wei Wang ae218015b7
Merge branch 'dev' into re_process_final_updates_fix 2021-01-27 03:02:24 +08:00
Hsiao-Wei Wang 15e48f712b
Fix Phase 1 epoch_processing and fix epoch_processing testgen 2021-01-27 03:02:12 +08:00
Hsiao-Wei Wang 1e7c33810f
Merge pull request #2189 from ralexstokes/duplicate-sync-committee-patch
test refactor to use helper for duplicates in light client committees
2021-01-22 09:55:52 +08:00
Alex Stokes 0e415fe7c7 comments no longer apply 2021-01-21 15:39:04 -08:00
Alex Stokes 3847e425b1 refactor to use helper for duplicates in light client committees, rather than config changes 2021-01-21 15:39:04 -08:00
Hsiao-Wei Wang 17a04c2728
PR feedback from @ralexstokes 2021-01-21 23:03:44 +08:00
Hsiao-Wei Wang 93d19bdf40
Update and add tests 2021-01-19 22:03:01 +08:00
Hsiao-Wei Wang c5d9aa2502
Fix test cases for minimal and mainnet configs 2021-01-19 20:00:43 +08:00
Hsiao-Wei Wang 2a6699290f
Revert "Fix SyncCommittee"
This reverts commit b2658f1091.
2021-01-14 01:47:40 +08:00
Hsiao-Wei Wang b2658f1091
Fix SyncCommittee
1. Make `get_sync_committee_indices` do not return duplicate indices
2. Pad default values to Vectors
2021-01-13 20:12:52 +08:00
Hsiao-Wei Wang a340f30e61
Merge branch 'dev' into accounting-reform 2021-01-13 14:44:17 +08:00
Hsiao-Wei Wang 252c331255
Fix existing tests on #2176 (accounting reform) (#2180)
* Fixing tests

* Add `is_post_lightclient_patch` helper to determine the fork version condition
2021-01-13 14:29:18 +08:00
Alex Stokes e518c4d04d update test to use fresh sync committees
the way the test infra is built we end up with
two identical sync committees at epoch 0.
2021-01-12 09:31:07 -08:00
Alex Stokes 5001588285 Add additional sync committee tests 2021-01-07 12:53:16 -08:00
Alex Stokes ac6dbd1c35 Add sync committee test for signature over incorrect block 2021-01-07 11:28:21 -08:00
Alex Stokes 61d141b4db Use more clear names for tests 2021-01-07 10:57:54 -08:00
Alex Stokes 1a3fefcc93 Refactor epoch processing test helpers 2021-01-07 10:55:51 -08:00
Alex Stokes 049075b44a Refactor sync committee helpers 2021-01-07 10:42:21 -08:00
Alex Stokes 7e82b54131
Update tests/core/pyspec/eth2spec/test/lightclient_patch/block_processing/test_process_sync_committee.py
Add clarifying comment

Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-01-07 09:45:20 -08:00
Alex Stokes cc7ae4abd0 Add test for sync committee block rewards 2021-01-06 10:25:55 -08:00
Alex Stokes 547cb0f38f Add epoch processing test for sync committee updates 2021-01-06 09:45:17 -08:00
Alex Stokes 781f344409 Add test for invalid sync committee signature 2021-01-06 09:45:17 -08:00
Alex Stokes 955a01c49b Add basic test for invalid sync committee bits 2021-01-06 09:45:17 -08:00
Alex Stokes b94af435da Refactor helpers into separate module 2021-01-06 09:45:17 -08:00
Hsiao-Wei Wang 9c75c3819d
Fix `previous_epoch_participation` and `current_epoch_participation` initialization 2021-01-06 02:09:39 +08:00
Alex Stokes 71c5eb5c2f
Update names in pyspec README
Names for pip categories have been updated
2020-12-18 11:11:44 -08:00
Danny Ryan 89c5ca6bcd
'light_client' -> 'sync_committee' 2020-12-17 06:30:36 -07:00
Danny Ryan cc9a4cdc46
add base sanity light client tests 2020-12-16 17:14:42 -07:00
Hsiao-Wei Wang d01a4ad823
Fix depth calculation...again(!) and add unittests 2020-12-16 15:01:22 +08:00
Hsiao-Wei Wang bcde37c39f
Make `sync-protocol.md` pass the linter 2020-12-15 13:24:43 +08:00
Hsiao-Wei Wang acfe49e3f3
executable light client patch: beacon-chain.md (#2141)
* Bump remerkleable to 0.1.18

* Disable `sync-protocol.md` for now. Make linter pass

* Enable lightclient tests

* Use *new* `optional_fast_aggregate_verify`

* Fix ToC and codespell

* Do not run phase1 tests with Lightclient patch

* Fix the Eth1Data casting bug. Add a workaround.

* Fix `run_on_attestation` testing helper

* Revert

* Rename `optional_fast_aggregate_verify` to `eth2_fast_aggregate_verify`

* Apply Proto's suggestion

* Apply Danny's suggestion

* Fixing tests

* Fix after rebasing

* Rename `LIGHTCLIENT` -> `LIGHTCLIENT_PATCH`

* New doctoc

* Add lightclient patch configs

* fix gitignore light client patch generator output

* Upgrade state for light client patch

* Add `lightclient-fork.md` to deal the fork boundary and fix
`process_block_header`

* Misc cleanups

1) Add a summary note for every function that is changed.
2) Avoid changing `process_block` (instead only change `process_block_header`).
3) Rename `G2_INFINITY_POINT_SIG` to `G2_POINT_AT_INFINITY` to avoid `SIG` contraction.
4) Misc cleanups

* Update block.py

* Update beacon-chain.md

* Fix typo "minimal" -> "mainnet"

Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>

* Use the new `BeaconBlockHeader` instead of phase 0 version

* Update config files

* Move `sync_committee_bits` and `sync_committee_signature` back to `BeaconBlockBody`

Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
2020-12-15 13:18:20 +08:00
Danny Ryan 6b728c1880
add eth1 withdrawal credentials to spec 2020-12-11 15:03:58 -07:00
Danny Ryan 226f1d4dfc
fix multi-operation test runner helper 2020-11-06 07:05:52 -06:00
Danny Ryan 7589af8e8d
remove wip notice on phase 0 specs 2020-11-04 09:30:29 -06:00
Danny Ryan 15270b7933
bump VERSION.txt to 1.0.0 2020-11-03 17:15:36 -06:00
Danny Ryan 276ca6d4d3
pr feedback
Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-11-03 16:27:47 -06:00
Danny Ryan a8c1d21589
add attestation test for off by one committee index 2020-11-03 15:49:34 -06:00
Danny Ryan f7a9493ca0
multi-op tests 2020-10-20 17:00:16 -06:00
Danny Ryan a34970f8a3
move op tests to test_blocks 2020-10-16 08:27:28 -06:00
Danny Ryan aab58e4700
update sanity generators to generate the oepration block tests as well 2020-10-14 17:41:11 -06:00
Danny Ryan c17a95a175
add note about how slashings and exits can interact. add test 2020-10-14 17:33:14 -06:00
Danny Ryan a61c56a6b6
add a few rewards tests for duplicate style attestations 2020-10-13 16:15:35 -06:00
protolambda 3fb9b15551
remove unused imports 2020-10-08 21:17:13 +02:00
protolambda 4c90c357b7
remove yaml duplicates, compress SSZ test outputs 2020-10-08 20:34:59 +02:00
Danny Ryan 2e09c91e39
fix test generators for mainnet max slashing penalties 2020-10-06 11:34:33 -06:00
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
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 19d6c8336a
Add IETF BLS draft 04 edge cases test vectors 2020-09-25 15:01:38 +08: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
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 a0d646e1e0
Add decorators to diable testing with mainnet config 2020-09-04 21:50:21 +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 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 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