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 {}