← /dysnomia · dev index

Registry — the typed key-value store — NOT DEPLOYED

NOT DEPLOYED — complete in source; nothing in the recovered tree imports it and no deployment exists onchain [chain]. Documented because the recovered community docs cover it and the fn-table layer tables it; it is part of the dev’s general-purpose kit, not the live system.

1. Identity

Source lib/registry.sol (contract Registry is MultiOwnable)
Onchain absent — no create among the deployer’s 34; probed nothing; nothing references it [chain]
Solidity ^0.8.21, SPDX “Sharia”

2. Role

A generic typed key-value registry: one bytes→bytes store behind a wall of overloaded accessors — keys and values can each be bytes, string, uint64, uint256, or address (every combination encoded to bytes; the conversion helpers Uint64ToBytes/Uint256ToBytes/AddressToBytes are public). Writes are owners-gated, reads public, and the _keys array makes the store enumerable. Insert is write-once: Register only acts when the key is not yet inserted (if(!_inserted[key]) — a re-Register with a different value silently does nothing, there is no update path); Remove is a proper swap-and-pop (reindexes the tail key), after which the key can be re-registered.

3. Dependencies

MultiOwnable only (lib/multiownable.sol) — no DYSNOMIA base, no meter, no Xiao: this is the rare tree contract that is NOT a token.

4. State

_values: bytes → bytes, _inserted: bytes → bool, _indexOf: bytes → uint256, _keys: bytes[] — all private; the public surface is the accessor wall.

5. Functions

Function table extracted mechanically from lib/registry.sol. Gate: public = anyone · owners = MultiOwnable set, msg.sender OR tx.origin · bouncers = QING bouncer rule · single-owner = classic owner · deployer = constructor wiring. meter = the call self-mints one unit via _mintToCap() (a call-counter against the constructor-lottery maxSupply).

signature gate meter events reverts
constructor() deployer — — —
Get(bytes memory key) returns (bytes memory) public — — —
Get(uint256 idx) returns (bytes memory) public — — —
Inserted(bytes memory what) returns (bool) public — — —
Inserted(string memory what) returns (bool) public — — —
Uint64ToBytes(uint64 what) returns (bytes memory _w) public — — —
Inserted(uint64 what) returns (bool) public — — —
Uint256ToBytes(uint256 what) returns (bytes memory _w) public — — —
Inserted(uint256 what) returns (bool) public — — —
AddressToBytes(address what) returns (bytes memory _w) public — — —
Inserted(address what) returns (bool) public — — —
Count() returns (uint256) public — — —
GetHashByIndex(uint256 index) returns (bytes memory) public — — —
Register(bytes memory key, bytes memory value) owners — — —
Register(string memory _key, bytes memory value) owners — — —
Register(string memory _key, string memory value) owners — — —
Register(string memory _key, uint64 value) owners — — —
Register(string memory _key, uint256 value) owners — — —
Register(string memory _key, address value) owners — — —
Register(uint64 _key, bytes memory value) owners — — —
Register(uint64 _key, string memory value) owners — — —
Register(uint64 _key, uint64 value) owners — — —
Register(uint64 _key, uint256 value) owners — — —
Register(uint64 _key, address value) owners — — —
Register(uint256 _key, bytes memory value) owners — — —
Register(uint256 _key, string memory value) owners — — —
Register(uint256 _key, uint64 value) owners — — —
Register(uint256 _key, uint256 value) owners — — —
Register(uint256 _key, address value) owners — — —
Register(address _key, bytes memory value) owners — — —
Register(address _key, string memory value) owners — — —
Register(address _key, uint64 value) owners — — —
Register(address _key, uint256 value) owners — — —
Register(address _key, address value) owners — — —
Remove(bytes memory key) owners — — —
Remove(string memory _key) owners — — —
Remove(uint64 _key) owners — — —
Remove(uint256 _key) owners — — —
Remove(address _key) owners — — —

6. Integration notes

7. Provenance