Skip to content

misc code improvements tracked from TODO cleanup #36

@ethvibes

Description

@ethvibes

Description

Remaining actionable TODOs from the #31 cleanup, grouped by area.

Boot node — DONE

  • Add DOS prevention CLI params — removed (boot node is discv5-only, inapplicable)
  • Generalise boot node config to multiaddr — removed (same reason)

EIP-7892 blob limits — BLOCKED (external spec)

  • Remove max_blobs_per_block_within_fork workaround once fork-version changes on BPO forks (consensus/types/src/chain_spec.rs:873)
  • Decide default for blob params schedule (consensus/types/src/chain_spec.rs:1802)
  • Fix blob count overestimation in API (common/eth2/src/lib.rs:1523)

Crypto — BLOCKED (blst upstream)

  • Remove unsafe blst code block once safe API is provided (crypto/bls/src/impls/blst.rs:62)

Execution layer — DONE

  • Add EL requests in mock EL — DONE: From<ExecutionRequests<E>> for JsonExecutionRequests, configurable mock EL context, wired into V4/V5 handlers
  • Refactor error enums (beacon_node/execution_layer/src/lib.rs:194,217) — non-critical code quality, leaving as-is

Beacon chain

  • Persist aggregation/sync contribution pools to disk (beacon_node/beacon_chain/src/builder.rs:1064) — non-critical feature
  • Remove PeerDAS checkpoint sync condition in store tests — BLOCKED (PeerDAS checkpoint sync not yet implemented)

Network — DONE

  • Refactor DataColumnsByRootRequestId — DONE
  • Shift subnet service to dynamic bitfield — removed (HashSet is fine for ≤64 subnets)

HTTP API — DONE

  • Make attestation test fork-agnostic — DONE

Operation pool — DONE

  • Lock optimization — DONE: pre-electra forks use read lock instead of write-then-downgrade

Store — DONE

  • Dynamic buffer allocation for hdiff — DONE

Test utils — DONE

  • Fix non-deterministic SecretKey/Signature generation — DONE

Summary

Done: 10 items (boot node ×2, network ×2, HTTP API, EL mock, op pool, store, test utils, slasher diagnostics)
Blocked: 5 items (EIP-7892 ×3, blst safe API, PeerDAS checkpoint sync)
Remaining (non-critical): 2 items (EL error enum refactor, pool disk persistence)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions