Search Apps Documentation Source Content File Folder Download Copy Actions Download

freeze.gno

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