Commit Graph

1729 Commits

Author SHA1 Message Date
Alex Stokes c206a2772a
update docs via PR feedback 2021-08-25 14:46:17 -07:00
Alex Stokes e2dc9f9ec2
update generation of randomized scenarios for more variability 2021-08-25 14:42:41 -07:00
Alex Stokes 047ff5b099
unify visibility on names for doc purposes 2021-08-25 14:16:39 -07:00
Alex Stokes 961953ac15
update parameter name 2021-08-25 13:10:41 -07:00
Alex Stokes 377797fd0d
code layout change 2021-08-25 11:20:17 -07:00
Alex Stokes 14518d4d64
update name of utility module to be more specific 2021-08-25 11:15:59 -07:00
Alex Stokes 0da1fe947d
clarify how the random block generator works 2021-08-25 11:09:35 -07:00
Alex Stokes e72edf07f9
consolidate call to `max` into `randrange` 2021-08-25 10:40:15 -07:00
Alex Stokes 4d4f4e89f4
be specific about which slot we want a sync committee root for 2021-08-25 10:38:01 -07:00
Alex Stokes 7874e8db88
clean up unnecessary comment 2021-08-24 16:40:16 -07:00
Alex Stokes 33c96127da
fix bug with random sync aggregate helper 2021-08-24 16:40:15 -07:00
Alex Stokes f7c0dc36be
skip running heavy randomized tests in CI 2021-08-24 15:05:07 -07:00
Alex Stokes 933c1323dd
lint updates 2021-08-24 14:46:31 -07:00
Alex Stokes 8a32bef58b
update skipped test count when test already exists 2021-08-24 13:19:31 -07:00
Alex Stokes 8e5a34c38a
adjust helper to account for additional slashings 2021-08-24 12:46:03 -07:00
Alex Stokes d1f3ec59af
ensure at least 1 operation when making random block 2021-08-24 11:56:19 -07:00
Alex Stokes c27e4d140e
move to code-gen under new test generator 2021-08-24 11:56:15 -07:00
Alex Stokes 505bdba8f8
fix imports 2021-08-23 12:49:36 -07:00
Alex Stokes d037c6662a
lint fix 2021-08-23 12:40:42 -07:00
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 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
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
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
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 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 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
Danny Ryan ba6d19308b
Update tests/core/pyspec/eth2spec/test/helpers/attestations.py
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-05-21 13:44:35 -06:00
protolambda e50d8d4391
Merge branch 'dev' into config-rework 2021-05-20 23:31:49 +02:00
Alex Stokes b9ad8bca00
Update tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py 2021-05-20 12:07:46 -07:00
Alex Stokes d04ecf16b1
PR feedback and add two more test cases 2021-05-20 11:55:11 -07:00
Alex Stokes 240209915c
Refactor attestation helper 2021-05-20 11:41:06 -07:00
Alex Stokes 1dfca0e677
Refactor block helper 2021-05-20 11:40:25 -07:00
Alex Stokes df742ea8af
add fork finality test with random participation 2021-05-19 12:16:24 -07:00
protolambda c080324e08
set RNG for test case for consistent test outputs 2021-05-19 19:07:24 +02:00
protolambda 46bb8273df
update ejection balance config references 2021-05-19 17:43:56 +02:00
protolambda 291168e1e3
clarify config/preset separation, address review comments by @djrtwo 2021-05-19 17:15:34 +02:00
Alex Stokes a7346ae384
Add Altair fork tests to test generators 2021-05-18 18:05:07 -07:00
Alex Stokes 7eba1612cf
Add fork transition test that finalizes across fork boundary 2021-05-18 17:43:34 -07:00
Alex Stokes 0ec1ec77b8
Expose attestation helper in pyspec tests 2021-05-18 17:25:51 -07:00
Danny Ryan 19a8076b89
bump VERSION.txt to alpha.5 2021-05-18 15:57:44 -06:00
protolambda 48e1ef193a
update docs with config usage 2021-05-18 21:31:27 +02:00
protolambda 925f0508ce
test generator fixes 2021-05-18 20:13:19 +02:00
protolambda fb82472b46
update test generators 2021-05-18 18:48:58 +02:00
protolambda a57ff5fc01
select preset with cli arg 2021-05-18 16:17:02 +02:00
protolambda f5c647b47b
switch configuration to named tuple for reliable hashing, add test for config override functionality 2021-05-18 16:08:30 +02:00
protolambda e8b0c46138
misc test fixes for new config approach 2021-05-18 14:45:56 +02:00
protolambda 0894125bf7
update test util 2021-05-18 13:59:26 +02:00
protolambda 1e7c5b1f83
fix config usage of MIN_GENESIS_ACTIVE_VALIDATOR_COUNT 2021-05-18 13:56:42 +02:00
protolambda d3bf218361
update config usages 2021-05-18 12:56:34 +02:00
protolambda ccc6679e21
config as dataclass 2021-05-18 12:48:42 +02:00
protolambda 9030270369
update config util to make preset loading optional, update docs 2021-05-18 09:58:54 +02:00
protolambda cd494707c4
fix lint in config util 2021-05-18 09:58:54 +02:00
protolambda d0fef3bf3f
update tests with new config util 2021-05-18 09:58:50 +02:00
protolambda 79d0fa037f
updated config util 2021-05-18 09:55:25 +02:00
Danny Ryan ccacc936de
bmp VERSION.txt to 1.1.0-alpha.4 2021-05-14 06:44:23 -06:00
Danny Ryan 4cd9a6c710
Merge pull request #2385 from ethereum/execution-payload-testing
Execution payload tests
2021-05-14 06:40:40 -06:00
Danny Ryan 5dd29b6659
fix tests and minor copy edit 2021-05-14 06:15:48 -06:00
Danny Ryan 049210bd8a
utilize new randomize functions in process_inactivity_updates testing 2021-05-13 13:44:41 -06:00
Danny Ryan d38af7a158
Merge branch 'dev' into vbuterin-patch-11 2021-05-13 13:39:05 -06:00
Danny Ryan 699a3f837e
pr feedback 2021-05-13 13:38:43 -06:00
Danny Ryan a52565aa81
add random altair fork tests for better translation coverage + pr review 2021-05-13 13:21:43 -06:00
Danny Ryan a6d5b2e215
pull state randomization functions out of rewards testing 2021-05-13 08:22:24 -06:00
Danny Ryan 4a91c93962
add epoch processing tests for inactivity udpates 2021-05-12 15:06:32 -06:00
Danny Ryan fa1bdabace
add random inactivity scores tests 2021-05-12 14:23:11 -06:00
Danny Ryan a469b467ff
Merge branch 'dev' into keep-inactivity-function 2021-05-12 12:27:15 -06:00
Danny Ryan 133875a6d6
fix sync_committe_update tests 2021-05-12 09:56:13 -06:00
Danny Ryan a8791f04c7
'get_sync_committee -> get_next_sync_committee 2021-05-12 09:44:13 -06:00
Danny Ryan 1a7aa898ab
Merge branch 'dev' into sync-seed 2021-05-12 08:46:11 -06:00
Danny Ryan dff12dd644
Merge pull request #2400 from ethereum/sync-committee-off-by-1
add logic for handling sync committee off by one issue
2021-05-12 08:45:05 -06:00
Hsiao-Wei Wang 17820e3711
Skip the mainnet config slow tests 2021-05-12 13:02:15 +08:00
Hsiao-Wei Wang dad698f97a
Update unit tests: add `test_compute_subnets_for_sync_committee_slot_period_boundary` 2021-05-12 12:35:47 +08:00
protolambda 0390ab819a
Protocols pyspec support + execution payload tests cleanup 2021-05-12 02:40:23 +02:00
Danny Ryan 468f42c545
Merge branch 'simplify-sync-committee-calc' into sync-seed 2021-05-11 16:03:19 -06:00
Danny Ryan 200c049778
fix seed calc issue 2021-05-11 15:55:33 -06:00
Alex Stokes 859a7d743e
Only allow sync committee period calculation at period boundaries 2021-05-11 12:42:21 -07:00
Danny Ryan a9cc036184
remove timely_head penalty 2021-05-11 11:48:26 -06:00
Alex Stokes e2aa595d5f
PR feedback 2021-05-11 10:16:43 -07:00
Alex Stokes d744825583
update docs 2021-05-11 10:14:28 -07:00
Alex Stokes c08fb7714c
More altair fork tests with varied block conditions 2021-05-11 10:14:28 -07:00
Alex Stokes 3f3aa4fb10
add some altair tests 2021-05-11 10:14:28 -07:00
Alex Stokes 0e71496eb5
add "normal" transition test 2021-05-11 10:14:28 -07:00
Alex Stokes d34b2a08d5
Use `fork_block` index in lieu of fork flag 2021-05-11 10:14:28 -07:00
Alex Stokes b71aa3fb56
add `transition` spec test format 2021-05-11 10:14:23 -07:00
Danny Ryan a6b8574962
test 2021-05-10 16:18:42 -06:00
Danny Ryan 77d607a760
fix test 2021-05-10 13:24:14 -06:00
Danny Ryan dd9fb06d25
Merge branch 'dev' into vbuterin-patch-12 2021-05-10 07:38:32 -06:00
Danny Ryan 2539d4e11d
Merge pull request #2380 from ethereum/merge-test-vectors
Merge test vectors: enable phase0 tests for Merge + start on new testing
2021-05-10 07:30:21 -06:00
Mikhail Kalinin e78e045847 Implement execution payload tests 2021-05-10 16:12:23 +06:00
Alex Stokes 72a4ff803b
add test to ensure sync committees are referenced from the state 2021-05-07 17:07:15 -07:00
protolambda 2bc2a30887 scaffold execution payload tests 2021-05-07 14:36:08 +06:00
Alex Stokes 4c73fec88e
convert `LightClientStore` to python object instead of SSZ object
this avoids the type overhead of having to define a max size for
the object's data and skips the overhead of serialization/consensus
for a type that does not need it
2021-05-06 10:52:48 -07:00
protolambda 42733b7e34
remove merge-test exec-payload trigger debug helper 2021-05-06 02:27:05 +02:00
protolambda 76b5974d11
is_execution_enabled function + misc review fixes
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2021-05-06 02:23:13 +02:00
protolambda 56bcb630db
Lint fixes for merge testing update 2021-05-05 17:03:29 +02:00
protolambda 2ef6291cbc
Minimal execution payload test, more merge-specific testing in later PR 2021-05-05 16:41:59 +02:00
protolambda 00cd1c3db7
fix forkchoice unittest not recognizing merge spec 2021-05-05 16:31:28 +02:00
protolambda 865d7db5ca
update altair tests to not collide with Merge + fix merge test triggers 2021-05-05 16:03:52 +02:00
protolambda ff3a82e0f3
fix transactions field in exec payload helper 2021-05-05 15:40:56 +02:00
protolambda 470c6dcc6f
update test runner to handle merge phase 2021-05-05 15:35:52 +02:00
protolambda 25d0d673a9
start testing of merge functionality 2021-05-05 00:18:01 +02:00
protolambda ab693c9724
update spec test constants for merge 2021-05-05 00:16:22 +02:00
Danny Ryan 053179cee9
comments and tests on altair 2021-05-04 07:39:22 -06:00
Danny Ryan 2628721f96
Merge pull request #2323 from ethereum/prepare_state
Simplify Altair "genesis"
2021-04-27 12:32:13 -06:00
Danny Ryan 6031417444
Merge pull request #2301 from ethereum/fix-bouncing-attack-tests
Fix bouncing attack tests
2021-04-27 07:51:46 -06:00
Alex Stokes b0aee5b271
Merge pull request #2346 from ethereum/pyspecdocs
update pyspec dev usage docs, improve makefile
2021-04-22 08:30:44 -07:00
Hsiao-Wei Wang 2063c96c80
Merge branch 'dev' into prepare_state 2021-04-21 16:34:29 +08:00
protolambda c99d72d541
update pyspec dev usage docs, improve makefile 2021-04-21 03:28:22 +02:00
Danny Ryan 1694cdbd02
add always_bls for historical batch sanity test 2021-04-20 13:40:25 -06:00
Hsiao-Wei Wang 66e1a2858f
Use `ALTAIR_FORK_EPOCH` instead of `ALTAIR_FORK_SLOT` 2021-04-21 00:24:44 +08:00
Danny Ryan c8bbc7dc97
Merge pull request #2334 from ethereum/committee-test
add committee progress tests for non genesis case
2021-04-20 08:39:25 -05:00
Danny Ryan 55f2cc6e41
address @ralexstokes PR comments 2021-04-16 11:42:26 -05:00
Danny Ryan 7167c5a9d9
generate sync committee update tests with always_bls 2021-04-16 11:32:27 -05:00
Hsiao-Wei Wang 1961831348
Merge branch 'dev' into prepare_state 2021-04-16 11:36:02 +08:00
Danny Ryan 81a83898cf
add committee progress tests for non genesis case 2021-04-15 12:19:51 -05:00
Hsiao-Wei Wang 26f54d6f22
Remove `CONFIG_NAME` from the config files. And add it back to pyspec context for testing 2021-04-15 15:49:29 +08:00
Hsiao-Wei Wang bb63af53c9
Refactor genesis.py 2021-04-15 15:40:38 +08:00
Hsiao-Wei Wang 62c828bd4b
Merge branch 'dev' into prepare_state 2021-04-13 20:50:13 +08:00
Danny Ryan 1235e58a8d
Merge pull request #2325 from ethereum/pyspec-constants
Refactor pyspec `context.py` by adding `typing.py` and `constants.py`
2021-04-13 06:02:25 -05:00
Alex Stokes 18fc7c0498
Merge pull request #2311 from ralexstokes/add-altair-val-tests
Add some basic tests for Altair validator guide
2021-04-12 15:19:44 -07:00
Hsiao-Wei Wang cd43d64809
Move constants to `eth2spec.test.helpers.constants` 2021-04-12 22:34:00 +08:00
Hsiao-Wei Wang a8160f1634
Try to initialize state with pure Altair spec in tests 2021-04-10 00:53:37 +08:00
Alex Stokes 66905f4fa6
update test to work for both minimal and mainnet config 2021-04-08 18:25:58 -07:00
Alex Stokes e4e65295b6
modify assignment test when sync committee size >= validator count 2021-04-08 18:00:58 -07:00
Alex Stokes 3fd4974430
iterate over the correct number of subcommittees 2021-04-08 17:44:54 -07:00
Alex Stokes 749b49898a
file reorg 2021-04-08 17:44:54 -07:00
Alex Stokes 4678ffc794
Update tests/core/pyspec/eth2spec/test/altair/validator/test_validator.py
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-04-08 17:44:53 -07:00
Alex Stokes 5e43ad69cf
Add some basic tests for Altair validator guide 2021-04-08 17:44:53 -07:00
Hsiao-Wei Wang 6e8b4b3ea9
Add eth2spec.merge.spec 2021-04-08 05:57:16 +08:00
Danny Ryan 20b465e788
bump VERSION.txt to 1.1.0-alpha.3 2021-04-05 18:07:59 -06:00
Aditya Asgaonkar 9e5ee0a083 Remove unnecesssary change 2021-04-03 17:43:18 -07:00
Aditya Asgaonkar 5194dd123c TIL fictitious 2021-04-03 17:26:12 -07:00
Aditya Asgaonkar 9ec252e6f2 Fix linter 2021-04-03 17:22:33 -07:00
Aditya Asgaonkar 6e6afac86f Remove unnecessary asserts 2021-04-03 17:17:43 -07:00
Aditya Asgaonkar 21b878364a Fix checkpoint hierarchy consistency in tests 2021-04-03 17:09:08 -07:00
Aditya Asgaonkar 2478e1526a Fix block hierarchy consistency in tests 2021-04-03 16:50:43 -07:00
Aditya Asgaonkar 9eb662786a Add consistency checks in on_block tests 2021-04-01 06:33:37 -07:00
Hsiao-Wei Wang 2def461298
Merge branch 'dev' into altair_incentives 2021-03-31 00:53:58 +08:00
protolambda d28cac0e8f
clean up test phase 1 testgen references 2021-03-29 15:38:43 +02:00
protolambda 2bc3e814b0
rename to custody game 2021-03-27 01:58:39 +01:00
protolambda 0c94be4204
clean up more phase1 test references 2021-03-27 00:14:32 +01:00
protolambda a6c01f8212
no phase1 in tests, per-feature testing now, executable specs will be re-enabled per feature 2021-03-26 23:21:36 +01:00
protolambda 906cde0610
preserve proof of custody tests 2021-03-26 23:10:56 +01:00
protolambda 14cb996613
split phase1 tests into proof-of-custody and sharding tests, drop old shard-transition specific tests 2021-03-26 23:01:24 +01:00
Danny Ryan d773c6ae9e
lint from pr 2021-03-26 08:28:34 -06:00
Barnabé Monnot d1c9b8bade Fix variable name 2021-03-26 19:03:12 +08:00
Barnabé Monnot 582965fd0b Deprecate PROPOSER_REWARD_QUOTIENT from tests 2021-03-26 18:57:02 +08:00
Barnabé Monnot 71d03a411c Scale up weights; use existing constants and new PROPOSER_WEIGHT 2021-03-26 18:36:49 +08:00
Barnabé Monnot 59134fb0ae Modify incentives to preserve invariant 2021-03-26 12:18:51 +08:00
Danny Ryan 6c0a0ab3f2
patch test_filtered_block_tree test generator based on @ajsutton report 2021-03-24 12:57:14 -06:00
Danny Ryan 3a5f0e994a
Merge pull request #2253 from ethereum/master
backport generator fixes to dev
2021-03-22 11:11:10 -06:00
Danny Ryan 3374784bd3
Merge pull request #2261 from ethereum/altair-test-format-fix
Altair tests - fix mixed up formats
2021-03-22 11:10:56 -06:00
protolambda 4dd855667a
fix mixed up formats. Output slots as ints, output genesis eth1 init data as yaml dict 2021-03-22 02:50:05 +01:00
protolambda 4a82a375ae
avoid altair fork version collision, update test prep, fix genesis state creator bug 2021-03-21 22:07:28 +01:00
Danny Ryan 1707978189
fix v1.1.0-alpha.1 generators 2021-03-17 10:32:23 -06:00
Danny Ryan e2c9a15aaf
Merge pull request #2246 from ethereum/sync_rewards
refactor sync committee rewards
2021-03-16 20:27:04 -06:00
Danny Ryan 7e1f7c392e
bump version.txt to 1.1.0-alpha.1 2021-03-16 20:03:19 -06:00
Hsiao-Wei Wang 2ee559eca1
Fix `SkippedTest` cases. Should remove the folder 2021-03-17 02:40:59 +08:00
Danny Ryan b0a9fc8277
clean up and extend sync committee rewards tests 2021-03-16 11:18:26 -06:00
Hsiao-Wei Wang d3c9eacd14
Disable MAINNET test_valid_signature_future_committee 2021-03-17 00:28:12 +08:00
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
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 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
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
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
lsankar4033 ffeecfbca5 Add test for compute_fork_digest 2020-06-05 20:26:11 -07:00
Hsiao-Wei Wang a4cc189f2b
Apply PR feedback from Danny 2020-06-06 05:19:46 +08:00
Danny Ryan 7f680dfca4
fix tests 2020-06-05 14:09:17 -06:00
Hsiao-Wei Wang a71c0a5ccc
Per #1704 discussion, remove `on_time_slot`: the given `beacon_state`
should be transitioned.
2020-06-06 02:39:47 +08:00
Hsiao-Wei Wang 2afa315cb3
clean leftover 2020-06-06 02:39:47 +08:00
Hsiao-Wei Wang 2d4788fe7d
Fix `verify_shard_block_message`
Add check for `block.beacon_parent_root` per Terence's suggestion

