Search Apps Documentation Source Content File Folder Download Copy Actions Download

freeze.gno

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