package chunk import ( "chain/runtime" "gno.land/r/akkadia/admin" ) func getAdmin() address { return admin.GetAdmin() } func assertIsAdmin(address address) { if address != getAdmin() { panic("admin access required") } } func validateUser() address { prev := runtime.PreviousRealm() if !prev.IsUser() { panic("contract calls not allowed: function must be called directly by user") } return prev.Address() } func assertIsAdminOrOperator(address address) { if !admin.IsAdmin(address) && !admin.IsOperator(address) { panic("admin or operator access required") } } func parseKeyValue(arr []string) map[string]string { m := make(map[string]string) for i := 0; i < len(arr)-1; i += 2 { m[arr[i]] = arr[i+1] } return m }