Update `get_shard_transition`

1. Disable verification: it will be fix in v-guide
2. Use `on_time_slot` to compute offset_slots

Rework tests
2020-06-06 02:39:47 +08:00
Hsiao-Wei Wang a154d0c22b
Fix typo 2020-06-06 02:39:11 +08:00
Hsiao-Wei Wang ab42eee4c0
Update shard fork choice rule to be able to handle mainnet config 2020-06-06 02:39:11 +08:00
Hsiao-Wei Wang c9a53b8039
WIP test case 2020-06-06 02:39:07 +08:00
Danny Ryan b1ff00aab0
Merge branch 'dev' into phase1-validator 2020-06-03 12:18:17 -06:00
Danny Ryan 74204f795d
udpate validator guide to work with all updated phase 1 constructions 2020-06-03 12:16:39 -06:00
Hsiao-Wei Wang e1981a7bfd
`head_shard_root` -> `shard_head_root` 2020-06-04 01:00:52 +08:00
Hsiao-Wei Wang 58e75c27ed
Merge branch 'dev' into hwwhww/shard_fork_choice 2020-06-04 00:56:25 +08:00
Hsiao-Wei Wang eb21648146
Merge pull request #1858 from ethereum/hwwhww/get_start_shard
`get_start_shard` proposal
2020-06-04 00:46:12 +08:00
Hsiao-Wei Wang a685be3bbe
PR feedback from Danny
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-06-04 00:42:08 +08:00
Hsiao-Wei Wang 68e934bf15
Add `get_start_shard` unittests and update minimal config
1. Add unittests for testing `get_start_shard` with better granularity
2. Change `INITIAL_ACTIVE_SHARDS` from `4` to `2` for tight crosslinking
2020-06-03 23:08:38 +08:00
Danny Ryan 314dea97a5
bump VERSION.txt to 0.12.1 2020-06-02 17:26:26 -06:00
Danny Ryan 671fae6efe
change note about genesis delay in p2p spec to match new GENESIS_DELAY config value; fix tests 2020-06-02 11:09:42 -06:00
Danny Ryan d6435d0cbf
Merge branch 'dev' into dankrad-custody-256bit 2020-06-01 18:49:11 -06:00
Danny Ryan 3a4db69a20
Merge branch 'dev' into dankrad-custody-256bit 2020-06-01 18:45:22 -06:00
Hsiao-Wei Wang 30f72dd696
Fix `get_shard` and `compute_shard_from_committee_index` calls 2020-06-01 23:15:16 +08:00
Hsiao-Wei Wang 9567c238d4
Merge branch 'dev' into hwwhww/get_start_shard 2020-06-01 18:17:58 +08:00
Hsiao-Wei Wang 8e5db1b49f
Merge pull request #1856 from ethereum/hwwhww/verify_empty_shard_transition
Rework `Shard transition processing`
2020-06-01 17:47:00 +08:00
Hsiao-Wei Wang 8f570b461d
Merge pull request #1854 from ethereum/hwwhww/phase1_refactor
Some phase1 refactoring
2020-06-01 17:46:16 +08:00
Hsiao-Wei Wang 63de59d5f6
Merge branch 'dev' into hwwhww/shard_fork_choice_3 2020-05-30 03:57:17 +08:00
Hsiao-Wei Wang 870ad8b921
Fix test 2020-05-30 03:56:56 +08:00
Hsiao-Wei Wang cceeab2657
Combine `process_crosslinks` and `verify_empty_shard_transition` into `process_shard_transitions` 2020-05-30 03:13:20 +08:00
Hsiao-Wei Wang 2dc041807a
Implement `get_start_shard` 2020-05-30 01:26:00 +08:00
Hsiao-Wei Wang ca48963032
Rename `head_shard_root` to `shard_head_root` 2020-05-28 21:38:11 +08:00
Hsiao-Wei Wang c437578280
Add `shard` field to `ShardBlock` 2020-05-28 21:32:27 +08:00
Hsiao-Wei Wang 5e8457e62d
Fix phase1 on-time sign_indexed_attestation 2020-05-23 21:53:55 +08:00
Danny Ryan 7770accf96
Merge pull request #1803 from ethereum/fast-bls-option
BLS options for pyspec
2020-05-20 14:39:49 -06:00
Danny Ryan 61336a9c0b
add deposit_root to validator unit tets 2020-05-20 14:03:16 -06:00
Danny Ryan 96f785e84b
ensure only forward progress with eth1data voting 2020-05-20 13:56:43 -06:00
Hsiao-Wei Wang d92efdf071
Should have signed the attestions in `test_filtered_block_tree` test 2020-05-21 03:02:02 +08:00
Hsiao-Wei Wang 763d74bbf5
Just learned bls was disabled by default; fixing the tests 2020-05-21 02:52:24 +08:00
Hsiao-Wei Wang db1a90d2ee
`test_success_surround` changes the signing data of attestation, so it should be never_bls 2020-05-21 02:05:22 +08:00
Hsiao-Wei Wang f72d14a747
Bump `milagro_bls_binding` to 1.2.0
Also verify it in BLS test generator
2020-05-21 01:37:12 +08:00
Danny Ryan 943e51aef1
hww feedback for finality rewards fix 2020-05-20 10:12:57 -06:00
Hsiao-Wei Wang 21a4143d99
Merge branch 'dev' into fast-bls-option 2020-05-20 16:26:43 +08:00
Danny Ryan 95c3295eeb
move proposer negation to inactivity_penalty deltas 2020-05-19 17:17:20 -06:00
Danny Ryan 85e78223dd
ensure when performing optimally that you don't lose money during a leak 2020-05-19 16:51:46 -06:00
Danny Ryan 6d45afeefb
add some more random reawrds tests 2020-05-18 19:59:50 -06:00
protolambda 85f6712363
fix comments based on PR feedback 2020-05-19 03:42:58 +02:00
protolambda 97e54b85d6
fix cache for config change during runtime 2020-05-19 02:47:16 +02:00
protolambda 75a0d60eb3
cached epoch attestation preparation 2020-05-19 02:25:32 +02:00
protolambda 0f20d8a9ba
leak state decorator, and test pre-state caching 2020-05-19 01:56:20 +02:00
Danny Ryan 8060505743
refactor rewards/penalties tests to use a single structure 2020-05-18 16:00:59 -06:00
Danny Ryan 5da4fe37f8
Merge pull request #1821 from ethereum/rewards-with-inactive-vals
Rewards with not yet activated validators
2020-05-18 14:13:27 -06:00
Danny Ryan c5367295c3
Merge branch 'dev' into v012x 2020-05-18 13:32:24 -06:00
Danny Ryan b7cfa94cb4
Merge branch 'dev' into v0113-dev-merge 2020-05-18 13:22:16 -06:00
Danny Ryan 96b5733086
cleanup set some new deposits helper for rewards tests 2020-05-18 12:06:24 -06:00
Danny Ryan 97b6db4971
add rewards tests for validators not yet activated 2020-05-18 10:07:30 -06:00
Danny Ryan b975a92e90
ensure at least one validator is slashed for slashing rewards tests 2020-05-18 09:29:01 -06:00
Danny Ryan 4a86c39712
Merge pull request #1799 from ethereum/bls_v2
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 + draft-irtf-cfrg-hash-to-curve-07
2020-05-18 07:35:49 -06:00
Danny Ryan 74c900f814
add conditoin that block must be later than latest_block_header 2020-05-15 16:43:53 -06:00
Hsiao-Wei Wang d27f2350a2
Update BLS test suite to BLS standard draft v2 format
1. Make sure that BLS -Verify APIs would only return `True` or `False` , no exceptions.
2. Use `eth2spec.utils.bls` instead of py_ecc for test generator
3. Add assertions in test generator
4. Add some special test cases for the -Verify APIs
5. Clean up the test format documents
2020-05-15 00:55:06 +08:00
Danny Ryan e7ae4be8a9
ensure that pre-state slot is less than block for all block tests 2020-05-13 17:25:39 -06:00
Danny Ryan 1d147037eb
write block tests for double slot proposal and genesis proposal 2020-05-13 11:52:04 -06:00
protolambda 68442c2eef
Update testing and restrict to incremental block transitions 2020-05-13 16:46:28 +02:00
protolambda b1c2c6e3a2
Default BLS to ON, keep CI BLS off for now, add milagro option 2020-05-11 19:18:49 +02:00
Danny Ryan 65108aeee0
start on_block just slots test at time 0 2020-05-11 11:17:48 -06:00
Danny Ryan 17f656cefe
Merge branch 'dev' into v012x 2020-05-11 10:41:35 -06:00
Danny Ryan 6474218fb1
Merge pull request #1747 from ethereum/rewards-rework
[Proposal] rework rewards/penalties to be more granular
2020-05-11 08:16:49 -06:00
Danny Ryan 1636360426
remove todo comment
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-05-11 08:09:07 -06:00
Hsiao-Wei Wang cdd0ed0f7b
Update to IETF BLS draft-irtf-cfrg-bls-signature-02 2020-05-09 11:48:48 +08:00
Danny Ryan 1137e0332d
move MAX_ATTESTER_SLASHINGS to 2, add multiple slashings per block tests 2020-05-08 10:43:11 -06:00
Nathaniel Jensen 38a5f41c30
[Minor] Fix config example to not assign a return value. 2020-05-08 20:12:44 +10:00
Danny Ryan 3a71c6d9bd
Merge branch 'dev' into v012x 2020-05-07 12:48:47 -06:00
Danny Ryan b317a7329f
Merge branch 'dev' into double-operations 2020-05-07 12:32:25 -06:00
Danny Ryan 4ad3d65d10
add multiple exits block sanity test 2020-05-07 12:23:37 -06:00
Danny Ryan ee7d11d18f
clean up proposer slashing tests and add a couple 2020-05-07 12:00:07 -06:00
Danny Ryan 12aa84fc8a
PR feedback 2020-05-07 10:47:20 -06:00
Danny Ryan 08652f543b
Merge branch 'v012x' into empty-bits-case 2020-05-07 10:17:26 -06:00
Danny Ryan 7625728fb8
Merge pull request #1742 from ethereum/ffg_lmd_vote_consistency
Added FFG-LMD vote consistency checks
2020-05-07 09:36:52 -06:00
Danny Ryan 4ffa0dba60
Apply suggestions from code review
"rewards/penalties" -> "deltas" in throughout test comments/descriptions

