collectionOwnerHere
.uverse.addressValue
<gnolang.StringValue>
mintingOpen
boolValue
true
maxMintsPerWallet
int64Value
0
nextID
v0.IDValue
<zero>
MintAssembled
func(to .uverse.address) v0.TokenIDMintAssembled: assembles a fresh random (chain, shape, color, metal, active) combination, verifies payment against ../stable's discount- adjusted price, then hands the RAW trait fields (not a rendered image) to ../stable.RecordMint -- the render happens later, lazily, on a read. This is the whole fix: nothing shape-dependent runs inside this transaction, so its real gas cost stays small and uniform regardless of which random trait combination gets drawn (confirmed on the throwaway revealpoc spike before this real split-realm version was built).
- OID
- 053e92…1093:7
MintAssembled details
traitPreset
typeValue
v1.traitPreset
traitComboKey
func(chainName string, shapeIdx int, colorIdx int, metal string, active bool) string- OID
- 053e92…1093:9
traitComboKey details
activeProbability
untyped bigdecValue
(0.2 <untyped> bigdec)
prng
typeValue
v1.prng
newPRNG
func(seed string) *v1.prng- OID
- 053e92…1093:10
newPRNG details
randomTraitPreset
func(attempt int) v1.traitPreset- OID
- 053e92…1093:11
randomTraitPreset details
maxAssembleAttempts
untyped bigintValue
(200 <untyped> bigint)
assembleUniqueTraits
func() (v1.traitPreset, string)- OID
- 053e92…1093:12
assembleUniqueTraits details
IsTraitComboAvailable
func(chainName string, shapeIdx int, colorIdx int, metal string, active bool) bool- OID
- 053e92…1093:13
IsTraitComboAvailable details
MaxUniqueTraitCombos
func() int64- OID
- 053e92…1093:14
MaxUniqueTraitCombos details
ComboProbability
func(chainName string, shapeIdx int, colorIdx int, active bool) float64ComboProbability is the chance (0..1) that one mint draws this piece's look: its stone (the share of roster chains that carry it), its cut (even among the stone's cuts), its colour (the stone's colour odds) and its status (20% active; always active on mainnet). Ring metal and the chain's own name are equally likely for every piece, so they leave the ranking unchanged and are left out.
- OID
- 053e92…1093:15
ComboProbability details
rarityTiers
[]struct{...}rarityTiers are upper bounds on ComboProbability, rarest first. Set (2026-09-25) from the full distribution of all 691 looks on the 18-chain roster, each bound the midpoint between two neighbouring probability values, so no two equally likely looks fall on different sides and float rounding cannot move one. Shares of mints: Legendary 1.3%, Epic 3.5%, Rare 11.1%, Uncommon 25.0%, Common 59.1%. A tier is fixed at mint (stored with the token); adding a chain later only changes the odds of new mints, never an existing token's tier.
- OID
- 053e92…1093:17
rarityTiers details
rarityTier
func(tp v1.traitPreset) string- OID
- 053e92…1093:22
rarityTier details
chainRoster
[]string- OID
- 053e92…1093:24
chainRoster details
AddChain
func(chainName string)- OID
- 053e92…1093:25
AddChain details
ChainRosterSize
func() int64- OID
- 053e92…1093:26
ChainRosterSize details
ChainRosterCSV
func() string- OID
- 053e92…1093:27
ChainRosterCSV details
callerAddress
func() .uverse.address- OID
- 053e92…1093:28
callerAddress details
assertOwner
func()- OID
- 053e92…1093:29
assertOwner details
MintingOpen
func() bool- OID
- 053e92…1093:30
MintingOpen details
SetMintingOpen
func(open bool)- OID
- 053e92…1093:31
SetMintingOpen details
MaxMintsPerWallet
func() int64- OID
- 053e92…1093:32
MaxMintsPerWallet details
SetMaxMintsPerWallet
func(max int64)- OID
- 053e92…1093:33
SetMaxMintsPerWallet details
MintsByWallet
func(owner .uverse.address) int64- OID
- 053e92…1093:34