Player's Guide

CHOA — Gameplay Controller

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.

CHOA uses the LAU and YUE associated with tx.origin. SEI.Start creates the YUE first; Play registers the selected LAU and uses the existing YUE.

  • Play(lau) calls CHO.Enter and SEI.Chi. Its _players record is keyed by Soul. For a previously unrecorded Soul it requests YUE.MintToOrigin, which transfers one YUE token only if the YUE contract has enough balance after its mint-to-cap call.
  • Chat(qing, message) calls QING.Chat, reacts the YUE through CHAN, and returns Charge. It then computes a MAI value and may transfer CHOA tokens from CHOA’s own balance to the YUE.
  • Yuan(currency) reads balanceOf(tx.origin) + 10 * balanceOf(LAU) + 40 * balanceOf(YUE) for the specified currency. It does not move tokens.

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

SEI
0x3dC54d46e030C42979f33C9992348a990acb6067
SEI.Start(address LauToken, string YueName, string YueSymbol)Simulate / call

Open this function to load its call form.

CHOA
0x0f5a352fd4cA4850c2099C15B3600ff085B66197
CHOA.Play(address UserTokenAddress)Simulate / call

Open this function to load its call form.

CHOA.Chat(address Qing, string MSG)Simulate / call

Open this function to load its call form.

CHOA.Yuan(address Currency)Read

Open this function to load its call form.

The chat amount is min(MAI.React(Soul, Waat), 10^CHOA.decimals()). MAI reads the QING-token balance held by the active LAU and divides it by the returned User entropy. It is not a balance of the venue’s underlying Asset. The payment is a CHOA-token transfer, not a MAI-token mint or a venue-token mint, and it occurs only when CHOA has sufficient balance. The cap is a maximum, not a guaranteed payment.

QING admission is only one requirement. SEI must return an existing pair, YUE.React requires the origin to hold YUE tokens, and the nested reactions and arithmetic must succeed. A revert rolls back the chat event as well as all nested state changes. QING.Chat is also available as a direct message path without CHOA’s reaction or reward transfer.

See CHOA source, MAI, QING and YUE. Confirm actual transfers from successful receipts; neither a preview nor a maximum reward proves payment.