Co-authored-by: Diederik Loerakker <proto@protolambda.com>
2020-05-05 16:31:40 -06:00
Danny Ryan f0742b2f2d
add exited tests for rewards. make some valiators exited/withdrawable in slashed tests 2020-05-05 16:28:29 -06:00
Danny Ryan 4f401133e1
address PR feedback from @protolambda 2020-05-05 15:37:14 -06:00
Danny Ryan b109e7da5a
add test for inconsistent head and target in attestation fork choice 2020-05-05 14:46:02 -06:00
Danny Ryan b2dfb6cebe
PR feedback from @hwwhww 2020-05-05 13:33:44 -06:00
Danny Ryan d26cfd2e59
Apply suggestions from code review from @hwwhww
Co-authored-by: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-05-05 13:08:41 -06:00
Danny Ryan 38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD 2020-05-05 11:44:53 -06:00
Danny Ryan 5b3ed8a3e7
bump VERSION.txt to 0.12.0 2020-05-05 09:45:24 -06:00
Danny Ryan b2c36112f6
Merge branch 'dev' into v012x 2020-05-05 09:44:27 -06:00
Danny Ryan f35106d9ee
add comment for helper -- has_enouh_for_reward 2020-05-05 09:43:25 -06:00
Hsiao-Wei Wang 79b1b4bdbe
Add `(shard, shard_root)` to `LatestMessage` 2020-05-05 21:42:18 +08:00
Hsiao-Wei Wang 8fafb6a9e5
Make `ShardStore` an independent object 2020-05-05 21:42:06 +08:00
Hsiao-Wei Wang cddf9cf114
Refactor 2020-05-05 21:42:00 +08:00
Hsiao-Wei Wang dab5a936c4
wip shard fork choice rule 2020-05-05 21:41:46 +08:00
Hsiao-Wei Wang f4334d1522
Delete outdated helper 2020-05-05 15:28:12 +08:00
Hsiao-Wei Wang ee4c866575
Merge branch 'dev' into dankrad-custody-256bit-merging 2020-05-05 15:22:36 +08:00
Danny Ryan 8f569a8ddc
add inactivity penalty deltas tests 2020-05-04 20:58:42 -06:00
Danny Ryan 5194c1f2d2
add test_get_inclusion_delay_deltas 2020-05-04 17:00:43 -06:00
Danny Ryan a7354bd358
Merge branch 'dev' into rewards-rework 2020-05-04 13:34:35 -06:00
Danny Ryan eda249957e
basic generators work 2020-05-04 13:20:32 -06:00
Hsiao-Wei Wang 977cd73379
Refactor the tests 2020-05-02 02:32:37 +08:00
Hsiao-Wei Wang 524ba166d1
[squashed] shard chain updates wip
Fix wrong field names

