Skip to content

Merge main into preconf dev#3116

Merged
calbera merged 21 commits into
preconf-devfrom
merge-main-into-preconf-dev
May 28, 2026
Merged

Merge main into preconf dev#3116
calbera merged 21 commits into
preconf-devfrom
merge-main-into-preconf-dev

Conversation

@fridrik01
Copy link
Copy Markdown
Contributor

@fridrik01 fridrik01 commented May 28, 2026

This fixes broken CI vulncheck on preconf-dev and brings it in line with main

calbera and others added 19 commits April 14, 2026 10:38
…ode (#3096)

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Cal Bera <calbera@berachain.com>
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Cal Bera <calbera@berachain.com>
Co-authored-by: Cal Bera <calbera@berachain.com>
@fridrik01 fridrik01 requested review from bar-bera and calbera May 28, 2026 17:59
@fridrik01 fridrik01 self-assigned this May 28, 2026
@fridrik01 fridrik01 marked this pull request as ready for review May 28, 2026 18:12
@fridrik01 fridrik01 requested a review from a team as a code owner May 28, 2026 18:13
Copilot AI review requested due to automatic review settings May 28, 2026 18:13
@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Codecov Report

❌ Patch coverage is 73.44498% with 111 lines in your changes missing coverage. Please review.
✅ Project coverage is 59.72%. Comparing base (322b102) to head (1fcb02d).
⚠️ Report is 1 commits behind head on preconf-dev.

Files with missing lines Patch % Lines
beacon/deposits/deposits.go 68.80% 25 Missing and 9 partials ⚠️
gethlib/ethclient/ethclient.go 43.75% 18 Missing ⚠️
state-transition/core/state_processor_staking.go 73.33% 8 Missing and 4 partials ⚠️
gethlib/ethclient/signer.go 43.75% 8 Missing and 1 partial ⚠️
state-transition/core/state_processor_forks.go 14.28% 4 Missing and 2 partials ⚠️
cli/commands/deposit/db_check.go 0.00% 5 Missing ⚠️
beacon/blockchain/finalize_block.go 66.66% 2 Missing and 1 partial ⚠️
beacon/blockchain/process_proposal.go 40.00% 2 Missing and 1 partial ⚠️
beacon/validator/block_builder.go 62.50% 1 Missing and 2 partials ⚠️
execution/deposit/contract.go 72.72% 2 Missing and 1 partial ⚠️
... and 6 more
Additional details and impacted files

Impacted file tree graph

@@               Coverage Diff               @@
##           preconf-dev    #3116      +/-   ##
===============================================
+ Coverage        58.82%   59.72%   +0.89%     
===============================================
  Files              381      384       +3     
  Lines            19687    19929     +242     
===============================================
+ Hits             11581    11902     +321     
+ Misses            7138     7047      -91     
- Partials           968      980      +12     
Files with missing lines Coverage Δ
beacon/blockchain/service.go 79.62% <100.00%> (-1.41%) ⬇️
beacon/validator/service.go 90.00% <100.00%> (+0.34%) ⬆️
config/spec/devnet.go 100.00% <100.00%> (ø)
config/spec/mainnet.go 100.00% <ø> (ø)
config/spec/testnet.go 100.00% <100.00%> (ø)
da/types/sidecar.go 81.94% <100.00%> (+5.13%) ⬆️
execution/client/errors.go 53.01% <100.00%> (+25.01%) ⬆️
execution/client/ethclient/engine.go 64.93% <100.00%> (+18.83%) ⬆️
gethlib/types/transaction.go 54.61% <100.00%> (+18.15%) ⬆️
node-core/components/validator_service.go 84.21% <100.00%> (+0.87%) ⬆️
... and 21 more

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aligns preconf-dev with main by bringing in Fulu-related deposit handling, execution-client error classification changes, dependency/workflow updates, and updated simulated/e2e coverage.

Changes:

  • Adds Fulu deposit queue catch-up logic and migrates post-Fulu deposit processing to execution requests.
  • Updates execution RPC error handling, geth transaction accessors/sender caching, and sidecar nil-header handling.
  • Refreshes test network specs, genesis files, e2e expectations, pinned GitHub Actions, and Go dependencies.

Reviewed changes

Copilot reviewed 70 out of 71 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
testing/simulated/rpc_errors_test.go Adds TCP connection-drop proxy simulation and recovery test.
testing/simulated/fulu_deposit_test.go Adds simulated Fulu deposit queue drain scenario.
testing/simulated/el-genesis-files/fulu-deposit-genesis.json Adds EL genesis fixture for Fulu deposit simulation.
testing/simulated/components.go Adds Fulu deposit test chain spec provider.
testing/simulated/chaos_test.go Removes crashed execution client proposal test.
testing/networks/80094/spec.toml Updates Fulu inflation values for mainnet test config.
testing/networks/80094/eth-genesis.json Adds deposit contract address and Osaka blob schedule.
testing/networks/80069/spec.toml Activates Fulu timing and updates Fulu inflation values.
testing/networks/80069/eth-genesis.json Activates Osaka timing and adds deposit contract config.
testing/files/eth-genesis.json Adds deposit contract address and Osaka blob schedule.
testing/e2e/standard/withdrawal_test.go Removes stale TODO from Fulu version assertion.
testing/e2e/standard/staking_test.go Uses cached validator pubkeys and expands deposit diagnostics.
testing/e2e/standard/beacon_api_test.go Updates genesis balance expectations to 33 BERA.
storage/filedb/range_db_test.go Cleans comment formatting.
storage/deposit/v1/store.go Avoids preallocating deposit slices by unbounded range.
state-transition/core/validation_deposits.go Adds pre-Fulu/Fulu-first-block deposit validation flow.
state-transition/core/validation_deposits_test.go Adds Fulu catch-up deposit validation tests.
state-transition/core/state_processor.go Tracks previous block fork version for operations.
state-transition/core/state_processor_withdrawals_test.go Moves Fulu-era deposits into execution requests in tests.
state-transition/core/state_processor_staking.go Switches deposit source by fork and handles first-Fulu catch-up.
state-transition/core/state_processor_staking_test.go Updates staking tests for execution-request deposits.
state-transition/core/state_processor_forks.go Moves Electra1 fixes into fork upgrade helper.
state-transition/core/core_test.go Adds pre-Fulu test chain helper.
primitives/version/versions.go Simplifies Fulu version comment.
primitives/net/http/errors.go Removes unauthorized HTTP sentinel.
node-core/services/version/version.go Prints Fulu fork time at startup.
node-core/components/validator_service.go Injects deposit contract into validator service.
kurtosis/src/nodes/consensus/beacond/node.star Updates genesis deposit amount.
kurtosis/src/nodes/consensus/beacond/launcher.star Updates configured deposit amount.
kurtosis/src/networks/kurtosis-devnet/network-configs/genesis.json.template Adds Osaka and deposit contract genesis config.
go.mod Updates Go version, CometBFT replacement, and x/* deps.
go.sum Updates dependency checksums.
gethlib/types/tx_types.go Adds transaction accessor implementations.
gethlib/types/transaction.go Adds transaction accessors, seen time, and sender cache.
gethlib/types/transaction_test.go Adds transaction accessor tests.
gethlib/types/transaction_signing.go Adds signer interface and sender cache helper.
gethlib/ethclient/signer.go Adds server-provided sender cache signer.
gethlib/ethclient/ethclient.go Caches transaction sender metadata and adds TransactionSender.
gethlib/ethclient/ethclient_test.go Adds sender cache tests.
execution/deposit/interfaces.go Narrows deposit reads to single blocks and adds cursor methods.
execution/deposit/contract.go Implements single-block deposit reads and last-block tracking.
execution/client/ethclient/rpc/errors.go Adds typed HTTP status error.
execution/client/ethclient/rpc/client.go Returns typed HTTP status errors from raw RPC calls.
execution/client/ethclient/engine.go Formats Deneb payload version branch.
execution/client/errors.go Reclassifies bad connections as retryable and HTTP 4xx as fatal.
execution/client/errors_test.go Adds RPC error classification tests.
execution/client/client.go Updates unauthorized connection detection.
da/types/sidecar.go Initializes nil inner beacon block headers after SSZ decode.
da/types/sidecar_test.go Adds nil-header sidecar decode tests.
config/spec/testnet.go Sets Bepolia Fulu fork time.
config/spec/mainnet.go Updates Fulu inflation values and reorganizes Fulu constants.
config/spec/devnet.go Inlines devnet fork timing constants.
cli/commands/deposit/db_check.go Updates DB check to use pre-Fulu deposit validation.
chain/spec_test.go Updates fork-order test inputs for Fulu ordering.
chain/helpers_test.go Adds Fulu active fork timestamp cases.
chain/data.go Simplifies Fulu fork-time documentation.
beacon/validator/service.go Stores injected deposit contract in validator service.
beacon/validator/errors.go Moves deposit store incomplete error out of validator package.
beacon/validator/block_builder.go Delegates deposit body population to new deposits package.
beacon/deposits/interfaces.go Adds deposits package chain spec interface.
beacon/deposits/errors.go Adds deposits package error definitions.
beacon/deposits/deposits.go Adds pre-Fulu deposit fetching and first-Fulu catch-up helpers.
beacon/blockchain/service.go Removes old failed-block deposit retry service.
beacon/blockchain/process_proposal.go Adds Fulu deposit catch-up before state verification.
beacon/blockchain/interfaces.go Extends chain spec interface for deposit limits.
beacon/blockchain/finalize_block.go Uses deposits package for fetch/catch-up during finalization.
beacon/blockchain/deposit.go Deletes old blockchain deposit fetcher/retry implementation.
.github/workflows/vuln-and-dep-check.yml Pins checkout/setup-go actions by SHA.
.github/workflows/release.yaml Pins release workflow actions by SHA.
.github/workflows/pipeline.yml Pins CI/build workflow actions by SHA.
.github/workflows/docker-nightly-preconf.yml Pins nightly Docker workflow actions by SHA.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +114 to +117
deposits, err := depositContract.ReadDeposits(ctx, blockToFetch)
if err != nil {
logger.Error("Failed to read deposits", "block", blockNum, "error", err)
return
Comment on lines +225 to +229
validators, err := s.TestNode.APIBackend.FilterValidators(nextBlockHeight, nil, nil)
s.Require().NoError(err)
s.Require().Len(validators, 1, "Still 1 validator (all deposits went to the same pubkey)")

s.T().Logf("effective balance after deposits: %s gwei", validators[0].Validator.EffectiveBalance)
@calbera calbera enabled auto-merge (squash) May 28, 2026 19:22
@calbera calbera merged commit 135d0d1 into preconf-dev May 28, 2026
19 checks passed
@calbera calbera deleted the merge-main-into-preconf-dev branch May 28, 2026 19:31
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.

5 participants