Commit Graph

6874 Commits

Author SHA1 Message Date
Etan Kissling 11f54b9587
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-26 04:54:03 +02:00
Etan Kissling c8cc23b170
extra defense 2024-07-26 04:53:34 +02:00
Etan Kissling 6062bde5e5
fixes 2024-07-26 04:50:57 +02:00
Etan Kissling 6e80561080
Electra `BlobSidecar` for EIP-7688 2024-07-26 04:03:42 +02:00
Etan Kissling 48c3761530
Add more EIP-7688 SSZ tests 2024-07-26 04:02:38 +02:00
Etan Kissling 5c1d20f28a
`StableContainer` fixes for `LightClientHeader` validation 2024-07-26 03:33:18 +02:00
Etan Kissling 02fd912f92
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-26 02:01:28 +02:00
Etan Kissling 2183c3cacc
explicitly mention Deneb in SSZ test 2024-07-26 01:56:19 +02:00
Etan Kissling 97117eb769
add Nim bug reference 2024-07-26 01:54:59 +02:00
Etan Kissling 4c9da5f1af
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-26 01:39:50 +02:00
Etan Kissling f9624b5e69
`eth2_processor` fix 2024-07-26 01:38:02 +02:00
Etan Kissling c2d5a55d95
cleanup pre-deneb fallback 2024-07-26 00:03:47 +02:00
Etan Kissling 3ef3db5fb1
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 23:05:06 +02:00
Etan Kissling 9c9f2df0ca
`Opt[seq[Forky]]` 2024-07-25 23:03:57 +02:00
Etan Kissling 2938aa40bf
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 22:55:22 +02:00
Etan Kissling eff1acd1dc
pre-Deneb case for VC block publishing (ff) 2024-07-25 22:53:07 +02:00
Etan Kissling de0a13a263
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 22:46:53 +02:00
Etan Kissling 365b567350
pre-Deneb case for VC block publishing 2024-07-25 22:45:36 +02:00
Etan Kissling 1b62329153
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 22:28:32 +02:00
Etan Kissling 7d24e43080
`valueOr` needs explicit fork for default value as well 2024-07-25 22:27:35 +02:00
Etan Kissling b9154c2e6e
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 22:10:23 +02:00
Etan Kissling 5df441d936
`ForkyBlobSidecar` in gossip validation 2024-07-25 22:09:24 +02:00
Etan Kissling af4d686edb
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 22:00:57 +02:00
Etan Kissling 88bdc6ae55
`Opt[Forky]` does not work as it does in `ref` and `seq` / `openArray` 2024-07-25 21:59:49 +02:00
Etan Kissling 5e582cff8f
guard deneb specific ref in workaround 2024-07-25 21:59:15 +02:00
Etan Kissling bd52c5f644
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 21:39:39 +02:00
Etan Kissling a0cd63697d
add guard to DB initialization 2024-07-25 21:36:10 +02:00
Etan Kissling e41750aab0
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 21:33:56 +02:00
Etan Kissling a5d2cfea79
`sszdump` support for `ForkyBlobSidecar` 2024-07-25 21:32:34 +02:00
Etan Kissling 4998790ed2
fix LC helpers 2024-07-25 21:28:16 +02:00
Etan Kissling bbe41a250f
fix gindex computation in docs 2024-07-25 21:19:06 +02:00
Etan Kissling 2abfee3488
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-07-25 21:01:33 +02:00
Etan Kissling 5fe9e93ee7
fix `ncli_db` 2024-07-25 19:30:25 +02:00
Etan Kissling d028baea2a
introduce `ForkedBlobSidecar` for EIP-7688 Electra period before PeerDAS
On `ELECTRA_FORK_EPOCH`, PeerDAS is not yet activated, hence the current
mechanism based on `BlobSidecar` is still in use. With EIP-7688, the
generalized indices of `BeaconBlockBody` get reindexed, changing the
length of the inclusion proof within the `BlobSidecar`. Because network
Req/Resp operations allow responses across fork boundaries, this creates
the need for a `ForkedBlobSidecar` in that layer, same as already done
for `ForkedSignedBeaconBock` for similar reasons.

Note: This PR is only needed if PeerDAS is adopted _after_ EIP-7688.
If PeerDAS is adopted _before_ EIP-7688, a similar PR may be needed for
forked columns. Coincidental `Forked` jank can only be fully avoided if
both features activate at the same epoch, actual changes to blobs aside.
Delaying EIP-7688 for sole purpose of epoch alignemnt is not worth it.
2024-07-25 18:54:38 +02:00
Jakub Sokołowski 8c621b9ae6
ci: bump status-jenkins-lib version, don't use a branch (#6446)
* ci: bump status-jenkins-lib version, don't use a branch

Also renamed `Jenkinsfile.nix` to `nix.Jenkinsfile` because the filename makes no sense.

But left a symlink temporarily to not break things.

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: fix hash for Nim compiler checksums repo

Signed-off-by: Jakub Sokołowski <jakub@status.im>

* nix: do not create variable name conflicts

Signed-off-by: Jakub Sokołowski <jakub@status.im>

---------

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-07-25 11:07:02 +02:00
tersec 949758ed74
fix some UnusedImport warnings (#6448) 2024-07-25 08:49:26 +00:00
tersec 15cca5f93e
hypergeometric distribution CDF for PeerDAS (#6447) 2024-07-25 01:59:24 +00:00
Eugene Kabanov fd4398d4c5
Fix EL requests should do some sleep before repeating request again. (#6441) 2024-07-23 22:49:52 +00:00
Etan Kissling 20ede0ab35
use correct fork digest when broadcasting blob sidecars and sync msgs (#6440)
The fork digest determines the underlying data type on libp2p gossip,
so it's important to use the matching fork digest instead of picking
whatever wall epoch happens to be.
2024-07-23 20:30:44 +00:00
Etan Kissling 9f21182646
construct info object for `BlobSidecar` earlier (#6445)
To avoid "forked" types creeping into `BlobSidecar`, move the reduction
to `BlobSidecarInfoObject` to the sole caller. The info object is fork
agnostic, so does not need "forked" if `BlobSidecar` ever updates.
2024-07-23 20:22:29 +00:00
Etan Kissling a769550db5
rename LC gindex constants to match spec (#6444)
Use `_ELECTRA` suffix for gindex constants to match consensus-specs.
2024-07-23 20:20:15 +00:00
Etan Kissling ae0a1488b5
Fix blob syncing for Electra (#6438)
* Fix blob syncing for Electra

`BlobSidecar` requests on libp2p have a context prefix based on:

> The `<context-bytes>` field is calculated as context =
>     `compute_fork_digest(fork_version, genesis_validators_root)`

We currently only process blobs if that indicates Deneb, meaning that
on Electra we incorrectly report `InvalidContextBytes` and refuse to
process the blob response data.

Fix this, and also ensure that the code no longer needs maintenance
with every fork unrelated to blobs.

* fix
2024-07-23 03:10:41 +00:00
haurog 5762ebc249
Enable RISC-V (rv64gc) compilation (#6439) 2024-07-23 02:03:53 +00:00
Etan Kissling d8df178a85
LC execution payload gindex 2024-07-22 14:15:53 +02:00
Etan Kissling 159f57f27e
LC constant rename 2024-07-22 14:13:56 +02:00
Etan Kissling b5c0b479fb
bump nimcrypto to `71bca15508e2c0548f32b42a69bcfb1ccd9ab9ff` (#6430)
- double keccak speed
2024-07-22 03:36:54 +00:00
tersec 6fa852400d
pause deployment of long-range sync option default (#6436) 2024-07-21 07:10:26 +02:00
Etan Kissling 377698d65a
bump nim-libbacktrace to `55780313446b618cd226025cd0383c4c9da4a18a` (#6435)
- Pass length explicitly instead of relying on NULL terminators
2024-07-18 19:59:49 +02:00
Etan Kissling f36fb8e757
bump gnosis-chain-configs to `0e085cb606e78a495ce8014f9350931bc360e663` (#6432)
- Bump spec
2024-07-17 21:51:14 +02:00
Kim De Mey cd008ba7ef
Bump NimYAML + bump related changes (#6431) 2024-07-17 21:50:29 +02:00