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 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_COWcouples 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'sdeployments/networks.jsonis the operator's address authority, verified against the broadcast record.Scope
initparsesregistryfrom[config], mirroringAdapterConfig::parse.cowprotocol::COMPOSABLE_COWas a default entirely: no Sepolia fallback, no fallback of any kind; the registry comes from manifest[config]only, and a missing or malformedregistrykey is a hard init error.MockHosttests for valid, absent, and malformed values.Done when
[config], with no default or fallback path.COMPOSABLE_COWas the poll target or as a fallback; a missingregistrykey fails init loudly.MockHosttests cover valid, missing-key, and malformed-address cases.