MAP — The World Map¶
One-line pitch: MAP is the registry that places every venue (QING) somewhere on the world grid.
What this is¶
MAP is the game's spatial index. Every QING has a unique coordinate on the world, computed via the Hecke Meridians math library. MAP is what knows:
- "Given these coordinates, what QING (if any) lives here?"
- "Given this token, what QING wraps it?"
- "Is this token forbidden from ever becoming a venue?"
When someone wraps a token as a QING for the first time, MAP assigns it a position and emits a NewQing event. Explorers, wallets, and indexers subscribe to that event to draw the world.
If you've played a web3 game before¶
- Closest analogy: the parcel registry in Decentraland or The Sandbox — every piece of virtual land has coordinates and an owner.
- Or: a graph database indexed by (x, y) — lookups by position and by owning token are both cheap.
- Or: DNS for venues — maps structured addresses to contract addresses.
| Dysnomia term | What it maps to |
|---|---|
| Waat | A venue's unique position / coordinate hash |
| Offset | Global map offset constant (used when deriving Waat) |
| NewQing | Event emitted when a new venue is registered |
| Forbidden | Token blacklist — these tokens can never be wrapped as QINGs |
What you actually do with it¶
- Browse venues — read MAP events to discover what QINGs exist and where.
- Wrap a token as a venue — call
NewQing(tokenAddress)and MAP will deploy a fresh QING at an assigned Waat (and the QING becomes discoverable at that spot). - Look up a token —
GetMapQing(token)returns the QING wrapping it (or zero if none). - Look up a location — check what QING lives at a given Waat.
Rewards / costs¶
- Cost: gas for
NewQingis large — you're deploying a new QING contract. One-time cost. - Reward: your new QING is owned by you; you become its first bouncer, set its cover charge, etc.
Requirements & gating¶
- You must own the token you want to wrap. MAP reverts
NotOwnerif you try to wrap a token you don't control. - The token must not already have a QING on MAP (prevents duplicates).
- The token must not be on the forbidden list.
- You must not yourself be banned by CHO (no WITHOUT holdings).
Where it connects¶
MAP creates QINGs. MAP consults CHO for player auth and token-owner lookups. MAP delegates coordinate math to the Hecke library. WORLD reads MAP to validate territory claims are actually "near" a known QING.
Quick FAQ¶
Q: How are coordinates assigned? A: Hecke math. The token address and the Offset constant hash into a unique (latitude, longitude). Same token always lands at the same spot, and no two tokens collide.
Q: Can I pick my own coordinates? A: No — coordinates are deterministic from the token address. If you want a specific spot, you'd need to mine addresses.
Q: What about derivative (GWAT) venues? Do they also use MAP? A: GWAT maintains its own coordinate registry for personal derivatives, independent of MAP. Check GWAT's docs for that flow.
Q: Can a token appear on MAP twice?
A: No. Second attempt reverts QingAlreadyExists. One QING per token, globally.
Q: What does "forbidden" mean? A: A token can be added to the forbidden list (by MAP owners) and then MAP refuses to wrap it. Used to block scam or malicious tokens from masquerading as venues.
Want the Solidity? The contract reference lives at
technical/docs/domain/MAP.md.