6876 Commits

Author SHA1 Message Date
Etan Kissling
0075655079
add missing stable_mev file 2024-07-26 13:05:42 +02:00
Etan Kissling
ef499d0cc4
EIP-7688 MEV types 2024-07-26 12:55:42 +02:00
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
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