Skip to content

SHIOFactory

Overview

SHIOFactory is a factory contract for deploying new SHIO token instances with proper ownership configuration for both the SHIO and its underlying SHA tokens.

Inheritance Chain (C3 Linearized)

No base contracts; this contract has no parents.

Immediate Parents

None (root of its hierarchy).

What This Means For Players

Plain English Summary: SHIOFactory assembles your paired lock system. It takes two SHA keys (Rod and Cone) and welds them together into a SHIO pair. This factory handles the complex wiring that lets your two keys work in harmony for chat, identity, and reactions.

Real-World Analogy: Imagine a locksmith who specializes in two-key safes. You bring them two separate keys, and they install them into a single lock mechanism that requires both keys to work together. That's what SHIOFactory does with Rod and Cone tokens.

How It Affects Your Gameplay: - Pair creation - Your SHIO pair is assembled here during account creation - Integrated ownership - The SHIO automatically gets permission to use its Rod and Cone

Constructor

constructor

constructor()

Functions

External & Public

New

function New(address Rod, address Cone, address MathLib) public returns (SHIO Zeta)
  • Visibility: public
  • Parameters: address Rod, address Cone, address MathLib
  • Returns: SHIO Zeta

Contract Interactions

Depends On

  • SHIO - Contract being deployed
  • SHA - Rod and Cone tokens

Depended On By

  • YI - Uses factory to create SHIO pairs

Ownership Pattern

1. Factory deploys SHIO(Rod, Cone, MathLib)
2. Factory adds msg.sender as SHIO owner
3. Factory adds tx.origin as SHIO owner
4. Factory renounces its ownership of SHIO
5. Factory adds SHIO address as owner of Rod SHA
6. Factory adds SHIO address as owner of Cone SHA

This ensures: - The calling contract and human initiator own the SHIO - The SHIO can manipulate its Rod and Cone tokens - The factory retains no control

Usage Example

// From YI contract
SHA Rod = SHAFactoryInterface.New("Shio Rod", "SROD", MathLib);
SHA Cone = SHAFactoryInterface.New("Shio Cone", "SCONE", MathLib);
SHIO Psi = SHIOFactoryInterface.New(address(Rod), address(Cone), MathLib);





Contract Verification

Property Value
Keccak256 Hash 0x889e3d1bb18d39a8235bd9117a4bb6caefc6c8655cc6785bfbf0117523397a87
Source URL https://raw.githubusercontent.com/busytoby/atropa_pulsechain/main/solidity/dysnomia/03c_shiofactory.sol
Hash Generated 2026-04-17T20:48:07Z