docs: multi-chain deployment patterns — Mainnet/Gnosis/Arbitrum/Base#351
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 inengine.tomlincluding${VAR}substitution and therequire_ws = falseopt-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 tocowprotocol/ethflowcontractnetworks.prod.json), the[[subscription]]duplication pattern with annotatedtwap-monitorandethflow-watcherexamples 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 existingmodule.tomlmanifests rather than manual lookup.Closes #124