Repository navigation
fix(rpc): take robinhood's official endpoint out of first place - #406
Conversation
It served a Cloudflare managed challenge — HTTP 403, `cType: 'managed'` — to a GitHub runner on 2026-10-07, which took 13 of rain.deploy's fork tests and the 0.1.14 publish with it. The same endpoint answered 8/8 from a non-CI host within the hour, so the block is keyed to the caller's address and no probe this table runs from a developer machine can see it. Order is the only remedy available: tenderly, then publicnode, with the official endpoint last. The order test gains a robinhood row, so first place cannot drift back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (1)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
@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:
Review Effort: Would have taken 5-10 minutes Examples:
Medium (M)Characteristics:
Review Effort: Would have taken 15-30 minutes Examples:
Large (L)Characteristics:
Review Effort: Would have taken 45+ minutes Examples:
Additional Factors to ConsiderWhen deciding between sizes, also consider:
Notes:
|
https://rpc.mainnet.chain.robinhood.comserved a Cloudflare managed challenge — HTTP 403, bodycType: 'managed', "Just a moment..." — to a GitHub runner at 15:53 on 2026-10-07. It took 13 fork tests acrossRegistryDeployVerify.t.solandLibRainDeploy.t.solwith it, and with them rain.deploy'ssol-v0.1.14publish (failed run). 655 tests passed; nothing was wrong with the code.The same endpoint answered
eth_getCode8/8 from a non-CI host within the hour, and rain.deploy's own PR CI had passed on it minutes earlier. The block is keyed to the caller's address, which is why it is not a rate limit and not a measurement this table can take: a probe run from a developer machine sees a healthy endpoint no matter how many samples it takes.So the order carries it.
robinhood's defaults become tenderly, publicnode, official-last. All three measured 8/8 today; both replacements were already 5/5 and 16/16 in the 2026-09-09 pass recorded in the comment.QA
an_endpoint_a_suite_measured_as_rate_limiting_is_not_tried_firstgains arobinhoodrow. It fails on base: that test assertsnet.defaults[0] != shed, and onmaindefaults[0]is exactlyhttps://rpc.mainnet.chain.robinhood.com. Its sibling assertion (defaults.contains(&shed), "drop this row too") keeps the endpoint in the pool rather than deleting it — it works for everyone outside CI.cargo test rpc_preflight: 31 passed / 0 failed.defaults[0]fails that assertion by construction.eth_getCodemeasured directly against all three candidates, not the preflight prober's verdict. Deliberately independent of preflight: preflight's archive probe is exactly what cannot see this.🤖 Generated with Claude Code
Summary by CodeRabbit