Paradaux
IssuesPAR-147Planned
0

DC Economy Profiles Linking Issue

Symptom

A player has two DC economy profiles (two Treasury accounts); linking them to DC services reaches only one and the other is "unreachable". A staff $75k transfer had to be sent to the reachable profile.

Most likely cause (DC-specific — needs confirmation)

DC supports Bedrock via Floodgate, so one human can exist under two different UUIDs (their Java UUID and their Floodgate/Bedrock UUID). Each distinct owner_uuid_bin gets its own PERSONAL account, and the schema's uniqueness guard uq_one_personal_per_player (on owner_uuid_bin, economy-schema V1) is per-UUID, so two accounts under two UUIDs is permitted and presents as "two profiles". Explorer linking (explorer_identity: keycloak_sub → a single player_uuid_bin) binds to one UUID, so it can only reach one of them — exactly the report. (Less likely, but rule out: a genuine duplicate under the same UUID from a legacy import/race — the unique index should now prevent new ones.)

Investigate

  1. Identify the accounts and whether the two PERSONAL rows share a UUID or not:
SELECT account_id, account_type, HEX(owner_uuid_bin) AS uuid, display_name
FROM accounts WHERE display_name = ?;
  1. Dual-UUID (expected): decide the canonical policy — link both UUIDs to one identity and/or merge balances to a primary account, and make explorer linking Bedrock-aware (Floodgate exposes a linked-Java-account API).
  2. Same-UUID duplicate: merge (move balance + repoint ledger_postings to the surviving account, archive the other) and confirm the unique index is active in prod.

Acceptance

  • The player's economy profile is reachable as a single identity after remediation; a documented rule for dual-UUID (Bedrock) players going forward.
  • The specific $75k case reconciled.

Related: PAR-150 / PAR-149 (Bedrock name resolution), PAR-144 (account-identity collisions).

Comments

No comments yet.

Activity

  • tesks description: Description updatedJun 15, 2026, 5:45 AM
  • paradaux changed status to Status → PlannedJun 15, 2026, 12:41 AM
  • paradaux description: Description updatedJun 15, 2026, 12:41 AM
  • tesks created the issueJun 13, 2026, 7:54 PM