Alpha & Strategy

Venues — Guest-List Rotation

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.

QING.Join writes now + 1 days only when _list[LAU] < now. Joining before expiry does not renew the pass. At nonzero cover, an expired entry pays CoverCharge from msg.sender; allowance must be strictly greater than CoverCharge.

Expiry Join Chat at paid venue
Future No payment; no expiry extension Expiry check passes
Equal to now No payment; no expiry extension PayCover revert
Past Payment and a new one-day entry NotAdmitted before renewal

Do not schedule a free 23-hour Join renewal: that transaction does not extend the entry. A bouncer can explicitly refresh it with setGuestlist(lau). Otherwise wait for expiry and simulate a paid Join, accounting for the exact-equality boundary. At zero cover, guest-list expiry does not gate Chat.

CROWS and staff qualify bouncers, not automatic paid-chat exemptions. A qualified bouncer can grant a guest-list entry. The one-day value is 86400 timestamp seconds, not a guaranteed number of blocks.

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

Venue assetResolve your player or venue above the call forms.
VenueAsset.allowance(address owner, address spender)Read

Open this function to load its call form.

VenueAsset.approve(address spender, uint256 value)Simulate / call

Open this function to load its call form.

QINGResolve your player or venue above the call forms.
QING.Admitted(address UserToken)Read

Open this function to load its call form.

QING.Join(address UserToken)Simulate / call

Open this function to load its call form.

QING.setGuestlist(address _a)Simulate / call

Open this function to load its call form.

QING.removeGuest(address _a)Simulate / call

Open this function to load its call form.

QING.Join, Admitted and Chat.