RING¶
Overview¶
RING is the time/moment tracking contract that calculates Eta values and tracks player moments. It coordinates with PANG for push operations.
- Inherits: DYSNOMIA V2
- License: Sharia
- Solidity: ^0.8.21
What This Means For Players¶
Plain English Summary: RING is the time tracker - it records your moments and activity in the game. Every interaction you have creates a "moment" that RING remembers. These moments affect your power calculations and rewards in the WORLD territory system.
Real-World Analogy: Think of RING like a fitness tracker that records your workout sessions. Each time you do something in the game, RING logs that moment and uses the accumulated data to calculate your "fitness score" (Eta values) which determines your influence in the game.
How It Affects Your Gameplay: - Moment tracking - Your Soul ID is linked to your activity moments - Eta calculations - RING computes values used for territory claims and rewards - Player history - Your accumulated moments influence future reward calculations
State Variables¶
| Variable | Type | Visibility | Description |
|---|---|---|---|
| Type | string | public constant | "RING" |
| Pang | PANG | public | Reference to PANG |
| Phobos | QINGINTERFACE | public | Reference QING (Zuo) |
| Moments | mapping(uint64 => uint256) | public | Soul → Moment tracking |
Write Functions¶
Eta¶
- Access:public
- Returns:
- Phoebe (uint256): Base reward amount from PANG.Push() - the Dione output representing territory claim rewards
- Iota (uint256): Squared activity moment = (Push.Yeo)² - your amplified activity score
- Chao (uint256): Reaction factor = YUE.React(Phobos) / Push.Omicron - normalized reaction value
- Charge (uint256): Adjusted power = Push.Charge / Push.Omega - scaled power for territory calculations
- Description: Calculates ring parameters by combining YUE reaction with PANG push values, then records the moment in the Moments mapping.
- Logic Flow:
1. Get player's YUE and LAU: (Yue, Usertoken) = Pang.Zi().Choa().Sei().Chi()
2. React YUE against Phobos QING: Chao = Yue.React(address(Phobos))
3. Get push values: (Iota, Omicron, Phoebe, Omega, Charge) = Pang.Push(Phobos.Waat())
4. Normalize Chao: Chao = Chao / Omicron
5. Normalize Charge: Charge = Charge / Omega
6. Record moment: Moments[Usertoken.Saat(1)] = Iota (stores activity under Soul ID)
7. Square Iota: Iota = Iota * Iota (amplifies activity metric)
- Computation Details:
- Phoebe comes directly from Push's Dione output (base reward)
- Iota is squared before return, giving exponential weight to activity
- Chao and Charge are normalized by their respective Push denominators
- Moments mapping tracks per-player activity history
- Side Effects: Updates Moments mapping; triggers full PANG.Push chain including all soeng calculations; mints tokens
- In Plain English: Calculate your activity metrics for the territory system. This function runs through the entire soeng calculation chain (QI→MAI→XIA→XIE→ZI→PANG) to compute your power values. Your moment (Iota) gets recorded and then squared to emphasize active players. The four return values feed into WORLD.Code() and WAR.Faa() for territory claiming and H2O rewards.
Contract Interactions¶
Depends On¶
- DYSNOMIA V2 - Base functionality
- PANG - Push operations
- CHOA - Player state (via Pang.Zi)
Depended On By¶
Special Mechanisms¶
Eta Calculation¶
function Eta() public returns (uint256 Phoebe, uint256 Iota, uint256 Chao, uint256 Charge) {
uint256 Omicron;
uint256 Omega;
// Get player
(YUEINTERFACE Yue, LAU Usertoken) = Pang.Zi().Choa().Sei().Chi();
// React against Phobos
Chao = Yue.React(address(Phobos));
// Get push values
(Iota, Omicron, Phoebe, Omega, Charge) = Pang.Push(Phobos.Waat());
// Adjust values
Chao = Chao / Omicron;
Charge = Charge / Omega;
// Record moment
Moments[Usertoken.Saat(1)] = Iota;
Iota = Iota * Iota;
}
Phobos Reference¶
The Phobos QING is derived from the deep contract chain at construction:
Contract Verification¶
| Property | Value |
|---|---|
| Keccak256 Hash | 0xc94b6c807c48f9af26f875df7956b228bc5f66091c73ddc01ea735bc0b25f0aa |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/domain/sky/03_ring.sol |
| Hash Generated | 2026-02-08T00:29:08Z |