META¶
Overview¶
META is the meta-calculation contract that provides the Beat function for computing game values. It coordinates between RING and the power calculation chain.
- Inherits: DYSNOMIA V2
- License: Sharia
- Solidity: ^0.8.21
What This Means For Players¶
Plain English Summary: META is the master calculator for the WORLD territory system. It provides the Beat function that determines the key values (Dione, Charge, Deimos, Yeo) used when you claim territory. The "Yeo" value is especially important - it defines how far from a QING you can code.
Real-World Analogy: META is like a zoning commission that determines property boundaries. When you want to claim territory, META calculates how far your claim can extend (Yeo/range) and what rewards you'll get (Dione) based on your relationship with nearby venues.
How It Affects Your Gameplay: - Range limits - META's Yeo output determines how far from a QING you can Code() - Reward calculation - Deimos influences how much VITUS you earn - WORLD integration - META's Beat() is called during territory claiming
State Variables¶
| Variable | Type | Visibility | Description |
|---|---|---|---|
| Type | string | public constant | "META" |
| Ring | RING | public | Reference to RING |
Write Functions¶
Beat¶
function Beat(uint256 QingWaat) public returns (uint256 Dione, uint256 Charge, uint256 Deimos, uint256 Yeo)
public
- Parameters:
- QingWaat (uint256): The Waat (position identifier) of the target QING venue
- Returns:
- Dione (uint256): Reward amount from Ring.Pang().Push() - the base VITUS reward for territory claims
- Charge (uint256): Combined charge value, computed as (Eta.Charge1 * Push.Charge) / Eta.Iota1
- Deimos (uint256): Scaled power modifier from modular exponentiation, used for creator tracking
- Yeo (uint256): Territory range limit, computed as Push.Yeo / Eta.Chao - defines max distance from QING where you can Code()
- Description: Calculates the four key values used by WORLD.Code() for territory claiming: range limit, reward amount, and power modifiers.
- Logic Flow:
1. Navigate contract chain to get target QING:
- Ring.Pang() → PANG contract
- .Zi() → ZI contract
- .Choa() → CHOA player context
- .Sei() → SEI player data
- .Chan() → CHAN player management
- .Xie() → XIE contract
- .Xia() → XIA contract
- .Mai() → MAI contract
- .Qi() → QI contract
- .Zuo() → ZUO QING registry
- .GetQing(QingWaat) → retrieve the QING interface
2. Get Ring Eta values: (Phoebe, Iota1, Chao, Charge1) = Ring.Eta()
- Phoebe: Exponent for Deimos calculation
- Iota1: Divisor for Charge scaling
- Chao: Divisor for Yeo scaling
- Charge1: Base charge from Eta
3. Get Push values: (Yeo, Omicron, Dione, Omega, Charge) = Ring.Pang().Push(QingWaat)
- Yeo: Raw range value before scaling
- Dione: Reward amount (passed through unchanged)
- Charge: Push charge to combine with Charge1
4. Compute combined Charge: Charge = Charge1 * Charge / Iota1
5. Compute Deimos: Deimos = modExp(Dione, Phoebe, CHOA.Yuan(address(Qing)))
6. Scale Yeo: Yeo = Yeo / Chao
7. Return (Dione, Charge, Deimos, Yeo)
- Computation Details:
- Charge = (Ring.Eta().Charge1 * Pang.Push().Charge) / Ring.Eta().Iota1
- Deimos = modExp(Dione, Phoebe, Yuan) where Yuan is from CHOA for this QING
- Yeo = Push.Yeo / Eta.Chao (scaled down for reasonable range)
- Contract Chain Explained:
- The long chain Ring.Pang().Zi().Choa()... navigates through the Soeng chain contracts to reach the QING registry
- Each step in the chain provides accumulated state from the previous contracts
- Side Effects: Triggers state updates in Ring, Pang, and other contracts in the chain; mints tokens at various points
- In Plain English: When you claim territory with WORLD.Code(), Beat() calculates everything needed for the claim:
1. Dione - How much VITUS reward you earn (sent to your YUE wallet)
2. Charge - Your effective power, combining your activity level with the venue's state
3. Deimos - A scaled power value used for tracking your creator holdings
4. Yeo - How far from the QING you can claim (the range limit)
Higher activity in RING means better Charge; higher Dione means more rewards; higher Yeo means you can claim further from the venue center.
Contract Interactions¶
Depends On¶
- DYSNOMIA V2 - Base functionality
- RING - Eta calculations
Depended On By¶
- WORLD - Uses Beat for Code
Special Mechanisms¶
Beat Calculation¶
function Beat(uint256 QingWaat) public returns (uint256 Dione, uint256 Charge, uint256 Deimos, uint256 Yeo) {
uint256 Omicron;
uint256 Omega;
QINGINTERFACE Qing = Ring.Pang().Zi().Choa().Sei().Chan()
.Xie().Xia().Mai().Qi().Zuo().GetQing(QingWaat);
// Get Ring Eta values
(uint256 Phoebe, uint256 Iota1, uint256 Chao, uint256 Charge1) = Ring.Eta();
// Get Push values
(Yeo, Omicron, Dione, Omega, Charge) = Ring.Pang().Push(QingWaat);
// Combine charges
Charge = Charge1 * Charge / Iota1;
// Calculate Deimos
Deimos = Xiao.modExp(Dione, Phoebe, Ring.Pang().Zi().Choa().Yuan(address(Qing)));
// Scale Yeo
Yeo = Yeo / Chao;
}
Yeo as Range¶
The Yeo return value is used in WORLD.Code() to define the valid range around a QING's position where players can code.
Contract Verification¶
| Property | Value |
|---|---|
| Keccak256 Hash | 0x1a789194673148a5d1095d86aff3cbf642b96725194a701d31233c085dc4ecd5 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/domain/tang/03_meta.sol |
| Hash Generated | 2026-02-08T00:29:08Z |