-
Notifications
You must be signed in to change notification settings - Fork 4
Protocol guidelines #34
Copy link
Copy link
Open
Labels
concept workdocumentationImprovements or additions to documentationImprovements or additions to documentation
Milestone
Description
-
An
Actorcan only modify state through a component
Exception: ActorInstanceOwnermay directly modify instance state -
A
Servicecan only be called by a component -
A
Servicewill check if callingComponentis registered inRegistry -
A
Servicewill orchestrateModulecalls -
A
Modulecan only be called by aServicewith the same GIF major version -
A
Modulecannot be called by anotherModule -
A
Modulewill check if the callingServiceis registered in theRegistryand also validate the version -
An
Instanceis composed of a set ofModulesthat use the same GIF major version
Flows
Service registration
sequenceDiagram
Service->>Registry: register(objectType: Service)
Registry->>Service: serviceNftId
Instance registration
sequenceDiagram
Instance->>Registry: register(objectType: Instance)
Registry->>Instance: instanceNftId
Component registration
sequenceDiagram
Component->>Instance: getInstanceNftId()
Instance->>Component: instanceNftId
Component->>ComponentOwnerService: registerComponent(componentType, instanceNftId, otherComponentNftId, token)
ComponentOwnerService->>Registry: validateInstanceandOtherComponents()
ComponentOwnerService->>Registry: registerComponent(instanceNftId)
ComponentOwnerService->>Instance: registerComponent()
ComponentOwnerService-->>Component: componentNftId
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
concept workdocumentationImprovements or additions to documentationImprovements or additions to documentation