v1 source realm
Package curation records who curates the Launchpad marketplace and what they decided about a collection: applications...
Package curation records who curates the Launchpad marketplace and what they decided about a collection: applications, feature slots, temporary holds, verification and appeals. It holds no coins and no tokens, never changes a collection's terms and never blocks a transfer, sale, refund or claim: a client reads these records and decides what to show.
1
37
func AcceptAdmin
crossing ActionAcceptAdmin completes the handoff. No caller has the empty address, so nobody accepts while nothing is proposed. The admin holds no seat: a manager who accepts gives its seat up.
func AccessJSON
ActionAccessJSON tells a private inbox what an account is to a collection right now: whether it holds the creator role ("founder"), an active manager, and whether Conflicted bars it from acting as one. It is public data to be read on every request, not a token.
The answer also says where and when it was evaluated: the chain ID, the block height and the block time. The answer is not signed: checking them exposes an honest node on the wrong chain or behind it, and proves nothing against a node that lies. Its eight fields are a contract with that reader.
func ActiveManager
Actionfunc ActiveManagerCount
Actionfunc Appeal
crossing ActionAppeal files the founder's objection on one subject. A collection has at most one open appeal per subject; a resolved one can be followed by another.
func AppealsJSON
ActionAppealsJSON pages through the open appeals in filing order.
func ApplicationJSON
ActionApplicationJSON returns null for a collection nobody applied for.
func ApplicationsJSON
ActionApplicationsJSON pages through the applications in order of first filing.
func Apply
crossing ActionApply files the founder's application for a collection. The founder may file again at any time before a recommendation, to correct a pointer or after a manager asked for changes or declined. Each filing is a new revision awaiting review. Filing records the filer's conflict on the collection for good. A realm that holds the creator role never applies: the founder calls in person.
func AppointManager
crossing ActionAppointManager seats a manager until a time at most 90 days ahead, or replaces the term of one already seated. Expired seats are dropped first, so the tree never holds more than maxSeats entries.
func ApproveFeature
crossing Actionfunc CancelAdminProposal
crossing Actionfunc ClearFeature
crossing Actionfunc ClearHide
crossing Actionfunc CollectionJSON
ActionCollectionJSON is a collection's editorial record: what a client may show now, then the records behind it and the latest appeal on each subject. A part with no record is null.
func ConfirmHide
crossing ActionConfirmHide lets a second manager keep a running hold for 24 hours from now, once. After that, or once the admin has set the term, only the admin changes it.
func Conflicted
ActionConflicted reports whether an account may not act as a manager on a collection: it created the collection, holds or is proposed for its creator role now, or has a recorded conflict. It aborts on an unknown collection.
func ExtendHide
crossing ActionExtendHide sets the term of a recorded hold, running or over, to a time at most 30 days ahead, and replaces its public reason.
func FeaturesJSON
ActionFeaturesJSON pages through every collection that has a feature slot on record, in ID text order, saying whether it is featured right now.
func HasConflict
ActionHasConflict reports a recorded conflict only: a filing, a recusal or an admin's mark. Conflicted is the full rule.
func HideTemporarily
crossing ActionHideTemporarily hides a collection for 24 hours on one manager's word. The record outlives the hold: no manager can start another until the admin clears it.
func IsFeatured
ActionIsFeatured holds only while the slot runs, both of its managers keep their standing and the collection is not hidden.
func IsHidden
ActionIsHidden holds while the hold runs and the manager whose word set its term keeps its standing: the starter, or the confirmer once it confirmed. A term the admin set rests on the admin alone.
func IsVerified
Actionfunc ManagersJSON
ActionManagersJSON lists the active seats, ordered by account.
func MarkConflict
crossing ActionMarkConflict records a conflict the admin knows of, on a manager or on an account that may become one, and voids that account's latest decision on the collection as Recuse does. Marking a recorded conflict again records and emits nothing.
func ProposeAdmin
crossing ActionProposeAdmin starts a handoff to any account or realm. Nothing changes until that exact address accepts.
func ProposeFeature
crossing ActionProposeFeature opens a slot of at most 14 days. It features nothing until a second manager approves. It replaces a slot that is not running: one still unapproved, or one whose proposer or approver lost its standing.
func Recuse
crossing ActionRecuse records the calling manager's own conflict on a collection and voids its decision there, if it made the latest one. A recorded conflict is permanent: nobody, the admin included, can clear it, and recusing again records and emits nothing.
func RemoveManager
crossing Actionfunc Render
func Resign
crossing ActionResign gives up the calling manager's own seat at once.
func ResolveAppeal
crossing Action1func ResolveAppeal(cur realm, collection, subject string, upheld bool, reasonHash, reasonCID string)ResolveAppeal records the admin's answer and its public reason. It changes nothing else: the admin acts on an upheld appeal with the ordinary calls.
func Review
crossing Action1func Review(cur realm, collection string, revision int64, status, reasonHash, reasonCID string)Review records one manager's decision on the revision it read, which must still be the latest. Any unconflicted manager may decide again, whatever the latest decision. A recommendation is advice to the admin and gives the collection nothing by itself.
func SetVerified
crossing ActionSetVerified is the admin's statement that a collection is what it claims to be. It says nothing about price or future value.
func StateJSON
Actionfunc GetApplication
ActionGetApplication returns a copy of a collection's application, the zero value (revision 0) when nobody applied, as ApplicationJSON answers null.
1
type Application
structAn Application is a founder's request for review and the latest decision on it. Earlier revisions and decisions stay in the event log.
11
- chain stdlib
- chain/runtime stdlib
- chain/runtime/unsafe stdlib
- gno.land/p/nt/avl/v0 package
- gno.land/p/nt/seqid/v0 package
- gno.land/p/samcrew/launchpad/currency/v1 package
- gno.land/p/samcrew/launchpad/meta/v1 package
- gno.land/r/samcrew/launchpad/nft/v1 realm
- strconv stdlib
- strings stdlib
- time stdlib