feat: institutional membership tiers and corrected member directory #16

Merged
nsatoshi merged 2 commits from devin/1778358341-institutional-membership-tiers into master 2026-05-09 21:01:17 +00:00
Owner

Summary

Adds an institutional membership tier system to the explorer and corrects the member directory per the 2026-04 institutional review.

Corrections

  • MLFO reclassified as Global Family Office (was incorrectly labeled "full central bank")
  • BIS Innovation Hub reclassified as Standards Body (does NOT hold an observer seat or voting rights)
  • Added missing entities: ICCC (Oversight & Judicial), SAID (Standards Body), PANDA (Standards Body), Order of Hospitallers/XOM (Delegated Authority)
  • Added BRICS central banks: BCB, CBR, RBI, PBOC, SARB + expanded members (CBE, NBE, CBI, CBUAE, SAMA)

New Institutional Tier Taxonomy (7 tiers)

Tier Default Explorer Track Example Members
Sovereign Central Bank Track 3 (Analytics) OMNL, BRICS CBs
Global Family Office Track 3 (Analytics) MLFO
Settlement Member Track 2 (Enhanced) (future members)
Infrastructure Operator Track 4 (Operator) DeFi Oracle
Oversight & Judicial Track 3 (Analytics) ICCC
Delegated Authority Track 3 (Analytics) Order of Hospitallers (XOM)
Standards Body Track 2 (Enhanced) BIS Innovation Hub, SAID, PANDA

Backend Changes

  • auth/membership.go: Tier type definitions, DefaultTrackForTier() mapping, MembershipStore with DB queries
  • Migration 0017: institutional_members + institutional_member_wallets tables with corrected seed data
  • 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 fields
  • REST API: New GET /api/v1/membership/{tiers,members,members/:slug} endpoints
  • featureflags/flags.go: Added TrackLabel() helper

Frontend Changes

  • access.ts: Added InstitutionalTier type, label map, extended WalletAccessSession
  • Navbar.tsx: getAccessTier() displays institutional tier label; session summary shows institution name

Testing

  • go build ./... — passes
  • go vet ./... — passes
  • go test ./... — all tests pass
  • next lint — no warnings or errors
  • tsc --noEmit — passes
## Summary Adds an institutional membership tier system to the explorer and corrects the member directory per the 2026-04 institutional review. ### Corrections - **MLFO** reclassified as **Global Family Office** (was incorrectly labeled "full central bank") - **BIS Innovation Hub** reclassified as **Standards Body** (does NOT hold an observer seat or voting rights) - **Added missing entities**: ICCC (Oversight & Judicial), SAID (Standards Body), PANDA (Standards Body), Order of Hospitallers/XOM (Delegated Authority) - **Added BRICS central banks**: BCB, CBR, RBI, PBOC, SARB + expanded members (CBE, NBE, CBI, CBUAE, SAMA) ### New Institutional Tier Taxonomy (7 tiers) | Tier | Default Explorer Track | Example Members | |---|---|---| | Sovereign Central Bank | Track 3 (Analytics) | OMNL, BRICS CBs | | Global Family Office | Track 3 (Analytics) | MLFO | | Settlement Member | Track 2 (Enhanced) | *(future members)* | | Infrastructure Operator | Track 4 (Operator) | DeFi Oracle | | Oversight & Judicial | Track 3 (Analytics) | ICCC | | Delegated Authority | Track 3 (Analytics) | Order of Hospitallers (XOM) | | Standards Body | Track 2 (Enhanced) | BIS Innovation Hub, SAID, PANDA | ### Backend Changes - **`auth/membership.go`**: Tier type definitions, `DefaultTrackForTier()` mapping, `MembershipStore` with DB queries - **Migration `0017`**: `institutional_members` + `institutional_member_wallets` tables with corrected seed data - **`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` fields - **REST API**: New `GET /api/v1/membership/{tiers,members,members/:slug}` endpoints - **`featureflags/flags.go`**: Added `TrackLabel()` helper ### Frontend Changes - **`access.ts`**: Added `InstitutionalTier` type, label map, extended `WalletAccessSession` - **`Navbar.tsx`**: `getAccessTier()` displays institutional tier label; session summary shows institution name ### Testing - `go build ./...` — passes - `go vet ./...` — passes - `go test ./...` — all tests pass - `next lint` — no warnings or errors - `tsc --noEmit` — passes
nsatoshi added 1 commit 2026-05-09 20:32:59 +00:00
Corrections 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>
nsatoshi added 1 commit 2026-05-09 20:48:24 +00:00
nsatoshi merged commit e5df7c2ea3 into master 2026-05-09 21:01:17 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: d-bis/explorer-monorepo#16