sequenceDiagram
participant UI
participant proxy as Reverse Proxy
participant ms as Microservice
participant normalize as Python Normalize Function
participant dbhandler as Python DB Abstraction Function
participant arango as Arango
participant nft as nft.storage
participant bc as XRP Ledger
UI->>proxy: Create Component Version
proxy->>ms: Create Component Version
ms->>normalize: Normalize JSON
normalize->>ms: Return Normalized JSON
activate dbhandler
ms->>dbhandler: Persist Normalized JSON
dbhandler->>arango: Persist Normalized JSON
arango-->>dbhandler: ""
dbhandler->>nft: Persist Normalized JSON
nft-->>dbhandler: Return IFPS CID
dbhandler->>xrpl: Record IPFS CID
xrpl-->>dbhandler: Return Search JSON**
dbhandler->>arango: Persist Search JSON
arango-->>dbhandler: ""
dbhandler->>ms: Return Success/Fail
deactivate dbhandler
ms->>proxy: Return Success/Fail
proxy->>UI: Return Success/Fail
** Note: The Search JSON is the XRPL Block that contains the typical block data plus the metadata comprised of the: Object Type, Object Name, Object Domain Name