feat: configure RPC server timeouts - #25243
Merged
alexghr merged 1 commit intoAug 17, 2026
Merged
Conversation
spalladino
approved these changes
Aug 17, 2026
spalladino
left a comment
Contributor
There was a problem hiding this comment.
TIL headers timeout was a thing
spalladino
added a commit
that referenced
this pull request
Aug 18, 2026
Forward-ports the fixes merged into `merge-train/spartan-v5` over the last two weeks onto the `next` line. One commit per original PR, each carrying a `cherry picked from` trailer. ## Ported - #25177 — fix(p2p): fail node startup when p2p service fails to start - #25183 — feat(p2p): warn periodically while node has zero connected peers - #25202 — fix: spurious insufficient-funds rejection when simulating L1 calls - #25207 — fix(validator): remove duplicate time-sensitive validation of block proposals - #25222 — refactor(p2p): brand ingress-validated proposals with a ValidatedProposal type - #25229 — fix: checkpoint block-shape and block-count validation gaps - #25206 — fix: block stream sync can resolve against a pass that predates it - #25185 — feat(p2p): gate slashing, proposing, health, and sendTx on p2p connectivity - #25176 — fix: poll getLogs instead of eth_newFilter for L1 event watchers Commits are ordered as they merged into the v5 line, since several build on each other (#25177 → #25183 → #25185 and #25207 → #25222 → #25229). ## Not ported - #25148 (gossip tx validation stalls behind tx pool finalization) — already on this line via #25189, which covers the same ground. The cherry-pick came out empty. - #25155 (standard-contracts historical artifacts in release image) — the whitelist entry is already present in `release-image/Dockerfile.dockerignore`. ## Conflict resolutions worth a look Four commits conflicted; all others applied clean. - **`ethereum/src/l1_tx_utils/l1_tx_utils.ts`** (#25202) — the rename #25202 called out in its own description: `getGasPrice` is `getFeesPerGas` on this line. Took the fix's side (fee fields dropped from the simulated call), so the local `feesPerGas` read is gone along with them. - **`archiver/src/modules/data_store_updater.ts`** (#25229) — the v5 version of this method also passes `maxBlocksPerCheckpoint: MAX_CAPACITY_BLOCKS_PER_CHECKPOINT` on the ingest path, which is a separate v5-only change that has not been ported. Only #25229's actual change is taken here: the shared `validateOpts` object plus `allowEmptyNonFirstBlocks: true`. Ingest on this line therefore still validates against the attestable limit; raising it to the capacity limit is a separate port. - **`ethereum/src/contracts/slashing_proposer.ts`** (#25176) — `listenToVoteCast` carries a `voteIndex` argument on this line (from #25068), which the v5 version predates. Combined both: the new `watchContractEvent` polling mechanism with the `voteIndex` callback argument retained. - **Import blocks** (#25185) — `safe_json_rpc_server.test.ts` keeps `import http` as a value import, since #25243 added a runtime `http.createServer()` call to that file. `stdlib/src/interfaces/p2p.test.ts` takes only `P2PConnectivity`; the `TxHash` / `GetTxByHashOptions` imports on the v5 side belong to v5-only API methods and would be unused here. ## Verification `yarn build` produces a byte-identical error set to `origin/merge-train/spartan` built in the same working tree (46 errors, all from stale cross-line generated artifacts locally — Noir circuit artifacts, verification-key lengths, `withWallet` on contract types). No new compile errors from the port. Unit tests for every package with a hand-resolved conflict pass: `stdlib` (52), `ethereum` (61), `foundation` (47), `slasher` (140), `validator-client` (39). Two suites (`archiver/data_store_updater.test.ts`, `sequencer-client/checkpoint_proposal_job.test.ts`) fail to *load* in this working tree on stale cross-line artifacts; the archiver one was confirmed to fail identically with the base version of the file, so CI is the first real run for those two. Labeled `ci-no-squash` to preserve one commit per ported PR.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fwd port of #25242