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