Search Apps Documentation Source Content File Folder Download Copy Actions Download

freeze.gno

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