Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

rbac/v1 package

Functions

AcceptOwnership

func AcceptOwnership(cur realm)

AcceptOwnership completes a pending ownership transfer and synchronizes the admin role with the new owner.

Parameters:

  • cur: current realm context; callers use cross(cur) when crossing into this realm

Only callable by the pending owner.

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "AcceptOwnership" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "AcceptOwnership" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx
  

IsOwner

func IsOwner(addr address) bool

IsOwner reports whether addr is the current owner address.

Parameters:

  • addr: address to compare with the configured owner

Returns:

  • owner: true when addr equals the current owner; false otherwise

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/rbac/v1.IsOwner()"

Result

IsPendingOwner

func IsPendingOwner(addr address) bool

IsPendingOwner reports whether addr is the address awaiting ownership acceptance.

Parameters:

  • addr: address to compare with the configured pending owner

Returns:

  • pending: true when addr equals the pending owner; false otherwise

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/rbac/v1.IsPendingOwner()"

Result

RegisterRole

func RegisterRole(cur realm, roleName string, roleAddress address)

RegisterRole registers a new role in the RBAC system.

Parameters:

  • cur: Current realm context; callers use cross(cur) when crossing into this realm.
  • roleName: nonempty role name to register in the RBAC manager.
  • roleAddress: address assigned to the new role and mirrored in access control.

Only callable by admin or governance.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "RegisterRole" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "RegisterRole" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx
  

RemoveRole

func RemoveRole(cur realm, roleName string)

RemoveRole removes a role from the RBAC system.

Parameters:

  • cur: Current realm context; callers use cross(cur) when crossing into this realm.
  • roleName: existing non-admin role name to remove from RBAC and access control.

Only callable by admin or governance.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "RemoveRole" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "RemoveRole" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx
  

Render

func Render(path string) string

Render returns ownership and assignments for the protocol's fixed system roles.

Param

Command

gnokey query vm/qeval -remote "http://127.0.0.1:26657" -data "gno.land/r/gnoswap/rbac/v1.Render()"

Result

TransferOwnership

func TransferOwnership(cur realm, addr address)

TransferOwnership starts a two-step ownership transfer to addr.

Parameters:

  • cur: current realm context; callers use cross(cur) when crossing into this realm
  • addr: valid address that will become pending owner and may later accept ownership

Only callable by the current owner.

Param

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "TransferOwnership" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "TransferOwnership" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx
  

UpdateRoleAddress

func UpdateRoleAddress(cur realm, roleName string, addr address)

UpdateRoleAddress updates the address assigned to a role.

Parameters:

  • cur: Current realm context; callers use cross(cur) when crossing into this realm.
  • roleName: existing non-admin role name whose address is changed.
  • addr: valid replacement address assigned to the role and access-control mapping.

Only callable by admin or governance.

Params

Command

# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.

gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "UpdateRoleAddress" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "http://127.0.0.1:26657" ADDRESSgnokey query -remote "http://127.0.0.1:26657" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/gnoswap/rbac/v1" -func "UpdateRoleAddress" -args $'' -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "http://127.0.0.1:26657" call.tx