Skip to content

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

function Eta() public returns (uint256 Phoebe, uint256 Iota, uint256 Chao, uint256 Charge)
- 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

Depended On By

  • META - Uses Eta for calculations
  • WAR - Uses Eta for Faa

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:

Phobos = Pang.Zi().Choa().Sei().Chan().Xie().Xia().Mai().Qi().Zuo();


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