Search Apps Documentation Source Content File Folder Download Copy Actions Download

admin.gno

0.71 Kb ยท 37 lines
 1package nftregistry2
 2
 3import (
 4	"chain/runtime"
 5)
 6
 7// Admin functions
 8
 9func AddAdmin(newAdmin address) {
10	caller := runtime.PreviousRealm().Address()
11	if caller != owner {
12		panic("Only owner can add admins")
13	}
14	admins.Set(newAdmin.String(), true)
15}
16
17func RemoveAdmin(admin address) {
18	caller := runtime.PreviousRealm().Address()
19	if caller != owner {
20		panic("Only owner can remove admins")
21	}
22	if admin == owner {
23		panic("Cannot remove owner as admin")
24	}
25	admins.Remove(admin.String())
26}
27
28func SetRegistrationFee(fee int64) {
29	caller := runtime.PreviousRealm().Address()
30	if caller != owner {
31		panic("Only owner can set registration fee")
32	}
33	if fee < 0 {
34		panic("Fee cannot be negative")
35	}
36	registrationFee = fee
37}