From bcc351d94048bce0685f058bc8b6b33313d7b10e Mon Sep 17 00:00:00 2001 From: David Meister Date: Fri, 14 Aug 2026 17:30:48 +0000 Subject: [PATCH] docs: drop the `--no-match-contract Chain` selection nobody runs Three sites documented a command with no caller: no CI step, no script, no flake package invokes it, and CI runs the whole suite. Documenting a capability nobody uses invites work to keep it true. What the sites were attached to survives: group 4 is still its own contract so an endpoint failure lands there and not on the snapshot assertions. Co-Authored-By: Claude Opus 5 (1M context) --- CLAUDE.md | 6 ++---- test/src/concrete/AddressRegistryDeployChain.t.sol | 9 ++++----- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 13a2c0b..92ae12a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -64,8 +64,7 @@ POLYGON_RPC_URL=https://polygon-bor-rpc.publicnode.com All five are needed: `RainDeployVerifyChain` forks every network in `supportedNetworks()`, so a missing or rate-limited endpoint fails it. Those failures are `vm.createSelectFork` errors, distinct from the -`NotDeployedOnNetwork` a reachable network raises, and the snapshot contracts -run regardless: `forge test --no-match-contract Chain`. +`NotDeployedOnNetwork` a reachable network raises. These are referenced in `foundry.toml` under `[rpc_endpoints]`. @@ -270,8 +269,7 @@ can set. Group 3 is what makes group 4's scope complete — a release group 4 is never handed is a release it cannot fail on. Group 4 lives in its own contract so an unreachable RPC endpoint fails only it, -never the snapshot assertions — `forge test --no-match-contract Chain` is the -whole snapshot gate, and nothing reachable from those contracts forks anything. +never the snapshot assertions, and a failure names which of the two it was. A single recorded code hash per version can only be true if the runtime code is the same on every network, so a constructor reading `block.chainid` or similar diff --git a/test/src/concrete/AddressRegistryDeployChain.t.sol b/test/src/concrete/AddressRegistryDeployChain.t.sol index ea62f08..0bcc3db 100644 --- a/test/src/concrete/AddressRegistryDeployChain.t.sol +++ b/test/src/concrete/AddressRegistryDeployChain.t.sol @@ -20,9 +20,8 @@ import {AddressRegistryDeploySuites} from "../../../src/abstract/AddressRegistry /// consistent set of pins for a contract that exists nowhere passes every one /// of them. A green here would only mean nobody asked. /// -/// It is a separate contract from `AddressRegistryDeploySnapshotTest` -/// precisely so that it says this and nothing more: `forge test -/// --no-match-contract Chain` still runs every snapshot assertion, -/// whether the deployment is missing or the RPC endpoints are merely -/// unreachable. +/// It is a separate contract from `AddressRegistryDeploySnapshotTest` precisely +/// so that it says this and nothing more: a missing deployment or an +/// unreachable endpoint fails here alone, leaving every snapshot assertion to +/// answer for itself. contract AddressRegistryDeployChainTest is AddressRegistryDeploySuites, RainDeployVerifyChain {}