DYSNOMIA V2¶
Overview¶
DYSNOMIA V2 is an alternate implementation of the base token with minor internal differences. It's functionally equivalent to DYSNOMIA but used by specific domain contracts.
- Inherits: MultiOwnable
- License: Sharia
- Solidity: ^0.8.21
- Type: Abstract Contract
What This Means For Players¶
Plain English Summary: DYSNOMIA V2 is essentially the same as DYSNOMIA V1 - it's the foundation for game tokens. The "V2" just means it's a slightly newer version used by the domain (game-specific) contracts. For players, there's no practical difference between tokens using V1 or V2.
Real-World Analogy: Think of V1 and V2 like two editions of the same board game rule book. The rules are the same, but one was printed for the "core" game and one for the "expansion packs" (domain contracts). Your gameplay experience is identical either way.
How It Affects Your Gameplay: - No visible difference - V1 and V2 tokens work identically from a player perspective - Domain tokens use this - Game-specific tokens like H2O and VITUS are built on V2
Differences from V1¶
The V2 contract has the same public interface as V1 but with internal naming differences:
- Uses _addMarketRate instead of AddMarketRate for internal market rate setting
- Used primarily by domain contracts that were developed later in the project
State Variables¶
Same as DYSNOMIA V1
Read Functions¶
Same as DYSNOMIA V1
Write Functions¶
Same as DYSNOMIA V1
Internal Functions¶
_addMarketRate¶
- Description: Internal method to set market rates (renamed from AddMarketRate) - In Plain English: Set the exchange rate for a token. This determines how much of this token you get when trading from another token.Contract Interactions¶
Depends On¶
- MultiOwnable - Access control
- VMREQ via atropaMath interface
Depended On By¶
- Domain contracts in
/domain/ - Library contracts in
/lib/ - Hecke
- STRINGLIB
- COREREACTIONSLIB
Usage Pattern¶
// V1 pattern (core contracts)
contract MyToken is DYSNOMIA {
constructor() DYSNOMIA("Name", "SYM", mathAddr) {
AddMarketRate(someToken, rate);
}
}
// V2 pattern (domain contracts)
contract MyDomainToken is DYSNOMIA {
constructor() DYSNOMIA("Name", "SYM", mathAddr) {
_addMarketRate(someToken, rate);
}
}
Notes¶
Both versions are functionally interchangeable. The existence of two versions appears to be an artifact of development history rather than a deliberate design decision.
Contract Verification¶
| Property | Value |
|---|---|
| Keccak256 Hash | 0xb89798bc29755c806444016434774f935310e4bccdc7019797aeed65ffe46817 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/01_dysnomia_v2.sol |
| Hash Generated | 2026-02-08T00:29:57Z |