User
0xb8e83f4b…2c2a70Source details
| Property | Value |
|---|---|
| Keccak256 Hash | 0xb8e83f4ba819402a9cab5c800fdf5a9a694d4e3600639db159353f0e102c2a70 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/include/user.sol |
| Source Revision | 58607494f7741b80525953e4a85bc99e66fd20fc |
| Source Status | Canonical source snapshot; deployed bytecode equivalence is only established where a deployment record says so. |
| Compiler | solc 0.8.21; optimizer enabled with 200 runs |
| Compiler Configuration | {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"} |
| Compilation Closure Hash | 0xed105e08ac223884edf106690dafd7efbb0937c8b832a65ea8dc691f534ad90b |
| Compilation Closure Files | 5 |
| Hash Generated | 2026-09-14T19:34:19Z |
Overview
Section titled “Overview”User is the identity structure for users in the Dysnomia ecosystem. It combines a Soul ID with a Bao operation context, username, and entropy value.
- Kind: Type Definitions Module
- License: Sharia
- Solidity: ^0.8.21
- Source:
include/user.sol
What This Means For Players
Section titled “What This Means For Players”Plain English Summary: User is your player card - it contains your identity, name, and stats. When the game needs to know who you are, it reads your User structure which has your Soul ID (unique number), Bao (operation context), Username (display name), and Entropy (accumulated randomness).
Real-World Analogy: Think of User like a character sheet in a tabletop RPG. It has your character’s unique ID, their equipment loadout (Bao), their name, and a luck stat (Entropy) that accumulates over time.
How It Affects Your Gameplay:
- Soul ID - Your permanent unique identifier across all game systems
- Username - How other players see you in chat and venues
- Entropy - Your accumulated randomness that affects calculations
- Bao reference - Links to your cryptographic identity for authentication
Definition
Section titled “Definition”struct User { uint64 Soul; // Unique 64-bit user identifier Bao On; // User's Bao operation context string Username; // Display name uint64 Entropy; // User-specific entropy value}Field Descriptions
Section titled “Field Descriptions”| Field | Type | Purpose |
|---|---|---|
| Soul | uint64 | Unique identifier derived from Saat[1] |
| On | Bao | User’s token context (SHIO, SHA, etc.) |
| Username | string | Display name for chat and UI |
| Entropy | uint64 | Accumulated entropy from reactions |
Soul ID
Section titled “Soul ID”The Soul ID is the primary identifier for a user. It’s derived from:
- LAU creation via LAUFactory
- VOID.Enter() registration
- SIU.Miu() token generation
- Stored in Saat[1]
// Soul is the middle value of Saat arrayuint64 soul = lau.Saat(1);Lifecycle
Section titled “Lifecycle”1. User calls LAUFactory.New()2. LAU calls VOID.Enter()3. VOID calls SIU.Miu()4. SIU creates tokens via ZHENG5. User struct populated: - Soul = Saat[1] - On = created Bao - Username = "" (set later) - Entropy = from RecallUsername Management
Section titled “Username Management”Username is stored separately in ATTRIBUTE library but accessed via User struct:
// Set usernamelau.Username("Alice");
// Get username (reads from ATTRIBUTE)string memory name = lau.Username();
// In CHO.Enter()Alpha.Username = LAU(Alpha.On.Phi).Username();Entropy Accumulation
Section titled “Entropy Accumulation”Entropy evolves through reactions:
function Recall(User memory Alpha) public returns (uint64 UserEntropy) { (On.Omicron, On.Omega) = Reactor().ReactToLai(On, Entropy ^ Alpha.On.Omicron, ...); Entropy = On.Omega; return On.Omicron;}Used By
Section titled “Used By”- CHO - Delegates mapping
- VOID - Session management
- COREREACTIONSLIB - ReactToTalk
- QING - Chat verification
Dependencies
Section titled “Dependencies”Imports:
Common Patterns
Section titled “Common Patterns”Registration
Section titled “Registration”User memory Alpha;Alpha.Soul = userLau.Saat(1);Alpha.On = userLau.On();Alpha.On.Phi = address(userLau);Alpha.Username = userLau.Username();Alpha.Entropy = recall(Alpha);
// StoreDelegates[tx.origin] = Alpha;DelegateAddresses[Alpha.Soul] = tx.origin;Lookup
Section titled “Lookup”// By addressUser memory user = Delegates[walletAddress];
// By Souladdress wallet = DelegateAddresses[soul];User memory user = Delegates[wallet];Reaction
Section titled “Reaction”User memory Alpha = getUser();Alpha.Entropy = Recall(Alpha);Delegates[tx.origin] = Alpha;Structs
Section titled “Structs”struct User { uint64 Soul; Bao On; string Username; uint64 Entropy;}