Skip to content

docs: multi-chain deployment patterns — Mainnet/Gnosis/Arbitrum/Base#351

Merged
mfw78 merged 2 commits into
dev/m1from
feat/124-multi-chain-deployment-clean
Jul 15, 2026
Merged

docs: multi-chain deployment patterns — Mainnet/Gnosis/Arbitrum/Base#351
mfw78 merged 2 commits into
dev/m1from
feat/124-multi-chain-deployment-clean

Conversation

@mfw78

@mfw78 mfw78 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

What

Adds docs/deployment/multi-chain.md, a guide for running Shepherd against multiple EVM chains at once. It covers the chain support matrix (Mainnet, Gnosis, Base, Arbitrum One, Sepolia) with chain IDs, orderbook slugs and barn availability, the [chains.<id>] wiring pattern in engine.toml including ${VAR} substitution and the require_ws = false opt-out for poll-only chains, the CoW API orderbook URL resolution and override pattern, the CREATE2-stable contract addresses versus the EthFlow per-network caveat (with a pointer to cowprotocol/ethflowcontract networks.prod.json), the [[subscription]] duplication pattern with annotated twap-monitor and ethflow-watcher examples spanning two chains each, an event topic-0 reference table, and per-chain resource sizing guidance.

Why

Shepherd's engine already dispatches modules per chain, but there was no reference for how to configure and reason about a multi-chain deployment. This is the M5 grant deliverable that documents the pattern so operators can wire additional chains without reverse-engineering the module manifests.

Testing

Documentation only, no code changes. All contract addresses, orderbook slugs and barn eligibility are derived directly from cowprotocol-primitives-0.1.0 (already a workspace dependency) and the existing module.toml manifests rather than manual lookup.

Closes #124

lgahdl added 2 commits July 15, 2026 10:23
…124)

New docs/deployment/multi-chain.md covering the verbatim M5 grant
deliverable: per-chain [chains.<id>] + env-var wiring, CoW orderbook
URL slugs per network, per-chain contract addresses (CREATE2-stable
vs EthFlow per-network caveat), the [[subscription]] duplication
pattern with twap-monitor and ethflow-watcher examples, event topic
reference, and resource sizing guidance.
…ents

Review catches:

- The EthFlow section claimed the address is per-network and told
  operators to hunt for a different mainnet address. The current
  production deployment is address-identical on every supported chain
  (cowprotocol's ETH_FLOW_PRODUCTION, from networks.prod.json) - the
  old text would have steered a mainnet port toward the legacy v1.0.0
  deployment and missed every OrderPlacement event. The real caveat is
  narrower and now stated as such: sameness is not a CREATE2 guarantee,
  legacy per-version deployments exist, verify on version bumps.
- "every chain the orderbook supports" was false (the Chain enum also
  carries BNB, Polygon, Avalanche, Linea, Plasma); the table is scoped
  to the chains this repo's modules target.
- Dropped the unsupported "Gnosis volume roughly equal to Mainnet"
  claim; require_ws violations are an ERROR log, not a warning; the
  RPC recommendation names a rate requirement instead of a specific
  provider's free tier.
@mfw78 mfw78 added the base: dev/m1 Open PR targets dev/m1 integration branch — merge AFTER develop PRs; develop merged in last. label Jul 15, 2026
@mfw78 mfw78 merged commit c116a48 into dev/m1 Jul 15, 2026
5 checks passed
@mfw78 mfw78 deleted the feat/124-multi-chain-deployment-clean branch July 15, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

base: dev/m1 Open PR targets dev/m1 integration branch — merge AFTER develop PRs; develop merged in last.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants