Skip to content Search Apps Documentation Source Content File Folder Download Copy Actions State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.

doc.gno

1.42 Kb · 30 lines
 1// v0 - Unaudited: This is an initial version that has not yet been formally audited.
 2// Use in production at your own risk.
 3//
 4// Package skins is the catalog of plane skins of gnofly, a multiplayer plane
 5// game, and the tokens of the skins sold. Every skin bought is a GRC721
 6// token on gno.land/p/nt/grc721/v0, one per buyer and design.
 7//
 8// The tokens are soulbound: there is no TransferFrom, no Approve and no
 9// SetApprovalForAll, and the token object is not exported, so nothing can
10// move a skin away from its buyer. Its owner can Burn it, which gives back
11// the storage deposit (not the price).
12//
13// Supply is unlimited by default; an admin can cap a design. Classic, the
14// look every pilot flies by default, is free and is not a token.
15//
16// Writers:
17//
18//   - anyone buys a skin with its price attached (Buy), and burns their own
19//     (Burn);
20//   - the admins of the game realm edit the catalog (SetSkin, SetSkinListed).
21//
22// The realm keeps no roles and no money: admins and treasury are those of
23// gno.land/r/g1t2kg2vtr3fukg43eujkn6x53gfdyakhngt4sfd/gnofly/game/v0, and every
24// sale is forwarded to the treasury in the same transaction.
25//
26// A token stores only its owner (the ledger), its design and an entry in the
27// buyer's list: no metadata record and no URI. TokenURI is computed from the
28// design. Reads are plain functions meant for vm/qeval: CatalogJSON, SkinsOf,
29// OwnerOf, SkinOf, TokenURI, Render.
30package skins