Commit Graph

4406 Commits

Author SHA1 Message Date
Pedro Miranda 7b6caebf6e
Add publishAggregateAndProofsV2 (#6546)
* added new endpoint version(v2) for validator aggregate and proof

* review improvements

* introduced nim template for proof executiion

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-13 21:11:09 +00:00
tersec ed2422112c
resolve several outstanding items for Electra support; add debug-foo to light client yamux (#6547) 2024-09-13 10:07:06 +02:00
Agnish Ghosh f53b621818
add: `get_extended_sample_count` with test (#6544)
* add: get_extended_sample_count with test

* drop return

* reviews

* review fix

* fixed

* fix doc

* hooked to all_tests

* rm bin

* add updated test file

* early return, maybe need results?

* refactor function intricacies

* drop columnsCount
2024-09-12 17:55:16 +02:00
tersec 16c21e1c1e
rm unused code/type conversoins; re-enable Electra block gossip verification (#6545) 2024-09-12 11:11:08 +02:00
Agnish Ghosh a2a7cab76d
Rid result from `get_custody_column_subnets` (#6543)
* ditch results in get custody column subnets

* fix other part
2024-09-11 12:49:01 +02:00
tersec 1503c7dffe
rm some unused code/imports (#6541) 2024-09-11 05:45:37 +02:00
Pedro Miranda 1ac9b851b9
Add GetAggregateAttestation V2 endpoint version (#6511)
* attestation pool support and tests

* REST endpoints changes

* initial ncli and validator client support

* updated tests file

* fixed typos

* review improvements

* remove V1 endpoint

* revert v1 removal

* V2 endpoint version available to pre electra

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-09-06 12:15:30 +00:00
Agnish Ghosh 444d1dd093
add: `get_custody_columns` for das_core (#6532)
* add: get_custody_columnns in das core specs with tests

* apply review changes

* review changes 2

* review 3
2024-09-04 16:05:18 +02:00
Agnish Ghosh 5a44e39e31
bump nim-kzg4844, enable ckzg2.0.0, fix whatever needed (#6502) 2024-09-02 11:47:00 +00:00
Etan Kissling dcb268e307
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-09-01 16:34:50 +02:00
Etan Kissling 7ac4756e73
Merge branch 'dev/etan/df-forkedblobs' into feat_eip-7688 2024-09-01 15:48:31 +02:00
Etan Kissling 18af8dcd9f
Merge branch 'stable' into dev/etan/df-forkedblobs 2024-08-30 14:54:33 +02:00
tersec 1e70b0d2a8
Merge remote-tracking branch 'origin/stable' into unstable 2024-08-30 02:21:05 +00:00
tersec bf4abf8b9e
version v24.8.0 2024-08-29 14:29:58 +00:00
Etan Kissling 73be2af0d9
more concise RLP decoding syntax in EL helpers (#6514)
The comment in `readExecutionTransaction` is not actually relevant when
the `rlp.decode` template is called from a non-generic function.
The function still cannot be simply inlined; `is_valid_versioned_hashes`
is itself generic and would require an `export eth_types_rlp` to work
properly (generic sandwich issue). The non-generic function wrapper
seems simpler and avoids injecting RLP into importing modules.
2024-08-28 14:21:28 +02:00
Pedro Miranda f9e44b2a3b
Improved electra attestations packing (#6498)
* test disjoint comittee bits

* test for aggregated attestations with disjoint bits

* improved attestation pool on-chain collecting and packing

* addressed format issues

* improved sorting method

* updated AllTests-mainnet file

* updated AllTests-mainnet file

* review corrections

* review corrections

* removed old phase0 artifacts

---------

Co-authored-by: Pedro Miranda <pedro.miranda@nimbus.team>
2024-08-23 13:26:35 +02:00
tersec 8c2e8f2b0f
some v1.5.0-alpha.5 consensus spec URL updates (#6509) 2024-08-23 12:43:54 +02:00
Jacek Sieka 42c4ea109c
Revert "stop testing broken upstream version-2-0" (#6506)
* Revert "stop testing broken upstream version-2-0 (#6499)"

This reverts commit 2be7eba25a.

* fix field warning template
2024-08-23 12:18:06 +02:00
tersec e4f18cba09
stop tracking phase0 spec artifact of current/prev target epoch for attestation block packing (#6508) 2024-08-22 20:28:21 +02:00
tersec 44cc72c104
refactor engine API conversions out of EL manager (#6507) 2024-08-22 16:12:03 +02:00
Etan Kissling bd09e4d864
inhibit LC sync while DAG is synced (#6505)
Normally, running LC and DAG sync at same time is fine, but on tiny
devnet where some peer may not support the LC data, we can end up in
situation where peer gets disconnected when DAG is in sync, because
DAG sync never uses any req/resp on local devnet (perfect nw conditions)
so the LC sync over minutes removes the peer as sync is stuck.

We don't need to actively sync LC from network if DAG is already synced,
preventing this specific low peer devnet issue (there are others still).
LC is still locally updated when DAG finalized checkpoint advances.
2024-08-22 06:13:47 +00:00
Etan Kissling a597fe95fa
check blob versioned hashes when no EL is connected (#6501)
* check blob versioned hashes when no EL is connected

When no EL is conencted, we have to at the very least ensure that the
data in the beacon block is consistent with the execution payload.
We already do this for the block hash, but also have to do it for the
`blob_kzg_commitments`. To validate that they are linked with the
execution payload, we have to RLP decode all EIP-4844 blob transactions
and compare their blob versioned hashes with the hashed commitments.

* simplify loop in case where `blob_versioned_hashes` doesn't exist

* skip blob transaction parsing pre Deneb
2024-08-22 06:04:03 +00:00
tersec 21aeeaf561
automated consensus spec URL updating to v1.5.0-alpha.5 (#6504) 2024-08-21 14:25:19 +02:00
tersec 485ed833e0
use EF consensus-specs v1.5.0-alpha.5 test vectors (#6503) 2024-08-21 12:18:33 +02:00
Etan Kissling b511f3eeb7
Use Pippenger multiplication for combining multiple sigs of same msg (#6484)
Newer `blst` releases expose multiscalar Pippenger multiplication that
allows accelerated verification of signatures pertaining to same msg.

- https://gist.github.com/wemeetagain/d52fc4b077f80db6e423935244c2afb2
2024-08-16 23:42:46 +02:00
Etan Kissling 6f7c4fffe7
Synchronously check all `transactions` to have non-zero length (#6491)
Reject blocks with zero length transactions early when no EL connected.

- https://github.com/ethereum/consensus-specs/pull/3885
2024-08-16 22:52:35 +02:00
tersec 2895df128c
increase TNS state downloading timeout to 120 seconds (#6487) 2024-08-12 03:49:10 +02:00
tersec f258cba816
some v1.5.0-alpha.4 consensus spec URL updates (#6485) 2024-08-10 07:09:37 +02:00
tersec 904318cf83
automated consensus spec URL updating to v1.5.0-alpha.4 (#6483) 2024-08-09 18:24:49 +02:00
tersec 2e40a401b0
use EF consensus-specs v1.5.0-alpha.4 test vectors (#6482) 2024-08-09 15:02:04 +02:00
tersec d2c8561fcd
add some Electra config constants to beacon API config endpoint (#6479) 2024-08-07 18:15:29 +02:00
Etan Kissling 3375875e05
remove option to select Capella fork choice algo (#6478)
* remove option to select Capella fork choice algo

With Deneb having run stable for quite a while now, it's time to remove
the option to select the prior fork choice algo from Capella.

* also remove usage from test
2024-08-07 14:48:05 +00:00
tersec 535819263d
clear old electra attestations from attestation pool 2024-08-07 11:14:57 +00:00
Etan Kissling 51ca617d9f
fix LC header upgrade to Electra (#6473)
Followup on incorrect upgrade procedure in #6375 where `blob_gas_used`
was accidentally copied into `excess_blob_gas` when running Electra
`LightClientStore` with earlier `LightClient(Bootstrap|Update)`.
2024-08-06 15:48:15 +00:00
tersec c0fc0f41dd
calculate next slot's withdrawals properly even across epoch boundary (#6470) 2024-08-06 13:33:16 +02:00
Etan Kissling 809ee5528e
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-08-06 13:25:42 +02:00
Etan Kissling 7a650fb876
Merge branch 'stable' into dev/etan/df-forkedblobs 2024-08-06 13:16:44 +02:00
Etan Kissling e2dac0a030
Merge branch 'feat/eip-7495' into feat_eip-7688 2024-08-06 13:16:10 +02:00
tersec 8333365848
replace validator Bloom filter with partial bucket sort (#6469) 2024-08-02 07:30:22 +02:00
tersec 6a576978ba
Merge remote-tracking branch 'origin/stable' into unstable 2024-07-29 03:47:56 +00:00
tersec 0a4d3ac9c3
version v24.7.0 2024-07-29 00:45:51 +00:00
Etan Kissling ea16edd886
add test for shuffled attestation signatures (#6459)
Followup of #3212 to test proper signature verification. Also document
possible further optimization based on blst `v0.3.13`.
2024-07-26 23:31:05 +00:00
Eugene Kabanov b345c4fa72
Fix: Avoid downloading genesis multiple times, for holesky testnet. (#6452) 2024-07-26 14:54:03 +00:00
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 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 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
Etan Kissling 09f3882672
remove unsued `lcDataForkAtEpoch` helper (#6449)
`lcDataForkAtEpoch(.)` is not used anywhere and can be removed.
`lcDataForkAtConsensusFork(consensusForkAtEpoch(.))` saves same purpose.
2024-07-25 16:27:19 +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
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
tersec 6fa852400d
pause deployment of long-range sync option default (#6436) 2024-07-21 07:10:26 +02:00
tersec ebd0217a10
fix is_eligible_for_activation_queue for electra (#6427) 2024-07-15 21:08:20 +02:00
Eugene Kabanov 7853bd2878
BN: User agent recognition and error codes decoding. (#6414)
* Initial commit.

* Force update remote agent right before disconnect.

* Add handling errors from unknown remote agents.

* Address review comments.
2024-07-15 16:53:41 +02:00
Eugene Kabanov f751fde417
Use Nimbus specific agent string instead of nim-presto defaults. (#6424)
* Use Nimbus specific agent string instead of nim-presto defaults.
Use response(code) overload.

* Fix REST API test.
2024-07-15 02:27:23 +00:00
Kim De Mey ca15c4e433
Replace deprecated ENR functions (#6419) 2024-07-12 17:18:24 +02:00
Eugene Kabanov 031033a6f9
Fix REST /eth/v1/node/identity should return proper MultiAddresses (version 2). (#6422)
* Initial commit.

* Bump nim-libp2p with dualstack fixes.

* Pass announcedAddresses to the `p2p_addresses` list.
2024-07-11 17:39:38 +02:00
tersec befcf3f56a
bump sepolia for new bootnodes (#6421) 2024-07-11 07:13:37 +02:00
Etan Kissling dc007e3977
nullability annotations for `libnimbus_lc.h` (#6417)
Annotate functions that may return `NULL` with `_Nullable` to properly
bridge into Swift.
2024-07-09 12:38:16 +02:00
tersec 3db571d182
allow individual calculation of validator balances across epoch boundaries (#6416) 2024-07-07 00:32:50 +02:00
Jhett Black 3f051e9ab0
Add beacon node count metrics. (#6371) 2024-07-06 21:07:56 +00:00
andri lim 0b276315d2
Bump nim-eth: Convert GasInt to uint64 (#6415)
* Bump nim-eth: Convert GasInt to uint64

* Fixes

* Fix libnimbus_lc
2024-07-06 20:25:31 +00:00
Etan Kissling 7f59e80aaa
validate EL block hash in Electra when no EL is connected (#6407)
When no EL is connected, it is still required to validate the block hash
of `ExecutionPayload` to prevent attacks that trick us into attesting to
a circular chain with invalid in-between block hashes. This is already
done through Deneb but was still missing in Electra to be rectified now.
2024-07-05 10:18:50 +02:00
Eugene Kabanov c59bb71916
Add implementation of publishBlindedBlockV2() REST API endpoint. (#6413) 2024-07-04 19:48:12 +00:00
Etan Kissling abf818a9f3
bump nim-eth to `d8fda55c79dd48ba564f3cb540b968f4a1c1aae6` (#6405)
* bump nim-eth to `d8fda55c79dd48ba564f3cb540b968f4a1c1aae6`

- Overhaul of ENR implementation - part I
- Rework of ENR decoding code
- Update discv5 to use non deprecated ENR calls and simplify code
- simplify .nimble file
- avoid warnings when processing `GasInt` for RLP
- define Electra types and RLP encoding

* explicitly indicate consensus types over nim-eth types in EL manager
2024-07-04 18:40:11 +00:00
tersec 9f654690b8
update builder API registrations after keymanager API fee recipient change (#6412) 2024-07-04 14:08:07 +02:00
Eugene Kabanov 85c2850971
Fix publishBlockV1() and publishBlockV2() SSZ decoding process. (#6408) 2024-07-04 01:08:07 +00:00
Eugene Kabanov 84a35c85c5
Fix for gcc-14 issues in kzg-4844. (#6403)
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.

* Add debugging output.

* Remove debugging output.

* Restore groupBlobs function.
2024-07-03 10:01:33 +00:00
Etan Kissling 515bd486e6
ensure passing unsigned integer to `rlp.encode` (#6397)
RLP encoding is not defined for signed integers. Make sure to use
unsigned integers when encoding RLP for EL block hash computation.
2024-07-03 01:43:16 +00:00
Etan Kissling fba8cc3ee5
fix EIP reference in Electra type definition (#6398)
The field `withdrawal_requests` is from EIP-7002 instead of EIP-6110.
2024-07-03 01:41:01 +00:00
tersec 8c67a265d0
bump nim-web3 to align WithdrawalRequestV1 with EIP-7002 and consensus spec (#6395) 2024-07-01 16:07:30 +02:00
tersec 13e766d4df
add database electra block tests (#6394) 2024-07-01 04:18:41 +00:00
Eugene Kabanov 190dbfd481
Fix empty status string handling, address #6175. (#6391) 2024-06-28 05:54:51 +02:00
Etan Kissling 9924aec1e3
extend light client protocol for Electra (#6375)
* extend light client protocol for Electra

Add missing Electra support for light client protocol:

- https://github.com/ethereum/consensus-specs/pull/3811

Tested against PR consensus-spec-tests, the test runner automatically
picks up the new tests once available.

* workaround `version-2-0`: `Error: cannot instantiate: 'SomeUnsignedInt'`

* fix initialization when Electra not scheduled

* try reduce stack size in test

* put correct sync committee branch version into DB

* adjust fork schedule in light client data tests

* further reduce stack size

* split function into multiple parts

* rename variable

* regenerate test reports to cover new Electra tests

* add Nim bug reference
2024-06-26 19:02:03 +00:00
Etan Kissling 3da85e593f
update references for LC related Nim issues (#6389)
Addresses feedback from #6375 that is applicable to pre-existing code
moreso than to the new PR.
2024-06-26 14:31:36 +02:00
Etan Kissling 1b59e82e3a
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-06-26 12:09:41 +02:00
Etan Kissling b9d85a0bd5
remove `Consolidation`, `SignedConsolidation` 2024-06-26 11:32:48 +02:00
tersec 288540e794
fix UnnamedBreak deprecation build warnings (#6388) 2024-06-26 10:48:49 +02:00
Etan Kissling 256020037a
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-06-25 16:45:53 +02:00
Etan Kissling 754e9c3b10
Merge branch 'dev/etan/lc-electra' into feat_eip-7688 2024-06-25 14:57:39 +02:00
Etan Kissling 0ef4742fd5
fix REST encoding 2024-06-25 13:08:41 +02:00
Etan Kissling 0c4e87a40b
Merge branch 'unstable' into dev/etan/lc-electra 2024-06-24 12:51:51 +02:00
tersec a787c85589
Merge remote-tracking branch 'origin/stable' into unstable 2024-06-24 09:23:31 +00:00
Etan Kissling cd4de1357a
during proposal duties, perform sync aggregation duties if not received (#6384)
Including sync contributions into a block affects validator rewards.
When we have not received aggregate sync contributions, but have seen
individual messages, we can produce the contributions locally, improving
validator rewards when subscribing to all subnets or when having a
non-aggregating attached validator in the sync committee.
2024-06-24 09:13:15 +00:00
tersec 7d00786d5e
version v24.6.0 2024-06-24 07:25:15 +00:00
Etan Kissling e4efe9ed75
ensure that rarely ran files are compiled on PR (#6379)
* ensure that rarely ran files are compiled on PR

Add some missing files to `isMainModule` developer internal builds CI.

* fix fork choice compilation

* fix `rest_api_benchmark` compilation

* skip linking

* fix loop

* fix `mock_genesis`

* fix signedness
2024-06-23 23:35:56 +00:00
Etan Kissling eb8ba1a3ff
rename variable 2024-06-23 23:52:35 +02:00
Etan Kissling f3e3c0de8f
split function into multiple parts 2024-06-23 15:54:09 +02:00
Etan Kissling c01fb9f0da
further reduce stack size 2024-06-23 12:29:09 +02:00
Etan Kissling 3f83028cf2
Merge branch 'unstable' into dev/etan/lc-electra 2024-06-22 10:48:08 +02:00
Etan Kissling e7349be3e5
put correct sync committee branch version into DB 2024-06-22 10:19:35 +02:00
tersec 9b6b42c8f9
some consensus spec URL updates to v1.5.0-alpha.3 (#6382) 2024-06-22 07:28:19 +02:00
tersec b759038ba8
increase TNS state download timeout to 90 (#6363) 2024-06-21 22:14:28 +00:00
Etan Kissling 8bc53bde71
bump holesky to `874c199423ccd180607320c38cbaca05d9a1573a` (#6377)
- Add Chainlens explorer for Holesky
- update repository layout
2024-06-21 21:51:25 +00:00
Etan Kissling 0d89dcd363
fix initialization when Electra not scheduled 2024-06-21 16:20:51 +02:00
Etan Kissling 4c242c44aa
workaround `version-2-0`: `Error: cannot instantiate: 'SomeUnsignedInt'` 2024-06-21 15:26:11 +02:00
Etan Kissling 65ae4d8eb1
extend light client protocol for Electra
Add missing Electra support for light client protocol:

- https://github.com/ethereum/consensus-specs/pull/3811

Tested against PR consensus-spec-tests, the test runner automatically
picks up the new tests once available.
2024-06-21 15:02:01 +02:00
Etan Kissling 31653d5869
fix DB size estimates for light client data (#6373)
Addresses two inaccuracies in light client data size documentation:

1. `SyncCommittee` pubkeys serialize are 48 bytes not 64 bytes
2. Some of the estimates used 1000 vs 1024 bytes/KB, aligned to 1024
2024-06-21 12:39:38 +00:00
Etan Kissling 22b5bc6256
cleanup Electra fork references (#6372)
Adjust two fork references to match surrounding code style.
2024-06-20 21:09:41 +02:00
Eugene Kabanov 61610fd243
BN: Disable genesis sync via long-range-sync argument. (#6361)
* Initial commit.

* Update options.md.

* Add pre-database initialization weak subjectivity period check.

* Add proper log message.
2024-06-20 18:57:08 +00:00
Kim De Mey 7a8c1d818a
Bump nim-eth for Opt changes and make Opt related adjustments (#6369) 2024-06-18 23:46:51 +02:00
tersec bfd1a36fcf
add engine API consolidation requests support for getPayloadV4/newPayloadV4 (#6368) 2024-06-18 07:35:36 +02:00
tersec 350c4eaa39
rm Goerli remnant; add explanatory comment about opt sync validation (#6365) 2024-06-17 09:40:41 +00:00
tersec 88fa8b17ea
automated consensus spec URL updating to v1.5.0-alpha.3 (#6364) 2024-06-16 02:59:25 +02:00
tersec 0fab9682a6
use EF consensus-specs v1.5.0-alpha.3 test vectors (#6362) 2024-06-16 00:15:27 +02:00
tersec a93ab7cf3b
Revert "bump nim-kzg4844 for gcc-14 compatibility (#6342)" (#6360)
This reverts commit c5326619a4.
2024-06-14 23:23:19 +00:00
Etan Kissling 9fc870777c
remove Bellatrix EL syncing support from light client (#6352)
Bellatrix light client data does not contain the EL block hash, so we
had to follow blocks gossip to learn the EL `block_hash` of such blocks.
Now that Bellatrix is obsolete, we can simplify EL syncing logic under
light client scenarios. Bellatrix light client data can still be used
to advance the light client sync itself, but will no longer result in
`engine_forkchoiceUpdated` calls until the sync reaches Capella. This
also frees up some memory as we no longer have to retain blocks.
2024-06-14 01:23:17 +00:00
Eugene Kabanov c5326619a4
bump nim-kzg4844 for gcc-14 compatibility (#6342)
* Bump nim-kzg4844.

* Fix code to use proper KZG types.

* Add missing coma.

* Fix compilation issue.

* Bump nim-kzg4844.
2024-06-14 00:46:03 +00:00
Etan Kissling b6d6247fa1
fix light client topic subscriptions (#6351)
Using `let contextFork = consensusFork` no longer seems to work to avoid
capturing the `var` loop variable; it ends up being `Electra` for all
handlers. Use `closureScope` as a more sustainable fix.
2024-06-14 00:45:40 +00:00
Etan Kissling 176a8117eb
Merge branch 'feat_eip-7688' into feat_eip-6493 2024-06-13 16:27:58 +02:00
andri lim fb0494e739
Bump nim-eth for revert GasInt back to int64 (#6347)
* Bump nim-eth for revert GasInt back to int64

* Fix libnimbus_lc
2024-06-13 15:25:59 +02:00
Etan Kissling 20af24efdb
align field name across `SomeSig` (#6348)
`ValidatorSig` uses `blob` but `TrustedSig` uses `data`, aligning the
names reduces code duplication and improves clarity. It also simplifies
`StableContainer` compatibility checks.
2024-06-13 13:11:04 +00:00
Etan Kissling 2915833ce8
Merge branch 'dev/etan/cc-fieldname' into feat_eip-7688 2024-06-13 12:43:49 +02:00
Etan Kissling 6346916224
align field name across `SomeSig`
`ValidatorSig` uses `blob` but `TrustedSig` uses `data`, aligning the
names reduces code duplication and improves clarity. It also simplifies
`StableContainer` compatibility checks.
2024-06-13 12:41:56 +02:00