UASS Minting process
Minting proces is best desribed ny its
state field which lifecycle is shown on the following diagram:
The process is started by creating a draft, API supports exactly one draft for a token type per user. Draft is submitted to auditor, who either return it with suggested changes and a message, or approves it, after what the real token minting starts.
It is possible to cancel a draft but not after it gets approved.
Check there is current minting instance, if it is, show the screen corresponing to uts state (below). If there is no minting in progress, show list of completed operations (executed and cancelled, in order of creation) and a button to mint new.
Create a new minting in draft state. The API will set current minting instance in a draft state, so it should display automatically (see logic above)
Get the request draft. System will provide clenan draft or reuse last existing if any automatically.
Display editable fields for request data, editable list of file attachments, the field for a message to the auditor, and readonly possible empty list of messages from the auditor.
Edit all data fields, add/remove/download attached files and edit their informational fields, e.g. file text comment.
Sign and submit
May request user password as usual. After the API call current minting state changes that should redraw UI automatically.
This state means the request is audited and approved, and system is queued it for actual minting. Show status message and short information about the request (data fields, no messages).
No user actions in this mode.
Readonly display data submitted to the audit, all data fields, all files (with download links/buttons) and messages history.
Cancel minting request
Require approval dialogue. The request is submitted to the system and performed immediately. The cancelled request goes to the state of draft, so user can change or delete it.
states Minting.State.Success and Minting.State.Cancelled
Show readonly screen with state and details, also list of messages. Should have a link to ciew a contract, when the contract viewer will be ready.
Showing message lists
Lists should be properly sorted and better be shown in a scrollable div intiallly scrolled to show the latest message.