Skip to content
Technical Reference

ACRONYM

Contract addressNot applicable to type definitions
Hash-verified 0x7f041e0d…75ef24
Source 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

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

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
struct ACRONYM {
uint16 Id; // Submission identifier
User UserInfo; // Submitting user's information
string Phrase; // The submitted phrase
}
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
  1. System generates random acronym (e.g., “ABC”)
  2. Users submit phrases (e.g., “A Big Cat”)
  3. Submissions stored as ACRONYM structs
  4. Validation uses STRINGLIB.CheckAcronym()
  5. Valid submissions may earn rewards
// Generate acronym
bytes memory acronym = stringLib.RandomAcronym(5); // e.g., "ABCDE"
// User submits
ACRONYM memory submission;
submission.Id = nextId++;
submission.UserInfo = getUser();
submission.Phrase = "Always Be Coding Daily, Everyone";
// Validate
bool valid = stringLib.CheckAcronym(acronym, submission.Phrase);

Imports:

Game contracts that implement the acronym voting mechanic.

// 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
});
// Per-round storage
mapping(uint256 roundId => ACRONYM[]) submissions;
// Per-user tracking
mapping(uint64 soul => uint16[] submissionIds) userSubmissions;

struct ACRONYM {
uint16 Id;
User UserInfo;
string Phrase;
}