v0 source realm
Package lazy is version 0 of the "lazy migration" upgrade pattern (pattern D of the exploration; see ../README.md).
View source
gno.land/r/moul/x/upgrade/lazy/v0
Version 0 of the lazy migration pattern (pattern D). An ordinary record
store, written without any knowledge of a successor. Size() never shrinks:
migration copies forward, so this realm keeps paying for every record it ever
held.
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.
Package lazy is version 0 of the "lazy migration" upgrade pattern (pattern D of the exploration; see ../README.md).
This version is an ordinary record store. It is written without any knowledge of a successor: what makes the pattern work is only that its records are readable from outside, which any avl-backed realm already is.
3
func Size
ActionSize is how many records still live here. It never shrinks: lazy migration COPIES forward, it does not move, so v0 keeps paying for every record it ever held.
func Get
ActionGet returns a record or nil. Non-crossing: v1 reads through it while migrating, and gnoweb can call it without a transaction.