Skip to content

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

function _addMarketRate(address _a, uint256 _r) internal
- 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

Depended On By

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