← /dysnomia · dev index

At cap [chain] — entity data (deployment, supply/cap, liveness):/dysnomia/contracts/0x29a924d9… · plain-language: guide/venues

HECKE — “Dysnomia Hecke” — the meridian coordinate transform

Wave 2 · 2025-02-26 23:01 UTC · deployed [chain] · at cap

In player terms

The world’s projection screen Venues live on a one-dimensional number line (the Waat). HECKE is the fixed math that folds that line onto a globe: given a venue’s Waat it tells you the (latitude, longitude) tile it sits on — and back. The venue map you picture in your head is HECKE’s arithmetic.
It makes the world lopsided on purpose The 90 meridian bands shrink hyperbolically toward the poles — the far north is squeezed, equatorial bands are wide. Two venues “3 tiles apart” at different latitudes are very different distances apart in Waat-space. Scatter-plotters beware: the projection is deliberately anisotropic.
Its first constant is a key elsewhere Meridians[0] = 476733977057179 is not only the grid’s origin multiplier — it is also the divisor in the QING creation lottery that decides whether a venue’s escrow is ever withdrawable, and the crypto modulus is 2× it + 5. One design, three roles.
Free to read Pure views, no meter, no session — the cartographer’s best friend.

1. Identity

Address 0x29A924D9B0233026B9844f2aFeB202F1791D7593
Creation block 22,813,908 — 2025-02-26 23:01 UTC (tx 0xb420fb112f194e48bc21fa74f37003f2477aca18bb77a38385374fbc5a86c7de)
Deployer 0x0474606332105A1dA6FC8EF7De2470551D389Cb9
Name / symbol Dysnomia Hecke / HECKE [chain]
Supply / cap 51,560 / 51,560 — at cap, and the constructor pre-paid the WHOLE budget to itself (_mint(address(this), maxSupply * 1e18)) [src]/[chain]

2. Role

The world’s projection function: 90 hardcoded Meridians that fold the number line into a globe. Compliment(Waat) → (Longitude, Latitude) maps any Waat coordinate to a tile; GetWaat(Latitude) inverts. MAP multiplies CHO.Luo() × Meridians[0] to place QINGs, then uses Compliment to grid them. The array starts geometric (ratio ≈ 5.2, decaying) and flattens from band 33 into constant steps of 7274503475445672082679299018887362119730550465600968639836233812051516785 (≈ 7.27e72; −1 on every third band 36, 39, …, 87) before the final jump — Meridians[89] = 2×Meridians[88] + 1 exactly; hyperbolic meridian bands shrinking toward the pole; Meridians[0] = 476733977057179 doubles as the QING GWAT withdrawability divisor, and MotzkinPrime = 2×476733977057179 + 5 — the coordinate origin and the crypto modulus are factors of the same design (verified [chain]). The full-917 atlas replication: every live venue lands in bands 34–88 with ~uniform latitude over ±pole (atlas replication over all 917).

3. Dependencies

Constructed with the CHO address (for Xiao + market rates only). Called by MAP (Compliment, Meridians(0)), and by the undeployed WORLD/H2O/VITUS designs (Meridians(13), Meridians(20), Meridians(89)).

4. State

Meridians — uint256[90] public constant table (full values in the source and verified onchain [chain]; first 476733977057179, last 788007780075465850682698395781331007488376212737722608030423588863419947711).

5. Functions

Function table extracted mechanically from lib/heckemeridians.sol. Gate: public = anyone · owners = MultiOwnable set, msg.sender OR tx.origin · bouncers = QING bouncer rule · single-owner = classic owner · deployer = constructor wiring. meter = the call self-mints one unit via _mintToCap() (a call-counter against the constructor-lottery maxSupply).

signature gate meter events reverts
constructor(address ChoAddress) deployer — — —
Compliment(uint256 Waat) returns (int256 Longitude, int256 Latitude) public — — assert
GetWaat(int256 Latitude) returns (uint256 Waat) public — — —
GetMeridian(uint256 Waat) returns (uint256 Meridian) public — — —

Effects: Compliment — meridian index = the band containing Waat (GetMeridian); latitude = distance below Meridians[88] ÷ 333 (south negative; the far-north band flips to measure downward); longitude wraps ± within the band (west negative). assert(Waat <= Meridians[89]) bounds the domain. GetWaat inverts the latitude mapping (± 333 scale).

6. Integration notes

7. Provenance