Technical Reference
ACRONYM
Contract addressNot applicable to type definitions
Hash-verified
0x7f041e0d…75ef24Source details
| Property | Value |
|---|---|
| Keccak256 Hash | 0x7f041e0d5ffb5e3760957a058780371777c5a4ba1b7154de3ec0f32d9775ef24 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/include/acronym.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 | 0x5398021ec4d73bafde741030a7ed88381b9185ad7a70d0e90af693508de4ab29 |
| Compilation Closure Files | 6 |
| Hash Generated | 2026-09-14T19:34:18Z |
Overview
Section titled “Overview”ACRONYM is the data structure for the acronym game/voting mechanic. It stores a user’s phrase submission along with their identity information.
- Kind: Type Definitions Module
- License: Sharia
- Solidity: ^0.8.21
- Source:
include/acronym.sol
What This Means For Players
Section titled “What This Means For Players”Plain English Summary: ACRONYM stores your entry in the word game. When you submit a phrase that matches an acronym (like “LOL” = “Laugh Out Loud”), your submission is saved as an ACRONYM struct with your player info attached.
Real-World Analogy: It’s like a game show entry card. You write your answer (phrase), sign your name (UserInfo), and it gets a number (Id) so the judges can track all entries and pick winners.
How It Affects Your Gameplay:
- Word game entries - Each phrase you submit becomes an ACRONYM record
- Attribution - Your user info is attached so you get credit
- Voting - Other players can vote for your submission by its Id
Definition
Section titled “Definition”struct ACRONYM { uint16 Id; // Submission identifier User UserInfo; // Submitting user's information string Phrase; // The submitted phrase}Field Descriptions
Section titled “Field Descriptions”| Field | Type | Purpose |
|---|---|---|
| Id | uint16 | Unique identifier for this submission (0-65535) |
| UserInfo | User | Full user context including Soul, Bao, Username, Entropy |
| Phrase | string | The phrase that should match the acronym |
Game Mechanic
Section titled “Game Mechanic”- System generates random acronym (e.g., “ABC”)
- Users submit phrases (e.g., “A Big Cat”)
- Submissions stored as ACRONYM structs
- Validation uses STRINGLIB.CheckAcronym()
- Valid submissions may earn rewards
Validation Flow
Section titled “Validation Flow”// Generate acronymbytes memory acronym = stringLib.RandomAcronym(5); // e.g., "ABCDE"
// User submitsACRONYM memory submission;submission.Id = nextId++;submission.UserInfo = getUser();submission.Phrase = "Always Be Coding Daily, Everyone";
// Validatebool valid = stringLib.CheckAcronym(acronym, submission.Phrase);Dependencies
Section titled “Dependencies”Imports:
Used By
Section titled “Used By”Game contracts that implement the acronym voting mechanic.
Example
Section titled “Example”// Round: Acronym is "LOL"
ACRONYM[] memory submissions;
submissions[0] = ACRONYM({ Id: 1, UserInfo: alice, Phrase: "Laugh Out Loud" // Valid});
submissions[1] = ACRONYM({ Id: 2, UserInfo: bob, Phrase: "Lots Of Love" // Valid});
submissions[2] = ACRONYM({ Id: 3, UserInfo: charlie, Phrase: "Living On Luck" // Valid});Storage Patterns
Section titled “Storage Patterns”// Per-round storagemapping(uint256 roundId => ACRONYM[]) submissions;
// Per-user trackingmapping(uint64 soul => uint16[] submissionIds) userSubmissions;Structs
Section titled “Structs”ACRONYM
Section titled “ACRONYM”struct ACRONYM { uint16 Id; User UserInfo; string Phrase;}