tersec
867995acd1
some consensus spec v1.4.0 spec URL updates ( #6208 )
2024-04-17 05:51:16 +02:00
tersec
937cc62b85
block_sim runs electra ( #6181 )
2024-04-07 09:58:11 +02:00
tersec
0d534224b3
remove some debugRaiseAsserts and fill in Electra functionality ( #6178 )
2024-04-06 07:46:02 +00:00
tersec
06894dd2f6
remove some debugRaiseAsserts and fill in Electra functionality ( #6177 )
2024-04-05 21:30:06 +02:00
tersec
7fa32b7f02
add Electra to ConsensusFork enum ( #6169 )
...
* add Electra to ConsensusFork enum
* fix gnosis check
2024-04-03 16:43:43 +02:00
tersec
27ec2893ff
rm unused parameters of get_state_exit_queue_info() ( #6167 )
2024-04-03 01:45:57 +00:00
tersec
109007dc93
avoid quadratic behavior exiting validators ( #6161 )
...
* avoid quadratic behavior exiting validators
* fix libnfuzz callers
2024-04-02 12:18:40 +00:00
Etan Kissling
5d42859176
make `Gwei` `distinct` ( #6090 )
...
#6087 introduced a subtle change to `nim-web3` resulting in `Gwei` to be
serialized differently than before. Using a `distinct` type for `Gwei`
improves type safety and avoids such problems in the future.
2024-03-19 14:22:07 +01:00
tersec
0a6d189161
automated consensus spec URL updating to v1.4.0 ( #6074 )
2024-03-14 07:26:36 +01:00
tersec
816361ed8c
Bloom filter acceleration for deposit processing ( #5982 )
2024-03-07 23:38:24 +00:00
Etan Kissling
2c924bcc8c
add test runner for LC data collection tests ( #6021 )
...
Introduce a test runner for upcoming EF test suites related to canonical
light client data collection.
- https://github.com/ethereum/consensus-specs/pull/3553
2024-03-05 15:41:09 +01:00
tersec
2a13c09615
add proposer reward accounting to block transitions ( #6022 )
...
* add proposer reward accounting to block transitions
* Update beacon_chain/spec/state_transition_block.nim
Co-authored-by: Etan Kissling <etan@status.im>
---------
Co-authored-by: Etan Kissling <etan@status.im>
2024-03-04 17:00:46 +00:00
Etan Kissling
f5e9d3ffe4
add trivial `{.push raises: [].}` to `research` and `test` folders ( #5988 )
...
Annotate the `research` and `test` files for which no further changes
are needed to successfully compile them, to not interfere with periodic
tasks such as spec reference bumps.
2024-02-29 13:24:08 +00:00
Etan Kissling
23fa8d0c70
handle `scanf` exceptions in `test_fixture_ssz_generic_types` ( #5993 )
...
`scanf` apparently has both a `bool` return as well as raising random
exceptions depending on what functions get called by the `macro`.
To make this explicit, catch the `ValueError` from the generated
`parseInt` call, to separate `scanf` behaviour from the actual SSZ
test logic. In the end, it mostly doesn't matter as there are some
`doAssert wasMatched` on the next line (not everywhere though).
But it still makes the `scanf` internals explicit, so is clearer.
2024-02-29 10:47:00 +00:00
Etan Kissling
f4ff438aab
explicitly mention `{.raises.}` in `tests` folder ( #5990 )
...
Add `{.raises.}` annotations to `tests` files where needed to enable
`{.push raises: [].}`. Avoids interfering with periodic changes such as
spec version bumps, and avoids special casing folders when editing.
The effort to maintain `{.raises.}` is trivial after the initial round.
2024-02-29 10:28:32 +00:00
Etan Kissling
80d532abd7
avoid forgetting to quit in `os_ops` tools if log fails ( #5986 )
...
`stderr.write` may fail, e.g., if no tty is connected, which may happen
in some CI configurations. Discard such failures and continue quitting
instead of raising the error.
2024-02-28 16:04:34 +00:00
Etan Kissling
4a74ef9cba
add `{.raises.}` annotations to `test_fixture_operations` ( #5984 )
...
Some more progress in making exception flow explicit.
2024-02-28 11:54:29 +00:00
tersec
f65c1121d2
add Electra overloads for spec functions; add Electra block processing ( #5963 )
2024-02-26 02:38:21 +00:00
tersec
a4f4a35845
Revert "initial Electra support skeleton" ( #5955 )
...
* Revert "initial Electra support skeleton (#5946 )"
This reverts commit d09bf3b587
.
* Update test_signing_node.nim
2024-02-25 19:42:44 +00:00
tersec
d09bf3b587
initial Electra support skeleton ( #5946 )
2024-02-24 13:44:15 +00:00
tersec
bf6b5a316f
add push raises to tests; rm unused test code ( #5948 )
2024-02-24 04:41:58 +01:00
Etan Kissling
702f4c6a45
add `{.push raises: [].}` to more files ( #5943 )
...
Extend `{.push raises: [].}` to all files with spec references that are
periodically updated.
- https://github.com/status-im/nimbus-eth2/pull/5942
2024-02-22 11:03:09 +01:00
tersec
c73d7c6f6f
automated consensus spec URL updating to v1.4.0-beta.7 ( #5942 )
2024-02-21 19:44:48 +00:00
Etan Kissling
71444a371a
annotate `test_fixture_fork_choice` with `{.raises.}` ( #5903 )
...
The fork choice test fixture is one of the more complex ones. Annotate
its functions with `{.raises.}` to make exception flow explicit.
2024-02-17 22:52:11 +01:00
tersec
a4680cb7fa
refactor addHeadBlock() to research/ and tests/ helper ( #5874 )
...
* refactor addHeadBlock() to research/ and tests/ helper
* rm now-dead code
2024-02-09 23:46:51 +00:00
Etan Kissling
e398078abc
`...ExecutionPayloadHash` --> `...ExecutionBlockHash` ( #5864 )
...
Finish the rename started in #4809 to have a consistent naming.
`ExecutionPayloadHash` suggests hash over payload instead of block.
`BlockHash` is also the canonical name in engine API.
2024-02-08 01:24:55 +01:00
tersec
7fd8beb418
rm unused code in {ncli,research,tests}/ ( #5809 )
2024-01-21 07:55:03 +01:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +00:00
tersec
d99347afaa
add all remaining KZG test cases ( #5793 )
2024-01-19 10:59:07 +00:00
Etan Kissling
006fa59ec2
use consensus spec v1.4.0-beta.6 test vectors ( #5783 )
2024-01-18 18:14:44 +00:00
tersec
52ed0d6aa1
rm kzg test fixture code duplication and add test vector coverage checks ( #5742 )
2024-01-15 07:14:38 +01:00
tersec
c815e71af0
rest of EF KZG test harnesses ( #5734 )
2024-01-13 01:31:29 +00:00
tersec
aef3879652
some EF KZG test harnesses ( #5733 )
2024-01-12 22:29:43 +00:00
Etan Kissling
95e9740506
use `forks` sugar in `loadForkedState` testing function ( #5720 )
...
Adjust `loadForkedState` to use `withState` sugar to reduce code
duplication.
2024-01-09 17:27:32 +00:00
Jacek Sieka
62cbdeefc5
verify `genesis_time` more strictly ( fixes #1667 ) ( #5694 )
...
Bogus values lead to crashes down the line when timers overflow
2024-01-06 15:26:56 +01:00
Etan Kissling
508f3b6368
add missing `std/` prefix to more imports ( #5696 )
...
Bumping some `std` imports to explicitly include the prefix.
Also add explicit `./` prefix for local directory imports.
2024-01-06 07:18:28 +01:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01:00
Etan Kissling
d9031d97dc
rename `_INDEX` generalized index constants to `_GINDEX` ( #5583 )
...
Rename constants for consistency with upcoming spec adjustment:
- https://github.com/ethereum/consensus-specs/pull/3537
2023-11-09 12:54:44 +00:00
tersec
7e3aeaea09
automated consensus spec URL updating to v1.4.0-beta.4 ( #5577 )
2023-11-08 05:28:03 +00:00
Etan Kissling
d8a7f0df81
update Deneb for blob sidecar inclusion proofs ( #5565 )
...
`BlobSidecar` is no longer signed, instead use Merkle proof to link
blobs with block.
- https://github.com/ethereum/consensus-specs/pull/3531
Associated beacon-API / builder-specs still TBD; minimal changes done
to compile in similar style to previous spec, but not standardized yet.
- https://github.com/ethereum/beacon-APIs/pull/369
- https://github.com/ethereum/builder-specs/pull/90
2023-11-06 07:48:43 +01:00
Etan Kissling
8d46809a5c
skip upcoming FC tests for intentional block reorgs until implemented ( #5566 )
...
v1.4.0-beta.4 adds tests for intentional block reorgs. To reflect the
implementation status, skip those tests for now and mark them as such.
2023-11-04 20:36:01 +01:00
Etan Kissling
6958f67af3
add test runner for v1.4.0-beta.4 Merkle proof tests ( #5567 )
...
Create a test runner for validating the new `Merkle proof` Deneb tests
that are added with `v1.4.0-beta.4` specs.
2023-11-04 20:35:41 +01:00
tersec
62d59daaa7
consensus-spec URL updates to v1.4.0-beta.3 ( #5541 )
2023-10-30 06:44:43 +00:00
tersec
4ddd771127
automated consensus spec URL updating to v1.4.0-beta.3 ( #5514 )
2023-10-19 10:26:38 +00:00
Etan Kissling
dd1f362536
align `Beacon(Block(Body)?|State)Type` with other fork sugar ( #5483 )
...
The templates for `BeaconBlock`, `BeaconBlockBody` and `BeaconState`
are the only ones using a `macro` mechanism for code generation.
This prevents using the dot-syntax style `consensusFork.BeaconFoo`
in some situations, and also tends to trigger naming conflicts,
requiring the `Type` suffix. Furthermore, the `macro` only works
for types that are re-defined in every single `ConsensusFork`.
Replacing with the simpler but more verbose approach used for other
types for consistency and to avoid the downsides of the `macro`.
Furthermore, simplify `test_fixture_sanity_blocks` to use `forks` sugar.
2023-10-05 14:01:40 +02:00
Etan Kissling
297c768816
reduce redundant zero initialization for LC data objects ( #5479 )
...
Directly initialize `ForkedLightClientObj` instead of separately first
setting the `kind` (initializing everything to zero) and then assigning
the forky data after that.
2023-10-04 18:11:45 +02:00
Etan Kissling
8aaea1a14e
simplify fork choice test ( #5467 )
...
Reduce overly verbose fork branching logic in fork choice test with
generic implementation based on `consensusFork`.
2023-09-29 13:26:34 +00:00
Etan Kissling
7c45b8f98d
convert remaining `toFork` -> `kind` for consistency ( #5462 )
...
We currently have multiple ways to obtain `ConsensusFork` or
`LcDataFork` from a forky type. Rename `toFork` to `kind`
for a consistent API naming.
2023-09-27 15:10:28 +00:00
tersec
2895a9a05c
automated consensus spec URL updating to v1.4.0-beta.2 ( #5453 )
2023-09-21 18:06:51 +00:00