Skip to content

[TEST-01] Add missing tests from [CLI-01, SIGN-01, API-01] #45

Description

@linear-code

Why

The first Gate A implementation PRs intentionally separated a coherent cross-cutting test set from CLI-01, SIGN-01, and API-01. This issue owns those missing tests without reopening the completed implementation scopes.

Readiness

  • syncing to ready across polls
  • EL offline to ready
  • non-ok response followed by success
  • unreachable request followed by success
  • abort during sleep unwinds cleanly
  • optimistic execution produces the agreed diagnostic while preserving the reviewed readiness behavior
  • node-version lookup failure remains non-fatal
  • an unknown configured key remains inert and retries with cancellation
  • a Builder deposited or activated after startup becomes usable without restarting the sidecar

Identity and BN errors

  • happy path returns the Builder index
  • BN non-ok response reports bounded, redacted status and useful response detail
  • empty successful response is distinct from a BN failure
  • non-active status reports the returned status
  • version mismatch reports bounded expected and received values
  • status lookup failure returns the current reviewed inert/failure result
  • genesis-wait failures use the reviewed log level and stack-trace behavior

BuilderStatusTracker

  • status and balance are undefined before the first successful poll
  • first successful poll stores values without an incorrect status-change warning
  • balance-only changes update the balance without a status-change diagnostic
  • real status changes produce the agreed diagnostic
  • failed status lookup preserves the prior known values

CLI

  • malformed execution fee recipient is rejected
  • zero execution fee recipient is rejected
  • valid fee recipient parses to 20 bytes
  • unscheduled Gloas configuration is rejected using the final shared fork-epoch source

Done when

The missing Gate A lifecycle, readiness, cancellation, diagnostic, identity, tracker, and CLI cases pass against the merged implementation, with each REVIEW-01 behavior represented by a focused regression where applicable.

Evidence

  • Source implementation: Lodestar PR #9781
  • Head audited on 10 August 2026: ce6e28d47d7d1ac81b64be8e2709118e73d6593c
  • Existing identity coverage: packages/builder/test/unit/identity.test.ts
  • Existing tracker coverage: packages/builder/test/unit/services/builderStatusTracker.test.ts
  • Review implementation: REVIEW-01
  • Existing signer and keystore coverage: Lodestar PR #9758

Metadata

Metadata

Assignees

Projects

Status
In Progress

Relationships

None yet

Development

No branches or pull requests

Issue actions