Skip to content

feat(multichain): HyperEVM bootstrap plumbing (RAI-1511) - #273

Merged
thedavidmeister merged 1 commit into
mainfrom
feat/hyperevm-plumbing
Jul 24, 2026
Merged

feat(multichain): HyperEVM bootstrap plumbing (RAI-1511)#273
thedavidmeister merged 1 commit into
mainfrom
feat/hyperevm-plumbing

Conversation

@hardyjosh

@hardyjosh hardyjosh commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Verified live on HyperEVM (chain 999) 2026-07-22: the Zoltu factory is at
its canonical address, and a fork simulation of the stox-receipt suite
computes the SAME deterministic 0.1.1 address as Base/Ethereum
(0x2dF5cFE6...). Plumbing to point the bootstrap machinery at it:

  • foundry.toml: hyperevm rpc alias (HYPEREVM_RPC_URL).
  • LibStoxDeployNetworks.HYPEREVM — deliberately NOT in supportedNetworks():
    HyperEVM bootstraps at the audited 0.1.1 release, not current source.
  • DeployProdV4_0_1_1.sol: generalise the Ethereum-hardcoded network to a
    DEPLOYMENT_NETWORK env selection over a CLOSED set (ethereum default,
    hyperevm) — an unvetted network is a typed revert
    (UnknownDeploymentNetwork), not a typo away. Guard fork-verified.
  • Workflow: manual-sol-artifacts-ethereum-0-1-1.yaml ->
    manual-sol-artifacts-0-1-1.yaml with a network input, converted from
    the shared rainix reusable (fixed secret set, no HyperEVM slot) to a
    local job mirroring manual-broadcast.yaml. --legacy because HyperEVM's
    RPC rejects forge's eth_feeHistory fee-estimation ranges (fork-verified).
  • manual-broadcast.yaml: hyperevm network option + RPC env.

Still needed before dispatch (RAI-1511): RPC_URL_HYPEREVM_FORK repo secret,
big-block toggle + HYPE for the CI deploy key, and the HyperEVM Safe pin.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr

Summary by CodeRabbit

  • New Features
    • Added HyperEVM as a supported deployment and broadcast network.
    • Enabled selecting Ethereum or HyperEVM for manual 0.1.1 bootstrap deployments.
    • Added HyperEVM RPC configuration for deployment workflows.
  • Bug Fixes
    • Added validation to reject unsupported deployment network selections with a clear error.

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@hardyjosh, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 53 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 478b35b8-72d6-4330-abdd-75eca0f22023

📥 Commits

Reviewing files that changed from the base of the PR and between b65a13f and 943af94.

📒 Files selected for processing (5)
  • .github/workflows/manual-broadcast.yaml
  • .github/workflows/manual-sol-artifacts-0-1-1.yaml
  • foundry.toml
  • script/DeployProdV4_0_1_1.sol
  • src/lib/LibStoxDeployNetworks.sol
📝 Walkthrough

Walkthrough

The deployment script and manual workflows now support selecting Ethereum or HyperEVM as the 0.1.1 bootstrap network, with HyperEVM RPC configuration and legacy transaction handling wired through the deployment flow.

Changes

Bootstrap network support

Layer / File(s) Summary
Bootstrap network selection
src/lib/LibStoxDeployNetworks.sol, script/DeployProdV4_0_1_1.sol
Defines the HyperEVM network constant and resolves DEPLOYMENT_NETWORK to either Ethereum or HyperEVM, rejecting unsupported values.
Workflow and RPC wiring
.github/workflows/manual-sol-artifacts-0-1-1.yaml, .github/workflows/manual-broadcast.yaml, foundry.toml
Adds HyperEVM workflow choices, passes the selected network and legacy mode to deployment, and configures the HyperEVM RPC endpoint and secret.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Operator
  participant GitHubActions
  participant DeployProdV4_0_1_1
  participant HyperEVMRPC
  Operator->>GitHubActions: Dispatch with network=hyperevm
  GitHubActions->>DeployProdV4_0_1_1: Pass deployment network
  GitHubActions->>HyperEVMRPC: Use HYPEREVM_RPC_URL
  DeployProdV4_0_1_1->>HyperEVMRPC: Execute bootstrap deployment
