Skip to content

cow: source the registry address from module [config] #651

Description

@mfw78

The module must learn the ComposableCoW registry address from its manifest [config], not a compiled constant. Ungated, can start today, and forms the first car of the convergence train.

Why

The converged ccow-monitor knows exactly one contract, the registry. Hard-coding cowprotocol::COMPOSABLE_COW couples the module to a single network and puts a cow-rs rev on the critical path. Old upstream Sepolia is deliberately dropped by the wire swap, and the constant itself is slated for deletion from cow-rs, so it must not survive as a fallback anywhere. Per-network manifest variants carry subscription addresses; the fork's deployments/networks.json is the operator's address authority, verified against the broadcast record.

Scope

  • init parses registry from [config], mirroring AdapterConfig::parse.
  • Remove cowprotocol::COMPOSABLE_COW as a default entirely: no Sepolia fallback, no fallback of any kind; the registry comes from manifest [config] only, and a missing or malformed registry key is a hard init error.
  • MockHost tests for valid, absent, and malformed values.

Done when

  • The module resolves the registry solely from manifest [config], with no default or fallback path.
  • No code path uses COMPOSABLE_COW as the poll target or as a fallback; a missing registry key fails init loudly.
  • MockHost tests cover valid, missing-key, and malformed-address cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/cow-integrationshepherd:cow / cow-api order submissioncomponent/manifestnexum.toml / nexum-engine.toml parsing + config-valuedebtCode works but makes future work harder.effort/hoursFew hours. Single PR.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions