Skip to content
Technical Reference

LAUFactory

Contract address0xbA6CcD38992839aEE20D5bF9125b1d94190b091C
Hash-verified 0xad03a2be…cc55d7
Source details
Property Value
Keccak256 Hash 0xad03a2be6b28d8310331f5dff776ea9e686e6c1419468b5626aba6ccffcc55d7
Source URL https://raw.githubusercontent.com/busytoby/atropa_pulsechain/58607494f7741b80525953e4a85bc99e66fd20fc/solidity/dysnomia/11c_laufactory.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 0xb322f84341c39ecc6add611a764ac48e01a9b0bd95431c13c4c89e5da49defc8
Compilation Closure Files 18
Hash Generated 2026-09-14T19:33:41Z

LAUFactory is the factory contract for deploying new LAU user token instances. It manages the connection to VOID and handles ownership configuration during user token creation.

  • Kind: Contract
  • License: Sharia
  • Solidity: ^0.8.21
  • Source: 11c_laufactory.sol

No base contracts; this contract has no parents.

None (root of its hierarchy).

Plain English Summary: LAUFactory is the account creator - it makes new player accounts. When you first join Dysnomia, you call this factory to create your personal LAU token. It handles all the complex setup: creating your session, generating your Soul ID, setting up your keys, and making sure you own your account (not the factory).

Real-World Analogy: Think of LAUFactory like the sign-up page for a video game. You enter your desired name, click “Create Account,” and the system does all the heavy lifting: setting up your profile, generating your player ID, and giving you access to the game. LAUFactory is that sign-up process for Dysnomia.

How It Affects Your Gameplay:

  • Account creation - This is where your journey begins - call New() to create your LAU
  • Full ownership - After creation, YOU own your LAU - the factory has no control
  • Automatic setup - Your Soul ID, Aura, SHIO, and all related tokens are created automatically
Variable Type Visibility Mutability Initial Value NatSpec
Void VOID public mutable ``
constructorconstructor
constructor(address VOIDAddress)
  • Parameters: address VOIDAddress
Newfunction
function New(string memory name, string memory symbol) public returns (LAU Mu)

Open this function to load its call form.

  • Visibility: public
  • Parameters: string memory name, string memory symbol
  • Returns: LAU Mu
1. Factory deploys LAU(name, symbol, Void)
2. LAU constructor calls Void.Enter() to create session
3. Factory adds msg.sender as LAU owner
4. Factory adds tx.origin as LAU owner
5. Factory renounces its own ownership

This ensures:

  • The calling contract becomes an owner (if applicable)
  • The human initiator becomes the primary owner
  • The factory retains no control over user tokens
  • LAU - Contract being deployed
  • VOID - Session management
  • Any contract or UI that creates user accounts
// From a web3 frontend
LAUFactory factory = LAUFactory(factoryAddress);
LAU myToken = factory.New("Alice's Token", "ALICE");
// myToken is now owned by the caller
uint64 soul = myToken.Saat(1);
myToken.Username("Alice");
User calls factory.New("My Token", "MTK")
Factory deploys new LAU
LAU constructor calls VOID.Enter()
VOID creates session via SIU.Miu()
SIU creates tokens via ZHENG.Mau()
Complete installation through hierarchy
LAU receives Saat and Bao
Factory sets ownership to user
User receives LAU token address
  • Factory must be VOID owner to create sessions
  • Factory renounces ownership after creation
  • Each LAU is independently owned by its creator
  • No central control over user tokens after creation





Inherited functions and getters (1)
LAUFactory.Void()Read

Open this function to load its call form.

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": [
{
"internalType": "address",
"name": "VOIDAddress",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "symbol",
"type": "string"
}
],
"name": "New",
"outputs": [
{
"internalType": "contract LAU",
"name": "Mu",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "Void",
"outputs": [
{
"internalType": "contract VOID",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]