1package rbac23import (4 ufmt "gno.land/p/nt/ufmt/v0"5)67const (8 errCallerIsNotOwner = "caller is not owner"9 errCallerIsNotAdmin = "caller is not admin"10 errCallerIsNotAdminOrGovernance = "caller is not admin or governance"11 errCallerIsNotPendingOwner = "caller is not pending owner"12 errInvalidAddress = "invalid address"13 errInvalidRoleName = "invalid role name"14 errAdminRoleUpdateForbidden = "admin role is managed by owner"15)1617// makeErrorWithDetails combines an error with additional details.18func makeErrorWithDetails(message string, details string) error {19 return ufmt.Errorf("%s || %s", message, details)20}21AcceptOwnership(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})
GetOwner() string
GetPendingOwner() string
GetRoleAddress(roleName string) (string, interface {Error func() string})
IsOwner(addr string) bool
IsPendingOwner(addr string) bool
RegisterRole(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}, roleName string, roleAddress string)
RemoveRole(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}, roleName string)
Render(path string) string
TransferOwnership(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)
UpdateRoleAddress(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}, roleName string, addr string)
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
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.