Alex Stokes
cc04da8e79
add randomized block tests for altair
2021-08-23 12:30:05 -07:00
Alex Stokes
58c6f33e85
ensure at least one proposer slashing
2021-08-23 12:15:22 -07:00
Alex Stokes
7b9d70fcec
allow test customization (for future forks)
2021-08-23 12:15:09 -07:00
Alex Stokes
ff6863e689
fix bug with deposit generation code
2021-08-23 12:01:05 -07:00
Alex Stokes
31d46247ce
file re-org to re-use for later forks
2021-08-23 11:48:22 -07:00
Alex Stokes
20e3934fa2
do not exit validators who are already exited
2021-08-23 11:46:20 -07:00
Alex Stokes
16423880aa
add multiple blocks to each test
2021-08-23 11:00:33 -07:00
Alex Stokes
6316c7d364
ensure at least 1 attester slashing
2021-08-23 10:29:39 -07:00
Alex Stokes
361d97c54b
fix bug with proposer search
2021-08-23 10:13:19 -07:00
Hsiao-Wei Wang
15a6c48a46
Merge pull request #2518 from ethereum/fix-store-justified-checkpoint
...
Fix fork choice store checkpoints inconsistency issue
2021-08-23 23:41:11 +08:00
Hsiao-Wei Wang
838c263c4a
Apply suggestions from code review
...
Co-authored-by: Aditya Asgaonkar <adiasg@users.noreply.github.com>
2021-08-23 23:21:15 +08:00
Alex Stokes
2db01ba6d0
use fixed seed for block randomization
2021-08-22 13:55:29 -07:00
Alex Stokes
253f927c0a
fix randomness seed across randomized test
2021-08-22 13:55:29 -07:00
Alex Stokes
0c401a3e2a
filter for exit eligibility in helper
2021-08-22 13:55:28 -07:00
Alex Stokes
ce471b702e
code org
2021-08-22 10:54:00 -07:00
Alex Stokes
f76a29c1f9
patch state to not be leaking at start
2021-08-22 10:52:22 -07:00
Alex Stokes
993997aca5
ensure no leak on "normal" transitions
2021-08-22 10:19:21 -07:00
Alex Stokes
270814e20f
fix bug with `_epochs_until_leak` helper
2021-08-22 09:59:28 -07:00
Alex Stokes
820affd2aa
extend validator set so randomized helpers have more room for operation
2021-08-22 09:58:54 -07:00
Alex Stokes
513f57f74c
formatting
2021-08-22 09:56:03 -07:00
Alex Stokes
b17ada2d67
only target phase 0 and altair for now
2021-08-21 18:24:26 -07:00
Alex Stokes
9e6a51ef70
update fn name for test id
2021-08-21 18:10:27 -07:00
Alex Stokes
fde71cbe74
add warnings if empty block
2021-08-21 18:10:27 -07:00
Alex Stokes
7bc2f9547a
skip validators when building a random block if they are slashed
2021-08-21 17:52:26 -07:00
Alex Stokes
86643d805a
adjust some helper code for randomized environment
...
1. randomized block helpers assume most of the validator set is not slashed
2. `randomize_state` helper slashes or exits ~1/2 of the validator set
So, adjust helpers to be less aggresive with exits and slashings and
to skip elements as needed if we happen to make something by
a validator who has been slashed.
2021-08-21 17:36:50 -07:00
Alex Stokes
6da2c7a916
ensure all validators in randomized test are active
2021-08-21 16:59:54 -07:00
Alex Stokes
5094193f9a
formatting
2021-08-21 16:59:02 -07:00
Alex Stokes
92aabcd207
add randomized block tests to test generator
2021-08-21 15:48:29 -07:00
Alex Stokes
619e828898
Progress on block test gen
2021-08-21 15:48:29 -07:00
Alex Stokes
4420d13816
add helper to check existence of many validator types
2021-08-21 15:48:29 -07:00
Alex Stokes
00df808f59
expose functionality to make random block
2021-08-21 15:48:28 -07:00
Danny Ryan
29c7184b7b
bump VERSION.txt to 1.1.0-beta.3
2021-08-20 08:42:22 -06:00
Danny Ryan
f30e7c8ef3
Merge pull request #2559 from ralexstokes/update-full-random-tests-to-all-phases
...
Extend randomized block tests to all phases
2021-08-20 08:20:55 -06:00
Danny Ryan
2c632c0087
Merge pull request #2555 from ethereum/great-renaming
...
modify docs for great renaming
2021-08-20 08:14:49 -06:00
Alex Stokes
eadefa274d
WIP: broad-spectrum randomized block tests
2021-08-19 12:54:21 -06:00
Alex Stokes
cdf1914e98
Extend randomized block tests to all phases
...
Some existing randomized block tests only ran for phase 0,
when they should run for all phases to increase overall test coverage.
2021-08-19 11:00:14 -06:00
Alex Stokes
70d4ddf613
Merge pull request #2556 from ralexstokes/add-randomized-testing-for-altair-inactivity-scores
...
Add randomized testing for altair inactivity scores
2021-08-19 07:42:46 -07:00
Alex Stokes
b809d86736
add test for `process_inactivity_updates` for randomized state
2021-08-19 07:43:16 -06:00
Alex Stokes
7f70a7704b
fix validator state during deposit randomization
2021-08-19 07:43:15 -06:00
Danny Ryan
4c1156d504
rename eth1 and eth2 throughout specs and readme where reasonable
2021-08-18 17:13:24 -06:00
Danny Ryan
f6aa54b66f
Merge pull request #2554 from ralexstokes/refactor-sync-committee-tests
...
Refactor sync committee tests
2021-08-18 16:38:56 -06:00
Alex Stokes
5a918dbdf3
Add test count to test gen diagnostics
2021-08-18 10:49:44 -06:00
Alex Stokes
5a17fa65b2
group test files into subdirectory
2021-08-18 10:49:44 -06:00
Alex Stokes
817d2ee7bf
Refactor sync committee tests so rewards are verified for all test cases
2021-08-18 10:49:43 -06:00
Hsiao-Wei Wang
6ffc735642
Merge branch 'dev' into fix-store-justified-checkpoint
2021-08-17 21:28:42 +08:00
Hsiao-Wei Wang
3a9dcbadf0
Merge pull request #2487 from ethereum/on-block-tests
...
Rework + add some `on_block` tests
2021-08-17 21:21:44 +08:00
Alex Stokes
471cc870c3
remove print statements
2021-08-16 13:10:58 -06:00
Mikhail Kalinin
301157c027
Change base_fee_per_gas type to Bytes32
2021-08-13 14:21:37 +06:00
Danny Ryan
c404cd144a
Merge pull request #2533 from mkalinin/rebase-with-london
...
Rebase Merge spec with London
2021-08-10 16:37:32 -06:00
Danny Ryan
b184fa25a7
Merge pull request #2542 from ralexstokes/add-inactivity-updates-test-with-exited-validator
...
Add test for exited validators during inactivity leak
2021-08-06 08:58:01 -06:00
Hsiao-Wei Wang
ad4445fa9e
Apply PR feedback from Danny and clean up the BLS test format docs
2021-08-06 16:39:35 +08:00
Alex Stokes
170d7dc023
Update tests/core/pyspec/eth2spec/test/altair/epoch_processing/test_process_inactivity_updates.py
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-08-05 16:54:29 -07:00
Alex Stokes
6f56e33f00
Update tests/core/pyspec/eth2spec/test/altair/epoch_processing/test_process_inactivity_updates.py
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-08-05 16:54:22 -07:00
Hsiao-Wei Wang
93af122b2d
PR feedback from @ralexstokes and add single pubkey aggregate tests
2021-08-05 12:09:30 +08:00
Hsiao-Wei Wang
3b86bd340f
Rename eth2_* to eth_*
2021-08-05 11:20:49 +08:00
Hsiao-Wei Wang
a8383be878
Apply suggestions from code review
...
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2021-08-05 11:12:36 +08:00
Alex Stokes
2ff143c719
Add test for exited validators during inactivity leak
2021-08-04 16:28:42 -07:00
Hsiao-Wei Wang
43a1617ffa
Ensure that the given PKs are valid PKs + fix typos
2021-08-04 21:25:37 +08:00
Hsiao-Wei Wang
d8d0686400
Add tests for the Altair BLS helpers
2021-08-04 02:07:57 +08:00
Mikhail Kalinin
d58ffc7dfc
Add genesis settings section
2021-07-30 16:10:33 +06:00
Mikhail Kalinin
9a1a30c3d4
Rebase Merge spec with London
2021-07-26 19:55:35 +06:00
Danny Ryan
37da2018a3
bump VERSION.txt to 1.1.0-beta.2
2021-07-23 08:22:53 -06:00
protolambda
8318441474
Fix remaining merge-rebase-altair tests
2021-07-22 19:59:15 +02:00
protolambda
17fad2dea2
rebase The Merge onto Altair base functionality
2021-07-22 16:36:41 +02:00
Alex Stokes
758b828ecb
Update slashing helper to avoid proposer.
...
Fixes #2521 .
2021-07-19 14:20:44 -07:00
protolambda
f16cfe7c3a
update sync aggregate tests
2021-07-17 14:46:25 +02:00
Adrian Sutton
11d54af89d
Add test to confirm infinite signature is invalid when there are participants.
2021-07-17 16:34:41 +10:00
Adrian Sutton
f668b2b433
Add tests for SyncAggregate with no participants and all zero signature.
2021-07-17 16:26:18 +10:00
Danny Ryan
c420968f66
fix last beta.1 mainnet test
2021-07-14 11:11:24 -06:00
Hsiao-Wei Wang
cc3690ce38
Add unit tests to test the new condition.
2021-07-14 20:05:14 +08:00
protolambda
5582490364
Apply missing spec_test decorators, to handle generator_mode flag
2021-07-14 13:40:34 +02:00
Danny Ryan
b25d690ee8
bump VERSION.txt to 1.1.0-beta.1
2021-07-13 16:18:37 -06:00
Hsiao-Wei Wang
93a31f9011
Fix test: use mainnet preset and accept deviation
2021-07-13 00:16:57 +08:00
Danny Ryan
0c01b9e812
Merge pull request #2511 from ethereum/inactivity-updates-tests
...
extend inactivity updates tests
2021-07-08 13:10:48 -06:00
Danny Ryan
f460870c11
clean up some leak tests
2021-07-08 12:50:45 -06:00
Danny Ryan
a5a48d5a23
PR feedback from @ralexstokes
2021-07-08 12:18:54 -06:00
Alex Stokes
19001055e9
Update tests/core/pyspec/eth2spec/test/altair/sanity/test_blocks.py
2021-07-08 06:14:47 -07:00
Danny Ryan
36d2dacdcf
added slashed tests to leak score tests
2021-07-07 16:10:06 -06:00
Danny Ryan
48382ce09c
extend inactivity updates tests
2021-07-07 12:20:34 -06:00
Danny Ryan
3161846aed
Apply suggestions from code review
2021-07-07 10:29:14 -06:00
Alex Stokes
fdcb0780d2
add randomized testing for sync aggregate block processing
2021-07-06 18:13:33 -07:00
Alex Stokes
ac8b4000d3
remove unnecessary assert
2021-07-06 17:28:55 -07:00
Danny Ryan
153e1b34dd
Merge pull request #2504 from ralexstokes/add-altair-process-sync-aggregate-tests
...
add more Altair tests for `process_sync_aggregate`
2021-07-02 15:55:22 -06:00
Danny Ryan
8ad73d75a6
Merge pull request #2505 from ethereum/test_get_sync_subcommittee_pubkeys
...
Add Altair networking helper tests
2021-07-02 15:33:49 -06:00
Danny Ryan
1865cdb4fc
add comment
2021-07-02 15:28:05 -06:00
Alex Stokes
2d4ff72b2d
Update tests/core/pyspec/eth2spec/test/altair/block_processing/test_process_sync_aggregate.py
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-07-02 08:38:03 -07:00
Danny Ryan
3d7471a52c
Merge pull request #2502 from ethereum/sc-update-tests
...
add more process_sync_committee_updates tests
2021-07-02 09:33:35 -06:00
Danny Ryan
e95d71f85d
pr feedback
2021-07-02 09:25:08 -06:00
Hsiao-Wei Wang
7bde1729b1
Add Altair networking helper tests
2021-07-02 14:42:02 +08:00
Alex Stokes
f9b4d7f287
add test for sync aggregate with proposer in sync committee
2021-07-01 17:36:30 -07:00
Alex Stokes
49c433746d
sync aggregate test with proposer in the committee
2021-07-01 17:35:48 -07:00
Alex Stokes
faf1ba1f4f
clean up test
...
this test does not need to collect the intermediate blocks it produces
2021-07-01 17:30:40 -07:00
Alex Stokes
b3a879c990
add tests for duplicated sync committee members with various amounts of participation
2021-07-01 17:30:40 -07:00
Alex Stokes
21aaab5a1e
add test for sync aggregate with bad domain in signature
2021-07-01 17:30:40 -07:00
Alex Stokes
2aa5bf8384
assert active validator set is larger than sync committee size
...
ensure set is larger, rather than just equal to
2021-07-01 16:35:03 -07:00
Danny Ryan
927b26636e
add more test_process_participation_flag_updates tests
2021-07-01 13:12:15 -06:00
Danny Ryan
0ed032d392
add more process_sync_committee_updates tests
2021-07-01 12:53:12 -06:00
Hsiao-Wei Wang
bb327d274e
Add more Altair validator guide unit tests
...
Add `test_get_sync_committee_message`
Add `test_get_sync_committee_selection_proof`
Add `always_bls` deco
Add `test_is_sync_committee_aggregator`
Add `test_get_contribution_and_proof` and `test_get_contribution_and_proof_signature` + fixes
2021-07-01 22:49:23 +08:00
Hsiao-Wei Wang
27763bdd86
clean up
2021-06-30 05:40:26 +08:00
Hsiao-Wei Wang
29a93f6285
Move more unit tests to test vectors
2021-06-30 04:55:41 +08:00
Alex Stokes
44a3113ce1
fix spacing for linter
2021-06-24 09:24:58 -07:00
protolambda
dbf7fbd3d0
encode, decode and randomize ssz Union types
2021-06-24 17:13:36 +02:00
Danny Ryan
989c9620c7
bump VERSION.txt to 1.1.0-alpha.8
2021-06-23 08:32:52 -06:00
Hsiao-Wei Wang
f55afefe90
Move more tests from unittests to testgen tests
...
- `test_on_block_before_finalized`
- `test_on_block_finalized_skip_slots`
- `test_on_block_finalized_skip_slots_not_in_skip_chain`
2021-06-23 04:58:27 +08:00
Hsiao-Wei Wang
69a645aa8b
Apply PR feedback
2021-06-23 04:50:13 +08:00
Hsiao-Wei Wang
88be6cdf60
Apply Danny's suggestions from code review
...
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-06-22 20:55:52 +08:00
Hsiao-Wei Wang
83598af188
Add `test_new_justified_is_later_than_store_justified` and fix test
...
cases
- Fix `on_tick` calls
- Refactor test cases
2021-06-22 20:04:47 +08:00
Mikhail Kalinin
e5c01061af
Add couple of cosmetic fixes
2021-06-22 14:26:38 +06:00
Mikhail Kalinin
ac19aa3e2d
Accept polishing suggested by Justin
2021-06-22 14:23:26 +06:00
Mikhail Kalinin
199d6aee58
Merge remote-tracking branch 'origin/dev' into randao_in_execution_payload
2021-06-19 00:28:38 +06:00
Hsiao-Wei Wang
7a9ae57335
Minor formatting. `True` -> `true`, `False` -> `false`
2021-06-19 02:13:02 +08:00
Hsiao-Wei Wang
2445fe5a76
Add new test cases
...
- `test_new_finalized_slot_is_not_justified_checkpoint_ancestor`
- `test_new_finalized_slot_is_justified_checkpoint_ancestor`
2021-06-19 02:03:37 +08:00
Hsiao-Wei Wang
fb2465db45
Rework `on_block` unit tests
2021-06-19 02:03:33 +08:00
Justin
878b15df6a
polish merge/beacon-chain.md ( #2472 )
...
Polish `merge/beacon-chain.md` with mostly non-substantive changes.
**Non-substantive changes**
* rename `MAX_EXECUTION_TRANSACTIONS` to `MAX_TRANSACTIONS_PER_PAYLOAD`
- rename "execution transaction" to just "transaction" as per discussion with Danny
* rename `compute_time_at_slot` to `compute_timestamp_at_slot`
- the function returns a Unix timestamp
- "timestamp" matches `execution_payload.timestamp`
* be explicit about `ExecutionEngine.execution_state` for clarity
* rename `ExecutionPayload.number` to `ExecutionPayload.block_number`
- more specific ("number" is pretty vague)
- consistent with `ExecutionPayload.block_hash`
* rename `new_block` to `on_payload`
- the `on_` prefix is consistent with other event handlers (e.g. see `on_tick`, `on_block`, `on_attestation` [here](https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase0/fork-choice.md#handlers ))
- the `_payload` suffix is more to the point given the function accepts an `execution_payload`
- avoids conflict with `on_block` which is already used in the fork choice
* rework the table of contents for consistency
* order `is_execution_enabled` after `is_transition_completed` and `is_transition_block`
- `is_execution_enabled` refers to `is_transition_completed` and `is_transition_block`
* rename "transition" to "merge"
- "transition" is a bit vague—we will have other transitions at future hard forks
- there is no need for two words to refer to the same concept
* add a bunch of inline comments, e.g. in `process_execution_payload`
* make the `process_execution_payload` signature consistent with the other `process_` functions in `process_block` which take as arguments `state` and `block.body`
* remove `TRANSITION_TOTAL_DIFFICULTY`
- to be put in `merge/fork-choice.md` where it is used
* various misc cleanups
**Substantive changes**
* reorder `ExecutionPayload` fields
- for consistency with yellow paper and Eth1
- same for `ExecutionPayloadHeader`
- added comments separating out the execution block header fields from the extra fields (cosmetic)
2021-06-18 11:09:30 +01:00
Mikhail Kalinin
6e86d8a696
Rename randao->random, other fixes as per review
2021-06-17 21:20:17 +06:00
Hsiao-Wei Wang
42eae81013
WIP. Rework on_block tests
2021-06-15 21:52:25 +08:00
Mikhail Kalinin
cc20b80103
Fix linter, add more test helpers
2021-06-15 14:55:06 +06:00
Danny Ryan
5c1cb153aa
Merge branch 'dev' into attester-proposer-slashing
2021-06-14 15:08:10 -06:00
Mikhail Kalinin
95775e1b90
Add randao to execution payload
2021-06-11 16:05:19 +06:00
Danny Ryan
a5762cbad8
add attestesr slashing for proposer, and some future slashing tests woo
2021-06-09 16:56:32 -06:00
Danny Ryan
1ade07d705
fix mismatched proposer test names
2021-06-09 16:31:20 -06:00
Danny Ryan
5d9d786499
Merge pull request #2462 from mkalinin/merge-transition-with-dynamic-ttd
...
Merge transition process with computed transition total difficulty
2021-06-08 09:55:10 -06:00
Danny Ryan
6258dc64f7
bump VERSION.txt to v1.1.0-alpha.7
2021-06-07 17:41:37 -06:00
Danny Ryan
cfc66a3794
patch tests
2021-06-07 16:36:18 -06:00
Danny Ryan
09b6fb0e64
ensure consistency about sync committees vs aggregates in naming throughout
2021-06-07 16:17:46 -06:00
Danny Ryan
b97972c091
Merge pull request #2444 from ethereum/invariant-checks
...
Add some invariant checks to pyspec unit tests
2021-06-07 09:09:56 -06:00
Danny Ryan
ad1e51a2cb
Merge pull request #2435 from ethereum/altair_epoch_tests
...
Inactivity updates test generation, implement new participation flag updates testing
2021-06-07 08:12:41 -06:00
Danny Ryan
8ba740a93a
Merge branch 'dev' into invariant-checks
2021-06-07 08:12:27 -06:00
Danny Ryan
9c78de9d42
pr review
2021-06-07 08:00:03 -06:00
Danny Ryan
6f7e04ef5c
Apply suggestions from hwwhww code review
...
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-06-07 07:56:52 -06:00
Danny Ryan
7710d4fa5c
add a few more preset/config invariants
2021-06-07 07:55:04 -06:00
Danny Ryan
1d5c4ecffb
Merge pull request #2453 from ethereum/vbuterin-patch-11
...
Modify sync committee logic and parameters to reduce variance
2021-06-04 12:23:16 -06:00
Danny Ryan
48ecc98b75
Merge branch 'dev' into altair_epoch_tests
2021-06-02 16:46:30 -06:00
Danny Ryan
d598c09876
Merge pull request #2443 from ralexstokes/fix-altair-transition-test
...
Fix bug in Altair transition tests with missing state root
2021-06-02 11:13:17 -06:00
Hsiao-Wei Wang
67809e76e1
Fix tests
2021-06-02 01:40:54 +08:00
Potuz
c115fa9a86
make it pass the linter
2021-06-02 01:22:27 +08:00
Potuz
b8d426b028
Align Sync Committee Tests to Specs
2021-06-02 01:22:26 +08:00
Mikhail Kalinin
fd4369dc7c
Add merge/fork.md with upgrade_to_merge definition
2021-05-31 19:30:54 +06:00
Diederik Loerakker
f08cc15b8d
Merge pull request #2445 from ethereum/union-type-update
...
Union type update
2021-05-28 20:20:52 +02:00
protolambda
d11586122f
update remerkleable, union support
2021-05-28 01:02:08 +02:00
Hsiao-Wei Wang
cb008f2c1a
Fix _get_sync_committee_signature helper. Should have used `target_slot`
2021-05-26 02:40:22 +08:00
Hsiao-Wei Wang
b5f9b5d74f
Add more checks
2021-05-26 01:21:04 +08:00
Hsiao-Wei Wang
69f2a31406
Add some config invariant checks
2021-05-26 01:10:40 +08:00
Alex Stokes
4664ccbc42
Fix bug in Altair transition tests with missing state root
2021-05-25 09:58:36 -07:00
Alex Stokes
c9f3780565
Clean up outdated attestation helper
2021-05-24 11:54:28 -07:00
protolambda
139117d647
update epoch processing test vector format docs
2021-05-22 19:00:55 +02:00
protolambda
ed912f599e
add assertions on flag updates
2021-05-22 18:52:29 +02:00
protolambda
4c02dbadd0
enable inactivity updates test generator output, implement new participation flag updates testing
2021-05-22 18:43:29 +02:00
Danny Ryan
51bf8f3985
bump VERSION.txt to 1.1.0-alpha.6
2021-05-21 14:26:40 -06:00
Danny Ryan
a52d67de0f
Merge pull request #2426 from ralexstokes/more-altair-fork-transition-tests
...
More Altair fork transition tests
2021-05-21 13:53:19 -06:00