Search Apps Documentation Source Content File Folder Download Copy Actions Download

freeze.gno

0.49 Kb · 29 lines
 1package chunk
 2
 3import (
 4	"gno.land/p/akkadia/v0/accesscontrol"
 5	"gno.land/r/akkadia/v0/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}