errors.gno
1.26 Kb ยท 43 lines
1package users
2
3import (
4 "chain/runtime"
5 "errors"
6
7 "gno.land/p/nt/ufmt"
8)
9
10const prefix = "r/sys/users: "
11
12var (
13 ErrAlreadyWhitelisted = errors.New(prefix + "already whitelisted")
14
15 ErrNameTaken = errors.New(prefix + "name/Alias already taken")
16 ErrInvalidAddress = errors.New(prefix + "invalid address")
17
18 ErrEmptyUsername = errors.New(prefix + "empty username provided")
19 ErrNameLikeAddress = errors.New(prefix + "username resembles a gno.land address")
20 ErrInvalidUsername = errors.New(prefix + "username must match ^[a-zA-Z0-9_]{1,64}$")
21
22 ErrAlreadyHasName = errors.New(prefix + "username for this address already registered - try creating an Alias")
23 ErrDeletedUser = errors.New(prefix + "cannot register a new username after deleting")
24
25 ErrUserNotExistOrDeleted = errors.New(prefix + "this user does not exist or was deleted")
26)
27
28type ErrNotWhitelisted struct {
29 Current runtime.Realm // not whitelisted
30 Previous runtime.Realm // for context
31}
32
33func NewErrNotWhitelisted() ErrNotWhitelisted {
34 return ErrNotWhitelisted{
35 Current: runtime.CurrentRealm(),
36 Previous: runtime.PreviousRealm(),
37 }
38}
39
40func (e ErrNotWhitelisted) Error() string {
41 return ufmt.Sprintf("%scurrent realm/user does not exist in whitelist: %v (previous: %v)",
42 prefix, e.Current, e.Previous)
43}