PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/sys/namereg/v0

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
v0
Namespace
sys / namereg
Files
17 (gnomod.toml)
Exported functions
11
Module
gno.land/r/sys/namereg/v0
gno
0.9

Files (17)

  • gnomod.tomltoml
  • admin.gnogno
  • api.gnogno
  • blacklist.gnogno
  • canonical.gnogno
  • errors.gnogno
  • init.gnogno
  • preregister.gnogno
  • render.gnogno
  • users.gnogno
  • blacklist_test.gnogno
  • canonical_test.gnogno
  • users_test.gnogno
  • z_0_prop1_filetest.gnogno
  • z_1_prop2_filetest.gnogno
  • z_2_prop3_filetest.gnogno
  • z_3_prop4_filetest.gnogno
  • blacklist.gnogno
    1package namereg23// reservedNames lists role/system identifiers that must never be allocated4// as a registered name. The intent is to prevent Open Nym Tier5// auto-registrations like "nym-admin000" from impersonating system roles.6//7// Sources merged here:

    Functions

    • Canonicalize(s string) string

    • IsPaused() bool

    • IsReserved(stem string) bool

    • NewSetPausedExecutor(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newPausedValue bool) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • ProposeDeleteUser(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, reason string) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • ProposeNewName(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, addr string, newName string) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • ProposeNewRegisterPrice(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newPrice int64) struct{title string; description string; executor gno.land/r/gov/dao.Executor; filter gno.land/r/gov/dao.Filter}

    • Register(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, username string)

    • Render(path string) string

    • RenderLatestUsersWidget(num int) string

    • ValidateNymFormat(username string) interface {Error func() string}

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗
    8
    // - Common role names already covered by Handshake's valid.json (the 90k
    9// curated trademark/gTLD-application list) — admin, help, support, etc.
    10// - Common role names NOT covered by Handshake — administrator, root,
    11// sysadmin, owner, staff, api, etc.
    12// - RFC 2606 / RFC 6761 reserved labels — example, invalid, localhost,
    13// local, test.
    14//
    15// Plural rule: every entry below is ALSO reserved with the literal "s"
    16// suffix appended. So "doc" reserves both "doc" and "docs"; "setting"
    17// reserves both "setting" and "settings"; "new" covers "news", and so on.
    18// Entries are stored in the singular here and the validator appends "s"
    19// at check time. This halves list maintenance and avoids the temptation
    20// to add `name+"s"` after every singular entry.
    21//
    22// Note on length: the Open Nym Tier regex restricts the [a-z]{5,13}
    23// middle to 5–13 chars, so entries shorter than 5 (mod, api, bot, god,
    24// gno, ...) and longer than 13 (administrator, jesuschrist,
    25// newtendermint, ...) cannot appear in Register() even without this list.
    26// They are kept anyway because:
    27//
    28// (a) cross-reference value — a single canonical list is easier to audit
    29// than two scope-specific lists with overlapping intent; and
    30// (b) future controllers (e.g. a hypothetical DAO-allocated path) can
    31// opt in to the same blacklist by querying IsReserved, providing
    32// defense-in-depth across the registration ecosystem.
    33//
    34// IMPORTANT: this list is NOT consulted by `ProposeNewName` — governance
    35// renames are gated by GovDAO vote alone, not by this blacklist. Voters
    36// reviewing a rename proposal are responsible for catching collisions
    37// with reserved names.
    38//
    39// Sortedness: entries must be sorted lexicographically (Go's < on strings,
    40// which is byte-wise ASCII). TestReservedNamesSorted enforces this.
    41var reservedNames = []string{
    42 "about",
    43 "abuse",
    44 "account",
    45 "admin",
    46 "administrator",
    47 "aib",
    48 "aibinc",
    49 "allinbits",
    50 "allinbitsinc",
    51 "anonymous",
    52 "api",
    53 "atom",
    54 "atomone",
    55 "atomonehub",
    56 "atone",
    57 "atonehub",
    58 "bitcoin",
    59 "blockchain",
    60 "blog",
    61 "bot",
    62 "chain",
    63 "coin",
    64 "community",
    65 "contact",
    66 "cosmos",
    67 "cosmoshub",
    68 "crypto",
    69 "daemon",
    70 "dashboard",
    71 "default",
    72 "demo",
    73 "doc",
    74 "domain",
    75 "email",
    76 "ether",
    77 "ethereum",
    78 "everyone",
    79 "example",
    80 "gno",
    81 "gnoland",
    82 "gnolang",
    83 "gnome",
    84 "gnot",
    85 "gnoworld",
    86 "god",
    87 "gov",
    88 "govdao",
    89 "governance",
    90 "guest",
    91 "help",
    92 "home",
    93 "host",
    94 "info",
    95 "invalid",
    96 "jaekwon",
    97 "jesus",
    98 "jesuschrist",
    99 "local",
    100 "localhost",
    101 "login",
    102 "mail",
    103 "mod",
    104 "moderator",
    105 "new",
    106 "newtendermint",
    107 "newtendermintllc",
    108 "nt",
    109 "ntllc",
    110 "null",
    111 "owner",
    112 "photon",
    113 "profile",
    114 "register",
    115 "registry",
    116 "resolution",
    117 "resolve",
    118 "resolver",
    119 "root",
    120 "security",
    121 "service",
    122 "setting",
    123 "shop",
    124 "signup",
    125 "staff",
    126 "store",
    127 "support",
    128 "sys",
    129 "sysadmin",
    130 "system",
    131 "team",
    132 "tendermint",
    133 "test",
    134 "user",
    135}
    136

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.