Skip to content
Player's Guide

UserVote — Your Word-Game Ballot

One-line pitch: UserVote is the struct that holds your vote and submission count for a word-game round. One vote per round; resets every round.

When you participate in the word-game mini-mode, two pieces of state about you get tracked in a single UserVote struct:

  • Vote — the ACRONYM Id you voted for.
  • Submissions — how many phrases you’ve submitted this round (capped at 255).
  • Round — which round this vote applies to.

When a new round begins, the Round field lets the game tell “this is a stale vote, ignore it” — old votes don’t leak into new rounds.

Like ACRONYM, this is a data shape (struct), not a contract.

  • Closest analogy: a per-epoch ballot — your vote only counts for this epoch; next epoch gets a fresh vote.
  • Or: Snapshot proposals with round-scoped voting power.
  • Or: a per-round rate limit — “you can do this N times this round, then nothing until reset.”
Dysnomia term What it maps to
UserVote Struct storing your per-round voting state
Vote The ACRONYM.Id you voted for
Submissions Count of phrases you submitted this round (max 255)
Round Round number this state belongs to
  • Submit phrases — each submission bumps Submissions++.
  • Vote for a favorite — sets Vote = someAcronymId and Round = currentRound.
  • When a new round starts — your old Round no longer matches; the field is effectively reset without needing a zero-write.
  • Cost: gas per submission + vote.
  • Reward: if your vote wins or your submission wins, rewards (game-logic dependent).
  • You need a Soul (player ID) — votes are tracked per Soul, not per wallet.
  • Submission cap (commonly 3 per round) enforced by the game contract.

Tracks votes for ACRONYM entries. Uses your Soul (via LAU’s USER record) as the key. Consumed by whatever contract implements the word-game round logic.

Q: Can I change my vote within a round? A: Depends on game rules — typically once your Vote is set for the current Round, it’s locked for that round.

Q: What happens to my UserVote across rounds? A: The storage slot stays, but since Round no longer matches currentRound, the old values are ignored. New vote overwrites.

Q: Why uint8 on Submissions? A: No one’s submitting more than 255 phrases a round — uint8 saves gas.


Want the Solidity? The contract reference lives at technical/docs/include/USERVOTE.md.