2020-03-10 04:24:33 +00:00
|
|
|
AllTests-mainnet
|
|
|
|
===
|
2023-07-18 15:37:53 +00:00
|
|
|
## Ancestry
|
|
|
|
```diff
|
|
|
|
+ ancestorSlot OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2020-04-29 11:44:07 +00:00
|
|
|
## Attestation pool processing [Preset: mainnet]
|
|
|
|
```diff
|
2022-11-07 18:37:48 +00:00
|
|
|
+ Attestation from different branch [Preset: mainnet] OK
|
2020-04-29 11:44:07 +00:00
|
|
|
+ Attestations may arrive in any order [Preset: mainnet] OK
|
|
|
|
+ Attestations may overlap, bigger first [Preset: mainnet] OK
|
|
|
|
+ Attestations may overlap, smaller first [Preset: mainnet] OK
|
|
|
|
+ Attestations should be combined [Preset: mainnet] OK
|
2021-04-12 20:25:09 +00:00
|
|
|
+ Can add and retrieve simple attestations [Preset: mainnet] OK
|
|
|
|
+ Everyone voting for something different [Preset: mainnet] OK
|
2020-04-29 11:44:07 +00:00
|
|
|
+ Fork choice returns block with attestation OK
|
|
|
|
+ Fork choice returns latest block with no attestations OK
|
2020-07-09 09:29:32 +00:00
|
|
|
+ Trying to add a block twice tags the second as an error OK
|
|
|
|
+ Trying to add a duplicate block from an old pruned epoch is tagged as an error OK
|
2021-04-12 20:25:09 +00:00
|
|
|
+ Working with aggregates [Preset: mainnet] OK
|
2020-04-29 11:44:07 +00:00
|
|
|
```
|
2022-11-07 18:37:48 +00:00
|
|
|
OK: 12/12 Fail: 0/12 Skip: 0/12
|
Backfill support for ChainDAG (#3171)
In the ChainDAG, 3 block pointers are kept: genesis, tail and head. This
PR adds one more block pointer: the backfill block which represents the
block that has been backfilled so far.
When doing a checkpoint sync, a random block is given as starting point
- this is the tail block, and we require that the tail block has a
corresponding state.
When backfilling, we end up with blocks without corresponding states,
hence we cannot use `tail` as a backfill pointer - there is no state.
Nonetheless, we need to keep track of where we are in the backfill
process between restarts, such that we can answer GetBeaconBlocksByRange
requests.
This PR adds the basic support for backfill handling - it needs to be
integrated with backfill sync, and the REST API needs to be adjusted to
take advantage of the new backfilled blocks when responding to certain
requests.
Future work will also enable moving the tail in either direction:
* pruning means moving the tail forward in time and removing states
* backwards means recreating past states from genesis, such that
intermediate states are recreated step by step all the way to the tail -
at that point, tail, genesis and backfill will match up.
* backfilling is done when backfill != genesis - later, this will be the
WSS checkpoint instead
2021-12-13 13:36:06 +00:00
|
|
|
## Backfill
|
|
|
|
```diff
|
2024-02-09 19:44:54 +00:00
|
|
|
+ Backfill to genesis OK
|
2022-10-14 19:40:10 +00:00
|
|
|
+ Init without genesis / block OK
|
2024-02-09 19:44:54 +00:00
|
|
|
+ Reload backfill position OK
|
|
|
|
+ Restart after each block OK
|
Backfill support for ChainDAG (#3171)
In the ChainDAG, 3 block pointers are kept: genesis, tail and head. This
PR adds one more block pointer: the backfill block which represents the
block that has been backfilled so far.
When doing a checkpoint sync, a random block is given as starting point
- this is the tail block, and we require that the tail block has a
corresponding state.
When backfilling, we end up with blocks without corresponding states,
hence we cannot use `tail` as a backfill pointer - there is no state.
Nonetheless, we need to keep track of where we are in the backfill
process between restarts, such that we can answer GetBeaconBlocksByRange
requests.
This PR adds the basic support for backfill handling - it needs to be
integrated with backfill sync, and the REST API needs to be adjusted to
take advantage of the new backfilled blocks when responding to certain
requests.
Future work will also enable moving the tail in either direction:
* pruning means moving the tail forward in time and removing states
* backwards means recreating past states from genesis, such that
intermediate states are recreated step by step all the way to the tail -
at that point, tail, genesis and backfill will match up.
* backfilling is done when backfill != genesis - later, this will be the
WSS checkpoint instead
2021-12-13 13:36:06 +00:00
|
|
|
```
|
2024-02-09 19:44:54 +00:00
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2020-03-10 04:24:33 +00:00
|
|
|
## Beacon chain DB [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ empty database [Preset: mainnet] OK
|
|
|
|
+ find ancestors [Preset: mainnet] OK
|
2021-06-29 15:09:29 +00:00
|
|
|
+ sanity check Altair and cross-fork getState rollback [Preset: mainnet] OK
|
2021-06-24 07:11:47 +00:00
|
|
|
+ sanity check Altair blocks [Preset: mainnet] OK
|
|
|
|
+ sanity check Altair states [Preset: mainnet] OK
|
|
|
|
+ sanity check Altair states, reusing buffers [Preset: mainnet] OK
|
2022-01-26 12:21:29 +00:00
|
|
|
+ sanity check Bellatrix and cross-fork getState rollback [Preset: mainnet] OK
|
|
|
|
+ sanity check Bellatrix blocks [Preset: mainnet] OK
|
|
|
|
+ sanity check Bellatrix states [Preset: mainnet] OK
|
|
|
|
+ sanity check Bellatrix states, reusing buffers [Preset: mainnet] OK
|
2022-12-14 23:12:29 +00:00
|
|
|
+ sanity check Capella and cross-fork getState rollback [Preset: mainnet] OK
|
2022-11-09 17:32:10 +00:00
|
|
|
+ sanity check Capella blocks [Preset: mainnet] OK
|
2022-12-14 23:12:29 +00:00
|
|
|
+ sanity check Capella states [Preset: mainnet] OK
|
|
|
|
+ sanity check Capella states, reusing buffers [Preset: mainnet] OK
|
2023-03-11 01:49:17 +00:00
|
|
|
+ sanity check Deneb and cross-fork getState rollback [Preset: mainnet] OK
|
|
|
|
+ sanity check Deneb blocks [Preset: mainnet] OK
|
|
|
|
+ sanity check Deneb states [Preset: mainnet] OK
|
|
|
|
+ sanity check Deneb states, reusing buffers [Preset: mainnet] OK
|
2023-10-26 03:40:04 +00:00
|
|
|
+ sanity check blobs [Preset: mainnet] OK
|
2020-03-10 04:24:33 +00:00
|
|
|
+ sanity check genesis roundtrip [Preset: mainnet] OK
|
2021-06-24 07:11:47 +00:00
|
|
|
+ sanity check phase 0 blocks [Preset: mainnet] OK
|
2021-06-29 15:09:29 +00:00
|
|
|
+ sanity check phase 0 getState rollback [Preset: mainnet] OK
|
2021-06-24 07:11:47 +00:00
|
|
|
+ sanity check phase 0 states [Preset: mainnet] OK
|
|
|
|
+ sanity check phase 0 states, reusing buffers [Preset: mainnet] OK
|
2021-01-18 20:34:41 +00:00
|
|
|
+ sanity check state diff roundtrip [Preset: mainnet] OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2023-10-26 03:40:04 +00:00
|
|
|
OK: 25/25 Fail: 0/25 Skip: 0/25
|
2020-03-10 04:24:33 +00:00
|
|
|
## Beacon state [Preset: mainnet]
|
|
|
|
```diff
|
2021-05-04 10:19:11 +00:00
|
|
|
+ Smoke test initialize_beacon_state_from_eth1 [Preset: mainnet] OK
|
2022-11-10 10:44:47 +00:00
|
|
|
+ can_advance_slots OK
|
2022-03-15 08:24:55 +00:00
|
|
|
+ dependent_root OK
|
2021-11-18 12:02:43 +00:00
|
|
|
+ get_beacon_proposer_index OK
|
|
|
|
+ latest_block_root OK
|
2022-07-01 21:52:23 +00:00
|
|
|
+ merklizer state roundtrip OK
|
2022-01-17 12:58:33 +00:00
|
|
|
+ process_slots OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2022-11-10 10:44:47 +00:00
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2022-01-11 10:01:54 +00:00
|
|
|
## Beacon time
|
|
|
|
```diff
|
2023-05-16 08:21:52 +00:00
|
|
|
+ Dependent slots OK
|
2022-01-11 10:01:54 +00:00
|
|
|
+ basics OK
|
|
|
|
```
|
2023-05-16 08:21:52 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2024-01-31 03:18:55 +00:00
|
|
|
## Blinded block conversions
|
|
|
|
```diff
|
|
|
|
+ Bellatrix toSignedBlindedBlock OK
|
|
|
|
+ Capella toSignedBlindedBlock OK
|
|
|
|
+ Deneb toSignedBlindedBlock OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
Speed up altair block processing 2x (#3115)
* Speed up altair block processing >2x
Like #3089, this PR drastially speeds up historical REST queries and
other long state replays.
* cache sync committee validator indices
* use ~80mb less memory for validator pubkey mappings
* batch-verify sync aggregate signature (fixes #2985)
* document sync committee hack with head block vs sync message block
* add batch signature verification failure tests
Before:
```
../env.sh nim c -d:release -r ncli_db --db:mainnet_0/db bench --start-slot:-1000
All time are ms
Average, StdDev, Min, Max, Samples, Test
Validation is turned off meaning that no BLS operations are performed
5830.675, 0.000, 5830.675, 5830.675, 1, Initialize DB
0.481, 1.878, 0.215, 59.167, 981, Load block from database
8422.566, 0.000, 8422.566, 8422.566, 1, Load state from database
6.996, 1.678, 0.042, 14.385, 969, Advance slot, non-epoch
93.217, 8.318, 84.192, 122.209, 32, Advance slot, epoch
20.513, 23.665, 11.510, 201.561, 981, Apply block, no slot processing
0.000, 0.000, 0.000, 0.000, 0, Database load
0.000, 0.000, 0.000, 0.000, 0, Database store
```
After:
```
7081.422, 0.000, 7081.422, 7081.422, 1, Initialize DB
0.553, 2.122, 0.175, 66.692, 981, Load block from database
5439.446, 0.000, 5439.446, 5439.446, 1, Load state from database
6.829, 1.575, 0.043, 12.156, 969, Advance slot, non-epoch
94.716, 2.749, 88.395, 100.026, 32, Advance slot, epoch
11.636, 23.766, 4.889, 205.250, 981, Apply block, no slot processing
0.000, 0.000, 0.000, 0.000, 0, Database load
0.000, 0.000, 0.000, 0.000, 0, Database store
```
* add comment
2021-11-24 12:43:50 +00:00
|
|
|
## Block pool altair processing [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Invalid signatures [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2020-05-05 09:18:44 +00:00
|
|
|
## Block pool processing [Preset: mainnet]
|
|
|
|
```diff
|
2021-12-20 19:20:31 +00:00
|
|
|
+ Adding the same block twice returns a Duplicate error [Preset: mainnet] OK
|
2020-05-05 09:18:44 +00:00
|
|
|
+ Simple block add&get [Preset: mainnet] OK
|
Prune `BlockRef` on finalization (#3513)
Up til now, the block dag has been using `BlockRef`, a structure adapted
for a full DAG, to represent all of chain history. This is a correct and
simple design, but does not exploit the linearity of the chain once
parts of it finalize.
By pruning the in-memory `BlockRef` structure at finalization, we save,
at the time of writing, a cool ~250mb (or 25%:ish) chunk of memory
landing us at a steady state of ~750mb normal memory usage for a
validating node.
Above all though, we prevent memory usage from growing proportionally
with the length of the chain, something that would not be sustainable
over time - instead, the steady state memory usage is roughly
determined by the validator set size which grows much more slowly. With
these changes, the core should remain sustainable memory-wise post-merge
all the way to withdrawals (when the validator set is expected to grow).
In-memory indices are still used for the "hot" unfinalized portion of
the chain - this ensure that consensus performance remains unchanged.
What changes is that for historical access, we use a db-based linear
slot index which is cache-and-disk-friendly, keeping the cost for
accessing historical data at a similar level as before, achieving the
savings at no percievable cost to functionality or performance.
A nice collateral benefit is the almost-instant startup since we no
longer load any large indicies at dag init.
The cost of this functionality instead can be found in the complexity of
having to deal with two ways of traversing the chain - by `BlockRef` and
by slot.
* use `BlockId` instead of `BlockRef` where finalized / historical data
may be required
* simplify clearance pre-advancement
* remove dag.finalizedBlocks (~50:ish mb)
* remove `getBlockAtSlot` - use `getBlockIdAtSlot` instead
* `parent` and `atSlot` for `BlockId` now require a `ChainDAGRef`
instance, unlike `BlockRef` traversal
* prune `BlockRef` parents on finality (~200:ish mb)
* speed up ChainDAG init by not loading finalized history index
* mess up light client server error handling - this need revisiting :)
2022-03-17 17:42:56 +00:00
|
|
|
+ basic ops OK
|
2020-05-05 09:18:44 +00:00
|
|
|
+ updateHead updates head and headState [Preset: mainnet] OK
|
2022-03-16 07:20:40 +00:00
|
|
|
+ updateState sanity [Preset: mainnet] OK
|
2020-05-05 09:18:44 +00:00
|
|
|
```
|
2022-12-19 13:11:12 +00:00
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2021-12-06 09:49:01 +00:00
|
|
|
## Block processor [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Reverse order block add & get [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2022-01-26 12:20:08 +00:00
|
|
|
## Block quarantine
|
|
|
|
```diff
|
2024-03-21 18:41:05 +00:00
|
|
|
+ Recursive missing parent OK
|
2022-01-26 12:20:08 +00:00
|
|
|
+ Unviable smoke test OK
|
|
|
|
```
|
2024-03-21 18:41:05 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2021-12-09 17:06:21 +00:00
|
|
|
## BlockId and helpers
|
2020-03-10 04:24:33 +00:00
|
|
|
```diff
|
2021-12-09 17:06:21 +00:00
|
|
|
+ atSlot sanity OK
|
|
|
|
+ parent sanity OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2021-12-07 13:43:06 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2021-12-09 17:06:21 +00:00
|
|
|
## BlockRef and helpers
|
2020-03-10 04:24:33 +00:00
|
|
|
```diff
|
2021-12-09 17:06:21 +00:00
|
|
|
+ get_ancestor sanity OK
|
|
|
|
+ isAncestorOf sanity OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2023-07-18 15:37:53 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2021-12-09 17:06:21 +00:00
|
|
|
## BlockSlot and helpers
|
|
|
|
```diff
|
|
|
|
+ atSlot sanity OK
|
|
|
|
+ parent sanity OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2022-08-19 10:30:07 +00:00
|
|
|
## DeleteKeys requests [Beacon Node] [Preset: mainnet]
|
2021-12-22 12:37:31 +00:00
|
|
|
```diff
|
2022-08-19 10:30:07 +00:00
|
|
|
+ Deleting not existing key [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
2021-12-22 12:37:31 +00:00
|
|
|
```
|
2022-06-20 05:38:56 +00:00
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-08-19 10:30:07 +00:00
|
|
|
## DeleteRemoteKeys requests [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Deleting existing local key and remote key [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Deleting not existing key [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2024-03-07 17:42:52 +00:00
|
|
|
## DepositContractSnapshot
|
2022-12-07 10:24:51 +00:00
|
|
|
```diff
|
|
|
|
+ Migration OK
|
|
|
|
+ SSZ OK
|
|
|
|
+ depositCount OK
|
|
|
|
+ isValid OK
|
|
|
|
```
|
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-08-21 17:36:46 +00:00
|
|
|
## Discovery fork ID
|
|
|
|
```diff
|
|
|
|
+ Expected fork IDs OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2021-09-08 03:46:33 +00:00
|
|
|
## Diverging hardforks
|
|
|
|
```diff
|
|
|
|
+ Non-tail block in common OK
|
|
|
|
+ Tail block only in common OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2024-01-12 22:29:43 +00:00
|
|
|
## EF - KZG
|
|
|
|
```diff
|
2024-01-19 10:59:07 +00:00
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_invalid_blob_59d64ff6b4648fad OK
|
2024-01-13 01:31:29 +00:00
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_invalid_blob_635fb2de5b0dc429 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_invalid_blob_a3b9ff28507767f8 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_invalid_blob_d3afbd98123a3434 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_0951cfd9ab47a8d3 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_19b3f3f8c98ea31e OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_84d8089232bc23a8 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_a87a4e636e0f58fb OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_c40b9b515df8721b OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_cdb3e6d49eb12307 OK
|
|
|
|
+ KZG - Blob to KZG commitment - blob_to_kzg_commitment_case_valid_blob_fb324bc819407148 OK
|
2024-01-19 10:59:07 +00:00
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_blob_59d64ff6b4648fad OK
|
2024-01-12 22:29:43 +00:00
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_blob_635fb2de5b0dc429 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_blob_a3b9ff28507767f8 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_blob_d3afbd98123a3434 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_03265c1605637b1f OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_881cc19564a97501 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_8e021fdb13259641 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_9683af102559ddf0 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_9df8c89b61183887 OK
|
2024-01-19 10:59:07 +00:00
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_invalid_z_b30d81e81c1262b6 OK
|
2024-01-12 22:29:43 +00:00
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_02e696ada7d4631d OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_05c1f3685f3393f0 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_08f9e2f1cb3d39db OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_0cf79b17cb5f4ea2 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_177b58dc7a46b08f OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_1ce8e4f69d5df899 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_26b753dec0560daa OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_2b76dc9e3abf42f3 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_31ebd010e6098750 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_3208425794224c3f OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_36817bfd67de97a8 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_392169c16a2e5ef6 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_395cf6d697d1a743 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_3ac8dc31e9aa6a70 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_3c1e8b38219e3e12 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_3c87ec986c2656c2 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_3cd183d0bab85fb7 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_420f2a187ce77035 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_444b73ff54a19b44 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_53a9bdf4f75196da OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_585454b31673dd62 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_7db4f140a955dd1a OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_83e53423a2dd93fe OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_9b24f8997145435c OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_9b754afb690c47e1 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_a0be66af9a97ea52 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_af669445747d2585 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_af8b75f664ed7d43 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_b6cb6698327d9835 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_b6ec3736f9ff2c62 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_becf2e1641bbd4e6 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_c3d4322ec17fe7cd OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_c5e1490d672d026d OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_cae5d3491190b777 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_d0992bc0387790a4 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_d736268229bd87ec OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_e68d7111a2364a49 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_ed6b180ec759bcf6 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_f0ed3dc11cdeb130 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_f47eb9fc139f6bfd OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_f7f44e1e864aa967 OK
|
|
|
|
+ KZG - Compute KZG proof - compute_kzg_proof_case_valid_blob_ffa6e97b97146517 OK
|
2024-01-19 10:59:07 +00:00
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_blob_59d64ff6b4648fad OK
|
2024-01-13 01:31:29 +00:00
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_blob_635fb2de5b0dc429 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_blob_a3b9ff28507767f8 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_blob_d3afbd98123a3434 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_commitment_1a68c47b6814 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_commitment_24b932fb4dec OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_commitment_3a6eb616efae OK
|
2024-01-19 10:59:07 +00:00
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_invalid_commitment_d070689c3e15 OK
|
2024-01-13 01:31:29 +00:00
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_0951cfd9ab47a8d3 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_19b3f3f8c98ea31e OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_84d8089232bc23a8 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_a87a4e636e0f58fb OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_c40b9b515df8721b OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_cdb3e6d49eb12307 OK
|
|
|
|
+ KZG - Compute blob KZG proof - compute_blob_kzg_proof_case_valid_blob_fb324bc819407148 OK
|
2024-01-12 22:29:43 +00:00
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_02e696ada7d4631d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_05c1f3685f3393f0 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_08f9e2f1cb3d39db OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_0cf79b17cb5f4ea2 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_177b58dc7a46b08f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_1ce8e4f69d5df899 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_26b753dec0560daa OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_2b76dc9e3abf42f3 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_31ebd010e6098750 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_3208425794224c3f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_36817bfd67de97a8 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_392169c16a2e5ef6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_395cf6d697d1a743 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_3ac8dc31e9aa6a70 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_3c1e8b38219e3e12 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_3c87ec986c2656c2 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_3cd183d0bab85fb7 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_420f2a187ce77035 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_444b73ff54a19b44 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_53a9bdf4f75196da OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_585454b31673dd62 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_7db4f140a955dd1a OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_83e53423a2dd93fe OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_9b24f8997145435c OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_9b754afb690c47e1 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_a0be66af9a97ea52 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_af669445747d2585 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_af8b75f664ed7d43 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_b6cb6698327d9835 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_b6ec3736f9ff2c62 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_becf2e1641bbd4e6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_c3d4322ec17fe7cd OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_c5e1490d672d026d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_cae5d3491190b777 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_d0992bc0387790a4 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_d736268229bd87ec OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_e68d7111a2364a49 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_ed6b180ec759bcf6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_f0ed3dc11cdeb130 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_f47eb9fc139f6bfd OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_f7f44e1e864aa967 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_ffa6e97b97146517 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_twos_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_correct_proof_point_at_infinity_for_zero_po OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_02e696ada7d4631d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_05c1f3685f3393f0 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_08f9e2f1cb3d39db OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_0cf79b17cb5f4ea2 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_177b58dc7a46b08f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_1ce8e4f69d5df899 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_26b753dec0560daa OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_2b76dc9e3abf42f3 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_31ebd010e6098750 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_3208425794224c3f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_36817bfd67de97a8 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_392169c16a2e5ef6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_395cf6d697d1a743 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_3ac8dc31e9aa6a70 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_3c1e8b38219e3e12 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_3c87ec986c2656c2 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_3cd183d0bab85fb7 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_420f2a187ce77035 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_444b73ff54a19b44 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_53a9bdf4f75196da OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_585454b31673dd62 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_7db4f140a955dd1a OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_83e53423a2dd93fe OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_9b24f8997145435c OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_9b754afb690c47e1 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_a0be66af9a97ea52 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_af669445747d2585 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_af8b75f664ed7d43 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_b6cb6698327d9835 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_b6ec3736f9ff2c62 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_becf2e1641bbd4e6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_c3d4322ec17fe7cd OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_c5e1490d672d026d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_cae5d3491190b777 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_d0992bc0387790a4 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_d736268229bd87ec OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_e68d7111a2364a49 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_ed6b180ec759bcf6 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_f0ed3dc11cdeb130 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_f47eb9fc139f6bfd OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_f7f44e1e864aa967 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_ffa6e97b97146517 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_392169c16 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_3c1e8b382 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_3c87ec986 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_420f2a187 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_83e53423a OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_incorrect_proof_point_at_infinity_ed6b180ec OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_commitment_1b44e341d56c757d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_commitment_32afa9561a4b3b91 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_commitment_3e55802a5ed3c757 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_commitment_e9d3e9ec16fbc15f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_proof_1b44e341d56c757d OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_proof_32afa9561a4b3b91 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_proof_3e55802a5ed3c757 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_proof_e9d3e9ec16fbc15f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_35d08d612aad2197 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_4aa6def8c35c9097 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_4e51cef08a61606f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_64b9ff2b8f7dddee OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_b358a2e763727b70 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_y_eb0601fec84cc5e9 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_35d08d612aad2197 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_4aa6def8c35c9097 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_4e51cef08a61606f OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_64b9ff2b8f7dddee OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_b358a2e763727b70 OK
|
|
|
|
+ KZG - Verify KZG proof - verify_kzg_proof_case_invalid_z_eb0601fec84cc5e9 OK
|
2024-01-13 01:31:29 +00:00
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_0951cfd9ab47a8d3 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_19b3f3f8c98ea31e OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_84d8089232bc23a8 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_a87a4e636e0f58fb OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_c40b9b515df8721b OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_cdb3e6d49eb12307 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_fb324bc819407148 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_point_at_infinity_f OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_correct_proof_point_at_infinity_f OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_0951cfd9ab47a8d3 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_19b3f3f8c98ea31e OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_84d8089232bc23a8 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_a87a4e636e0f58fb OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_c40b9b515df8721b OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_cdb3e6d49eb12307 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_fb324bc819407148 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_incorrect_proof_point_at_infinity OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_blob_59d64ff6b4648fad OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_blob_635fb2de5b0dc429 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_blob_a3b9ff28507767f8 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_blob_d3afbd98123a3434 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_commitment_1a68c47b68148e OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_commitment_24b932fb4dec5b OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_commitment_3a6eb616efae06 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_commitment_d070689c3e1544 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_proof_1a68c47b68148e78 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_proof_24b932fb4dec5b2d OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_proof_3a6eb616efae0627 OK
|
|
|
|
+ KZG - Verify blob KZG proof - verify_blob_kzg_proof_case_invalid_proof_d070689c3e15444c OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_0951cfd9ab47a8d3 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_0f3f1d3f48f71495 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_12c097d7ca0261e3 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_2ef482373a81e34e OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_a271b78b8e869d69 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_blob_length_different OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_cb3c3279a1afddcf OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_commitment_length_dif OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_e61aafba051ddf79 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_incorrect_proof_add_o OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_incorrect_proof_point OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_blob_59d64ff6 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_blob_635fb2de OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_blob_a3b9ff28 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_blob_d3afbd98 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_commitment_1a OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_commitment_24 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_commitment_3a OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_commitment_d0 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_proof_1a68c47 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_proof_24b932f OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_proof_3a6eb61 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_invalid_proof_d070689 OK
|
|
|
|
+ KZG - Verify blob KZG proof batch - verify_blob_kzg_proof_batch_case_proof_length_differen OK
|
|
|
|
```
|
2024-01-19 10:59:07 +00:00
|
|
|
OK: 253/253 Fail: 0/253 Skip: 0/253
|
2022-01-05 08:42:56 +00:00
|
|
|
## EF - SSZ generic types
|
2021-10-12 11:36:52 +00:00
|
|
|
```diff
|
|
|
|
Testing basic_vector inputs - invalid Skip
|
|
|
|
+ Testing basic_vector inputs - valid OK
|
|
|
|
+ Testing bitlist inputs - invalid OK
|
|
|
|
+ Testing bitlist inputs - valid OK
|
|
|
|
Testing bitvector inputs - invalid Skip
|
|
|
|
+ Testing bitvector inputs - valid OK
|
|
|
|
+ Testing boolean inputs - invalid OK
|
|
|
|
+ Testing boolean inputs - valid OK
|
|
|
|
+ Testing containers inputs - invalid - skipping BitsStruct OK
|
|
|
|
+ Testing containers inputs - valid - skipping BitsStruct OK
|
|
|
|
+ Testing uints inputs - invalid OK
|
|
|
|
+ Testing uints inputs - valid OK
|
|
|
|
```
|
|
|
|
OK: 10/12 Fail: 0/12 Skip: 2/12
|
2024-03-08 13:22:03 +00:00
|
|
|
## EIP-4881
|
|
|
|
```diff
|
|
|
|
+ deposit_cases OK
|
|
|
|
+ empty_root OK
|
|
|
|
+ finalization OK
|
|
|
|
+ invalid_snapshot OK
|
|
|
|
+ snapshot_cases OK
|
|
|
|
```
|
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2023-03-14 15:40:37 +00:00
|
|
|
## EL Configuration
|
|
|
|
```diff
|
|
|
|
+ Empty config file OK
|
|
|
|
+ Invalid URls OK
|
|
|
|
+ New style config files OK
|
|
|
|
+ Old style config files OK
|
|
|
|
+ URL parsing OK
|
|
|
|
```
|
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2022-01-05 08:42:56 +00:00
|
|
|
## Eth1 monitor
|
|
|
|
```diff
|
2022-08-12 13:52:06 +00:00
|
|
|
+ Deposits chain OK
|
2023-03-14 15:40:37 +00:00
|
|
|
+ Rewrite URLs OK
|
2022-11-29 05:02:16 +00:00
|
|
|
+ Roundtrip engine RPC V1 and bellatrix ExecutionPayload representations OK
|
|
|
|
+ Roundtrip engine RPC V2 and capella ExecutionPayload representations OK
|
2023-03-11 00:28:19 +00:00
|
|
|
+ Roundtrip engine RPC V3 and deneb ExecutionPayload representations OK
|
2022-01-05 08:42:56 +00:00
|
|
|
```
|
2023-01-11 18:21:19 +00:00
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2022-01-05 08:42:56 +00:00
|
|
|
## Eth2 specific discovery tests
|
|
|
|
```diff
|
|
|
|
+ Invalid attnets field OK
|
|
|
|
+ Subnet query OK
|
|
|
|
+ Subnet query after ENR update OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2022-08-19 10:30:07 +00:00
|
|
|
## Fee recipient management [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
2023-05-17 04:56:37 +00:00
|
|
|
+ Configuring the fee recipient [Beacon Node] [Preset: mainnet] OK
|
2022-08-19 10:30:07 +00:00
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
2023-05-17 04:56:37 +00:00
|
|
|
+ Obtaining the fee recipient of a missing validator returns 404 [Beacon Node] [Preset: main OK
|
|
|
|
+ Obtaining the fee recipient of an unconfigured validator returns the suggested default [Be OK
|
2022-08-19 10:30:07 +00:00
|
|
|
+ Setting the fee recipient on a missing validator creates a record for it [Beacon Node] [Pr OK
|
|
|
|
```
|
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2022-01-30 16:51:04 +00:00
|
|
|
## FinalizedBlocks [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Basic ops [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2021-09-30 01:07:24 +00:00
|
|
|
## Fork id compatibility test
|
|
|
|
```diff
|
|
|
|
+ Digest check OK
|
|
|
|
+ Fork check OK
|
|
|
|
+ Next fork epoch check OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2021-11-10 11:39:08 +00:00
|
|
|
## Forked SSZ readers
|
|
|
|
```diff
|
|
|
|
+ load altair block OK
|
|
|
|
+ load altair state OK
|
2022-01-26 12:21:29 +00:00
|
|
|
+ load bellatrix block OK
|
|
|
|
+ load bellatrix state OK
|
2023-03-29 13:22:19 +00:00
|
|
|
+ load capella block OK
|
|
|
|
+ load capella state OK
|
|
|
|
+ load deneb block OK
|
|
|
|
+ load deneb state OK
|
2021-11-10 11:39:08 +00:00
|
|
|
+ load phase0 block OK
|
|
|
|
+ load phase0 state OK
|
|
|
|
+ should raise on unknown data OK
|
|
|
|
```
|
2023-03-29 13:22:19 +00:00
|
|
|
OK: 11/11 Fail: 0/11 Skip: 0/11
|
2023-02-15 15:10:31 +00:00
|
|
|
## Gas limit management [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Configuring the gas limit [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Obtaining the gas limit of a missing validator returns 404 [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Obtaining the gas limit of an unconfigured validator returns the suggested default [Beacon OK
|
|
|
|
+ Setting the gas limit on a missing validator creates a record for it [Beacon Node] [Preset OK
|
|
|
|
```
|
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2021-12-21 14:24:23 +00:00
|
|
|
## Gossip fork transition
|
|
|
|
```diff
|
|
|
|
+ Gossip fork transition OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2021-04-26 20:39:44 +00:00
|
|
|
## Gossip validation [Preset: mainnet]
|
|
|
|
```diff
|
2022-01-08 23:28:49 +00:00
|
|
|
+ Empty committee when no committee for slot OK
|
Speed up altair block processing 2x (#3115)
* Speed up altair block processing >2x
Like #3089, this PR drastially speeds up historical REST queries and
other long state replays.
* cache sync committee validator indices
* use ~80mb less memory for validator pubkey mappings
* batch-verify sync aggregate signature (fixes #2985)
* document sync committee hack with head block vs sync message block
* add batch signature verification failure tests
Before:
```
../env.sh nim c -d:release -r ncli_db --db:mainnet_0/db bench --start-slot:-1000
All time are ms
Average, StdDev, Min, Max, Samples, Test
Validation is turned off meaning that no BLS operations are performed
5830.675, 0.000, 5830.675, 5830.675, 1, Initialize DB
0.481, 1.878, 0.215, 59.167, 981, Load block from database
8422.566, 0.000, 8422.566, 8422.566, 1, Load state from database
6.996, 1.678, 0.042, 14.385, 969, Advance slot, non-epoch
93.217, 8.318, 84.192, 122.209, 32, Advance slot, epoch
20.513, 23.665, 11.510, 201.561, 981, Apply block, no slot processing
0.000, 0.000, 0.000, 0.000, 0, Database load
0.000, 0.000, 0.000, 0.000, 0, Database store
```
After:
```
7081.422, 0.000, 7081.422, 7081.422, 1, Initialize DB
0.553, 2.122, 0.175, 66.692, 981, Load block from database
5439.446, 0.000, 5439.446, 5439.446, 1, Load state from database
6.829, 1.575, 0.043, 12.156, 969, Advance slot, non-epoch
94.716, 2.749, 88.395, 100.026, 32, Advance slot, epoch
11.636, 23.766, 4.889, 205.250, 981, Apply block, no slot processing
0.000, 0.000, 0.000, 0.000, 0, Database load
0.000, 0.000, 0.000, 0.000, 0, Database store
```
* add comment
2021-11-24 12:43:50 +00:00
|
|
|
+ validateAttestation OK
|
2021-04-26 20:39:44 +00:00
|
|
|
```
|
2021-08-28 09:00:00 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2023-09-13 06:32:11 +00:00
|
|
|
## Gossip validation - Altair
|
2021-09-28 07:44:20 +00:00
|
|
|
```diff
|
2023-09-13 06:32:11 +00:00
|
|
|
+ Period boundary OK
|
|
|
|
+ validateSyncCommitteeMessage - Duplicate pubkey OK
|
2021-09-28 07:44:20 +00:00
|
|
|
```
|
2023-09-13 06:32:11 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2024-03-14 03:44:00 +00:00
|
|
|
## Graffiti management [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Configuring the graffiti [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Obtaining the graffiti of a missing validator returns 404 [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Obtaining the graffiti of an unconfigured validator returns the suggested default [Beacon OK
|
|
|
|
+ Setting the graffiti on a missing validator creates a record for it [Beacon Node] [Preset: OK
|
|
|
|
```
|
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2020-03-10 04:24:33 +00:00
|
|
|
## Honest validator
|
|
|
|
```diff
|
2020-12-14 20:58:32 +00:00
|
|
|
+ General pubsub topics OK
|
2023-10-10 00:02:07 +00:00
|
|
|
+ Index shuffling and unshuffling invert OK
|
2023-03-22 17:48:48 +00:00
|
|
|
+ Liveness failsafe conditions OK
|
2020-05-14 11:19:10 +00:00
|
|
|
+ Mainnet attestation topics OK
|
2023-06-23 09:30:46 +00:00
|
|
|
+ Stability subnets OK
|
2022-01-24 20:40:59 +00:00
|
|
|
+ isNearSyncCommitteePeriod OK
|
2020-12-14 20:58:32 +00:00
|
|
|
+ is_aggregator OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2023-10-10 00:02:07 +00:00
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2022-08-19 10:30:07 +00:00
|
|
|
## ImportKeystores requests [Beacon Node] [Preset: mainnet]
|
2021-12-22 12:37:31 +00:00
|
|
|
```diff
|
2022-08-19 10:30:07 +00:00
|
|
|
+ ImportKeystores/ListKeystores/DeleteKeystores [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
2021-12-22 12:37:31 +00:00
|
|
|
```
|
2022-06-20 05:38:56 +00:00
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-08-19 10:30:07 +00:00
|
|
|
## ImportRemoteKeys/ListRemoteKeys/DeleteRemoteKeys [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Importing list of remote keys [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-05-10 00:32:12 +00:00
|
|
|
## Key spliting
|
|
|
|
```diff
|
|
|
|
+ k < n OK
|
|
|
|
+ k == n OK
|
|
|
|
+ k == n == 100 OK
|
|
|
|
+ single share OK
|
|
|
|
```
|
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2021-10-12 11:36:52 +00:00
|
|
|
## KeyStorage testing suite
|
|
|
|
```diff
|
2022-08-19 10:30:07 +00:00
|
|
|
+ Load Prysm keystore OK
|
2021-10-12 11:36:52 +00:00
|
|
|
+ Pbkdf2 errors OK
|
|
|
|
+ [PBKDF2] Keystore decryption OK
|
2022-08-19 10:30:07 +00:00
|
|
|
+ [PBKDF2] Keystore decryption (requireAllFields, allowUnknownFields) OK
|
2021-10-12 11:36:52 +00:00
|
|
|
+ [PBKDF2] Keystore encryption OK
|
|
|
|
+ [PBKDF2] Network Keystore decryption OK
|
|
|
|
+ [PBKDF2] Network Keystore encryption OK
|
|
|
|
+ [SCRYPT] Keystore decryption OK
|
2022-08-19 10:30:07 +00:00
|
|
|
+ [SCRYPT] Keystore decryption (requireAllFields, allowUnknownFields) OK
|
2021-10-12 11:36:52 +00:00
|
|
|
+ [SCRYPT] Keystore encryption OK
|
|
|
|
+ [SCRYPT] Network Keystore decryption OK
|
|
|
|
+ [SCRYPT] Network Keystore encryption OK
|
|
|
|
```
|
2022-08-19 10:30:07 +00:00
|
|
|
OK: 12/12 Fail: 0/12 Skip: 0/12
|
2022-09-27 12:11:47 +00:00
|
|
|
## Latest valid hash [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ LVH searching OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2023-01-16 15:53:45 +00:00
|
|
|
## Light client [Preset: mainnet]
|
2022-03-11 20:28:10 +00:00
|
|
|
```diff
|
2022-03-18 14:47:53 +00:00
|
|
|
+ Init from checkpoint OK
|
2022-03-11 20:28:10 +00:00
|
|
|
+ Light client sync OK
|
|
|
|
+ Pre-Altair OK
|
|
|
|
```
|
2022-03-18 14:47:53 +00:00
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2022-03-17 22:26:56 +00:00
|
|
|
## Light client processor [Preset: mainnet]
|
|
|
|
```diff
|
2022-07-21 09:16:10 +00:00
|
|
|
+ Duplicate bootstrap (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Duplicate bootstrap (Strict) [Preset: mainnet] OK
|
|
|
|
+ Invalid bootstrap (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Invalid bootstrap (Strict) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (finality update) (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (finality update) (Strict) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (optimistic update) (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (optimistic update) (Strict) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (update) (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Missing bootstrap (update) (Strict) [Preset: mainnet] OK
|
|
|
|
+ Sync (Optimistic) [Preset: mainnet] OK
|
|
|
|
+ Sync (Strict) [Preset: mainnet] OK
|
2022-03-17 22:26:56 +00:00
|
|
|
```
|
2022-07-21 09:16:10 +00:00
|
|
|
OK: 12/12 Fail: 0/12 Skip: 0/12
|
2022-08-19 10:30:07 +00:00
|
|
|
## ListKeys requests [Beacon Node] [Preset: mainnet]
|
2021-12-22 12:37:31 +00:00
|
|
|
```diff
|
2022-08-19 10:30:07 +00:00
|
|
|
+ Correct token provided [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
2021-12-22 12:37:31 +00:00
|
|
|
```
|
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-08-19 10:30:07 +00:00
|
|
|
## ListRemoteKeys requests [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Correct token provided [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Invalid Authorization Token [Beacon Node] [Preset: mainnet] OK
|
|
|
|
+ Missing Authorization header [Beacon Node] [Preset: mainnet] OK
|
|
|
|
```
|
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2021-08-17 08:07:17 +00:00
|
|
|
## Message signatures
|
|
|
|
```diff
|
|
|
|
+ Aggregate and proof signatures OK
|
|
|
|
+ Attestation signatures OK
|
|
|
|
+ Deposit signatures OK
|
|
|
|
+ Slot signatures OK
|
|
|
|
+ Sync committee message signatures OK
|
|
|
|
+ Sync committee selection proof signatures OK
|
|
|
|
+ Sync committee signed contribution and proof signatures OK
|
|
|
|
+ Voluntary exit signatures OK
|
|
|
|
```
|
2023-11-06 06:48:43 +00:00
|
|
|
OK: 8/8 Fail: 0/8 Skip: 0/8
|
2023-05-11 11:11:00 +00:00
|
|
|
## Network metadata
|
|
|
|
```diff
|
|
|
|
+ goerli OK
|
|
|
|
+ mainnet OK
|
|
|
|
+ sepolia OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2023-05-09 08:16:43 +00:00
|
|
|
## Nimbus remote signer/signing test (verifying-web3signer)
|
|
|
|
```diff
|
|
|
|
+ Signing BeaconBlock (getBlockSignature(capella)) OK
|
|
|
|
+ Signing BeaconBlock (getBlockSignature(deneb)) OK
|
|
|
|
+ Waiting for signing node (/upcheck) test OK
|
|
|
|
```
|
2024-03-11 22:09:31 +00:00
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2023-04-06 13:16:21 +00:00
|
|
|
## Nimbus remote signer/signing test (web3signer)
|
|
|
|
```diff
|
|
|
|
+ Connection timeout test OK
|
|
|
|
+ Public keys enumeration (/api/v1/eth2/publicKeys) test OK
|
|
|
|
+ Public keys reload (/reload) test OK
|
|
|
|
+ Signing BeaconBlock (getBlockSignature(capella)) OK
|
|
|
|
+ Signing BeaconBlock (getBlockSignature(deneb)) OK
|
|
|
|
+ Signing SC contribution and proof (getContributionAndProofSignature()) OK
|
|
|
|
+ Signing SC message (getSyncCommitteeMessage()) OK
|
|
|
|
+ Signing SC selection proof (getSyncCommitteeSelectionProof()) OK
|
|
|
|
+ Signing aggregate and proof (getAggregateAndProofSignature()) OK
|
|
|
|
+ Signing aggregation slot (getSlotSignature()) OK
|
|
|
|
+ Signing attestation (getAttestationSignature()) OK
|
|
|
|
+ Signing deposit message (getDepositMessageSignature()) OK
|
|
|
|
+ Signing randao reveal (getEpochSignature()) OK
|
|
|
|
+ Signing validator registration (getBuilderSignature()) OK
|
|
|
|
+ Signing voluntary exit (getValidatorExitSignature()) OK
|
|
|
|
+ Waiting for signing node (/upcheck) test OK
|
|
|
|
```
|
2024-03-11 22:09:31 +00:00
|
|
|
OK: 16/16 Fail: 0/16 Skip: 0/16
|
2021-08-10 06:19:13 +00:00
|
|
|
## Old database versions [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ pre-1.1.0 OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2020-03-10 04:24:33 +00:00
|
|
|
## PeerPool testing suite
|
|
|
|
```diff
|
|
|
|
+ Access peers by key test OK
|
|
|
|
+ Acquire from empty pool OK
|
|
|
|
+ Acquire/Sorting and consistency test OK
|
improve slot processing speeds (#1670)
about 40% better slot processing times (with LTO enabled) - these don't
do BLS but are used
heavily during replay (state transition = slot + block transition)
tests using a recent medalla state and advancing it 1000 slots:
```
./ncli slots --preState2:state-302271-3c1dbf19-c1f944bf.ssz --slot:1000
--postState2:xx.ssz
```
pre:
```
All time are ms
Average, StdDev, Min, Max, Samples,
Test
Validation is turned off meaning that no BLS operations are performed
39.236, 0.000, 39.236, 39.236, 1,
Load state from file
0.049, 0.002, 0.046, 0.063, 968,
Apply slot
256.504, 81.008, 213.471, 591.902, 32,
Apply epoch slot
28.597, 0.000, 28.597, 28.597, 1,
Save state to file
```
cast:
```
All time are ms
Average, StdDev, Min, Max, Samples,
Test
Validation is turned off meaning that no BLS operations are performed
37.079, 0.000, 37.079, 37.079, 1,
Load state from file
0.042, 0.002, 0.040, 0.090, 968,
Apply slot
215.552, 68.763, 180.155, 500.103, 32,
Apply epoch slot
25.106, 0.000, 25.106, 25.106, 1,
Save state to file
```
cast+rewards:
```
All time are ms
Average, StdDev, Min, Max, Samples,
Test
Validation is turned off meaning that no BLS operations are performed
40.049, 0.000, 40.049, 40.049, 1,
Load state from file
0.048, 0.001, 0.045, 0.060, 968,
Apply slot
164.981, 76.273, 142.099, 477.868, 32,
Apply epoch slot
28.498, 0.000, 28.498, 28.498, 1,
Save state to file
```
cast+rewards+shr
```
All time are ms
Average, StdDev, Min, Max, Samples,
Test
Validation is turned off meaning that no BLS operations are performed
12.898, 0.000, 12.898, 12.898, 1,
Load state from file
0.039, 0.002, 0.038, 0.054, 968,
Apply slot
139.971, 68.797, 120.088, 428.844, 32,
Apply epoch slot
24.761, 0.000, 24.761, 24.761, 1,
Save state to file
```
2020-09-16 20:59:33 +00:00
|
|
|
+ Delete peer on release text OK
|
2020-03-10 04:24:33 +00:00
|
|
|
+ Iterators test OK
|
|
|
|
+ Peer lifetime test OK
|
|
|
|
+ Safe/Clear test OK
|
2020-04-23 19:39:23 +00:00
|
|
|
+ Score check test OK
|
2020-09-24 17:05:49 +00:00
|
|
|
+ Space tests OK
|
2020-03-10 04:24:33 +00:00
|
|
|
+ addPeer() test OK
|
|
|
|
+ addPeerNoWait() test OK
|
|
|
|
+ deletePeer() test OK
|
|
|
|
```
|
2020-09-24 17:05:49 +00:00
|
|
|
OK: 12/12 Fail: 0/12 Skip: 0/12
|
History pruning (fixes #4419) (#4445)
Introduce (optional) pruning of historical data - a pruned node will
continue to answer queries for historical data up to
`MIN_EPOCHS_FOR_BLOCK_REQUESTS` epochs, or roughly 5 months, capping
typical database usage at around 60-70gb.
To enable pruning, add `--history=prune` to the command line - on the
first start, old data will be cleared (which may take a while) - after
that, data is pruned continuously.
When pruning an existing database, the database will not shrink -
instead, the freed space is recycled as the node continues to run - to
free up space, perform a trusted node sync with a fresh database.
When switching on archive mode in a pruned node, history is retained
from that point onwards.
History pruning is scheduled to be enabled by default in a future
release.
In this PR, `minimal` mode from #4419 is not implemented meaning
retention periods for states and blocks are always the same - depending
on user demand, a future PR may implement `minimal` as well.
2023-01-07 10:02:15 +00:00
|
|
|
## Pruning
|
|
|
|
```diff
|
|
|
|
+ prune states OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2023-10-24 15:22:59 +00:00
|
|
|
## REST JSON encoding and decoding
|
2023-10-24 05:50:32 +00:00
|
|
|
```diff
|
2023-10-25 21:50:59 +00:00
|
|
|
+ Blob OK
|
|
|
|
+ DenebSignedBlockContents decoding OK
|
2023-10-24 15:22:59 +00:00
|
|
|
+ KzgCommitment OK
|
2023-10-25 21:50:59 +00:00
|
|
|
+ KzgProof OK
|
|
|
|
+ RestPublishedSignedBlockContents decoding OK
|
2024-02-21 19:06:19 +00:00
|
|
|
+ Validator pubkey hack OK
|
2023-10-24 05:50:32 +00:00
|
|
|
```
|
2024-02-21 19:06:19 +00:00
|
|
|
OK: 6/6 Fail: 0/6 Skip: 0/6
|
2022-05-10 00:32:12 +00:00
|
|
|
## Remove keystore testing suite
|
|
|
|
```diff
|
2023-05-09 08:16:43 +00:00
|
|
|
+ Many remotes OK
|
|
|
|
+ Single remote OK
|
|
|
|
+ Verifying Signer / Many remotes OK
|
|
|
|
+ Verifying Signer / Single remote OK
|
2022-05-10 00:32:12 +00:00
|
|
|
+ vesion 1 OK
|
|
|
|
```
|
2023-05-09 08:16:43 +00:00
|
|
|
OK: 5/5 Fail: 0/5 Skip: 0/5
|
2022-08-19 10:30:07 +00:00
|
|
|
## Serialization/deserialization [Beacon Node] [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Deserialization test vectors OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2022-09-29 05:22:58 +00:00
|
|
|
## Serialization/deserialization test suite
|
|
|
|
```diff
|
2022-09-29 20:55:18 +00:00
|
|
|
+ RestErrorMessage parser tests OK
|
|
|
|
+ RestErrorMessage writer tests OK
|
2023-11-28 23:30:14 +00:00
|
|
|
+ strictParse(Stuint) tests OK
|
2022-09-29 05:22:58 +00:00
|
|
|
```
|
2023-11-28 23:30:14 +00:00
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2023-05-15 15:41:30 +00:00
|
|
|
## Shufflings
|
|
|
|
```diff
|
|
|
|
+ Accelerated shuffling computation OK
|
2023-07-10 20:36:25 +00:00
|
|
|
+ Accelerated shuffling computation (with epochRefState jump) OK
|
2023-05-15 15:41:30 +00:00
|
|
|
```
|
2023-07-10 20:36:25 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2023-07-15 20:16:56 +00:00
|
|
|
## Shufflings (merged)
|
|
|
|
```diff
|
|
|
|
+ Accelerated shuffling computation OK
|
|
|
|
+ Accelerated shuffling computation (with epochRefState jump) OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2022-01-24 20:40:59 +00:00
|
|
|
## Slashing Interchange tests [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ Slashing test: duplicate_pubkey_not_slashable.json OK
|
|
|
|
+ Slashing test: duplicate_pubkey_slashable_attestation.json OK
|
|
|
|
+ Slashing test: duplicate_pubkey_slashable_block.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_multiple_validators_repeat_idem.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_overlapping_validators_merge_stale.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_overlapping_validators_repeat_idem.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_single_validator_fail_iff_imported.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_single_validator_first_surrounds_second.json OK
|
2022-03-04 14:43:34 +00:00
|
|
|
+ Slashing test: multiple_interchanges_single_validator_multiple_blocks_out_of_order.json OK
|
2022-01-24 20:40:59 +00:00
|
|
|
+ Slashing test: multiple_interchanges_single_validator_second_surrounds_first.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_single_validator_single_att_out_of_order.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_single_validator_single_block_out_of_order.json OK
|
|
|
|
+ Slashing test: multiple_interchanges_single_validator_single_message_gap.json OK
|
|
|
|
+ Slashing test: multiple_validators_multiple_blocks_and_attestations.json OK
|
|
|
|
+ Slashing test: multiple_validators_same_slot_blocks.json OK
|
|
|
|
+ Slashing test: single_validator_genesis_attestation.json OK
|
|
|
|
+ Slashing test: single_validator_import_only.json OK
|
|
|
|
+ Slashing test: single_validator_multiple_block_attempts.json OK
|
|
|
|
+ Slashing test: single_validator_multiple_blocks_and_attestations.json OK
|
|
|
|
+ Slashing test: single_validator_out_of_order_attestations.json OK
|
|
|
|
+ Slashing test: single_validator_out_of_order_blocks.json OK
|
2022-03-04 14:43:34 +00:00
|
|
|
Slashing test: single_validator_resign_attestation.json Skip
|
2022-01-24 20:40:59 +00:00
|
|
|
+ Slashing test: single_validator_resign_block.json OK
|
|
|
|
+ Slashing test: single_validator_single_attestation.json OK
|
|
|
|
+ Slashing test: single_validator_single_block.json OK
|
|
|
|
+ Slashing test: single_validator_single_block_and_attestation.json OK
|
|
|
|
+ Slashing test: single_validator_single_block_and_attestation_signing_root.json OK
|
|
|
|
+ Slashing test: single_validator_slashable_attestations_double_vote.json OK
|
|
|
|
+ Slashing test: single_validator_slashable_attestations_surrounded_by_existing.json OK
|
|
|
|
+ Slashing test: single_validator_slashable_attestations_surrounds_existing.json OK
|
|
|
|
+ Slashing test: single_validator_slashable_blocks.json OK
|
|
|
|
+ Slashing test: single_validator_slashable_blocks_no_root.json OK
|
|
|
|
+ Slashing test: single_validator_source_greater_than_target.json OK
|
|
|
|
+ Slashing test: single_validator_source_greater_than_target_sensible_iff_minified.json OK
|
2022-03-04 14:43:34 +00:00
|
|
|
Slashing test: single_validator_source_greater_than_target_surrounded.json Skip
|
2022-01-24 20:40:59 +00:00
|
|
|
Slashing test: single_validator_source_greater_than_target_surrounding.json Skip
|
|
|
|
+ Slashing test: single_validator_two_blocks_no_signing_root.json OK
|
|
|
|
+ Slashing test: wrong_genesis_validators_root.json OK
|
|
|
|
```
|
2022-03-04 14:43:34 +00:00
|
|
|
OK: 35/38 Fail: 0/38 Skip: 3/38
|
2020-09-21 15:58:35 +00:00
|
|
|
## Slashing Protection DB [Preset: mainnet]
|
|
|
|
```diff
|
2020-09-26 21:58:12 +00:00
|
|
|
+ Attestation ordering #1698 OK
|
2021-05-10 14:32:28 +00:00
|
|
|
+ Don't prune the very last attestation(s) even by mistake OK
|
|
|
|
+ Don't prune the very last block even by mistake OK
|
2020-09-21 15:58:35 +00:00
|
|
|
+ Empty database [Preset: mainnet] OK
|
2021-05-10 14:32:28 +00:00
|
|
|
+ Pruning attestations works OK
|
|
|
|
+ Pruning blocks works OK
|
2020-09-21 15:58:35 +00:00
|
|
|
+ SP for block proposal - backtracking append OK
|
|
|
|
+ SP for block proposal - linear append OK
|
|
|
|
+ SP for same epoch attestation target - linear append OK
|
|
|
|
+ SP for surrounded attestations OK
|
|
|
|
+ SP for surrounding attestations OK
|
2020-09-26 21:58:12 +00:00
|
|
|
+ Test valid attestation #1699 OK
|
2020-09-21 15:58:35 +00:00
|
|
|
```
|
2021-05-10 14:32:28 +00:00
|
|
|
OK: 12/12 Fail: 0/12 Skip: 0/12
|
2020-07-13 14:44:58 +00:00
|
|
|
## Spec datatypes
|
|
|
|
```diff
|
|
|
|
+ Graffiti bytes OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2020-03-10 04:24:33 +00:00
|
|
|
## Spec helpers
|
|
|
|
```diff
|
2021-09-29 13:02:34 +00:00
|
|
|
+ build_proof - BeaconState OK
|
2020-03-10 04:24:33 +00:00
|
|
|
+ integer_squareroot OK
|
|
|
|
```
|
2023-04-18 09:21:15 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2021-08-18 18:57:58 +00:00
|
|
|
## Specific field types
|
|
|
|
```diff
|
|
|
|
+ root update OK
|
|
|
|
+ roundtrip OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
State-only checkpoint state startup (#4251)
Currently, we require genesis and a checkpoint block and state to start
from an arbitrary slot - this PR relaxes this requirement so that we can
start with a state alone.
The current trusted-node-sync algorithm works by first downloading
blocks until we find an epoch aligned non-empty slot, then downloads the
state via slot.
However, current
[proposals](https://github.com/ethereum/beacon-APIs/pull/226) for
checkpointing prefer finalized state as
the main reference - this allows more simple access control and caching
on the server side - in particular, this should help checkpoint-syncing
from sources that have a fast `finalized` state download (like infura
and teku) but are slow when accessing state via slot.
Earlier versions of Nimbus will not be able to read databases created
without a checkpoint block and genesis. In most cases, backfilling makes
the database compatible except where genesis is also missing (custom
networks).
* backfill checkpoint block from libp2p instead of checkpoint source,
when doing trusted node sync
* allow starting the client without genesis / checkpoint block
* perform epoch start slot lookahead when loading tail state, so as to
deal with the case where the epoch start slot does not have a block
* replace `--blockId` with `--state-id` in TNS command line
* when replaying, also look at the parent of the last-known-block (even
if we don't have the parent block data, we can still replay from a
"parent" state) - in particular, this clears the way for implementing
state pruning
* deprecate `--finalized-checkpoint-block` option (no longer needed)
2022-11-02 10:02:38 +00:00
|
|
|
## Starting states
|
|
|
|
```diff
|
|
|
|
+ Starting state without block OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2024-02-09 10:13:00 +00:00
|
|
|
## State history
|
|
|
|
```diff
|
|
|
|
+ getBlockIdAtSlot OK
|
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2021-08-30 01:00:37 +00:00
|
|
|
## Sync committee pool
|
|
|
|
```diff
|
|
|
|
+ Aggregating votes OK
|
|
|
|
+ An empty pool is safe to prune OK
|
|
|
|
+ An empty pool is safe to prune 2 OK
|
|
|
|
+ An empty pool is safe to use OK
|
2023-05-17 04:55:55 +00:00
|
|
|
+ Missed slots across fork transition OK
|
|
|
|
+ Missed slots across sync committee period boundary OK
|
|
|
|
+ isSeen OK
|
2021-08-30 01:00:37 +00:00
|
|
|
```
|
2023-05-17 04:55:55 +00:00
|
|
|
OK: 7/7 Fail: 0/7 Skip: 0/7
|
2021-04-28 16:41:02 +00:00
|
|
|
## SyncManager test suite
|
|
|
|
```diff
|
2022-01-26 12:20:08 +00:00
|
|
|
+ Process all unviable blocks OK
|
2023-03-07 20:19:17 +00:00
|
|
|
+ [SyncManager] groupBlobs() test OK
|
2021-12-08 21:15:29 +00:00
|
|
|
+ [SyncQueue#Backward] Async unordered push test OK
|
|
|
|
+ [SyncQueue#Backward] Async unordered push with rewind test OK
|
2022-03-15 17:56:56 +00:00
|
|
|
+ [SyncQueue#Backward] Good response with missing values towards end OK
|
|
|
|
+ [SyncQueue#Backward] Handle out-of-band sync progress advancement OK
|
2021-12-08 21:15:29 +00:00
|
|
|
+ [SyncQueue#Backward] Pass through established limits test OK
|
|
|
|
+ [SyncQueue#Backward] Smoke test OK
|
|
|
|
+ [SyncQueue#Backward] Start and finish slots equal OK
|
|
|
|
+ [SyncQueue#Backward] Two full requests success/fail OK
|
|
|
|
+ [SyncQueue#Backward] getRewindPoint() test OK
|
|
|
|
+ [SyncQueue#Forward] Async unordered push test OK
|
|
|
|
+ [SyncQueue#Forward] Async unordered push with rewind test OK
|
2022-03-15 17:56:56 +00:00
|
|
|
+ [SyncQueue#Forward] Good response with missing values towards end OK
|
|
|
|
+ [SyncQueue#Forward] Handle out-of-band sync progress advancement OK
|
2021-12-08 21:15:29 +00:00
|
|
|
+ [SyncQueue#Forward] Pass through established limits test OK
|
|
|
|
+ [SyncQueue#Forward] Smoke test OK
|
|
|
|
+ [SyncQueue#Forward] Start and finish slots equal OK
|
|
|
|
+ [SyncQueue#Forward] Two full requests success/fail OK
|
|
|
|
+ [SyncQueue#Forward] getRewindPoint() test OK
|
2021-04-28 16:41:02 +00:00
|
|
|
+ [SyncQueue] checkResponse() test OK
|
|
|
|
+ [SyncQueue] contains() test OK
|
|
|
|
+ [SyncQueue] getLastNonEmptySlot() test OK
|
|
|
|
+ [SyncQueue] hasEndGap() test OK
|
|
|
|
```
|
2023-03-07 20:19:17 +00:00
|
|
|
OK: 24/24 Fail: 0/24 Skip: 0/24
|
2023-01-28 19:53:41 +00:00
|
|
|
## Type helpers
|
|
|
|
```diff
|
2023-10-05 12:01:40 +00:00
|
|
|
+ BeaconBlock OK
|
2023-01-28 19:53:41 +00:00
|
|
|
```
|
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2023-05-09 20:09:09 +00:00
|
|
|
## Validator Client test suite
|
|
|
|
```diff
|
2023-11-08 12:03:51 +00:00
|
|
|
+ /eth/v1/validator/beacon_committee_selections serialization/deserialization test OK
|
|
|
|
+ /eth/v1/validator/sync_committee_selections serialization/deserialization test OK
|
2023-08-16 16:14:39 +00:00
|
|
|
+ bestSuccess() API timeout test OK
|
|
|
|
+ firstSuccessParallel() API timeout test OK
|
2023-11-14 11:13:26 +00:00
|
|
|
+ getAggregatedAttestationDataScore() test vectors OK
|
2023-07-06 09:14:22 +00:00
|
|
|
+ getAttestationDataScore() test vectors OK
|
2023-09-11 10:07:34 +00:00
|
|
|
+ getLiveness() response deserialization test OK
|
2023-11-14 11:13:26 +00:00
|
|
|
+ getSyncCommitteeContributionDataScore() test vectors OK
|
|
|
|
+ getSyncCommitteeMessageDataScore() test vectors OK
|
|
|
|
+ getUniqueVotes() test vectors OK
|
2023-05-09 20:09:09 +00:00
|
|
|
+ normalizeUri() test vectors OK
|
|
|
|
```
|
2023-11-14 11:13:26 +00:00
|
|
|
OK: 11/11 Fail: 0/11 Skip: 0/11
|
2023-01-19 22:00:40 +00:00
|
|
|
## Validator change pool testing suite
|
|
|
|
```diff
|
|
|
|
+ addValidatorChangeMessage/getAttesterSlashingMessage OK
|
|
|
|
+ addValidatorChangeMessage/getBlsToExecutionChange (post-capella) OK
|
|
|
|
+ addValidatorChangeMessage/getBlsToExecutionChange (pre-capella) OK
|
|
|
|
+ addValidatorChangeMessage/getProposerSlashingMessage OK
|
|
|
|
+ addValidatorChangeMessage/getVoluntaryExitMessage OK
|
|
|
|
+ pre-pre-fork voluntary exit OK
|
|
|
|
```
|
|
|
|
OK: 6/6 Fail: 0/6 Skip: 0/6
|
2022-12-09 16:05:55 +00:00
|
|
|
## Validator pool
|
|
|
|
```diff
|
|
|
|
+ Doppelganger for genesis validator OK
|
|
|
|
+ Doppelganger for validator that activates in same epoch as check OK
|
2023-09-04 19:14:58 +00:00
|
|
|
+ Dynamic validator set: queryValidatorsSource() test OK
|
|
|
|
+ Dynamic validator set: updateDynamicValidators() test OK
|
2022-12-09 16:05:55 +00:00
|
|
|
```
|
2023-09-04 19:14:58 +00:00
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2024-03-07 23:38:24 +00:00
|
|
|
## ValidatorPubKey Bloom filter
|
|
|
|
```diff
|
|
|
|
+ incremental construction with no false positives/negatives OK
|
|
|
|
+ one-shot construction with no false positives/negatives OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2020-03-10 04:24:33 +00:00
|
|
|
## Zero signature sanity checks
|
|
|
|
```diff
|
|
|
|
+ SSZ serialization roundtrip of SignedBeaconBlockHeader OK
|
2021-07-28 20:36:23 +00:00
|
|
|
+ Zero signatures cannot be loaded into a BLS signature object OK
|
|
|
|
+ default initialization of signatures OK
|
2020-03-10 04:24:33 +00:00
|
|
|
```
|
2021-07-28 20:36:23 +00:00
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2020-07-30 19:18:17 +00:00
|
|
|
## chain DAG finalization tests [Preset: mainnet]
|
|
|
|
```diff
|
2020-08-13 23:37:58 +00:00
|
|
|
+ init with gaps [Preset: mainnet] OK
|
2021-04-28 16:41:02 +00:00
|
|
|
+ orphaned epoch block [Preset: mainnet] OK
|
|
|
|
+ prune heads on finalization [Preset: mainnet] OK
|
2023-11-22 23:44:20 +00:00
|
|
|
+ shutdown during finalization [Preset: mainnet] OK
|
2020-07-30 19:18:17 +00:00
|
|
|
```
|
2023-11-22 23:44:20 +00:00
|
|
|
OK: 4/4 Fail: 0/4 Skip: 0/4
|
2022-02-08 14:39:15 +00:00
|
|
|
## createValidatorFiles()
|
2021-12-22 12:37:31 +00:00
|
|
|
```diff
|
2022-02-08 14:39:15 +00:00
|
|
|
+ Add keystore files [LOCAL] OK
|
|
|
|
+ Add keystore files [REMOTE] OK
|
|
|
|
+ Add keystore files twice [LOCAL] OK
|
|
|
|
+ Add keystore files twice [REMOTE] OK
|
2022-08-09 09:52:11 +00:00
|
|
|
+ `createLocalValidatorFiles` with `keystoreDir` without permissions OK
|
|
|
|
+ `createLocalValidatorFiles` with `secretsDir` without permissions OK
|
|
|
|
+ `createLocalValidatorFiles` with `validatorsDir` without permissions OK
|
2021-12-22 12:37:31 +00:00
|
|
|
+ `createValidatorFiles` with already existing dirs and any error OK
|
|
|
|
```
|
2022-02-08 14:39:15 +00:00
|
|
|
OK: 8/8 Fail: 0/8 Skip: 0/8
|
2022-02-27 16:55:02 +00:00
|
|
|
## engine API authentication
|
|
|
|
```diff
|
|
|
|
+ HS256 JWS iat token signing OK
|
|
|
|
+ HS256 JWS signing OK
|
|
|
|
+ getIatToken OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2021-10-12 11:36:52 +00:00
|
|
|
## eth2.0-deposits-cli compatibility
|
|
|
|
```diff
|
|
|
|
+ restoring mnemonic with password OK
|
|
|
|
+ restoring mnemonic without password OK
|
|
|
|
```
|
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2022-02-08 14:39:15 +00:00
|
|
|
## removeValidatorFiles()
|
2021-12-22 12:37:31 +00:00
|
|
|
```diff
|
|
|
|
+ Remove nonexistent validator OK
|
|
|
|
+ Remove validator files OK
|
|
|
|
+ Remove validator files twice OK
|
|
|
|
```
|
|
|
|
OK: 3/3 Fail: 0/3 Skip: 0/3
|
2022-02-08 14:39:15 +00:00
|
|
|
## removeValidatorFiles() multiple keystore types
|
|
|
|
```diff
|
|
|
|
+ Remove [LOCAL] when [LOCAL] is missing OK
|
|
|
|
+ Remove [LOCAL] when [LOCAL] is present OK
|
|
|
|
+ Remove [LOCAL] when [REMOTE] is present OK
|
|
|
|
+ Remove [REMOTE] when [LOCAL] is present OK
|
|
|
|
+ Remove [REMOTE] when [REMOTE] is missing OK
|
|
|
|
+ Remove [REMOTE] when [REMOTE] is present OK
|
|
|
|
```
|
|
|
|
OK: 6/6 Fail: 0/6 Skip: 0/6
|
|
|
|
## saveKeystore()
|
|
|
|
```diff
|
|
|
|
+ Save [LOCAL] keystore after [LOCAL] keystore with different id OK
|
|
|
|
+ Save [LOCAL] keystore after [LOCAL] keystore with same id OK
|
|
|
|
+ Save [LOCAL] keystore after [REMOTE] keystore with different id OK
|
|
|
|
+ Save [LOCAL] keystore after [REMOTE] keystore with same id OK
|
|
|
|
+ Save [REMOTE] keystore after [LOCAL] keystore with different id OK
|
|
|
|
+ Save [REMOTE] keystore after [LOCAL] keystore with same id OK
|
|
|
|
+ Save [REMOTE] keystore after [REMOTE] keystore with different id OK
|
|
|
|
+ Save [REMOTE] keystore after [REMOTE] keystore with same id OK
|
|
|
|
```
|
|
|
|
OK: 8/8 Fail: 0/8 Skip: 0/8
|
2021-01-18 20:34:41 +00:00
|
|
|
## state diff tests [Preset: mainnet]
|
|
|
|
```diff
|
|
|
|
+ random slot differences [Preset: mainnet] OK
|
|
|
|
```
|
2021-03-11 05:39:04 +00:00
|
|
|
OK: 1/1 Fail: 0/1 Skip: 0/1
|
2021-10-18 14:54:17 +00:00
|
|
|
## subnet tracker
|
|
|
|
```diff
|
|
|
|
+ should register stability subnets on attester duties OK
|
2022-11-09 12:28:34 +00:00
|
|
|
+ should register sync committee duties OK
|
2021-10-18 14:54:17 +00:00
|
|
|
```
|
2022-11-09 12:28:34 +00:00
|
|
|
OK: 2/2 Fail: 0/2 Skip: 0/2
|
2022-06-18 10:05:33 +00:00
|
|
|
## weak-subjectivity-checkpoint
|
|
|
|
```diff
|
|
|
|
+ Correct values OK
|
|
|
|
+ invalid characters in root OK
|
|
|
|
+ longer root OK
|
|
|
|
+ missing epoch OK
|
|
|
|
+ missing root OK
|
|
|
|
+ missing separator OK
|
|
|
|
+ negative epoch OK
|
|
|
|
+ non-number epoch OK
|
|
|
|
+ shorter root OK
|
|
|
|
```
|
|
|
|
OK: 9/9 Fail: 0/9 Skip: 0/9
|
2020-03-10 04:24:33 +00:00
|
|
|
|
|
|
|
---TOTAL---
|
2024-03-21 18:41:05 +00:00
|
|
|
OK: 683/688 Fail: 0/688 Skip: 5/688
|