func Hatch
crossing ActionHatch hatches an incubated egg the caller owns.
Package eggling is an on-chain egg incubator and creature collector. Plant an egg, let it incubate for a minimum numb...
⚠️ Experimental — generated with no human supervision by the daily MCP pipeline to exercise gno tooling. Not audited. See r/moul/x/daily.
Plant an on-chain egg, let it incubate for at least 20 blocks, then hatch it — how long you waited plus a bit of sealed-in luck decides whether you get a Common Slime or a Legendary Glimmer. Train hatched creatures for XP and levels, and rename them once they've hatched. It's a lighter, luck-and-patience spin on yesterday's tamagotchi: no hunger or death, just the thrill of the hatch and a slow climb of levels.
Built for gno 0.9.
Identical behaviour to v0 apart from rendering, which now goes
through p/moul/kit/ui instead of the local escapeInline, shortAddr helpers.
One address format. Eleven realms carried their own shortAddr with four different truncation rules, so the same account rendered differently depending on which realm you opened. ui.Addr is that decision made once: 8 leading characters, an ellipsis, 4 trailing, in backticks.
Real escaping. The local helper replaced a handful of markdown metacharacters. ui.Inline and ui.Cell delegate to p/nt/markdown/sanitize, which also strips bidi and zero-width characters and folds newlines, so user text cannot reorder or escape the line it sits on.
The rendering change means the output differs from v0, which under this repo's versioning rule is a compatibility change, hence a new version rather than an edit in place. v0 stays live and untouched.
Part of moul/gno-contracts — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage.
Dependency graph:

🧪 Highly experimental — potentially vibe-coded. Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: DISCLAIMER.
Package eggling is an on-chain egg incubator and creature collector. Plant an egg, let it incubate for a minimum number of blocks, then Hatch it: the longer you waited (and a little luck, seeded from the egg's own history) decides the rarity of the creature you get. Train hatched creatures to level them up. Unlike a tamagotchi there's nothing to feed or lose to neglect — eggling is about patience and the luck of the hatch, not survival.
Hatch hatches an incubated egg the caller owns.
PlantEgg starts incubating a new egg for the caller. Returns its ID.
Rename gives a hatched creature the caller owns a custom name.
Render shows the full egg list at "", a single egg's detail when path is a numeric ID, or one owner's eggs when path is a bech32 address.
Train gives a hatched creature the caller owns some experience, leveling it up every 50 XP.