Technical Reference

ACRONYM

Source updated:
Last updated:
Source Revision 0x7f041e0d…75ef24
Property Value
Source Revision 0x7f041e0d5ffb5e3760957a058780371777c5a4ba1b7154de3ec0f32d9775ef24
Source URL https://raw.githubusercontent.com/busytoby/atropa_pulsechain/1df19b283296a7ebf6b3efbaab5f1cb19865dc56/solidity/dysnomia/include/acronym.sol
Source commit 1df19b283296a7ebf6b3efbaab5f1cb19865dc56
Source Status Source snapshot; source hashes do not establish deployed bytecode equivalence.
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-04-20T02:38:30Z

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
Contract addressNot applicable to type definitions

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;
}