SHIOFactory
0x5063D2A97960DDE8dc5E3e5A69aAa379C6301F1C0x889e3d1b…397a87Source details
| Property | Value |
|---|---|
| Keccak256 Hash | 0x889e3d1bb18d39a8235bd9117a4bb6caefc6c8655cc6785bfbf0117523397a87 |
| Source URL | https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/03c_shiofactory.sol |
| Source Revision | 58607494f7741b80525953e4a85bc99e66fd20fc |
| Source Status | Canonical source snapshot; deployed bytecode equivalence is only established where a deployment record says so. |
| Compiler | solc 0.8.21; optimizer enabled with 200 runs |
| Compiler Configuration | {"evmVersion":"compiler-default","optimizer":{"enabled":true,"runs":200},"version":"0.8.21+commit.d9974bed.Linux.g++"} |
| Compilation Closure Hash | 0xd8ed6abda0f0b370c794fccf7789e9e7e19c035cd0543335f680ddc6db97357e |
| Compilation Closure Files | 7 |
| Hash Generated | 2026-09-14T19:33:33Z |
Overview
Section titled “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.
- Kind: Contract
- License: Sharia
- Solidity: ^0.8.21
- Source:
03c_shiofactory.sol
Inheritance Chain (C3 Linearized)
Section titled “Inheritance Chain (C3 Linearized)”No base contracts; this contract has no parents.
Immediate Parents
Section titled “Immediate Parents”None (root of its hierarchy).
What This Means For Players
Section titled “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
Section titled “Constructor”constructor
Section titled “constructor”constructorconstructor
constructor()Functions
Section titled “Functions”External & Public
Section titled “External & Public”Newfunction
function New(address Rod, address Cone, address MathLib) public returns (SHIO Zeta)Open this function to load its call form.
- Visibility: public
- Parameters: address Rod, address Cone, address MathLib
- Returns: SHIO Zeta
Contract Interactions
Section titled “Contract Interactions”Depends On
Section titled “Depends On”Depended On By
Section titled “Depended On By”- YI - Uses factory to create SHIO pairs
Ownership Pattern
Section titled “Ownership Pattern”1. Factory deploys SHIO(Rod, Cone, MathLib)2. Factory adds msg.sender as SHIO owner3. Factory adds tx.origin as SHIO owner4. Factory renounces its ownership of SHIO5. Factory adds SHIO address as owner of Rod SHA6. Factory adds SHIO address as owner of Cone SHAThis 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
Section titled “Usage Example”// From YI contractSHA Rod = SHAFactoryInterface.New("Shio Rod", "SROD", MathLib);SHA Cone = SHAFactoryInterface.New("Shio Cone", "SCONE", MathLib);SHIO Psi = SHIOFactoryInterface.New(address(Rod), address(Cone), MathLib);Compiled ABI
Section titled “Compiled ABI”The compiled ABI below is produced by solc 0.8.21 from the exact source bytes recorded in Source details. Consumers can paste it directly into ethers/web3/viem.
Click to expand JSON ABI
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "Rod", "type": "address" }, { "internalType": "address", "name": "Cone", "type": "address" }, { "internalType": "address", "name": "MathLib", "type": "address" } ], "name": "New", "outputs": [ { "internalType": "contract SHIO", "name": "Zeta", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }]