example.gno

0.71 Kb ยท 37 lines
 1// this package demonstrates a way to manage contract releases.
 2package releases_example
 3
 4import (
 5	"std"
 6
 7	"gno.land/p/demo/releases"
 8)
 9
10var (
11	changelog = releases.NewChangelog("example_app")
12	admin     = std.Address("g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj") // @administrator
13)
14
15func init() {
16	// FIXME: admin = std.GetCreator()
17}
18
19func NewRelease(name, url, notes string) {
20	caller := std.OriginCaller()
21	if caller != admin {
22		panic("restricted area")
23	}
24	changelog.NewRelease(name, url, notes)
25}
26
27func UpdateAdmin(address_XXX std.Address) {
28	caller := std.OriginCaller()
29	if caller != admin {
30		panic("restricted area")
31	}
32	admin = address_XXX
33}
34
35func Render(path string) string {
36	return changelog.Render(path)
37}