Skip to content

feat(dashboard): enable the Compound whitelabel with full governance - #2135

Merged
brunod-e merged 2 commits into
devfrom
feat/compound-whitelabel
Aug 19, 2026
Merged

feat(dashboard): enable the Compound whitelabel with full governance#2135
brunod-e merged 2 commits into
devfrom
feat/compound-whitelabel

Conversation

@brunod-e

Copy link
Copy Markdown
Collaborator

What

  • compound.gov.blockful.io now resolves to the whitelabel shell (hostnames + whitelabel in dao-config)
  • Compound joins ENS and Shutter in canCreateProposalForDao, with suggested transfer tokens (USDT, USDC, DAI, WETH, COMP)
  • govPlatform points at Anticapture instead of Tally, matching ENS and Shutter

No transaction-layer changes were needed: Compound's 2024 governor is an OZ v5 build (block-number clock, Compound Timelock, GovernorPreventLateQuorum), so the existing OZ propose, castVote, queue and execute paths work unchanged.

Validation

Full lifecycle PASS on an anvil mainnet fork via the governance fork test (#2133), running the dashboard's own transaction code with impersonated top delegates:

PASS delegates: 50 delegates with power on the fork, 20 above the 25,000 threshold
PASS propose: proposal 597 created via submitProposalRequest
PASS state:pending, state:active
PASS vote: 2 for (2,344,367), 1 against, 1 abstain via voteOnProposal
PASS tallies: on-chain tallies match the cast voting power exactly
PASS late-quorum: cleared the GovernorPreventLateQuorum deadline extension
PASS state:succeeded
PASS queue: proposal Queued via queueProposal
PASS execute: proposal Executed via executeProposal after the 2-day timelock

Typecheck, lint and the create-proposal + dao-config test suites (336 tests) pass.

🤖 Generated with Claude Code

Serve the Compound whitelabel from compound.gov.blockful.io and let
Compound join ENS and Shutter as a DAO you can draft, publish, vote on,
queue and execute proposals for.

Compound's 2024 governor is an OZ v5 build (block-number clock, Compound
Timelock, GovernorPreventLateQuorum), so the existing OZ propose,
castVote, queue and execute paths work unchanged; enabling proposal
creation is a config change. govPlatform now points at Anticapture rather
than Tally, matching ENS and Shutter.

Validated end to end on an anvil mainnet fork with the governance fork
test: propose via submitProposalRequest, for/against/abstain votes from
impersonated top delegates with exact tally matches, then queue and
execute through the 2-day timelock.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
anticapture-storybook Ready Ready Preview Aug 19, 2026 10:43pm
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
anticapture Ignored Ignored Aug 19, 2026 10:43pm

Request Review

@railway-app
railway-app Bot temporarily deployed to anticapture-infra / anticapture-pr-2135 August 18, 2026 23:27 Destroyed
@railway-app

railway-app Bot commented Aug 18, 2026

Copy link
Copy Markdown

🚅 Deployed to the anticapture-pr-2135 environment in anticapture-infra

Service Status Web Updated (UTC)
gateful ✅ Success (View Logs) Web Aug 19, 2026 at 10:43 pm
prometheus ✅ Success (View Logs) Aug 19, 2026 at 10:43 pm
authful ✅ Success (View Logs) Web Aug 19, 2026 at 10:43 pm
grafana ✅ Success (View Logs) Web Aug 19, 2026 at 10:43 pm
loki ✅ Success (View Logs) Aug 19, 2026 at 10:43 pm
alertmanager ✅ Success (View Logs) Web Aug 19, 2026 at 10:43 pm
otelcol ✅ Success (View Logs) Aug 19, 2026 at 10:43 pm
tempo ✅ Success (View Logs) Aug 19, 2026 at 10:43 pm
uniswap-indexer-offchain ✅ Success (View Logs) Aug 19, 2026 at 12:10 pm
gitcoin-indexer-offchain ✅ Success (View Logs) Aug 19, 2026 at 12:10 pm
shutter-indexer-offchain ✅ Success (View Logs) Aug 19, 2026 at 12:10 pm
compound-indexer-offchain ✅ Success (View Logs) Aug 19, 2026 at 12:09 pm
ens-indexer-offchain ✅ Success (View Logs) Aug 19, 2026 at 12:09 pm
mcp ✅ Success (View Logs) Web Aug 19, 2026 at 2:22 am
aave-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:22 am
uniswap-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:21 am
shutter-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:20 am
docs ✅ Success (View Logs) Web Aug 19, 2026 at 2:15 am
obol-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:14 am
scroll-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:14 am
tornado-indexer ✅ Success (View Logs) Aug 19, 2026 at 2:00 am
ens-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:59 am
nouns-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:58 am
fluid-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:58 am
compound-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:57 am
gitcoin-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:57 am
lil-nouns-indexer ✅ Success (View Logs) Aug 19, 2026 at 1:57 am
ens-api ✅ Success (View Logs) Aug 19, 2026 at 1:19 am
tornado-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
fluid-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
shutter-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
obol-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
nouns-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
uniswap-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
aave-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
lil-nouns-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
compound-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
address-enrichment ✅ Success (View Logs) Web Aug 19, 2026 at 1:18 am
gitcoin-api ✅ Success (View Logs) Aug 19, 2026 at 1:18 am
ens-relayer ✅ Success (View Logs) Aug 19, 2026 at 1:17 am
erpc ✅ Success (View Logs) Aug 19, 2026 at 1:17 am
user-api ✅ Success (View Logs) Web Aug 19, 2026 at 1:16 am
nodeful ✅ Success (View Logs) Aug 19, 2026 at 1:15 am
scroll-api ✅ Success (View Logs) Aug 19, 2026 at 1:14 am

Copy link
Copy Markdown
Collaborator

🎨 UI Review

Automated review · Figma: not applicable — this PR wires an already-shipped, already-designed whitelabel governance feature (the one ENS, Shutter, and Gitcoin already use) to a new DAO; no new screens or copy to check against a mock · Preview: the anticapture (dashboard) Vercel deployment is Ignored for this branch — only the Storybook project deployed, so no live preview to click through
ℹ️ Reviewed by comparing this DAO's config wiring against the three DAOs already enabled for full whitelabel governance (ENS, Shutter, Gitcoin), which share the exact same components.


Compound whitelabel enablement

Question for author

  • COMP's whitelabel config is set to an empty object ({}}) — same gap as Gitcoin's still-open PR (feat(dashboard): enable the Gitcoin whitelabel with full governance #2134) — while ENS and Shutter both set requestFeatureLink to a ClickUp form URL. Per WhitelabelConfig's own doc comment ("the button is hidden when absent"), this won't break anything — the "Request a feature" button in WhitelabelShell.tsx/WhitelabelSidebar.tsx will simply not render for Compound visitors — but every other whitelabel DAO offers this CTA, so confirm the omission is intentional (no ClickUp form set up yet for Compound) rather than a copy-paste miss. (apps/dashboard/shared/dao-config/comp.ts)

Validated — no change needed

  • hostnames: ["compound.gov.blockful.io"] follows the exact <dao>.gov.blockful.io pattern used by ens.ts / shu.ts.
  • govPlatform now points at toAbsoluteUrl("/comp/proposals/") with name: "Anticapture" — matches how both ENS and Shutter replaced their old Tally link when they got full governance.
  • canCreateProposalForDao gains DaoIdEnum.COMP — the single gate controlling whether the Create Proposal UI is reachable for a DAO — wired the same way ENS/Shutter/Gitcoin were.
  • The 5 suggested-transfer tokens added for Compound (USDT, USDC, DAI, WETH, COMP) all resolve to the correct mainnet contract addresses.

Findings: 1 total — 0 must-fix, 1 question for author.


Generated by Claude Code

# Conflicts:
#	apps/dashboard/features/create-proposal/constants.ts
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Vercel preview: https://anticapture-j4z3a8v5b-ful.vercel.app

@brunod-e
brunod-e merged commit a4867a4 into dev Aug 19, 2026
58 checks passed
@brunod-e
brunod-e deleted the feat/compound-whitelabel branch August 19, 2026 23:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants