ZI¶
Overview¶
ZI is the fifth contract in the soeng chain. It provides spin calculations using CHOA's Yuan and CHO's (Tethys) balance data.
- Inherits: DYSNOMIA V2
- License: Sharia
- Solidity: ^0.8.21
What This Means For Players¶
Plain English Summary: ZI adds "spin" to your power calculations. It takes your XIE power values and applies rotational modifiers based on your Yuan (weighted token holdings) and CHO balance. Think of it as adding angular momentum to your linear power.
Real-World Analogy: If XIE measures how hard you can punch, ZI measures how much "spin" you can put on the punch. A spinning punch (high spin values) transfers energy differently than a straight punch, affecting the final impact.
How It Affects Your Gameplay: - Spin values - Four outputs (Iota, Omicron, Omega, Eta) that modify game calculations - Yuan weighting - Your overall token holdings (via CHOA.Yuan) influence spin - Fifth in the chain - ZI prepares data for PANG's final push calculations
State Variables¶
| Variable | Type | Visibility | Description |
|---|---|---|---|
| Type | string | public constant | "ZI" |
| Choa | CHOA | public | Reference to CHOA |
| Tethys | CHOINTERFACE | public | Reference to CHO |
Write Functions¶
Spin¶
function Spin(uint256 QingWaat) public returns (uint256 Iota, uint256 Omicron, uint256 Omega, uint256 Eta)
public
- Parameters:
- QingWaat (uint256): Target QING's position identifier (Waat)
- Returns:
- Iota (uint256): modExp(Power.Omicron, Power.Charge, Yuan(CHO)) - rotational power modifier
- Omicron (uint256): modExp(Power.Omega, Power.Charge, Yuan(CHO)) - adjusted venue metric
- Omega (uint256): CHO.balanceOf(user) / User.Entropy - user's CHO holdings normalized
- Eta (uint256): CHO.balanceOf(QING) / QING.Entropy - venue's CHO holdings normalized
- Description: Calculates spin values by applying modular exponentiation to XIE.Power outputs and computing CHO balance ratios.
- Logic Flow:
1. Get current user: Alpha = Choa.Sei().Chan().Xie().Xia().Mai().Qi().Zuo().Cho().GetUser()
2. Get target QING: Qing = Choa.Sei().Chan().Xie().Xia().Mai().Qi().Zuo().GetQing(QingWaat)
3. Get XIE power values: (Charge, Omicron, Omega) = Choa.Sei().Chan().Xie().Power(QingWaat)
4. Compute Iota: Xiao.modExp(Omicron, Charge, Choa.Yuan(address(Tethys)))
5. Recompute Omicron: Xiao.modExp(Omega, Charge, Choa.Yuan(address(Tethys)))
6. Compute Omega: Tethys.balanceOf(Alpha.On.Phi) / Alpha.Entropy
7. Compute Eta: Tethys.balanceOf(address(Qing)) / Qing.Entropy()
8. Return all four values
- Computation Details:
- Iota = Power.Omicron ^ Power.Charge mod Yuan(CHO)
- Omicron = Power.Omega ^ Power.Charge mod Yuan(CHO)
- Omega and Eta use CHO (Tethys) balance ratios, adding login-token weight
- Yuan(CHO) is the weighted CHO token holdings from CHOA
- Side Effects: Triggers XIE.Power chain; mints tokens
- In Plain English: Calculate rotational power modifiers for a venue. Takes your XIE power values and applies "spin" transformations using modular exponentiation. Iota and Omicron get the rotational treatment, while Omega and Eta measure your CHO (login token) holdings. These spin values feed into PANG.Push for final calculations.
Contract Interactions¶
Depends On¶
- DYSNOMIA V2 - Base functionality
- CHOA - Yuan calculations
Depended On By¶
- PANG - Uses ZI for push calculations
Special Mechanisms¶
Tethys Reference¶
Tethys is CHO accessed through the contract chain:
Spin Calculation¶
function Spin(uint256 QingWaat) public returns (uint256 Iota, uint256 Omicron, uint256 Omega, uint256 Eta) {
uint256 Charge;
User memory Alpha = Choa.Sei().Chan().Xie().Xia().Mai().Qi().Zuo().Cho().GetUser();
QINGINTERFACE Qing = Choa.Sei().Chan().Xie().Xia().Mai().Qi().Zuo().GetQing(QingWaat);
(Charge, Omicron, Omega) = Choa.Sei().Chan().Xie().Power(QingWaat);
Iota = Xiao.modExp(Omicron, Charge, Choa.Yuan(address(Tethys)));
Omicron = Xiao.modExp(Omega, Charge, Choa.Yuan(address(Tethys)));
Omega = Tethys.balanceOf(Alpha.On.Phi) / Alpha.Entropy;
Eta = Tethys.balanceOf(address(Qing)) / Qing.Entropy();
}
Contract Verification¶
| Property | Value |
|---|---|
| Keccak256 Hash | 0xfc5b58a41455760782a2b87bbbd51f4990ccede26e7e3c9eb8e0e7fe7949faa6 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/domain/soeng/05_zi.sol |
| Hash Generated | 2026-02-08T00:29:08Z |