Skip to content

studio: network selector wired to deploy-server network-by-name API (end-to-end multi-network) #144

Description

@robercano-ghbot

Context

Follow-up to #139. The deploy-server portion of #139 landed in PR #143: a server-side named network registry (network name -> RPC URL / chain id / optional deployer key / per-network deploymentParameters / per-network journal dir), configured via .env / a NETWORKS_CONFIG JSON file. The client selects a network by name only (opaque allowlisted key, ?network=<name> query param on POST /api/simulate, POST /api/deploy, and GET /api/deployment); RPC URLs and keys never come from client input. Per-network deployment/journal directories keep resume state from colliding across chains.

The studio is still single-network and does not yet use this API. This issue tracks the studio-side work to complete the end-to-end acceptance of #139.

Depends on

Scope (studio only, apps/studio)

  • A network selector in the toolbar, populated from the deploy-server's configured networks (needs a way to enumerate available network names from the server; if the deploy-server does not yet expose a list endpoint, add that as a small deploy-server sub-task — network names only, never RPC URLs/keys).
  • Simulate / Plan / Deploy and the Inspector operate against the selected network: all call the API with ?network=<selectedName>.
  • The currently selected network is clearly visible in the UI and is shown in the real-deploy confirm modal (so an operator can't deploy to the wrong chain by accident).

Acceptance (completes #139's end-to-end acceptance)

  • With two networks configured (e.g. two local Anvil instances on different ports), a user can deploy the same spec to both from the studio, with independent resume/journal state and correct per-network parameter values.

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    module:studio@redeploy/studio visual toolplannedOwner-approved for the autonomous loop (assigned ONLY by the owner)type:featureFeature work scoped to one module

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions