Commit Graph

4140 Commits

Author SHA1 Message Date
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
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
andri lim 238589868c
Bump nim-web3 and nim-eth (#6345)
In nim-web3 all std.Option are replaced by results.Opt. The same goes in nim-eth, with additional fields name changes and GasInt changed from int64 to uint64.
2024-06-12 08:46:39 +07:00
Eugene Kabanov 27664291c4
VC/NIMBUS-BN validators protection. (#6329)
* Beacon node side implementation.

* Validator client side implementation.

* Address review comments and fix the test.

* Only 400 errors could be IndexedErrorMessage, 500 errors are always ErrorMessage.

* Remove VC shutdown functionality.

* Remove magic constants.

* Make arguments more visible and disable default values.

* Address review comments.
2024-06-11 19:38:16 +00:00
Kim De Mey 741075aada
Bump nim-eth module and add async raises for eth2 discovery (#6344) 2024-06-11 19:50:08 +02:00
tersec 77d926525f
stop using deprecated stew/results (#6343)
* stop using deprecated stew/results

* exception tracking linting
2024-06-11 02:34:56 +00:00
Etan Kissling cccd81a47b
add ANSI art placeholder for Electra 🦒 (#6338)
Trigger ANSI art on upgrade to Electra

Art created by http://beatscribe.com (beatscribe#1008 on Discord)
2024-06-10 16:45:40 +00:00
tersec 598485ee1a
add consolidations block body packing plumbing and correct electra MEV block body htr override (#6335) 2024-06-10 05:05:51 +02:00
tersec e3d4ad5d39
properly (re)factor consolidation signature checking (#6334) 2024-06-09 19:37:41 +02:00
Eugene Kabanov 0512d02766
VC enable block monitoring by default. (#6331) 2024-06-07 15:04:29 +00:00
Etan Kissling ab892c1a04
bump `mainnet` to `f6b7882618a5ad2c1d2731ae35e5d16a660d5bb7` (#6310)
* bump `mainnet` to `f6b7882618a5ad2c1d2731ae35e5d16a660d5bb7`

- Initial commit

* fix soft links
2024-05-30 09:28:16 +00:00
Eugene Kabanov 1cdb32222b
VC: Add block scoring (#6303)
* Add scoring for blocks.

* Update Alltests.
2024-05-29 10:07:39 +00:00
Etan Kissling 0efc81d96d
use correct minimum size when reading block / state headers (#6263)
`sizeof` also includes padding between fields, while SSZ defines
`fixedPortionSize` (on type) or `sszSize` (on value) to denote
required bytes to encode. Switch forked block/state readers to SSZ size.
As blocks/states are much larger than the padding, this doesn't affect
practical use cases but is slightly more correct this way.
2024-05-25 07:30:05 +02:00
tersec c7bf6fb542
rm debugRaiseAssert; clean up several debugComments (#6308)
* rm debugRaiseAssert; clean up several debugComments

* exception linting
2024-05-23 23:51:09 +02:00
tersec a7b5741163
Merge remote-tracking branch 'origin/stable' into unstable 2024-05-23 13:29:21 +00:00
tersec a98c119b98
version v24.5.1 2024-05-23 10:52:55 +00:00
tersec 73f56b5026
version v24.5.0 2024-05-23 03:44:54 +00:00
tersec b56a671122
fix most ConvFromXtoItselfNotNeeded hints and unhide remaining ones (#6307) 2024-05-22 13:56:37 +02:00
tersec 708b23f084
rm unused produceBlockV2Plain() RPC signature (#6304) 2024-05-22 07:47:03 +02:00
tersec 3e6990ccc4
rm unused ProduceBlockResponseV2 type (#6302) 2024-05-22 04:52:35 +02:00
tersec dd452f71d3
rm outdated/semi-duplicate execution layer withdrawal request processing (#6301) 2024-05-22 01:59:11 +02:00
Eugene Kabanov 34853ca155
VC: Deprecate fallback path to produceBlockV2, use produceBlockV3 always. (#6300)
* Remove fallback path to publishBlockV2(), use publishBlockV3().

* Update AllTests.md.
2024-05-22 00:03:38 +02:00
Eugene Kabanov d7c5bc0397
[VC] Add builderBoostFactor support. (#6294)
* Initial commit.

* Replace localBlockValueBoost with builderBoostFactor.

* Add test.

* Update AllTests.

* Update options.md

* Recover `localBlockValueBoost` for BN-only mode.

* Address review comments.
2024-05-19 04:49:43 +03:00
Jacek Sieka d191b35e2e
electra: attestatoin sending (#6296) 2024-05-17 17:34:46 +02:00
Jacek Sieka 045c4cf185
electra attestation updates (#6295)
* electra attestation updates

In Electra, we have two attestation formats: on-chain and on-network -
the former combines all committees of a slot in a single committee bit
list.

This PR makes a number of cleanups to move towards fixing this -
attestation packing however still needs to be fixed as it currently
creates attestations with a single committee only which is very
inefficient.

* more attestations in the blocks

* signing and aggregation fixes

* tool fix

* test, import
2024-05-17 15:37:41 +03:00
tersec 826bf4c3ee
be more optimistic about electra 2024-05-17 07:13:30 +00:00
Eugene Kabanov 41db536d63
Fix el-manager warnings and issues. (#6293) 2024-05-16 13:54:51 +02:00
tersec 4355f81731
temporarily disable optimistic block hashing on electra 2024-05-16 11:17:31 +00:00
tersec c7b916fe7b
rename depositReceipts/exits to depositRequests/withdrawalRequests 2024-05-16 00:23:00 +00:00
tersec b9151d43ce
produce blobs in electra 2024-05-15 14:49:57 +00:00
tersec 111e5d8006
add push raises to nimbus_light_client 2024-05-15 14:01:52 +00:00
tersec 69f13eaa51
add electra gossip transition 2024-05-15 13:30:49 +00:00
Eugene Kabanov 0b8cb4efc4
Add metrics to all RPC {state_id} endpoints. (#6282) 2024-05-15 09:52:57 +03:00
tersec d0400e408b
rename ExitV1 to WithdrawalRequestV1 (#6290) 2024-05-15 06:44:52 +02:00
tersec c0601608f9
rm future_combinators (#6289) 2024-05-14 22:14:26 +02:00
tersec 0ca5211f6a
enable nbn electra block processing (#6288) 2024-05-14 20:29:03 +02:00
Eugene Kabanov e6b9bfc9e4
el_manager initial refactor. (#6228)
* Initial commit.

* Address review comments and fix missing primitive.

* Fix developer build.

* More asyncraises updates.

* Refactor and optimize forkchoiceUpdated() and sendNewPayload().

* Fix runtime assertion.

* Refactor getPayload().
2024-05-14 21:03:30 +03:00
tersec c1b9e82502
electra attestation gossip plumbing (#6287) 2024-05-14 19:01:26 +03:00
tersec 1c3aaa7be2
add (Signed)AggregateAndProof SSZ tests (#6285) 2024-05-14 13:51:06 +02:00
tersec 9c669cf57a
some debugRaiseAssert to debugComment; unblock some spec tests (#6284) 2024-05-14 12:19:24 +03:00
tersec 3f972a2ca5
add some support for electra aggregated attestations (#6283) 2024-05-14 06:12:35 +02:00
Etan Kissling 87605d08a7
bump `nim-eth` to `c482b4c5b658a77cc96b49d4a397aa6d98472ac7` (#6281)
- Introduce wrapper type for EIP-4844 transactions
2024-05-13 17:58:47 +02:00
tersec 6b8061b5d6
automated consensus spec URL updating to v1.5.0-alpha.2 (#6279) 2024-05-09 05:03:10 +00:00
tersec 963e0bb92b
use EF consensus spec v1.5.0-alpha.2 test vectors (#6272) 2024-05-08 04:43:05 +02:00
tersec 1b30dcc165
initial electra attestation pool changes; electra block_sim (#6255) 2024-05-07 15:01:51 +00:00
tersec c41fe698cf
small datatypes cleanups (#6266) 2024-05-06 10:21:37 +02:00
Eugene Kabanov a6f68d3edc
Fix POST to /eth/v2/beacon/blocks unable to verify correct block signature. (#6261) 2024-05-06 04:15:17 +00:00