const PhaseAllow, PhasePublic
Phase kinds.
Community realm. Read the code first. Community realm, deployed by its author. Read the code before you interact or send coins.
Package types holds the value types shared by core, the minters, the market and the readers. Every type is plain data...
Package types holds the value types shared by core, the minters, the market and the readers. Every type is plain data (no pointers into realm state), so passing one across a realm boundary hands over a copy and never a capability.
Phase kinds.
MaxUnitPrice caps every price (ugnot) so price*count and fee math stay far from int64 overflow: 1e15 ugnot = 1e9 GNOT.
1type CollectionInfo struct {
2 ID, Name, Symbol, Description string
3 Creator address
4 Minter, EngineID, Params string
5 State State
6 MaxSupply, Minted, Reserved int64
7 StartHeight, EndHeight int64
8 RevealDeadline int64 // 0 before Launch
9 RoyaltyBps int64
10 Badge string // provenance badge once Final
11}CollectionInfo is core's typed read model for other realms.
CollectionSpec is what a minter asks core to create. Payees travel as "addr:bps,…" strings and are parsed by core, so core never stores a slice allocated by another realm.
Fees are the protocol's fee parameters; core enforces hard caps.
LaunchSpec freezes a collection's sale window and commitments (I-6).
Payee receives Bps/10000 of a payment.
Phase is one sale window. A fixed price has StartPrice == FloorPrice and no steps; a Dutch auction starts at StartPrice and drops StepAmount every StepBlocks until FloorPrice (design §4.5). WalletCap counts lifetime mints of the collection (I-9); 0 means no cap.
Covers reports whether height h is inside the phase window.
PriceAt is the unit price at height h:
1max(floor, start - floor((h-startH)/stepBlocks) * stepAmount)
computed so that no intermediate value can overflow.
Validate checks a phase in isolation; the minter checks the set grammar and how phases relate to each other.
State is a collection's lifecycle (design §4.1):
1Draft -> Scheduled -> Minting -> Closed -> Final
Scheduled->Minting and Minting->Closed happen by block height; core reports the effective state and materializes it on the next write.