AndromedaMsg V1.0.0
The set of execute messages common to all ADOs in the Andromeda Logic Library.
AndromedaMsg
All of the ADOs can call most of the base execute messages found in the AndromedaMsg enum.
AMP ADOs are the only ADOs that do not implement the AndromedaMsg base executes.
All the ADOs can execute:
Ownership
Messages related to the ownership of an ADO.
OwnershipMessage
The enum containing the different ownership message options.
UpdateOwner
Offers the ADO's ownership to the specified new_owner
. Once the offer has been made, the new_owner
address can call AcceptOwnership to accept becoming the owner of the ADO.
Only available to the current ADO owner.
Only one offer can be made at a time.
Name | Type | Description |
---|---|---|
| Addr | The address to offer ownership to. |
| Option<MillisecondsExpiration> | An optional expiration to the ownership offer. Uses a Timestamp in milliseconds. |
AcceptOwnership
Accepts the offer to become the new owner of the ADO.
Only an address that has an offer can accept it.
RevokeOwnershipOffer
Removes any previously placed offer by the current ADO owner.
Only available to the current ADO owner.
Disown
Removes ownership from the current ADO owner.
Only available to the contract owner.
Once disowned, an ADO can never have an owner again.
UpdateAppContract
Updates the referenced App contract of an ADO. This allows the ADO to reference by name the components of the new App contract.
Only available to the ADO owner.
Name | Type | Description |
---|---|---|
| String | The address of the new App contract. |
UpdateKernelAddress
Updates the Kernel used by the ADO.
Only available to the ADO owner.
Name | Type | Description |
---|---|---|
| Addr | The contract address of the new kernel to be used by the ADO. |
AMPReceive
This message is not called by the user, but is the case that handles receiving AMP messsages from the Kernel. It first verifies the AMP packet and then proceeds to execute the attached execute messges. The AMP packet is verified by checking the following:
The origin matches the sender
The sender is the kernel
The sender has a code ID stored within the ADODB (and as such is a valid ADO)
Permissioning
Messages related to the permissioning of an ADO.
PermissioningMessage
PermissionAction
Enables permissioning on an action.
By actions, we are reffering to execute messages.
Only available to the ADO owner.
Permissioning an action will allow you to call SetPermission on that action.
Name | Type | Description |
---|---|---|
| String | The action/execute message to permission. |
SetPermission
Assigns permissions to the specified actor. The action needs to be permissioned by calling PermissionAction before
Only availabe to the ADO owner.
The action needs to be permissioned by calling PermissionAction to be able to set a permission for it.
Name | Type | Description |
---|---|---|
| The address to assign permissions for. | |
| String | The execute message to assign a permission for. Action needs to be capitalized i.e. "UpdateSale" to specify the UpdateSale execute. |
| Permission | The type of permission assigned. |
Permission
An enum to represent a user's permission for an action:
Expiration defaults to Never
if not provided.
All expirations are set as a timestamp in milliseconds using the MillisecondsExpiration type.
Blacklisted: The user cannot perform the action until after the provided expiration.
Limited: The user can perform the action while uses are remaining and before the provided expiration.
Whitelisted: The user can perform the action until the provided expiration.
RemovePermission
Remove a previously assigned permission for the specified actor.
Only available to the ADO owner.
Name | Type | Description |
---|---|---|
| The address that you want to remove permissions for. | |
| String | The execute message to have its permission removed for the specified actor. |
DisableActionPermissioning
Disables permissioning on an action.
This message is the reverse of a PermissionAction message.
Only available to the ADO owner.
Name | Type | Description |
---|---|---|
| String | The action/execute message to remove permissioning for. |
Last updated