Fix `build_attestation_data` and other PR feedback from Danny and
Terence

1. Rename `get_previous_slot` to `compute_previous_slot`
2. Break down `build_empty_block` into
`get_state_and_beacon_parent_root_at_slot`, use it in
`build_shard_block`
3. Set defult `slot` to `shard_state.slot + 1` in `build_shard_block`

Update `verify_shard_block_message`: check beacon_parent_root at fork
choice rule stage instead of state transition

Fix  `beacon-chain.md`

1. Fix typo `attestation.slot == state.slot` -> `attestation.data.slot == state.slot` in `is_winning_attestation`
2. Check `verify_shard_transition_false_positives` **after** `process_operations`
3. Fix `shard_attestations` filter in `process_crosslinks`: since attestations come from block, should use `attestation.data.slot + MIN_ATTESTATION_INCLUSION_DELAY == state.slot`
4. [TBD] Allow empty `light_client_signature` to make the tests pass
5. [TBD] Add `is_shard_attestation`, filter out empty `ShardTransition()`

Rework `test_process_crosslink`

Add basic phase 1 `test_blocks`

Add more test cases

Revert `is_shard_attestation` and fix test cases backward compatibility.

Remove `test_process_beacon_block_no_shard_transition` and consider it as invalid case.
2020-05-02 02:32:31 +08:00
Hsiao-Wei Wang 85d5a9abaf
[squashed] shard chain updates wip
PR feedback from Danny and some refactor

1. Add stub `PHASE_1_GENESIS_SLOT`
2. Rename `get_updated_gasprice`  to `compute_updated_gasprice`
3. Rename `compute_shard_data_roots` to `compute_shard_body_roots`

Apply shard transition for the skipped slots

Refactor `shard_state_transition`

Get `beacon_parent_root` from offset slot

Add more test

Add `verify_shard_block_message`

Add `> 0`

Keep `beacon_parent_block` unchanged in `is_valid_fraud_proof`

Remove some lines

Fix type

Refactor + simplify skipped slot processing
2020-05-02 02:31:54 +08:00
Hsiao-Wei Wang e645d6b5fa
Rename `build_empty_shard_block` to `build_shard_block` 2020-05-02 02:31:53 +08:00
Hsiao-Wei Wang 4e8a7ff115
[squashed] shard transition wip
Fix the wrong `get_shard_proposer_index` parameters order

Phase 1 WIP

Add shard transition basic test

Fix lint error

Fix
2020-05-02 02:31:10 +08:00
protolambda 45ad270f76
test double proposer slashings and exits 2020-05-01 19:14:01 +02:00
protolambda 47ed5b6500
Fix rewards testing for empty/weird participation cases, adding more as well 2020-05-01 16:18:43 +02:00
protolambda 09cae4b3cc
Handle empty-aggregation-bits case, and add tests. See #1713 2020-05-01 15:17:41 +02:00
Dankrad Feist b82496fd11
Rename file 2020-05-01 00:19:25 +01:00
Dankrad Feist d30f11a781
Fix lint 2020-05-01 00:16:00 +01:00
Danny Ryan cd27e5e045
add tests for source, target, head 2020-04-29 10:23:12 -06:00
Danny Ryan 5f18dd778c
add baseline get_target_deltas tests 2020-04-28 19:26:14 -06:00
Hsiao-Wei Wang fa66475da4
Move `sanity` to under `phase_0` 2020-04-29 00:04:44 +08:00
Dankrad Feist 0e2931b9b3
All tests passed 2020-04-28 01:09:20 +01:00
Dankrad Feist 2449db1bb6
Phase 1 block tests are working 2020-04-27 16:08:49 +01:00
Hsiao-Wei Wang 2dbc333270
Make `compute_new_state_root` a pure function 2020-04-27 22:18:43 +08:00
Hsiao-Wei Wang 70bd73d2b5
Apply PR feedback from @djrtwo
Fix get_eth1_vote test cases
2020-04-27 22:18:41 +08:00
Hsiao-Wei Wang 8adc15e83d
Add validator guide tests
1. "Beacon chain responsibilities: Attesting"
2. "Beacon chain responsibilities: Attestation aggregation"
2020-04-27 21:47:25 +08:00
Hsiao-Wei Wang bdae27e317
Add bls.AggregatePKs helper 2020-04-27 21:47:25 +08:00
Hsiao-Wei Wang 303d7d5adb
Add validator guide tests
1. "Becoming a validator"
2. "Validator assignments"
3. "Beacon chain responsibilities: Block proposal"
2020-04-27 21:47:25 +08:00
Danny Ryan fde9b410f0
Merge pull request #1752 from ethereum/dev
sync v0.11.2 to `v012x`
2020-04-24 11:36:17 -06:00
Danny Ryan 56535e3dbe
bump version to v0.11.2 2020-04-24 10:21:47 -06:00
Dankrad Feist ab2ee0e2c2
Restoring chunk challenges and testing 2020-04-24 17:06:27 +01:00
Hsiao-Wei Wang 3575b18cd4
Fix `config_util.py` typing 2020-04-17 23:55:42 +08:00
Hsiao-Wei Wang cafd98b9e8
Fix utils.hash_function typing 2020-04-17 23:55:32 +08:00
protolambda 13d1303db8
update remerkleable; mul/div bound checks, update config loading 2020-04-06 18:40:09 +02:00
Danny Ryan c3e5ddaabc
Merge branch 'dev' into phase1-tests 2020-04-03 09:54:34 -06:00
Danny Ryan 246b46771e
address @hwwhww feedback 2020-04-03 09:46:57 -06:00
Danny Ryan f2c2da95ed
add compute_offset_slots 2020-04-03 09:19:56 -06:00
Hsiao-Wei Wang 3f87cea435
Use constants phase names 2020-04-02 15:09:47 +08:00
Hsiao-Wei Wang a890d1f6a0
Use constant variables to define phase name/ID 2020-04-02 15:09:25 +08:00
Danny Ryan 073f78efa1
Merge branch 'dev' into phase1-tests 2020-03-29 17:04:25 -06:00
Danny Ryan ba67165da2
bump version to 0.11.1 2020-03-27 12:24:43 -06:00
protolambda c00d8e30ad
Merge branch 'v011x' into fix-memoization 2020-03-23 21:06:58 +01:00
protolambda 33f8f4936d
Fix base-reward memoization bug, improve memoization with LRU, and improve misc rewards test 2020-03-20 21:15:13 +01:00
Danny Ryan 0a9b306d60
PR feedback from @hwwhww 2020-03-18 09:55:09 -06:00
Danny Ryan e2ef4365e2
min total balance is now EFFECTIVE_BALANCE_INCREMENT. update testing 2020-03-16 11:19:21 -06:00
Danny Ryan 1293320675
Merge branch 'dev' into phase1-tests 2020-03-12 07:12:41 -06:00
Danny Ryan 36e48fba99
enforce must match target to match head to avoid perverse incentive path 2020-03-11 12:51:05 -06:00
Danny Ryan 8eae0f0b46
Merge pull request #1647 from ethereum/bump-version
bump version to v0.11.0 for coming release
2020-03-11 12:21:17 -06:00
Danny Ryan e2918c6364
Merge pull request #1626 from ethereum/proposer-index
add proposer index to BeaconBlock
2020-03-10 15:10:07 -06:00
Danny Ryan 3b7704a78f
Merge pull request #1649 from ethereum/eth1-voting-period-in-epochs
Eth1 voting period in epochs [updated for configs/phase1/tests compat.]
2020-03-10 13:24:03 -06:00
Danny Ryan 1c9ca3c168
Merge pull request #1635 from ethereum/rewards-overflow
handle rewards overflow
2020-03-10 13:23:21 -06:00
protolambda 2d7a292d36
eth1 vote period constant in epochs: update configs, phase1, tests 2020-03-10 18:36:53 +01:00
Hsiao-Wei Wang 882b9ee035
Merge branch 'dev' into rewards-overflow 2020-03-11 00:41:17 +08:00
Danny Ryan 7d4997f0af
bump version to v0.11.0 for coming release 2020-03-09 12:03:12 -06:00
Danny Ryan 7e04989e29
add genesis_validators_root to beaconstate and utilize in sig domain separation as well as fork separation 2020-03-05 09:21:32 -07:00
Danny Ryan 5e1fb79a8e
Merge pull request #1627 from ethereum/hysteris-fix
adjust hysteresis to avoid initial over-deposit incentive
2020-03-03 14:15:24 -07:00
Danny Ryan 33e7680836
make hysteresis calculations configurable 2020-03-03 10:58:47 -07:00
Danny Ryan 2d4ec7d52f
add REWARD_OVERFLOW_INCREMENT to avoid overflow in rewards calculation 2020-03-03 10:23:08 -07:00
Danny Ryan 0122081d05
hysteresis to -0.25/+1.25 2020-03-02 15:55:01 -07:00
Danny Ryan 186d4258b6
fix shard offsets 2020-02-28 13:20:37 -06:00
Danny Ryan 63687e6f34
fix YAML parsed list of ints 2020-02-28 13:02:20 -06:00
Danny Ryan 9718d206a7
fix attester slahsing test 2020-02-26 11:20:19 -06:00
Danny Ryan 4c1fc9bffa
work through phase 1 tests 2020-02-22 12:06:31 -06:00
Danny Ryan 97fa3741af
working through test issues 2020-02-22 09:30:33 -06:00
Danny Ryan ceb6633eb9
working through phase 1 attestation testing 2020-02-22 09:24:14 -06:00
Danny Ryan d414aac933
rework process_attestation and work through tests 2020-02-22 09:22:49 -06:00
protolambda aa451778f9
work in progress test improvements 2020-02-20 11:34:50 -08:00
protolambda c1076097c3
wip work to improve tests 2020-02-20 11:33:42 -08:00
Danny Ryan 71be8940b6
add a couple more sanity block tests for added rpoposer_index 2020-02-18 12:56:37 -06:00
Danny Ryan a02aac43c2
adjust hysteresis to avoid initial over-deposit incentive 2020-02-18 12:36:20 -06:00
Danny Ryan 757f5a31dd
add proposer index and add/modify tests 2020-02-18 11:38:17 -06:00
nathaniel gentile 7ad710e2f3
fix dev install example distutil command
the option is now --spec-fork, not --spec-version
see: 340549aed6
2020-02-15 15:40:06 -07:00
Danny Ryan 129aa02cb3
support tests with SLOTS_PER_EPOCH * 256 vals 2020-02-10 17:56:05 -07:00
protolambda 305a54847c
more explicit about version file location 2020-02-08 23:59:08 +01:00
protolambda 1a16e9a3ab
version eth2spec 2020-02-05 18:38:21 +01:00
protolambda 340549aed6
spec version -> spec fork 2020-01-31 11:52:30 +01:00
protolambda 7848500ea9
spec packaging; implement review suggestions from hww 2020-01-25 22:10:03 +01:00
protolambda 675d404c38
Package eth2spec for tooling and experimentation
See tests/core/pyspec/README.md for usage description.

This commit:
- refactors config loading to be part of the pyspec package
- updates requirements and main files to use new config loading
- cleans up the build script
- converts the build script to a distutil command
- runs pyspec build as part of build package command
- provides pyspecdev command to get editable spec python files
2020-01-25 01:57:11 +01:00
protolambda d9f62f9303
Remerkleable - merkle tree based ssz for better and faster spec 2020-01-25 00:43:43 +01:00
Danny Ryan 67a4d5e659
Merge branch 'dev' into master-copy 2020-01-24 13:49:22 -07:00
protolambda 86b699bfd1
Merge branch 'dev' into phase1rebase 2020-01-23 19:24:03 +01:00
Danny Ryan eed3f6053d
Merge pull request #1580 from ethereum/fork-choice-fix-1574
Fork choice fix issue 1574
2020-01-22 16:56:00 -07:00
Danny Ryan d672c47aba
Merge pull request #1579 from ethereum/epochs-in-fork-choice
Properly handle skip slots in fork choice
2020-01-22 16:55:15 -07:00
protolambda 01f7c6c1e2
separate deposit contract compiler and tester, pin compiler to python 3.7. Upgrade others to 3.8 2020-01-22 19:41:19 +01:00
Danny Ryan 2015433fa1
revert exit queue epoch issue introduced in v0.10.0. add test to catch subtlety 2020-01-20 20:03:38 -07:00
Danny Ryan 00d3fb4fe6
fix issue 1574 by ensuring that justified checkpoint in store updates when finalized updates if needbe 2020-01-20 18:50:50 -07:00
Danny Ryan f1697d03e7
fix corner case to properly handle skipped slots in get_ancestor 2020-01-20 17:49:09 -07:00
Danny Ryan 7a412534d9
remove test_shard_blocks (outdated) and reduce PERSISTENT_COMMITTEE_PERIOD in minimal config 2020-01-15 18:17:07 -07:00
Danny Ryan 3c07b2c954
Make phase 0 fork choice more modular to more easily adopt for slight modifications in phase 1 2020-01-15 16:40:50 -07:00
protolambda 0d8a2ef92a
fix broken fork choice tests; compute anchor root for state, not just any genesis block 2020-01-14 02:25:59 +01:00
protolambda f16d74d703
fix custody key reveal tests not running due to decorator order problem 2020-01-14 01:59:27 +01:00
protolambda f6f8bd5350
no custody bits fallback 2020-01-14 01:36:16 +01:00
protolambda e8654bff10
merkle proofs out, moving to ssz spec 2020-01-14 01:04:15 +01:00
protolambda fee3baaf8c
fix attesting indices error 2020-01-14 01:02:24 +01:00
protolambda 6c74468142
forkchoice store on top of any state now 2020-01-14 01:02:02 +01:00
protolambda 4732c7beb1
merge in dev (v0.10) and fix reorg/lint issues 2020-01-13 18:55:21 +01:00
Danny Ryan 676e216beb
reorg specs by fork and move ssz out to own folder. make all of the build and link changes to support move 2020-01-10 11:55:13 -07:00