Skip to content

Verification is hardwired to supportedNetworks(), so a consumer that deploys to a subset cannot bind RainDeployVerify #246

Description

@thedavidmeister

Ask

Make verification cover the networks a consumer actually deploys to, so a repo that broadcasts to a subset of LibRainDeploy.supportedNetworks() can bind RainDeployVerify.

The gap, verified on main (b19a415)

The broadcast side can already be scoped: RainDeployBroadcast.deployNetworks() is virtual (src/abstract/RainDeployBroadcast.sol:62), and its NatSpec names st0x.deploy as the reason. The verification side can't. It reads LibRainDeploy.supportedNetworks() (9 networks) directly, with no hook:

  • RainDeployVerifyChain: checkDeployedOnSupportedNetworks (:164) and testSupportedNetworkChainIdsAreBound (:278).
  • RainDeployVerifySnapshot.testSupportedNetworksAreFullyConfigured (:103).

So a consumer that deploys to fewer networks has every release held to networks it never broadcasts to, and its foundry.toml held to exactly the 9.

Consumer hitting it

S01-Issuer/st0x.deploy#379 ports st0x.deploy onto 0.1.11. It deploys to base, ethereum, hyperevm, robinhood and bsc, set through its deployNetworks() override. Binding RainDeployVerify there would:

  • require every st0x release to be live on arbitrum, base_sepolia, flare and polygon;
  • fail the config check even across st0x's own five. robinhood has no [etherscan] entry on purpose: Etherscan v2 doesn't index chain 4663, and it verifies through Sourcify. Several other entries carry neither chain nor url.

#379 therefore binds only RainDeployVerifySnapshotBase plus the frozen-record check, and has no chain group at all.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions