Skip to content

ci: add BNB Smart Chain (56) to the fork RPC network table - #372

Merged
hardyjosh merged 2 commits into
mainfrom
2026-09-10-bsc-chain-rpc
Sep 10, 2026
Merged

ci: add BNB Smart Chain (56) to the fork RPC network table#372
hardyjosh merged 2 commits into
mainfrom
2026-09-10-bsc-chain-rpc

Conversation

@hardyjosh

@hardyjosh hardyjosh commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Adds BNB Smart Chain (chain id 56) to the fork RPC network table, the same way #371 added Robinhood Chain.

What changes

  • rpc_preflight.rs NETWORKS: bscBSC_RPC_URL / RPC_URL_BSC_FORK, chain 56, latest-only, WBNB probe.
  • The four reusables carrying per-network secret slots declare RPC_URL_BSC_FORK and hand it to the preflight as RAINIX_RPC_SECRET_BSC / RAINIX_RPC_VARS_BSC; the artifacts and verify reusables export CI_DEPLOY_BSC_ETHERSCAN_API_KEY (Etherscan V2 covers 56).
  • README env-var list + latest-only note.

Defaults, measured 2026-09-10

Same method as the table (5 sequential eth_calls, then a 16-way burst) from one non-CI host: bsc-rpc.publicnode.com and bsc-dataseed.binance.org each 5/5 and 16/16. Rejected: bsc.drpc.org 4/5 then 6/16; 56.rpc.thirdweb.com 5/5 then 0/16 (burst-throttled); binance.llamarpc.com and bsc.gateway.tenderly.co refused the light probe.

Consumers pick this up at the next RAINIX_SHA bump — which #371's Robinhood entry also still needs. First consumer: S01-Issuer/st0x.deploy (RAI-2312).

Checks

cargo fmt --check, cargo clippy --all-targets --all-features -- -D clippy::all, cargo test (203 passed).

Linear: RAI-2286 / RAI-2312.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HiqQdxokJ4edjAFyAkN9G3

Summary by CodeRabbit

  • New Features

    • Added Binance Smart Chain (BSC) support for deployment, testing, release, and contract verification workflows.
    • Added BSC RPC configuration with fallback endpoints and latest-block connectivity checks.
    • Added support for BSC explorer verification credentials.
  • Documentation

    • Updated setup documentation to include BSC RPC configuration.
    • Documented BSC as a latest-only network for fork RPC health checks.

`bsc` joins `NETWORKS` (`BSC_RPC_URL` / `RPC_URL_BSC_FORK`, latest-only,
WBNB probe) with two defaults measured 2026-09-10 — publicnode and the
Binance dataseed, 5/5 sequential and 16/16 burst; drpc, thirdweb,
llamarpc and tenderly rejected. The four reusables carry the secret slot
and the preflight env pair; the artifacts and verify reusables export
`CI_DEPLOY_BSC_ETHERSCAN_API_KEY` (Etherscan V2 covers 56).

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

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 36 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 5c80fc57-7e41-4e6c-9268-516d0ce79407

📥 Commits

Reviewing files that changed from the base of the PR and between 2118cfb and dddfcf8.

📒 Files selected for processing (1)
  • README.md

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 8e6e16c9-80de-458c-ac1a-c0ca67c4435d

📥 Commits

Reviewing files that changed from the base of the PR and between b2b38ff and 2118cfb.

📒 Files selected for processing (7)
  • .github/workflows/rainix-manual-sol-artifacts.yaml
  • .github/workflows/rainix-manual-sol-verify.yaml
  • .github/workflows/rainix-sol-test.yaml
  • .github/workflows/rainix-sol.yaml
  • .github/workflows/rainix-tag-release.yaml
  • README.md
  • rainix-static/src/rpc_preflight.rs

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


📝 Walkthrough

Walkthrough

Added BSC support to RPC preflight, reusable test and release workflows, deployment artifact verification, manual source verification, and project documentation. BSC uses chain ID 56, latest-only probing, WBNB probing, and configured explorer-key fallbacks.

Changes

BSC network support

Layer / File(s) Summary
BSC RPC preflight configuration
rainix-static/src/rpc_preflight.rs
Adds BSC with chain ID 56, latest-only probing, a WBNB probe contract, and public RPC fallbacks.
RPC workflow wiring
.github/workflows/rainix-sol.yaml, .github/workflows/rainix-sol-test.yaml, .github/workflows/rainix-tag-release.yaml, .github/workflows/rainix-manual-sol-artifacts.yaml
Declares and forwards RPC_URL_BSC_FORK and repository-variable candidates to BSC RPC preflight.
Verification configuration and documentation
.github/workflows/rainix-manual-sol-artifacts.yaml, .github/workflows/rainix-manual-sol-verify.yaml, README.md
Adds BSC explorer-key fallbacks and documents BSC RPC wiring and latest-only behavior.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant RainixWorkflow
  participant RainixSolTest
  participant RPCPreflight
  participant BSCRPC
  RainixWorkflow->>RainixSolTest: pass RPC_URL_BSC_FORK
  RainixSolTest->>RPCPreflight: pass BSC secret and variable candidates
  RPCPreflight->>BSCRPC: probe BSC endpoint
Loading

Suggested reviewers: thedavidmeister

Merge Risk: ⚪ Minimal · up to 2118c

This change adds BSC RPC preflight and explorer-verification support across CI and deployment workflows. The configured workflow paths and documentation are aligned, with no current merge-blocking risk identified.

🚥 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 BNB Smart Chain, chain ID 56, to the fork RPC network table.
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 1…
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026-09-10-bsc-chain-rpc

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.

@hardyjosh
hardyjosh merged commit b4e4607 into main Sep 10, 2026
18 checks passed
@github-actions

Copy link
Copy Markdown

@coderabbitai assess this PR size classification for the totality of the PR with the following criterias and report it in your comment:

S/M/L PR Classification Guidelines:

This guide helps classify merged pull requests by effort and complexity rather than just line count. The goal is to assess the difficulty and scope of changes after they have been completed.

Small (S)

Characteristics:

  • Simple bug fixes, typos, or minor refactoring
  • Single-purpose changes affecting 1-2 files
  • Documentation updates
  • Configuration tweaks
  • Changes that require minimal context to review

Review Effort: Would have taken 5-10 minutes

Examples:

  • Fix typo in variable name
  • Update README with new instructions
  • Adjust configuration values
  • Simple one-line bug fixes
  • Import statement cleanup

Medium (M)

Characteristics:

  • Feature additions or enhancements
  • Refactoring that touches multiple files but maintains existing behavior
  • Breaking changes with backward compatibility
  • Changes requiring some domain knowledge to review

Review Effort: Would have taken 15-30 minutes

Examples:

  • Add new feature or component
  • Refactor common utility functions
  • Update dependencies with minor breaking changes
  • Add new component with tests
  • Performance optimizations
  • More complex bug fixes

Large (L)

Characteristics:

  • Major feature implementations
  • Breaking changes or API redesigns
  • Complex refactoring across multiple modules
  • New architectural patterns or significant design changes
  • Changes requiring deep context and multiple review rounds

Review Effort: Would have taken 45+ minutes

Examples:

  • Complete new feature with frontend/backend changes
  • Protocol upgrades or breaking changes
  • Major architectural refactoring
  • Framework or technology upgrades

Additional Factors to Consider

When deciding between sizes, also consider:

  • Test coverage impact: More comprehensive test changes lean toward larger classification
  • Risk level: Changes to critical systems bump up a size category
  • Team familiarity: Novel patterns or technologies increase complexity

Notes:

  • the assessment must be for the totality of the PR, that means comparing the base branch to the last commit of the PR
  • the assessment output must be exactly one of: S, M or L (single-line comment) in format of: SIZE={S/M/L}
  • do not include any additional text, only the size classification
  • your assessment comment must not include tips or additional sections
  • do NOT tag me or anyone else on your comment

hardyjosh added a commit that referenced this pull request Sep 10, 2026
…e) (#374)

#373 pinned the revision carrying Robinhood Chain; #372 (BNB Smart
Chain) merged after it, so consumers' fork suites cannot resolve
`BSC_RPC_URL` until this second bump. Same 13-file bump.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HiqQdxokJ4edjAFyAkN9G3
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