Skip to content

Conversation

@arnetheduck
Copy link
Member

No description provided.

dependabot bot and others added 30 commits September 25, 2025 09:24
Bumps [vendor/mainnet](https://github.com/eth-clients/mainnet) from `9df5a5b` to `5a94a36`.
- [Commits](eth-clients/mainnet@9df5a5b...5a94a36)

---
updated-dependencies:
- dependency-name: vendor/mainnet
  dependency-version: 5a94a36cde0af52ff7c486331bff4f690a1438f2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
warning fixes and other small changes
* reduce memory allocations for Future
* make allFutures more efficient for already-finished futures
* multi-cancellation for `cancelAndWait`
Variable was shadowed, fix it by assigning a new name.
* clean up `clearanceState` access

There are several assumptions in the code about the clearance state that
lead to fragility - resolve some of these by moving things around a bit

* advance clearance state together with proposal fcU
* pass state in `OnBlockAdded` to emphasize the lifetime of its validity
* remove some code duplication between block_processor / sync_overseer
(there's a lot more to do but it's scheduled for dedicated refactoring
so do just the minimum)
* move blob/column validation to its own proc shared between
backfill/head blocks
* avoid pointless block lookup from dag when processing block
attestations

* push sidecar style selection up the call chain
…et (#7534)

* Only bundle named network metadata when SECONDS_PER_SLOT matches preset

When customizing `SECONDS_PER_SLOT` to a value that is incompatible with
the named networks for the preset (e.g., Hoodi, for `mainnet`), do not
bundle support for those named networks as that would fail compilation.

* Fix CI additional step
Bumps [vendor/nim-sqlite3-abi](https://github.com/arnetheduck/nim-sqlite3-abi) from `bdf01cf` to `a322ceb`.
- [Release notes](https://github.com/arnetheduck/nim-sqlite3-abi/releases)
- [Commits](arnetheduck/nim-sqlite3-abi@bdf01cf...a322ceb)

---
updated-dependencies:
- dependency-name: vendor/nim-sqlite3-abi
  dependency-version: a322ceb619f40a5c521ea711ee1fad4c6d11aa09
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* rename  to

* rename header to bid

* update ssz_static tests

* Update nim-eth2-scenarios to required commit 9b9d64c

* use const for KzgCommitments default and fix alphabetization
Minimal support for running the beacon node as part of another
application, for example `nimbus`.

* move copyright out of version (set it per binary)
* avoid allocations / logging in signal handler
* expose `run` and `main` for others to call
* fix missing logging setup in windows service
* bump nim-kzg4844

* Fix test

* Update test log
* Bump nim-eth: move enr to eth/enr

* Bump nim-eth

* Fix import path

* Fix import path

* bump nim-eth to master branch
Use consensus light client naming throughout the nimbus guide
instead of just light client. At the main page this term is
already being used but in the rest of the guide it is not.

It is a source of confusion when naming the page just
"light client" in terms of what this light client is and
what it does.

This will even more so become the case as this guide becomes the
general guide of all Nimbus products (and thus other light clients
such as the verified proxy and the portal client).

So I think it is best to always name it specifically consensus
light client. Other option would be cl light client or beacon
light client (but the latter I like less as I think it is less
valid as it doesn't really do the beacon tasks).
tersec and others added 28 commits October 22, 2025 04:09
* Pass TimeParams to TopicParams

Certain networking topic params depend on the slot / epoch timing and
need access to TimeParams.

* Also apply to DecayInterval

* Forward to scoreParameterDecay
As the defaultSyncHorizon is the number of slots in 10 minutes, it also
depends on TimeParams. Wrap the startup config in optional, and delay
initialization with the default value until after metadata is loaded.
* Prefer runtime TimeParams over compiletime

Change a couple uses of compiletime constant to use runtime config,
where it is local and does not span across multiple modules.

* func -> proc

* int64
Computing the time of a duty within a slot also needs TimeParams.
Have to dynamically compute NANOSECONDS_PER_SLOT, it's not a constant.
Allows running `nimbus_beacon_node beaconNode` to match `nimbus
beaconNode`, keeping the names the same in the two binaries to ease
future upgrade paths.

Technically, if someone was using `nimbus_beacon_node noCommand` that
would break with this change, but that's never been documented, nor does
it appear in any `--help` or other sources of publically available
functionality so no actual user impact is expected for now.
The spec function to convert timestamps to slots is needed for payload
validation, so needs access to TimeParams.
…7654)

As SECONDS_PER_SLOT is loaded from the config, we can only validate
that it is consistent with SLOT_DURATION_MS after the config is fully
loaded.
* Bump vendor/nim-eth2-scenarios from `9b9d64c` to `69f22ed`

Bumps [vendor/nim-eth2-scenarios](https://github.com/status-im/nim-eth2-scenarios) from `9b9d64c` to `69f22ed`.
- [Commits](status-im/nim-eth2-scenarios@9b9d64c...69f22ed)

---
updated-dependencies:
- dependency-name: vendor/nim-eth2-scenarios
  dependency-version: 69f22ed05e23939a6a35ac977465a66ed328cab8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update SPEC_VERSION

* Set default value of `BuilderPendingPayment.withdrawable_epoch` to `FAR_FUTURE_EPOCH`

* eip7732: deal with zero value bids correctly

* eip7732: add slot field to `DataColumnSidecar`

* eip7732: swap `beacon_block_root` and `slot` in places in `DataColumnSidecar`

* Disable botched tests from 'Fix decorator order in light-client tests'

* Re-generate test summaries

* Re-generate AllTests

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Etan Kissling <[email protected]>
* Raise Jenkins timeouts

When multiple jobs are being run in parallel, these timeouts tend to get
hit at times. Provide some more room to avoid cancellations.

* Also bump the builds in later stages
Load all `ProgressiveList` tests, report folders with unexpected name.
Addresses open issue from #2710 where SECONDS_PER_SLOT required config
via compile-time flag. It now loads fine from `config.yaml`.

Co-authored-by: tersec <[email protected]>
* feat: gloas.DataColumnSidecar update

* feat: gloas verify_data_column_sidecar

* feat: update fulu verify_data_column_sidecar

* fix: error message

* chore: add spec ref

* fix: indent
* Retain SECONDS_PER_SLOT from config

Accidentally removed the logic that retains SECONDS_PER_SLOT in #7658.
Ensure it doesn't get discarded after the compatibility check.

* Cleaner solution

* Range check template

* Logging
Bumps [vendor/nimbus-build-system](https://github.com/status-im/nimbus-build-system) from `e6c2c9d` to `d7814d6`.
- [Commits](status-im/nimbus-build-system@e6c2c9d...d7814d6)

---
updated-dependencies:
- dependency-name: vendor/nimbus-build-system
  dependency-version: d7814d6a9013241dea22aed816c6fffbba6e72be
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vendor/nim-http-utils](https://github.com/status-im/nim-http-utils) from `79cbab1` to `c53852d`.
- [Commits](status-im/nim-http-utils@79cbab1...c53852d)

---
updated-dependencies:
- dependency-name: vendor/nim-http-utils
  dependency-version: c53852d9e24205b6363bba517fa8ee7bde823691
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Deprecate SECONDS_PER_SLOT in favor of SLOT_DURATION_MS

Start reading SLOT_DURATION_MS from config.yaml and use that one as the
primary slot timing source. SECONDS_PER_SLOT reading is still supported
and is used as a fallback if SLOT_DURATION_MS is missing. If both are
present, the values are checked to match each other.

* Fix wrong auto-merge
`:` also works, but `=` is more common
* fix: case

* fix: public fn

* Revert "fix: public fn"

This reverts commit 89ebe55.
Bumps [vendor/nim-sqlite3-abi](https://github.com/arnetheduck/nim-sqlite3-abi) from `a322ceb` to `c580d68`.
- [Release notes](https://github.com/arnetheduck/nim-sqlite3-abi/releases)
- [Commits](arnetheduck/nim-sqlite3-abi@a322ceb...c580d68)

---
updated-dependencies:
- dependency-name: vendor/nim-sqlite3-abi
  dependency-version: c580d682edd03a6cb743c33da2f989c44fefec8b
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* verify proposer index/signature the same way across
blocks/blobs/columns/quarantine
* rename block clearance helpers to differentiate backfill vs light
forward syncing and signature versus proposer checking (the latter
includes checking the proposer index against the state)
* avoid redundant parent lookup when re-queueing quarantine blocks
* delay `Forked...` block init in quarantine until the block is actually
being added
A block may become unviable for two main reasons:

* the fork it was on is orphaned by chain finality - ie the block was
valid in some history, but not any more in the canonical one
* the block is invalid, either because it is itself invalid or it builds
on an invalid block

Until now we've treated both kinds the same when it comes to the
`unviable` quarantine - because of this, when checking gossip rules the
client has in some cases opted for the more lenient "IGNORE" respons
instead of using "REJECT".

This PR brings the client more closely in line with ignore/reject rules
by tracking the original error that led to the unviablility.

* use `minilru` instead of `OrderedTable` for simplified capacity
management and performance
* simplify quarantine operations that deal with unviables
* remove unused quarantine events
* keep track of the block being processed to avoid it being readded to
the quarantine during processing
@github-actions
Copy link

Pull requests to the stable branch are not allowed.
Please open your pull request against the unstable branch.
See https://nimbus.guide/contribute.html#build-and-deploy

@github-actions github-actions bot closed this Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.