Skip to content

fix(blocklist): resync the Edge list — middleware was not blocking 6 devnet-2.0 slabs - #2460

Merged
dcccrypto merged 1 commit into
playgroundfrom
fix/blocklist-edge-resync-devnet2
Jul 28, 2026
Merged

fix(blocklist): resync the Edge list — middleware was not blocking 6 devnet-2.0 slabs#2460
dcccrypto merged 1 commit into
playgroundfrom
fix/blocklist-edge-resync-devnet2

Conversation

@dcccrypto

Copy link
Copy Markdown
Owner

The gap

394f8561 ("blocklist the entire devnet-2.0 lineup") added entries to lib/blocklist.ts but not to lib/blocklist-edge.ts.

Those are two separate hardcoded sets, duplicated on purpose so the Edge middleware gets an isolated bundle — the file's own header says KEEP IN SYNC — and the middleware imports the Edge one:

app/middleware.ts:26  import { BLOCKED_SLAB_ADDRESSES } from "@/lib/blocklist-edge";

So the canonical set held 41 entries while the Edge set held 35, and these 6 newly blocklisted devnet-2.0 slabs were still reachable through the middleware:

7FBXdrm1vQ4ktQJjMwurq4cAHkVB1gKoZ7Hx3CAQv6P4
8SHhSKuY9cun15Y2Q9p9SNEV86zzSWbeP4e59xLAv99h
BLAHwD5wZ3Wo6naHD4GTT6zpYFcyLWAviEWR4zT7C36p
BPgSUbDsxZ9bkauWgd6eQ8oLHVx6pSsvfAjPGsS2Sso8
CseeeuKKbgNU38VRukG38mTdcPJ4KWci5GmFikEtp1X5
gHey79gB1xGQyXne8yEHoKmGi6jrEVigLwxSXQrYkD3

The fix

Adds those 6 — both sets now at 41, zero divergence in either direction. Entries re-sorted case-insensitively so future diffs stay readable. No behaviour change beyond closing the gap.

Verification

Found by the blocklist-edge-sync test in #2456, which exists to catch exactly this drift. Verified against that test:

state sync test
this fix applied passes
any one of the 6 removed again FAILS

tsc --noEmit clean.

Related

This is the second half of a pair. #2456 adds the test that detects the drift; this PR fixes the drift itself. They are independent — either can merge first — but the repo only stays protected with both.

Also worth a separate look (not fixed here, it is a product call): DEVNET_MARKET_DIRECTORY_FALLBACK in api/markets/route.ts is now down to a single entry, and that entry is in the blocklist. So during a Supabase outage the devnet fallback serves zero markets.

🤖 Generated with Claude Code

…slabs

394f856 ("blocklist the entire devnet-2.0 lineup") added entries to
lib/blocklist.ts but not to lib/blocklist-edge.ts. Those are two separate
hardcoded sets, deliberately duplicated so the Edge middleware gets an isolated
bundle (the file's own header says KEEP IN SYNC), and middleware.ts imports the
EDGE one:

  app/middleware.ts:26  import { BLOCKED_SLAB_ADDRESSES } from "@/lib/blocklist-edge";

So the canonical set had 41 entries while the Edge set had 35, and the 6 newly
blocklisted devnet-2.0 slabs were still reachable through the middleware:

  7FBXdrm1vQ4ktQJjMwurq4cAHkVB1gKoZ7Hx3CAQv6P4
  8SHhSKuY9cun15Y2Q9p9SNEV86zzSWbeP4e59xLAv99h
  BLAHwD5wZ3Wo6naHD4GTT6zpYFcyLWAviEWR4zT7C36p
  BPgSUbDsxZ9bkauWgd6eQ8oLHVx6pSsvfAjPGsS2Sso8
  CseeeuKKbgNU38VRukG38mTdcPJ4KWci5GmFikEtp1X5
  gHey79gB1xGQyXne8yEHoKmGi6jrEVigLwxSXQrYkD3

Adds those 6, leaving both sets at 41 with zero divergence in either direction.
Entries re-sorted case-insensitively so future diffs stay readable.

Found by the blocklist-edge-sync test in #2456, which exists precisely to catch
this class of drift; verified against that test here (it fails if any one of the
6 is removed again, passes with all present).
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
percolator-launch Ready Ready Preview, Comment Jul 27, 2026 8:51am
percolator-mainnet Ready Ready Preview, Comment Jul 27, 2026 8:51am
percolator-playground Ready Ready Preview, Comment Jul 27, 2026 8:51am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f8d68d69-d284-4e75-9ced-192fcf1e02e0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/blocklist-edge-resync-devnet2

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