tersec
a66876c8e5
add EF consensus spec test Electra block sanity fixtures ( #6250 )
...
* add EF consensus spec test Electra block sanity fixtures
* move process_consolidation/process_deposit_receipt before usage
2024-04-28 09:15:03 +00:00
tersec
302f645a01
use EF consensus spec v1.5.0-alpha.1 test vectors ( #6249 )
2024-04-28 03:33:44 +00:00
tersec
f53271eaaa
add rest of EF consensus spec test Electra epoch transition fixture(s) ( #6232 )
2024-04-24 12:28:47 +00:00
tersec
eb997f4e1f
add 10 sub-test-fixtures for electra epoch transitions; use v2.0.4 for Nim 2.x ( #6229 )
2024-04-23 01:15:55 +00:00
tersec
0132f5d689
some consensus spec v1.4.0 spec URL updates ( #6215 )
2024-04-18 03:00:04 +02:00
tersec
867995acd1
some consensus spec v1.4.0 spec URL updates ( #6208 )
2024-04-17 05:51:16 +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
Etan Kissling
ef2411e1a0
use correct `INACTIVITY_SCORE_RECOVERY_RATE` if overridden from default ( #6091 )
...
When a config defines a different `INACTIVITY_SCORE_RECOVERY_RATE` than
the default, `process_inactivity_updates` uses an incorrect rate ever
since #2710 when `INACTIVITY_SCORE_RECOVERY_RATE` became configurable.
2024-03-17 13:32:30 +01:00
tersec
0a6d189161
automated consensus spec URL updating to v1.4.0 ( #6074 )
2024-03-14 07:26:36 +01:00
tersec
e12f5e0bba
rm more Capella builder API remote signer support ( #6012 )
2024-03-01 22:29:47 +00:00
tersec
0d48535f9a
refactor get_flag_and_inactivity_deltas() loop body to use per-validator get_flag_and_inactivity_delta() ( #6007 )
2024-03-01 16:31:25 +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
0f155ebf95
some consensus spec v1.4.0-beta.7 spec URL updates ( #5945 )
2024-02-22 02:42:57 +00:00
tersec
c73d7c6f6f
automated consensus spec URL updating to v1.4.0-beta.7 ( #5942 )
2024-02-21 19:44:48 +00:00
tersec
ffbc8d1466
refactor epoch state transition to facilitate individual validator balance change calculations ( #5910 )
2024-02-20 05:14:52 +00:00
Etan Kissling
4fc1550d0f
add `{.push raises: [].}` to recently modified files ( #5908 )
...
Status Nim style mandates `{.push raises: []}.` at start of modules.
Ensure that's the case so that exceptions are properly tracked.
- https://status-im.github.io/nim-style-guide/errors.exceptions.html
- https://github.com/status-im/nim-eth/pull/614#discussion_r1220906149
2024-02-18 01:16:49 +00:00
tersec
6c53dc1e11
automated consensus spec URL updating to v1.4.0-beta.6 ( #5804 )
2024-01-20 11:19:47 +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
tersec
9c6ba7d142
consensus spec v1.4.0-beta.5 URL updates ( #5672 )
2023-12-16 03:27:06 +01:00
tersec
4776fecc33
consensus spec v1.4.0-beta.5 URL updates ( #5655 )
2023-12-06 22:16:55 +00:00
tersec
9efb2958ec
automated consensus spec URL updating to v1.4.0-beta.5 ( #5647 )
2023-12-05 03:34:45 +01:00
tersec
ab5343d1bc
update some consensus spec URLs to v1.4.0-beta.4 ( #5631 )
2023-11-27 19:56:34 +01:00
tersec
c96163dbca
update some consensus spec URLs to v1.4.0-beta.4 ( #5594 )
2023-11-11 06:27:53 +01:00
tersec
7e3aeaea09
automated consensus spec URL updating to v1.4.0-beta.4 ( #5577 )
2023-11-08 05:28:03 +00: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
tersec
447786518f
ShufflingRef approach to next-epoch validator duty calculation/prediction ( #5414 )
...
* ShufflingRef approach to next-epoch validator duty calculation/prediction
* refactor action_tracker.updateActions to take ShufflingRef + beacon_proposers; refactor maybeUpdateActionTrackerNextEpoch to be separate and reused function; add actual fallback logic
* document one possible set of conditions
* check epoch participation flags and inactivity scores to ensure no penalties and MAX_EFFECTIVE_BALANCE to ensure rewards don't matter
* correctly (un)shuffle each proposer index
* remove debugging assertion
2023-10-10 00:02:07 +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
Etan Kissling
273f1d34cd
implement EIP-7514 for Deneb: Add Max Epoch Churn Limit ( #5442 )
...
* implement EIP-7514 for Deneb: Add Max Epoch Churn Limit
Cap activations per epoch according to EIP-7514:
- https://eips.ethereum.org/EIPS/eip-7514
- https://github.com/ethereum/consensus-specs/pull/3499
* apply proposer boost to first block in case of equivocation
Implement spec changes to fork choice; this only affects equivocation
when multiple blocks are signed for the same slot. Regular operation
is not changed.
- https://github.com/ethereum/consensus-specs/pull/3352
* bump test vectors to v1.4.0-beta.2-hotfix
---------
Co-authored-by: tersec <tersec@users.noreply.github.com>
2023-09-20 13:39:56 +02:00
tersec
5a29ad7e4f
update some consensus-spec URLs to v1.4.0-beta.1 ( #5429 )
2023-09-14 18:23:59 +00:00
tersec
10ec7be686
optimize epoch registry processing ( #5412 )
2023-09-11 11:21:50 +02:00
tersec
cc13e0b7e0
restore full test coverage for process_rewards_and_penalties ( #5407 )
...
* restore full test coverage for process_rewards_and_penalties
* adjust ncli_db to use new iterator
2023-09-08 16:42:18 +00:00
tersec
f53422c181
optimize epoch transition via get_flag_index_deltas() and get_inactivity_penalty_deltas() ( #5404 )
...
* optimize epoch transition via get_flag_index_deltas() and get_inactivity_penalty_deltas()
* directly mutate Altair info in {get,update}_flag_and_inactivity_deltas
2023-09-07 11:14:52 +00:00
tersec
a8c56b1660
update some consensus-spec URLs to v1.4.0-beta.1 ( #5379 )
2023-09-01 09:31:52 +00:00
tersec
db6f4e8090
update some consensus-spec URLs to v1.4.0-beta.1 ( #5357 )
2023-08-25 15:58:44 +00:00
tersec
d171303133
update some consensus spec URLs to v1.4.0-beta.1 ( #5287 )
2023-08-12 10:38:06 +00:00
tersec
85e1976ac3
automated consensus spec URL updating to v1.4.0-beta.1 ( #5280 )
2023-08-09 03:58:47 +00:00
Jacek Sieka
5bc48acc36
reduce memory allocations during state transition ( #5235 )
...
This PR removes a few hundred thousand temporary seq allocations during
state transition - in particular, the flag seq was allocated per
validator while committees are computed per attestation.
2023-08-03 01:03:40 +02:00
tersec
1e2d3b12c4
update some consensus-specs ref URLs to v1.4.0-beta.0 ( #5163 )
2023-07-05 16:02:55 +00:00
tersec
0be95571a7
update some consensus spec URLs to v1.4.0-beta.0 ( #5150 )
2023-06-30 16:12:54 +00:00
tersec
614202e30d
automated consensus spec URL updating to v1.4.0-beta.0 ( #5121 )
2023-06-24 15:43:30 +00:00
tersec
591c2246d5
update consensus spec URLs to v1.4.0-alpha.3 ( #5088 )
2023-06-16 16:45:09 +00:00
tersec
54cc7bb7a1
update some consensus-spec URLs to v1.4.0-alpha.3 ( #5074 )
2023-06-13 21:07:39 +00:00
tersec
788cdb7133
automated v1.4.0-alpha.2 to v1.4.0-alpha.3 consensus spec URL updates ( #5065 )
2023-06-13 14:03:49 +00:00
tersec
22208836b1
automated v1.4.0-alpha.1 to v1.4.0-alpha.2 consensus spec URL updates ( #5056 )
2023-06-10 09:56:54 +00:00