Hardcoded constants, storage, events, errors, and the read interface.
| CONSTANT | VALUE |
|---|---|
| TOTAL_SUPPLY | 1,000,000,000 × 10^18 |
| DECIMALS | 18 |
| T_AMB | 21.000 °C |
| T_FLOOR | 36.000 °C |
| T_CEIL | 39.500 °C |
| K_HEAT | 42.000 °C per full supply moved |
| BLOCK_HEAT_CAP | 1.500 °C per block |
| COOLING HALF-LIFE | 6.000 hours (λ = ln 2 / 21600 s ≈ 3.2087 × 10^-5 per second) |
| H_REQ | 900.000 degree-hours |
| SCORCH_RATE | 2.500 dh added per scorch dh |
| TURN_MIN_GAP | 5,400 s |
| TURN_MAX_GAP | 28,800 s |
| ADHESION_DRAG | rate × 10000/(10000 + 25a) bps |
| RING_EPOCH | 86,400 s |
| RING_CAP | 730 rings |
| AIRCELL_BASE | 0.030 units per day |
| AIRCELL_COLD_MULT | ×3 below T_FLOOR |
| GRADE | AA / A / B below 4.500 / below 9.000 / 9.000 and above |
| PIP_SECTORS | 24 sectors of 15° |
| PIP_MIN | 1,000 × 10^18 |
| SHELL_INTEGRITY | 1.000 × 10^12 scored weight |
All constants are immutable and compiled into the bytecode. No caller, including the deployer, can change any of them.
Filled squares are compiled in. Hollow squares are not gated off; they are absent from the bytecode.
There are no reverse edges. A crossing cannot be undone by cooling, scorch, or time.
| ERROR | MEANING |
|---|---|
| TooSoonToTurn | ninety minutes have not passed. |
| ShellNotPipped | pip() before the pipped stage. |
| AlreadyHatched | the egg is open. nothing left to do. |
| BurnBelowMinimum | pips smaller than 1,000 tokens revert. |
| RingNotElapsed | the epoch boundary has not passed. |
| NothingToSeal | the ring was already sealed. |
| IntegrityNotMet | hatch() before the shell is spent. |
| SectorsIncomplete | hatch() before the zip closes the circle. |