Loading

Possibly related PRs

Suggested reviewers: claude, thedavidmeister

Poem

I’m a rabbit hopping networks bright,
From Ethereum’s glow to HyperEVM’s light.
A workflow choice, an RPC trail,
The bootstrap script follows the rail.
Legacy hops join the run—
Deployment’s ready for everyone!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: adding HyperEVM bootstrap support and related deployment plumbing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/hyperevm-plumbing

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/manual-broadcast.yaml:
- Line 37: Update the forge invocation for the manual broadcast workflow to add
the fixed --legacy argument when NETWORK is hyperevm. Preserve the existing
invocation and argument behavior for all other networks.

In @.github/workflows/manual-sol-artifacts-0-1-1.yaml:
- Around line 47-67: Add a top-level permissions block to the deploy workflow
containing only contents: read, alongside the deploy job configuration. Keep the
reusable workflow invocation and forwarded deployment secrets unchanged.

In `@script/DeployProdV4_0_1_1.sol`:
- Line 71: Update the deployment documentation surrounding the networks[0]
assignment and deploySuite flow to refer to the selected bootstrap network
instead of Ethereum mainnet or “on Ethereum.” Keep the documentation accurate
for both Ethereum and HyperEVM deployments without changing deployment behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 8124fcff-ea0c-419c-a6ef-1a6326bf67fe

📥 Commits

Reviewing files that changed from the base of the PR and between 7402788 and b65a13f.

📒 Files selected for processing (5)
  • .github/workflows/manual-broadcast.yaml
  • .github/workflows/manual-sol-artifacts-0-1-1.yaml
  • foundry.toml
  • script/DeployProdV4_0_1_1.sol
  • src/lib/LibStoxDeployNetworks.sol

Comment thread .github/workflows/manual-broadcast.yaml
Comment thread .github/workflows/manual-sol-artifacts-0-1-1.yaml
Comment thread script/DeployProdV4_0_1_1.sol
Verified live on HyperEVM (chain 999) 2026-07-22: the Zoltu factory is at
its canonical address, and a fork simulation of the stox-receipt suite
computes the SAME deterministic 0.1.1 address as Base/Ethereum
(0x2dF5cFE6...). Plumbing to point the bootstrap machinery at it:

- foundry.toml: `hyperevm` rpc alias (HYPEREVM_RPC_URL).
- LibStoxDeployNetworks.HYPEREVM — deliberately NOT in supportedNetworks():
  HyperEVM bootstraps at the audited 0.1.1 release, not current source.
- DeployProdV4_0_1_1.sol: generalise the Ethereum-hardcoded network to a
  DEPLOYMENT_NETWORK env selection over a CLOSED set (ethereum default,
  hyperevm) — an unvetted network is a typed revert
  (UnknownDeploymentNetwork), not a typo away. Guard fork-verified.
- Workflow: manual-sol-artifacts-ethereum-0-1-1.yaml ->
  manual-sol-artifacts-0-1-1.yaml with a `network` input, converted from
  the shared rainix reusable (fixed secret set, no HyperEVM slot) to a
  local job mirroring manual-broadcast.yaml. `--legacy` because HyperEVM's
  RPC rejects forge's eth_feeHistory fee-estimation ranges (fork-verified).
- manual-broadcast.yaml: `hyperevm` network option + RPC env.

Still needed before dispatch (RAI-1511): RPC_URL_HYPEREVM_FORK repo secret,
big-block toggle + HYPE for the CI deploy key, and the HyperEVM Safe pin.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr
@hardyjosh
hardyjosh force-pushed the feat/hyperevm-plumbing branch from b65a13f to 943af94 Compare July 24, 2026 12:21
@thedavidmeister
thedavidmeister merged commit be1999e into main Jul 24, 2026
4 of 7 checks passed
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