Commit Graph

1041 Commits

Author SHA1 Message Date
Justin Traglia 02090d94ab Remove pytest import 2022-05-10 11:00:16 -05:00
Justin Traglia d1f0187076 Revert "Move test case to new location"
This reverts commit e2cbdb2b67.
2022-05-10 10:48:59 -05:00
Justin Traglia 5868a53cf1 Revert "Fix linter warnings again"
This reverts commit ac7267c938.
2022-05-10 10:48:51 -05:00
Justin Traglia ac7267c938 Fix linter warnings again 2022-05-09 16:50:43 -05:00
Justin Traglia e2cbdb2b67 Move test case to new location 2022-05-09 16:47:19 -05:00
Justin Traglia 90c1825637 Convert participation_fn from lambda to def
I felt that the the lambda was a little too complicated.
2022-05-09 15:53:36 -05:00
Justin Traglia 9dcb2eecbc Fix linter warnings 2022-05-09 14:28:54 -05:00
Justin Traglia a7bda480fe Convert sets to sorted lists prior to sampling
This is because sampling of sets has been deprecated in Python 3.9. I used
sorted() instead of list() so that things are deterministic.
2022-05-09 14:09:27 -05:00
Justin Traglia 3c7544af3d Add invalid large withdrawable epoch test 2022-05-06 13:56:40 -05:00
Danny Ryan c1d0836936
Merge pull request #2855 from ethereum/00-to-01
00 to 01 cred change
2022-05-05 07:31:49 -06:00
Hsiao-Wei Wang 8a4ea1d13d
Merge pull request #2877 from zilm13/fix/equivocating-indices
Yield attestation in equivocating indices test
2022-05-03 14:44:57 +02:00
Etan Kissling 5653649ca8
Allow light client to verify signatures at period boundary
As the sync committee signs the previous block, the situation arises at
every sync committee period boundary, that the new sync committee signs
a block in the previous sync committee period. The light client cannot
reliably detect this condition (e.g., assume that this is the case when
it is currently on the last slot of a sync committee period), because
the last couple slots of a sync committee period may not have a block.

For example, when receiving a `LightClientUpdate` that is constructed
as in the following illustration, it is unknown whether `sync_aggregate`
was signed by the current or next sync committee at `attested_header`.

```

        slot N           N + 1   |            N + 2   (slot not sent!)
                                 |
  +-----------------+     \ /    |     +----------------+
  | attested_header | <--- X ----|---- | sync_aggregate |
  +-----------------+     / \    |     +----------------+
                        missed   |
                                 |
                          sync committee
                          period boundary
```

This patch addresses this edge case by including the slot at which the
`sync_aggregate` was created into the `LightClientUpdate` object.

Note that the `signature_slot` cannot be trusted beyond the purpose of
signature verification, as it could be manipulated to any other slot
within the same sync committee period and fork version, without making
the `sync_aggregate` invalid.
2022-05-02 13:08:20 +02:00
Dmitrii Shmatko b9cb294650 Yield attestation in equivocating indices test 2022-04-25 23:23:44 +03:00
Etan Kissling f125538122
Fix param order in `prepare_execution_payload`
Documentation on how to call `prepare_execution_payload` had the params
for `safe_block_hash` and `finalized_block` hash flipped compared to the
function definition. Also updated tests for consistency.
2022-04-25 16:49:00 +02:00
Danny Ryan 1bfefe301d
Merge pull request #2858 from mkalinin/justified-to-safe-block
Bellatrix: pass justified as a safe block
2022-03-30 12:19:21 -06:00
Danny Ryan ee5f29cb75
fix ci 2022-03-24 09:57:43 -06:00
Danny Ryan 6e369e4a53
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2022-03-23 10:55:27 -06:00
Danny Ryan 2017b61265
test address_change 2022-03-22 13:37:17 -06:00
Mikhail Kalinin 95a2327800 Bellatrix: add get_safe_block_hash to validator.md 2022-03-22 22:51:45 +06:00
Danny Ryan 702ed9f39a
Merge branch 'withdrawals-push' into 00-to-01 2022-03-22 08:23:34 -06:00
Danny Ryan b469593219
toc 2022-03-22 08:22:35 -06:00
Danny Ryan 0da78ebc4b
Merge branch 'withdrawals-push' into 00-to-01 2022-03-22 08:19:31 -06:00
Danny Ryan c10d219664
Merge branch 'dev' into withdrawals-push 2022-03-22 08:11:09 -06:00
Danny Ryan 493b169022
refine naming for withdrawals 2022-03-22 07:55:45 -06:00
Danny Ryan 79cdb88e66
wip 00 to 01 cred change 2022-03-16 15:41:37 -06:00
Danny Ryan 36aae1d848
add tests for process_withdrawals 2022-03-16 13:35:29 -06:00
Mikhail Kalinin cc347c6ff4
Merge pull request #2851 from mkalinin/safe-head
Add safe_block_hash to notify_forkchoice_updated
2022-03-16 13:29:23 +06:00
Mikhail Kalinin 84ab086d94 Add safe_block_hash to notify_fc_updated 2022-03-14 19:09:21 +06:00
Danny Ryan 3dd83cf4ee
minor withdrawals renamings 2022-03-10 12:30:51 -07:00
Danny Ryan 507f550cb1
Merge branch 'dev' into withdrawals-push 2022-03-10 10:27:20 -07:00
Hsiao-Wei Wang 95c712598a Fix `test_discard_equivocations` test vectors 2022-03-09 10:16:37 +08:00
Danny Ryan e1b9cf97e2
add withdrawal index to wihdrawal transaction 2022-03-03 14:02:52 -07:00
Aditya Asgaonkar 7f31c80b8f Fix lint & CI 2022-03-01 11:47:45 -08:00
Aditya Asgaonkar 4fbe162655 Add on_attester_slashing() and related test 2022-03-01 11:42:49 -08:00
Danny Ryan 1fb7a95329
bump VERSION.txt to 1.1.10 2022-02-25 11:23:15 -07:00
Danny Ryan 0a55f062d7
fix execution paylaod tests 2022-02-24 15:38:23 -07:00
Danny Ryan f5dab5b666
fix fully withdrawal tests 2022-02-24 15:06:31 -07:00
Danny Ryan 2026103bb9
Merge branch 'dev' into withdrawals-push 2022-02-23 15:08:29 -07:00
Mikhail Kalinin 1280fe2a02 Bellatrix: random -> prev_randao 2022-02-22 17:16:33 +06:00
Hsiao-Wei Wang 3d7f307020 Refactor test_sync_protocol.py a bit 2022-02-04 17:46:37 -08:00
Hsiao-Wei Wang f2fd673a66
Merge pull request #2807 from etan-status/compute-sync-period
Consistently use `compute_sync_committee_period`
2022-02-01 16:05:58 -08:00
Danny Ryan 67fcbf22ec
bump version 2022-01-28 06:44:04 -07:00
Alex Stokes 129d9e28b4
add randomized tests for bellatrix 2022-01-27 19:41:09 -08:00
Mikhail Kalinin eb4497fae7 Bellatrix: Rename execute_payload to notify_new_payload 2022-01-27 15:24:53 +06:00
Danny Ryan 671c4f0e3a
receipt_root -> receipts_root 2022-01-17 13:42:10 -07:00
Etan Kissling 8319d07084
Consistently use `compute_sync_committee_period`
There were a couple instances where a division was used on an epoch
to derive the corresponding sync committee period instead of calling the
`compute_sync_committee_period` function.
These instances were changed to also use the function.
2022-01-17 17:38:24 +01:00
Hsiao-Wei Wang 16c350ebcd
Merge pull request #2796 from etan-status/lc-aggregate
Rename `sync_committee_aggregate` > `sync_aggregate`
2022-01-13 21:07:50 +08:00
Danny Ryan a1719f9afc
Merge pull request #2784 from status-im/config-name
Add `CONFIG_NAME` to configs
2022-01-11 07:24:15 -07:00
Etan Kissling 48e19b15ae
Rename `sync_committee_aggregate` > `sync_aggregate`
This renames the `sync_committee_aggregate` field of `LightClientUpdate`
to `sync_aggregate` for consistency with the terminology in the rest of
the spec.
2022-01-11 11:22:39 +01:00
Danny Ryan af4725d08a
add some non-empty extra_data tests 2022-01-03 07:51:35 -07:00
Jacek Sieka 46bc206740
Add `CONFIG_NAME` to configs
Runtime configurations apply to a certain network and the name of that
network is useful for humans such that they can talk about it.

