Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Use case title
[FR0102] Granting permissions for the account in the Iroha network
Preconditions
  • The user has access to his/her account in the Iroha network
  • The user's account has permissions to provide grantable permissions

Use case flow

  1. The user prepares the instruction to grant one or more permissions to another account
  2. The user sends the instruction transaction with the prepared instruction to the Iroha peer (<<includes>> FR0100)
  3. The Iroha peer returns the result of the instruction to the user
Postconditions
  • The permission was granted to another account
Alternative flow
Exception flow

...

Use case title
[FR0105] Sending instruction and subscribing to the status of finalization
Preconditions
  • The user has permissions to execute requested instruction

Use case flow

  1. The user prepares the instruction parameters according to his/her needs
  2. The user sends the transaction with the instruction into instruction into the Iroha peer (<<includes>> FR0100)
  3. The user uses the same connection for obtaining the status of the instruction finalization
  4. The Iroha peer sends updates about the instruction finalization status to the user
  5. The user receives the "successfully finalized" status about the instruction
Postconditions
  • The instruction is accepted and finalized in the block-storage
  • The user did not spend additional resources for redundant network connections and requests
Alternative flow
Exception flow
  • At step 4 if the instruction cannot pass the validation, the user would not get the "successfully finalized" status; instead, he/she will get the "invalid instruction" status.
  • At step 4 if the network is in "bad" condition, the user would get the "successfully finalized" status eventually, when the network will return in a "good" state.

...

Use case title
[FR0108] Changing list of signatories for the multi-signature account
Preconditions
  • The user has permissions to change the list of signatories to the required account
  • The user has key pair for adding/deleting a signatory to/from the selected account

Use case flow

  1. The user prepares the instruction of adding/deleting signatories for sending
  2. The user sends the transaction with the instruction to instruction to the Iroha peer (<<include>> FR0100)
  3. The user receives the response from the Iroha peer
Postconditions
  • List of signatories for the selected account was changed correspondingly
Alternative flowN/A
Exception flow
  • On step 2, if the signatory with the current key pair exists in the list of signatories in the target account, the Iroha peer will return "already added" error status; use case flow stops.

...

Use case title
[FR0109] Signing multi-signature transaction
Preconditions
  • There is a multi-signature account in the Iroha network
  • The user has access to the one or many key pairs for the multi-signature account
  • The current amount of signatures to the multi-signature transaction is lower than a current quorum value

Use case flow

  1. The user obtains the current list of pending transactions (<<include>> FR0203)
  2. The user finds the required transaction that can be signed by his/her signatures
  3. The user signs required transaction using the available key pair by calling the corresponding method from CLI or client SDK
  4. The user sends signed transaction to the Iroha peer (<<include>> FR0100)
Postconditions
  • Amount of signatures in the signed instruction increased by 1 signature
  • Signed instruction disappears from the list of pending instructions for the current user's account
Alternative flow
  • On step 2 the user can select more than one instructiontransactions, all of them can be sent on step 4 as a separate requests
  • On step 3 the user can sign the instruction transaction by more than one signature, and all of them can be sent as a single request per single instruction transaction on step 4
Exception flow
  • On step 1, in case of the empty list of pending instructionstransactions, the Iroha peer will return corresponding status and the use case flow stops
  • On step 3, if the user uses key pair, which was already used for signing the instructiontransaction, the CLI/SDK will return corresponding error status; use case flow stops if there are no more available key pairs. 
    Status
    colourYellow
    titleTBD
     (define, will it be available to do on the client-side?)

...

Use case title
[FR0110] Changing the conditions for the multi-signature account
Preconditions
  • The user has permissions to change the conditions for the target multi-signature account

Use case flow

  1. The user requests the list of currently configured conditions for the target multi-signature account
  2. The user prepared the instruction with the list of conditions to be added/removed
  3. The user sends the prepared instruction to the transaction with the instruction to the Iroha peer (<<include>> FR0100)
  4. The Iroha peer sends the response to the user
Postconditions
  • The list of conditions for the target multi-signature account was changed correspondingly
Alternative flow
Exception flow

...

Use case title
[FR0203] Acquiring a list of pending multi-signature instructions
Preconditions
  • The user has permissions to request the list of pending instructionstransactions

Use case flow

  1. The user prepares query for requesting the list of the pending instructionstransaction
  2. The user sends the query to the Iroha peer (<<include>> FR0200)
  3. The user receives the list of currently pending multi-signature instructions transaction  
    Status
    colourYellow
    titleTBD
     (should the Iroha expose all pending instructionstransactions, or we need to add the account ID / public key to filter the request?)
Postconditions
  • The user have the list of currently pending instructions
Alternative flowN/A
Exception flow
  • On step 3, if there are no currently pending instructiontransactions, the Iroha peer will return "empty response" status

...