freeze.gno
0.58 Kb · 32 lines
1package personal_world
2
3import (
4 "gno.land/p/g1nqnrt3aldzhu6zzeg75yw97wvavqy7wr77g56q/deploy-test/v2/accesscontrol"
5 "gno.land/r/g1nqnrt3aldzhu6zzeg75yw97wvavqy7wr77g56q/deploy-test/v2/admin"
6)
7
8var (
9 frozen bool
10)
11
12func Freeze(cur realm) {
13 accesscontrol.AssertIsAdmin(0, cur, admin.IsAdmin)
14 assertMigrationStateAvailable()
15 frozen = true
16}
17
18func Unfreeze(cur realm) {
19 accesscontrol.AssertIsAdmin(0, cur, admin.IsAdmin)
20 assertMigrationStateAvailable()
21 frozen = false
22}
23
24func IsFrozen() bool {
25 return frozen
26}
27
28func assertNotFrozen() {
29 if frozen {
30 panic("contract is frozen")
31 }
32}