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.
Function | Interface | Implementation |
---|---|---|
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
Function | Interface | Implementation |
---|---|---|
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.
Function | Interface | Implementation |
---|---|---|
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
).
Function | Interface | Implementation |
---|---|---|
changeRecovery | π | π |
changeRecoveryFor | π | π |