Skip to content

Add Robinhood Chain (4663) to the supported network set - #161

Open
hardyjosh wants to merge 1 commit into
mainfrom
2026-09-09-robinhood-chain
Open

Add Robinhood Chain (4663) to the supported network set#161
hardyjosh wants to merge 1 commit into
mainfrom
2026-09-09-robinhood-chain

Conversation

@hardyjosh

@hardyjosh hardyjosh commented Sep 9, 2026

Copy link
Copy Markdown

Adds Robinhood Chain (chain id 4663, an Arbitrum Orbit L2 settling to Ethereum, gas in ETH) to LibRainDeploy.supportedNetworks(), so every consumer's default deploy ships its suite there and testZoltuFactoryCodehash pins the factory on it. The Zoltu factory is live on 4663 with the canonical runtime (the fork test passes against it; also verified byte-for-byte against Base on-chain).

What changes

  • ROBINHOOD = "robinhood" constant + eighth supportedNetworks() entry (after polygon); testSupportedNetworks count/order updated.
  • [rpc_endpoints] robinhood = "${ROBINHOOD_RPC_URL}", exported by the rainix preflight once rainlanguage/rainix#371 lands (it also carries public defaults, so no org secret is required for fork tests).
  • [etherscan] robinhood: required by testSupportedNetworksAreFullyConfigured. Etherscan V2 does not index 4663, so the entry points at the chain's Blockscout API (Etherscan-compatible, key ignored) with chain = 4663. rainix#371 exports CI_DEPLOY_ROBINHOOD_ETHERSCAN_API_KEY like the other keys so a --verify run never resolves it unset.

Caveat, stated in the toml comment

That Blockscout has answered non-browser clients with a Cloudflare browser challenge from here, so a --verify may fail on this network after the broadcast. Sourcify supports 4663 and Blockscout imports Sourcify matches, so the fallback is forge verify-contract --verifier sourcify --chain 4663 …. A dispatch that only needs Robinhood can also run with verify: false.

Downstream

Needs a sol-v0.1.8 release; consumers then bump and add the same two rows to their own foundry.toml (their inherited RainDeployVerifySnapshot test requires both): rain.orderbook, rain.math.float (log tables), rain.tofu.erc20-decimals, rain.metadata-deploy, rainlang. Those preconditions must be on 4663 before the orderbook suite (raindexDependencies()); the deploy key 0xf5b3fcb6…cce0 has 0 ETH there today.

Checks

testSupportedNetworks, testSupportedNetworksAreFullyConfigured, testZoltuFactoryCodehash (live forks of all eight) green; forge fmt --check in the nix shell.

Linear: RAI-2291 (parent RAI-2284).

🤖 Generated with Claude Code

https://claude.ai/code/session_01HiqQdxokJ4edjAFyAkN9G3

Summary by CodeRabbit

  • New Features
    • Added support for the Robinhood network.
    • Configured Robinhood RPC connectivity and contract verification through Blockscout, with Sourcify available as a fallback.
    • Robinhood is now included among the supported deployment networks.

`LibRainDeploy.ROBINHOOD` joins `supportedNetworks()` (eighth entry,
after `polygon`), so every consumer's default deploy ships its suite
there too and `testZoltuFactoryCodehash` pins the factory on it. The
Zoltu factory is live on 4663 with the canonical runtime (verified;
the fork test passes against it).

Robinhood Chain is an Arbitrum Orbit L2 settling to Ethereum, gas in
ETH, EIP-1559 fees. `[rpc_endpoints]` reads `ROBINHOOD_RPC_URL`, which
the rainix preflight exports once rainix#371 lands.

`[etherscan]` gets an entry because `testSupportedNetworksAreFullyConfigured`
requires one per network: Etherscan V2 does not index 4663, so it
points at the chain's Blockscout, which speaks the Etherscan API. That
explorer has rejected non-browser clients behind a browser challenge,
so the entry documents the Sourcify fallback for a failed `--verify`.
The key variable `CI_DEPLOY_ROBINHOOD_ETHERSCAN_API_KEY` is exported by
the rainix reusables (rainix#371) so config resolution never sees it
unset.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HiqQdxokJ4edjAFyAkN9G3
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 8e998a11-fd4c-4cac-ad8e-47b057a51b76

📥 Commits

Reviewing files that changed from the base of the PR and between 6f4c50d and 21b0837.

📒 Files selected for processing (3)
  • foundry.toml
  • src/lib/LibRainDeploy.sol
  • test/src/lib/LibRainDeploy.t.sol

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


Walkthrough

The change adds Robinhood RPC and contract verification settings to Foundry. It adds Robinhood to the deployment library’s supported networks and updates the corresponding test to expect eight networks.

Changes

Robinhood network support

Layer / File(s) Summary
Robinhood RPC and verification configuration
foundry.toml
Adds the Robinhood RPC endpoint, Blockscout verification settings for chain ID 4663, and a documented Sourcify fallback.
Supported network registry and test coverage
src/lib/LibRainDeploy.sol, test/src/lib/LibRainDeploy.t.sol
Adds the ROBINHOOD constant, returns it as the eighth supported network, and updates the test assertions.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 21b08

This adds Robinhood Chain as a supported deployment network with matching RPC, verification, and registry coverage. No concrete current-head merge-blocking risk remains.

Suggested reviewers: claude, thedavidmeister

🚥 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 and concisely describes the main change: adding Robinhood Chain with chain ID 4663 to the supported network set.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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 2026-09-09-robinhood-chain

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.

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.

1 participant