admin.gno
0.71 Kb ยท 37 lines
1package nftregistry6
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}