Some of the existing configs already include a `CONFIG_NAME` toggle -
might as well add it here as well and avoid some confusion - this name
above all becomes useful in the beacon API.

By extension, the `CONFIG_NAME` config will appear in the beacon api as
a result of being defined here.
2021-12-29 13:02:36 +01:00
Hsiao-Wei Wang cbf314c67e
Move capella fork tests to the correct folder and resolve conflicts 2021-12-27 18:44:03 +08:00
Hsiao-Wei Wang 171a9ccc81
Resolve conflicts 2021-12-27 18:30:12 +08:00
Hsiao-Wei Wang db642e0586 bump VERSION.txt to 1.1.8 2021-12-25 00:59:11 +08:00
Hsiao-Wei Wang ba690852d6
Merge pull request #2774 from ethereum/bellatrix
Rename "Merge" -> "Bellatrix"
2021-12-24 01:46:55 +08:00
Hsiao-Wei Wang a7df9a39cc
Set RNG seed 2021-12-23 21:33:23 +08:00
Hsiao-Wei Wang 41af639517
PR feedback from @mkalinin 2021-12-23 17:26:48 +08:00
Hsiao-Wei Wang 8facc0a095
Merge -> Bellatrix 2021-12-23 14:25:43 +08:00
Hsiao-Wei Wang cba3ddfc3d
bump VERSION.txt to 1.1.7 2021-12-22 15:47:38 +08:00
Hsiao-Wei Wang 2fa396f67d
Merge pull request #2746 from ethereum/vbuterin-patch-12
Simplify sync protocol and update to calculate optimistic heads
2021-12-16 00:12:36 +08:00
Hsiao-Wei Wang 257c2413a5
Update test_sync_protocol.py per the new optimistic_header and data structure 2021-12-14 22:06:25 +08:00
Hsiao-Wei Wang 6edf840992
fix lint 2021-12-11 09:06:56 +08:00
Hsiao-Wei Wang 4cea972cc0
Apply suggestions from code review
Co-authored-by: Caspar Schwarz-Schilling <31305984+casparschwa@users.noreply.github.com>
2021-12-11 09:01:16 +08:00
Hsiao-Wei Wang 11a42f8d06
Remove `*_without_boost` tests 2021-12-09 17:58:31 +08:00
Hsiao-Wei Wang addc03cb7c
Enable ex-ante tests in testgen and minor fixes 2021-12-09 17:47:20 +08:00
Caspar Schwarz-Schilling 9f614fca83 Fix linting 2021-12-08 18:31:14 +01:00
Caspar Schwarz-Schilling 79e1d5e021 Fix head view comparison 2021-12-08 18:14:46 +01:00
Caspar Schwarz-Schilling dc9db78a67 Add sandwich test scenarios 2021-12-08 17:05:44 +01:00
Alex Stokes db2be42baa
use a specific `spec` rather than the pre-defined phases 2021-12-07 18:50:00 +01:00
Alex Stokes 55c9c03f08
simply module import and fix config adjustment 2021-12-07 18:22:10 +01:00
Alex Stokes 733f37715e
use `importlib` to perform an actual spec copy 2021-12-07 17:55:17 +01:00
Alex Stokes 57be9d064f
update per-test config to be unique per-test 2021-12-07 17:13:26 +01:00
Hsiao-Wei Wang 200ed58dd9
Merge branch 'dev' into ex-ante-tests 2021-12-07 18:29:48 +08:00
Hsiao-Wei Wang 9dc1b7af7e
Test with strict `proposer_boost + 1` attestation participants 2021-12-07 00:25:26 +08:00
Danny Ryan 59d48210a1
fix forkchoice tests 2021-12-02 12:10:46 -07:00
Danny Ryan 6969c8af67
lint 2021-12-02 12:03:51 -07:00
Danny Ryan 180abb90ec
clean up some withdrawal logic and add tests 2021-12-02 11:56:33 -07:00
Hsiao-Wei Wang 6308cee7a6
Fix typo 2021-12-03 02:17:57 +08:00
Danny Ryan 3024dc8ba8
add withdrawn_epoch to capella validators 2021-12-02 10:52:56 -07:00
Hsiao-Wei Wang a399d953d3
Add assertion to `test_shorter_chain_but_heavier_weight` 2021-12-02 17:21:42 +08:00
Danny Ryan 78d55839b9
fix tsts 2021-12-01 16:42:12 -07:00
Danny Ryan b7308e0953
remove capella built files 2021-12-01 11:43:32 -07:00
Danny Ryan 4f24fe455b
basic capella withdrawal in place 2021-12-01 11:37:30 -07:00
Hsiao-Wei Wang dc52b35145
Add `PROPOSER_SCORE_BOOST` to meta.yaml and fix comments 2021-12-02 01:37:01 +08:00
Hsiao-Wei Wang bb8168fd95
Make config dict compatible with yaml.dump 2021-12-02 01:34:35 +08:00
Hsiao-Wei Wang d7f6a42729
[WIP] Add ex-ante fork choice test cases 2021-12-01 02:37:22 +08:00
Danny Ryan 4370b9c816
bump VERSION.txt to 1.1.6 2021-11-23 14:53:13 -07:00
Danny Ryan 69e7f586ac
Merge pull request #2738 from ethereum/fix-names
is_merge -> is_merge_transition
2021-11-23 14:52:05 -07:00
Danny Ryan a0d008bb86
is_merge -> is_merge_transition 2021-11-23 14:45:03 -07:00
Danny Ryan 32e8ca26a0
Merge pull request #2737 from ethereum/test_prepare_execution_payload
Fix spec typo and add `test_prepare_execution_payload` unit tests
2021-11-23 14:25:48 -07:00
Hsiao-Wei Wang 8050de384e
Fix spec typo and add `test_prepare_execution_payload` unit tests 2021-11-24 02:23:24 +08:00
Danny Ryan 975931b5cf
pr feedback 2021-11-23 11:19:22 -07:00
Hsiao-Wei Wang 2ba0586c3d
Add `proposer_boost_root` field to test vector "checks" step 2021-11-24 00:09:48 +08:00
Aditya Asgaonkar 6f95637637 Merging local branch to remote latest 2021-11-23 07:32:56 -08:00
Aditya Asgaonkar ecbe9190b9 Apply HWW code's review - properly update test steps 2021-11-23 07:20:54 -08:00
Hsiao-Wei Wang bdd7b0782e
Add configuration value checks 2021-11-23 16:44:12 +08:00
Aditya Asgaonkar d85d4399cb Rename test 2021-11-22 14:45:20 -08:00
Aditya Asgaonkar 1d835c5198 Apply Danny's code review & suggestions 2021-11-22 14:44:52 -08:00
Danny Ryan ea09df50db
toc 2021-11-22 11:39:08 -07:00
Aditya Asgaonkar 2d161b4244
Add proposer score boosting & related tests 2021-11-22 11:12:24 -07:00