Description
The frontend has no admin panel or DAO governance interface. For the EquipChain protocol, administrators need interfaces for: managing meter registrations, configuring tariff rates, adjusting fee schedules, managing oracle addresses, overseeing the insurance pool, and monitoring protocol health metrics. Without an admin panel, all configuration must be done directly through contract calls.
Admin panel gaps:
- No admin dashboard showing protocol-wide metrics
- No tariff rate configuration interface
- No fee schedule management (platform fees, tiered fees)
- No oracle management (validators, price feeds, staleness monitoring)
- No user management (view users, freeze accounts, manage roles)
- No contract upgrade interface (propose upgrades, view history)
- No multi-sig proposal management (create, vote, execute)
- No gas buffer monitoring across all providers
- No insurance pool oversight (claims review, pool health)
- No system logs/event viewer
Technical Context & Impact
- Affected Components/Files:
app/admin/ (missing), src/components/admin/ (missing)
- Impact: Protocol administration requires direct blockchain interaction; poor DAO governance UX
Step-by-Step Implementation Guide
- Create admin layout:
app/admin/layout.tsx with admin-specific sidebar and admin-only route guard
- Build admin pages:
/admin - Protocol overview with KPI cards (active meters, streams, TVL 24h volume)
/admin/meters - All meters with admin actions (force close, adjust balance)
/admin/fees - Fee schedule configuration with preview of changes
/admin/oracle - Oracle health dashboard, price feed management, validator management
/admin/users - User list with freeze/unfreeze, role assignment
/admin/insurance - Insurance pool oversight, claims review queue
/admin/upgrades - Contract upgrade proposal and execution
/admin/multi-sig - Multi-sig proposal creation, voting, execution
/admin/events - System event log viewer with filtering
- Implement admin-only middleware:
src/middleware.ts checking isAdmin role from contract
- Create admin components:
ActionPanel, UserRow, MeterAdminCard, FeeConfigForm, OracleStatusCard
- Add admin audit log: All admin actions logged to local state for audit trail
- Implement confirmation for destructive actions: Force close meter, freeze user, adjust balance all require multi-step confirmation
- Add admin API key management: If backend API requires admin tokens, provide management interface
Verification & Testing Steps
- Test admin route: non-admin user -> redirected/blocked
- Test fee configuration: change fee -> see preview of impact -> confirm -> verify on-chain
- Test multi-sig proposal: create proposal -> sign with 2nd key -> execute
- Test insurance claims review: approve and reject claims from queue
- Test event log: filter by event type, date range, and user address
- Run
npx tsc --noEmit
Description
The frontend has no admin panel or DAO governance interface. For the EquipChain protocol, administrators need interfaces for: managing meter registrations, configuring tariff rates, adjusting fee schedules, managing oracle addresses, overseeing the insurance pool, and monitoring protocol health metrics. Without an admin panel, all configuration must be done directly through contract calls.
Admin panel gaps:
Technical Context & Impact
app/admin/(missing),src/components/admin/(missing)Step-by-Step Implementation Guide
app/admin/layout.tsxwith admin-specific sidebar and admin-only route guard/admin- Protocol overview with KPI cards (active meters, streams, TVL 24h volume)/admin/meters- All meters with admin actions (force close, adjust balance)/admin/fees- Fee schedule configuration with preview of changes/admin/oracle- Oracle health dashboard, price feed management, validator management/admin/users- User list with freeze/unfreeze, role assignment/admin/insurance- Insurance pool oversight, claims review queue/admin/upgrades- Contract upgrade proposal and execution/admin/multi-sig- Multi-sig proposal creation, voting, execution/admin/events- System event log viewer with filteringsrc/middleware.tscheckingisAdminrole from contractActionPanel,UserRow,MeterAdminCard,FeeConfigForm,OracleStatusCardVerification & Testing Steps
npx tsc --noEmit