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}