Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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]`.

Expand Down Expand Up @@ -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
Expand Down
9 changes: 4 additions & 5 deletions test/src/concrete/AddressRegistryDeployChain.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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 {}
Loading