Versions Compared

Key

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

...

Use case title

[FR0100] Sending the instruction to the Iroha network

Preconditions
  • The user has an account in the Iroha network
  • The user has prepared the command
  • The user has permissions to execute the instruction
  • The Iroha network is working in normal condition

Use case flow

  1. The user sends the instruction to the Iroha peer through the API
  2. The Iroha peer receives the instruction and validates its contents
  3. The Iroha peer checks that the user's account have enough permissions to run the instruction
  4. The Iroha peer executes the instruction by applying it to the current block
  5. The Iroha peer returns the result of the operation to the user
Postconditions
  • The instruction is successfully executed and applied to the network state
Alternative flow
  • On step 4, if the current user's account is multi-signature, the result of instruction will be applied to the block-store only when the number of signatures will reach the current quorum value. In other case, the Iroha peer will return "pending" status as a response on step 5.
Exception flow
  • On step 2, of the instruction has invalid structure, the Iroha peer returns an error message with description to the users and stops the flow
  • On step 3, if the user's account does not have required permissions, the Iroha peer returns information about that error and stops the 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 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 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 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

[FR0106] Creation of the multi-signature account in the Iroha network

Preconditions

Use case flow


Postconditions
Alternative flow
Exception flow


Use case title

[FR0107] Changing quorum for the multi-signature account

Preconditions

Use case flow


Postconditions
Alternative flow
Exception flow


Use case title

[FR0108] Changing list of signatories for the  multi-signature account

Preconditions

Use case flow


Postconditions
Alternative flow
Exception flow


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 instruction is lower than a current quorum value

Use case flow

  1. The user obtains the current list of pending instructions (<<include>> FR0203)
  2. The user finds information about all instructions that can be signed by his/her signatures
  3. The user signs one or more instructions using one or more available key pairs
  4. The user sends signed instructions to the Iroha peer (<<include>> FR0100)
Postconditions
Alternative flow
Exception flow


Acquiring data from the Iroha network by queries

...

Use case title

[FR0202] Acquiring of the current permissions for the selected account

Preconditions

Use case flow


Postconditions
Alternative flow
Exception flow


Use case title

[FR0203] Acquiring a list of pending multi-signature instructions

Preconditions

Use case flow


Postconditions
Alternative flow
Exception flow

Non-functional requirements

...