Player's Guide

LAU — Your Player Account

Last updated:

Evidence scope: The behavior below is from the pinned Solidity source. A source-file hash does not establish deployed bytecode equivalence. Check the selected deployment and caller before sending a transaction.

A LAU is an ERC-20 character contract. LAUFactory.New(name, symbol) adds msg.sender and tx.origin as equal owners, then removes the factory. Token balances and the ownership role are separate.

CHO keeps one active LAU per wallet, but a wallet can own several LAUs. CHO.Enter(lau) selects an owned character. Saat and On describe its session; Saat(1) is its Soul for that session.

  • Username(string) writes the Username attribute through VOID and ATTRIBUTE. Username() reads it. This is separate from Rename(name, symbol), which changes ERC-20 metadata.
  • Chat(string) routes through VOID and requires LAU ownership. Direct QING.Chat(lau, text) is a different path with different caller checks; see QING.
  • Withdraw(token, amount) transfers tokens held by the LAU to msg.sender, subject to onlyOwners and the token’s transfer behavior.
  • Alias stores an address or Bao alias through VOID.
  • Leave() sets CurrentArea to the zero address and logs the action. It does not remove LAU ownership or clear a QING guest-list entry.
  • Void(true, true) calls Eta.Enter() and replaces Saat and On. It does not destroy the LAU contract or explicitly transfer away its ERC-20 balances. Its session identity can change; do not treat Soul as an immutable account identifier.

Use these calls here. Simulations preview the current state; each confirmed call is a separate transaction.

LAUResolve your player or venue above the call forms.
LAU.Username(string newUsername)Simulate / call

Open this function to load its call form.

LAU.Chat(string chatline)Simulate / call

Open this function to load its call form.

LAU.Alias(address name, string value)Simulate / call

Open this function to load its call form.

LAU.Withdraw(address what, uint256 amount)Simulate / call

Open this function to load its call form.

LAU.CurrentArea()Read

Open this function to load its call form.

LAU.Leave()Simulate / call

Open this function to load its call form.

LAU.Void(bool really1, bool really2)Simulate / call

Open this function to load its call form.

These calls cost gas. LAU.Chat does not execute CHOA’s reward transfer. Several LAU methods also call the inherited _mintToCap, which can mint one LAU token to the LAU contract when below its supply threshold.

LAU methods marked onlyOwners accept a recognized msg.sender or tx.origin. CHO registration separately checks owner(tx.origin). The CHO WITHOUT check shown in this snapshot examines tx.origin; it is not a universal ban check on every token holder.

The pinned MultiOwnable source includes owner() returning the contract address. A source ABI does not prove that an inherited getter works on a selected deployed LAU. Check its owner() support and owner(address) results at the same block before relying on either.

LAU source, LAUFactory, VOID, CHO, and MultiOwnable describe the separate identity and ownership paths.