feat: institutional membership tiers and corrected member directory #16
Reference in New Issue
Block a user
Delete Branch "devin/1778358341-institutional-membership-tiers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds an institutional membership tier system to the explorer and corrects the member directory per the 2026-04 institutional review.
Corrections
New Institutional Tier Taxonomy (7 tiers)
Backend Changes
auth/membership.go: Tier type definitions,DefaultTrackForTier()mapping,MembershipStorewith DB queries0017:institutional_members+institutional_member_walletstables with corrected seed datawallet_auth.go:getUserTrack()now resolves institutional membership via wallet junction table before defaulting to Track 1WalletAuthResponse: Now includesinstitutional_tierandinstitution_namefieldsGET /api/v1/membership/{tiers,members,members/:slug}endpointsfeatureflags/flags.go: AddedTrackLabel()helperFrontend Changes
access.ts: AddedInstitutionalTiertype, label map, extendedWalletAccessSessionNavbar.tsx:getAccessTier()displays institutional tier label; session summary shows institution nameTesting
go build ./...— passesgo vet ./...— passesgo test ./...— all tests passnext lint— no warnings or errorstsc --noEmit— passesCorrections per 2026-04 institutional review: - MLFO reclassified as Global Family Office (was incorrectly labeled central bank) - BIS Innovation Hub reclassified as Standards Body (does not hold observer seat) - Added missing entities: ICCC, SAID, PANDA, Order of Hospitallers (XOM) - Added BRICS founding + expanded member central banks (10 entries) New institutional tier taxonomy (7 tiers): sovereign_central_bank, global_family_office, settlement_member, infrastructure_operator, oversight_judicial, delegated_authority, standards_body Backend changes: - New auth/membership.go: tier types, DefaultTrackForTier mapping, MembershipStore with DB queries for member directory - New migration 0017: institutional_members + institutional_member_wallets tables with seed data for all corrected members - Updated wallet_auth.go getUserTrack(): now resolves institutional membership (via wallet junction table) before defaulting to Track 1 - WalletAuthResponse now includes institutional_tier and institution_name - New REST endpoints: GET /api/v1/membership/{tiers,members,members/:slug} - Added TrackLabel() helper in featureflags Frontend changes: - Added InstitutionalTier type and label map to access.ts - WalletAccessSession extended with institutionalTier/institutionName - Navbar getAccessTier() now displays institutional tier label when present - Session summary shows institution name Co-Authored-By: Nakamoto, S <defi@defi-oracle.io>