Skip to content

scripts(deploy): add SystemDeploy wrapper script#352

Closed
rayyan224 wants to merge 2 commits into
mainfrom
zeronet/systemdeploy-wrapper
Closed

scripts(deploy): add SystemDeploy wrapper script#352
rayyan224 wants to merge 2 commits into
mainfrom
zeronet/systemdeploy-wrapper

Conversation

@rayyan224

Copy link
Copy Markdown

Summary

  • Adds scripts/deploy/deploy.sh as the production wrapper for SystemDeploy.s.sol, replacing the legacy Deploy.s.sol wrapper removed in chore: cleanup #266
  • Supports Ledger signing (DEPLOY_LEDGER=1 + DEPLOY_HD_PATH) and raw private-key signing (DEPLOY_PRIVATE_KEY)
  • Supports optional contract verification via DEPLOY_VERIFY=1 with configurable VERIFIER_URL and ETHERSCAN_API_KEY
  • Exposes SALT_MIXER override for deploying a fresh contract set on an existing l2ChainId without CREATE2 address collisions

Test plan

  • Dry-run against Hoodi testnet with a raw private key: DEPLOY_ETH_RPC_URL=<hoodi-rpc> DEPLOY_CONFIG_PATH=deploy-config/zeronet.json DEPLOY_PRIVATE_KEY=<key> bash scripts/deploy/deploy.sh (remove --broadcast flag first for simulation)
  • Verify Ledger path: set DEPLOY_LEDGER=1 DEPLOY_HD_PATH=m/44'/60'/0'/0/0 and confirm --ledger --hd-paths args are passed through
  • Confirm script exits non-zero when no signer env vars are set
  • Confirm DEPLOY_VERIFY=1 appends --verify (and verifier flags) to the forge invocation

Introduces deploy.sh as the production entrypoint for SystemDeploy.s.sol,
replacing the legacy Deploy.s.sol wrapper that was removed in #266. Supports
both Ledger and raw private-key signing, optional contract verification, and a
SALT_MIXER override for deploying new contract sets without colliding with
existing CREATE2 addresses on the same l2ChainId.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@cb-heimdall

Copy link
Copy Markdown
Collaborator

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

[ -n "${DEPLOY_VERIFY:-}" ] treated "0", "false", etc. as truthy,
silently enabling verification when the user intended to disable it.

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
@rayyan224 rayyan224 closed this Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants