Skip to content

dig-node serves control.peers.setBan and setPoolConfig, which this catalog does not declare #24

Description

@MichaelTaylor3d

Measured

dig-node implements and serves two control methods that have no declaration anywhere in this crate:

  • control.peers.setBan
  • control.peers.setPoolConfig

Found while adding control.capsule.fetch (#22) — a grep for existing conventions turned up neither
method, so they are not a catalog pattern to follow; they are absent.

Why it matters

This crate exists so a consumer can call the control plane through typed contract calls rather than
hand-rolled method strings. dig-app's gateway was just refactored onto exactly that basis
(DIG-Network/dig-app#240), and these two are the reason it still carries an explicitly-named
EngineCall::uncatalogued escape hatch.

So the gap is not cosmetic: two live server methods are reachable only by bypassing the contract, and
the bypass has to stay open for as long as they are undeclared. dig-app pins them as a known exception in
every_gateway_method_is_in_the_shared_catalog_or_a_known_gap — that test is the current record of this
gap, and it should be able to shrink.

What to do

Declare both, mirroring an existing peers-category method, then let dig-app drop its two uncatalogued
entries. Additive, so a minor.

Check first whether either is intended to stay out. A method deliberately excluded from the catalog —
for instance because it is an operator-only surface with a different authorization story — is a legitimate
answer, but then it should be recorded as deliberate here, so the next reader does not file this again.
Right now the absence is indistinguishable from an oversight.

Related

  • DIG-Network/dig-node-control-interface#22 — where the gap surfaced
  • DIG-Network/dig-app#240 — the gateway refactor that carries the exception

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:maintenancereal work that changes nothing a user can perceive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions