Skip to content

Modify Royal ID

IdGateway provides several functions to change Royal ID information.

Changing the custody address

These functions change the custody address of a Royal ID.

FunctionInterfaceImplementation
transfer πŸ”— πŸ”—
transferFor πŸ”— πŸ”—
transferAndClearRecovery πŸ”— πŸ”—
transferAndClearRecoveryFor πŸ”— πŸ”—

All of these functions require a signed message from the destination address accepting the transfer of the Royal ID. This prevents Royal IDs from being lost through being assigned to the wrong address.

A standard transfer only changes the custody address. An ...AndClearRecovery transfer also sets the recovery address to zero.

For Royal ID recovery if access to the custody address is lost, see here.

Changing the username

FunctionInterfaceImplementation
changeUsername πŸ”— πŸ”—
changeUsernameFor πŸ”— πŸ”—
transferUsername πŸ”— πŸ”—
transferUsernameFor πŸ”— πŸ”—

The changeUsername functions simply allow a custody address to change the username for its Royal ID.

The transferUsername functions transfer the username of the fromId Royal ID to the toId Royal ID, and sets the fromId Royal ID’s username to the value of a parameter (newUsername). A signature from the toId’s custody address is required so users won’t be able to change other users’ names without their permission.

Username override

Because Royal ID usernames can be valuable, some people might register usernames that imply they are well known creators when they aren’t. To solve this issue, there are two functions that only the contract owner, the governance body of the Royal Protocol, can call which modify and transfer usernames. This does not change the identity other than changing the username. All claims associated with that Royal ID is not affected by this.

FunctionInterfaceImplementation
forceTransferUsername πŸ”— πŸ”—
forceChangeUsername πŸ”— πŸ”—

Changing the recovery address

Only the custody address can change the recovery address, either directly (changeRecovery), or by signing a message that another entity will use in a transaction (changeRecoveryFor).

FunctionInterfaceImplementation
changeRecovery πŸ”— πŸ”—
changeRecoveryFor πŸ”— πŸ”—