tersec
614202e30d
automated consensus spec URL updating to v1.4.0-beta.0 ( #5121 )
2023-06-24 15:43:30 +00:00
tersec
9dbf63d8ca
use v1.4.0-beta.0 consensus spec test vectors ( #5120 )
2023-06-24 12:27:15 +00:00
Etan Kissling
3a6b50cf21
require sync committee supermajority in CI ( #5085 )
...
* require sync committee supermajority in CI
To better catch problems with sync committee messages in CI, extend
local testnet simulation to also verify that each block is signed
by a supermajority of the sync committee.
Requires #5083 and #5084
* lint
2023-06-17 06:00:01 +00:00
tersec
591c2246d5
update consensus spec URLs to v1.4.0-alpha.3 ( #5088 )
2023-06-16 16:45:09 +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
tersec
9e14d904ac
https://github.com/ethereum/consensus-specs/pull/3359 ( #5047 )
2023-06-10 05:39:10 +00:00
tersec
30c859e8a4
update some consensus-spec URLs to v1.4.0-alpha.1 ( #5035 )
2023-06-06 17:09:48 +00:00
tersec
f86febc111
update consensus spec URLs to v1.4.0-alpha.1 ( #5027 )
2023-06-04 10:32:50 +00:00
tersec
b25ca0833b
use v1.4.0-alpha.1 consensus spec test vectors ( #5026 )
2023-06-03 21:55:08 +00:00
tersec
ee71b6cc36
update consensus spec URLs to v1.4.0-alpha.0 ( #5022 )
2023-06-02 12:59:38 +00:00
tersec
1f535336da
automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates ( #4996 )
...
* automated v1.3.0 to v1.4.0-alpha.0 consensus spec URL updates
* add copyright year headers
2023-05-26 00:14:28 +02:00
tersec
10569ff2e9
use v1.4.0-alpha.0 consensus spec test vectors ( #4990 )
2023-05-25 07:55:00 +00:00
henridf
01549f6aa4
Wire in blob validation ( #4864 )
...
* Wire in blob validation
* Remove unused "is_data_available"
* Log blobs when blob validation fails
2023-05-17 13:55:50 +00:00
tersec
d3929cbb45
update some beacon API spec URLs; fix some Name and DuplicateModuleImport hints ( #4929 )
2023-05-10 10:20:55 +00:00
Etan Kissling
34e7181b0d
`KZG(Commitment(s)?|Proof)` > `Kzg$1` ( #4917 )
...
Fix style-check by using matching capitalization for `nim-kzg` types.
2023-05-09 19:51:36 +00:00
Etan Kissling
93899b2e2a
consensus-specs v1.3.0 bumps with cleanup ( #4918 )
...
Some more consensus-specs v1.3.0 bumps. No semantic logic changes,
but also contains cleanup, so separate PR to reduce noise.
2023-05-09 20:16:49 +02:00
Etan Kissling
e9319a5947
`bls_to_execution_changes` check alternative ( #4916 )
...
Make intent clearer about when to expect `bls_to_execution_changes`,
and replace test-time errors with compile-time errors if the field
is renamed or goes away in the future.
2023-05-09 17:24:02 +00:00
tersec
b390911e93
automatic update of v1.3.0-rc.5 consensus spec URLs to v1.3.0 ( #4848 )
2023-04-21 18:52:43 +00:00
tersec
4643a357ef
consensus spec ref URL update to v1.3.0-rc.5 ( #4837 )
2023-04-18 22:00:06 +00:00
tersec
b4508b853a
assorted consensus spec URL updates ( #4776 )
2023-03-30 23:08:52 +00:00
tersec
9d2fdc2e26
assorted consensus spec URL updates to v1.3.0-rc.5 ( #4768 )
2023-03-27 14:41:22 +00:00
henridf
635a924e8c
Add nim-kzg4844 and use it in validate_blobs ( #4732 )
2023-03-23 09:47:04 +00:00
tersec
2f634c10a4
automated consensus spec URL updating from v1.3.0-rc.4 to rc.5 ( #4756 )
2023-03-21 00:42:22 +00:00
tersec
0c62950de6
more consensus spec v1.3.0-rc.4 URL updates ( #4744 )
2023-03-17 12:14:08 +00:00
tersec
ec77116414
automated consensus spec URL updating from v1.3.0-rc.3 to rc.4 ( #4742 )
2023-03-17 01:10:31 +00:00
Etan Kissling
969c6f73ae
misc local `EIP4844` > `Deneb` bumps ( #4717 )
...
* misc local `EIP4844` > `Deneb` bumps
* fix
2023-03-11 00:28:19 +00:00
tersec
ea060de6d4
more eip4844 -> deneb module references ( #4690 )
2023-03-02 21:09:24 +01:00
tersec
8f269c92d7
rename eip48844ImplementationMissing to denebImplementationMissing ( #4654 )
2023-02-23 10:37:45 +00:00
tersec
1dd07d5def
switch 3 modules in beacon_chain/spec/ from eip4844 to deneb ( #4651 )
2023-02-22 14:10:00 +01:00
tersec
29fb65a9db
automated update of v1.3.0-rc.2 to v1.3.0-rc.3 consensus spec URLs ( #4647 )
2023-02-21 16:43:21 +00:00
tersec
b19f7001aa
log expected_withdrawals discrepancy ( #4595 )
...
* log expected_withdrawals discrepancy
* capella-only rather than not-bellatrix
* add one more (in theory unnecessary, but) guard against get(none)
2023-02-20 09:46:37 +01:00
tersec
a382498cfe
batch-verify BLS to execution change messages ( #4637 )
2023-02-17 13:35:12 +00:00
tersec
b7c3037f01
consensus spec ref URL updates to v1.3.0-rc.2 ( #4626 )
2023-02-15 14:43:51 +00:00
tersec
bca781b1b0
prioritize REST API-provided BLS to execution changes over gossip-received changes ( #4580 )
2023-02-03 16:28:28 +01:00
tersec
58ed9308d2
automated v1.3.0-rc.1 to v1.3.0-rc.2 consensus spec URL updates ( #4568 )
2023-01-31 00:26:57 +01:00
tersec
8c2e01da24
consensus spec ref URL updates to v1.3.0-rc.1 ( #4534 )
2023-01-20 22:33:05 +00:00
tersec
aacc8d702d
remove Nim 1.2-compatible `push raise`s and update copyright notice years ( #4528 )
2023-01-20 14:14:37 +00:00
tersec
819e007689
exit/validatorchange pool includes BLS to execution messages; REST support for new pool ( #4519 )
...
* exit/validatorchange pool includes BLS to execution messages; REST
support for new pool
* catch failed individual futures
* increase BLS changes bound and keep BLS seen consistent with subpool
* deque capacities should be powers of 2
2023-01-19 22:00:40 +00:00
tersec
073c544f0c
automated update from v1.3.0-rc.0 to v1.3.0-rc.1 consensus spec URLs ( #4517 )
2023-01-17 16:10:52 +00:00
Etan Kissling
609227559f
LC data fork cleanup ( #4506 )
...
Distinguish between those code locations that need to be updated on each
light client data format change, and those others that should generally
be fine, as long as a valid light client object is processed.
The former are tagged with static assert for `LightClientDataFork.high`.
The latter are changed to `lcDataFork > LightClientDataFork.None` to
indicate that they depend only on presence of any valid object.
Also bundled a few minor cleanups and fixes.
Also add `Forky` type for `LightClientStore` and minor fixes / cleanups.
2023-01-14 22:19:50 +01:00
tersec
68e08c6f15
use v1.3.0-rc.1 consensus spec test vectors ( #4505 )
2023-01-14 04:20:51 +00:00
tersec
4f9064a153
consensus spec ref URL updates ( #4496 )
2023-01-12 13:33:14 +00:00
Jacek Sieka
ba3db7aa5a
spec: Option -> Opt ( #4488 )
2023-01-11 12:29:21 +00:00
tersec
e28e1aeec8
a few consensus spec ref URL updates ( #4483 )
2023-01-10 16:14:17 +00:00
tersec
2dd3cd786f
consensus spec ref URL update v1.3.0-{alpha.2,rc.0}; copyright year update ( #4477 )
2023-01-09 22:44:44 +00:00
tersec
787703bd0c
use v1.3.0-rc.0 consensus spec test vectors ( #4472 )
2023-01-09 15:15:43 +01:00
tersec
47cb0f7991
capella forkchoiceUpdated support ( #4462 )
...
* capella forkchoiceUpdated support
* match V2 fcU with V2 getPayload
2023-01-06 22:01:10 +01:00
tersec
c5d1683f19
spec ref URL & copyright year updates ( #4467 )
2023-01-06 16:28:46 +00:00
henridf
8251cc223d
eip4844 gossip ( #4444 )
...
* eip4844 gossip
* Check BLSFieldElement range validity in gossip validation
* lint/nits cleanup
* Use template to avoid an assignment with copy.
* More review feedback
* lint
* lint
* processSignedBeaconBlockAndBlobsSidecar: clean up error handling flow
* Undo factoring-out of beacon blocks validator installation
2023-01-04 12:34:15 +00:00
Jacek Sieka
bd8f08204e
Implement skip_randao_verification for blinded blocks ( #4435 )
...
* Implement skip_randao_verification for blinded blocks
* fix redundant randao verification on block replay (5% faster)
* check randao in REST instead of internally
* avoid redundant copies when making blocks
* cleanup leftover randao skipping code
* fix test summary
2022-12-19 15:11:12 +02:00
tersec
110401394b
consolidate consensus spec transition test fixtures ( #4428 )
...
* consolidate consensus spec transition test fixtures
* include capella
* consoliate fork test fixtures
* note change in EIP-4844 process_block in alpha.2
2022-12-15 22:51:04 +00:00
tersec
bb4ea37baa
update EF consensus spec URLs from v1.3.0-alpha.1 to v1.3.0-alpha.2 ( #4432 )
2022-12-15 12:15:12 +00:00
tersec
d269d82b71
use v1.3.0-alpha.2 EF consensus spec test vectors ( #4430 )
2022-12-15 01:51:06 +00:00
tersec
bc996623e0
add EIP4844 block database read/write test ( #4416 )
2022-12-13 00:56:50 +00:00
tersec
dee5af58d6
eip4844 light client tests; avoid case object out-of-bound array reads ( #4404 )
2022-12-08 17:21:53 +01:00
tersec
50bcc48e17
eip4844 block/slot sanity and transition tests ( #4399 )
2022-12-08 02:07:41 +00:00
tersec
7cf432b155
eip4844 fork and epoch transition tests; some eip4844 gossip ( #4393 )
2022-12-06 16:43:11 +00:00
tersec
031780b612
eip4844 operations tests ( #4392 )
2022-12-06 12:40:13 +00:00
tersec
415b11aa67
EIP4844 tweaks to pass SSZ consensus object tests ( #4390 )
2022-12-05 21:36:53 +00:00
tersec
5c16062de9
remove all but truly stub support for `SHARDING_FORK_{EPOCH,VERSION}` ( #4385 )
2022-12-02 13:33:18 +01:00
tersec
474b0d8502
`withUpdatedState` injects `updatedState` rather than `state` template ( #4375 )
2022-11-30 16:37:23 +02:00
tersec
df54470b13
verify `CAPELLA_FORK_EPOCH == FAR_FUTURE_EPOCH` for supported networks ( #4369 )
2022-11-29 09:12:25 +01:00
tersec
898684c175
REST server shouldn't create validation objects when optimistically synced ( #4361 )
2022-11-25 22:49:31 +00:00
tersec
61c5ac32d8
automated consensus spec ref URL update to v1.3.0-alpha.1 ( #4354 )
2022-11-24 19:07:02 +00:00
tersec
1146470f7d
use v1.3.0-alpha.1 consensus spec test vectors ( #4338 )
2022-11-21 08:44:49 +01:00
tersec
909c095e64
initial automated v1.2.0 -> v1.3.0-alpha.0 consensus spec URL update ( #4296 )
2022-11-08 02:37:28 +00:00
tersec
0a43c89cd2
run capella block sanity tests in CI ( #4292 )
2022-11-07 18:37:48 +00:00
tersec
5b46f0b723
add Capella support to Forked* ( #4276 )
...
* add Capella support to Forked*
* remove cruft
* add `OnForkyBlockAdded`
2022-11-02 16:23:30 +00:00
tersec
0cfc1b776e
add all missing epoch transition tests ( #4269 )
2022-10-28 08:02:33 +00:00
tersec
06ccf5b80c
capella test vector support ( #4261 )
2022-10-27 06:29:24 +00:00
tersec
ce915c0a03
add beaconcha.in mainnet relay overview to guide ( #4217 )
2022-10-04 19:45:06 +03:00
tersec
57d68d0f72
re-enable randao checks ( #4187 )
...
* re-enable randao checks
* use `asSigVerified` consistently
* fix spelling
* document why state_transition.makeBeaconBlock trusting signatures is safe
2022-09-28 01:15:10 +00:00
tersec
3c03ba86c1
update consensus spec ref URLs to v1.2.0 ( #4164 )
2022-09-23 07:56:06 +00:00
Michael Sproul
d6325b1ab5
api: add skip_randao_verification for produceBlockV2 ( #3837 )
2022-09-21 09:38:08 +02:00
tersec
ad0d30093f
state/forkyState cleanup; spec URL updates; rm unused imports ( #4052 )
2022-08-31 13:29:34 +02:00
tersec
9ae796daed
Cache and resend, rather than recreate, builder API registrations ( #4040 )
2022-08-31 03:29:03 +03:00
tersec
b60456fdf3
`withState`: `state` -> `forkyState` ( #4038 )
2022-08-26 22:47:40 +00:00
tersec
c65eaca1bf
update spec ref URLs ( #4005 )
2022-08-20 16:03:32 +00:00
tersec
c0f673dc09
spec ref URL updates: v1.2.0-rc.{1,2} for phase0/fork-choice altair/beacon-chain ( #3986 )
2022-08-18 07:25:33 +00:00
tersec
8274d5373b
update spec ref URLs ( #3979 )
2022-08-17 11:33:19 +00:00
Miran
dfd4afc9f2
compatibility with Nim 1.4+ ( #3888 )
2022-07-29 10:53:42 +00:00
Jacek Sieka
48f01186d6
fix unnecessary HashList/HashArray cache invalidation ( #3660 )
...
* SSZ `[]` -> `mitem`
* `[]` -> `item`
immutable access via mutable instance cannot rely on template
overloading, and `[]` cannot be a `func` because of special seq handling
in compiler.
2022-05-30 13:30:42 +00:00
tersec
bf1763fdef
consensus specs v1.2.0-rc.1 ( #3661 )
2022-05-25 13:49:29 +00:00
tersec
b3d603f364
more CL spec URL updates to v1.2.0-rc.1 ( #3657 )
2022-05-24 08:26:35 +00:00
Jacek Sieka
1101c745b9
document and clean up `ValidatorIndex` usage ( #3651 )
...
* document static vs dynamic range checking requirements
* add `vindices` iterator to iterate over valid validator indices in a
state
* clean up spec comments in general
* fixup
Co-authored-by: tersec <tersec@users.noreply.github.com>
2022-05-23 23:39:08 +00:00
tersec
c73239f60b
CL spec URL updates to v1.2.0-rc.1 ( #3655 )
2022-05-23 19:30:24 +00:00
zah
18968e9dfa
Bugfix: Invalid blocks were produced in the presence of invalid deposits ( #3639 )
...
Since we were not verifying BLS signature in blocks that we produce,
we were failing to notice that some deposits need to be ignored (due
to having an invalid signature). Processing these deposits resulted
in a different ending state after the state transition which caused
our blocks to be rejected by the network.
2022-05-17 22:56:15 +03:00
tersec
61ba308e13
stylecheck fixes ( #3593 )
2022-04-14 17:39:37 +02:00
Jacek Sieka
bc4d4e1741
remove redundant `process_block` overloads ( #3541 )
2022-03-23 12:49:54 +00:00
tersec
c18cd8ee0c
rename random -> prev_randao in Bellatrix for CL specs v1.1.10 ( #3460 )
2022-03-03 16:08:14 +00:00
tersec
f0ada15dac
automated CL spec ref URL updates from v1.1.9 to v1.1.10 ( #3455 )
2022-03-02 10:00:21 +00:00
tersec
7de3f00f35
generic putCorruptState; {Merge=>Bellatrix}BeaconStateNoImmutableValidators ( #3427 )
2022-02-21 12:55:56 +01:00
tersec
79761c78a4
proc -> func, mainly in spec/state transition and adjecent modules ( #3405 )
2022-02-17 11:53:55 +00:00
Jacek Sieka
40fe8f5336
fix missing backfill when restarting node
...
When node is restarted before backfill has started but after some blocks
have finalized with forward sync, we would not start the backfill.
* also clean up one last `SomeSome`
2022-02-11 23:08:50 +02:00
tersec
0c814f49ee
rename sync_{committee_,}aggregate and execute_payload -> notify_new_payload ( #3347 )
2022-02-01 07:31:53 +00:00
EmilIvanichkovv
336403d18b
Refactor `handleValidatorExitCommand`
...
Make `validator exit command` work both with `JSON-RPC` and `REST` APIs
Fix problem with specifying rest-url using `localhost`
Change back exit error messages in `state_transition_block`
2022-02-01 01:24:05 +02:00
Jacek Sieka
d583e8e4ac
Store finalized block roots in database (3s startup) ( #3320 )
...
* Store finalized block roots in database (3s startup)
When the chain has finalized a checkpoint, the history from that point
onwards becomes linear - this is exploited in `.era` files to allow
constant-time by-slot lookups.
In the database, we can do the same by storing finalized block roots in
a simple sparse table indexed by slot, bringing the two representations
closer to each other in terms of conceptual layout and performance.
Doing so has a number of interesting effects:
* mainnet startup time is improved 3-5x (3s on my laptop)
* the _first_ startup might take slightly longer as the new index is
being built - ~10s on the same laptop
* we no longer rely on the beacon block summaries to load the full dag -
this is a lot faster because we no longer have to look up each block by
parent root
* a collateral benefit is that we no longer need to load the full
summaries table into memory - we get the RSS benefits of #3164 without
the CPU hit.
Other random stuff:
* simplify forky block generics
* fix withManyWrites multiple evaluation
* fix validator key cache not being updated properly in chaindag
read-only mode
* drop pre-altair summaries from `kvstore`
* recreate missing summaries from altair+ blocks as well (in case
database has lost some to an involuntary restart)
* print database startup timings in chaindag load log
* avoid allocating superfluos state at startup
* use a recursive sql query to load the summaries of the unfinalized
blocks
2022-01-30 18:51:04 +02:00
tersec
29e2169585
phase 0 & altair beacon chain and altair validator spec URL updates ( #3339 )
2022-01-29 13:53:31 +00:00
Emil
efbd939108
Make `handleValidatorExitCommand` work with `REST API`
2022-01-25 14:00:29 +02:00