v0 source realm
untrusted-render: successor is the only stored string Render echoes, and Retire validates it with assertPkgPath befor...
View source
gno.land/r/moul/x/upgrade/lock/v0
Version 0 of the retire the predecessor upgrade pattern (pattern B).
Writable until the owner calls Retire(successor), which is one-way: from then
on it is a read-only archive that names where callers should go.
See the pattern and the exploration.
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.
untrusted-render: successor is the only stored string Render echoes, and Retire validates it with assertPkgPath before storing it.
Package lock is version 0 of the "retire the predecessor" upgrade pattern (pattern B of the exploration; see ../README.md).
Unlike pattern A, this version knows it can be superseded. Retire() freezes it and names its successor, and the freeze is one-way: once a successor has absorbed this version's total, re-opening it here would double-count.
1
5
func Get
ActionGet returns this version's final (or current) total.
func Inc
crossing ActionInc adds n. It aborts once a successor has been declared.
func Render
func Retire
crossing ActionRetire freezes this version and names its replacement. Owner-gated, one-way.
func Successor
ActionSuccessor is the path callers should move to, or "" while this version is live.
3
- gno.land/p/nt/ownable/v0 package
- gno.land/p/nt/ufmt/v0 package
- strings stdlib