Create sequence diagrams with simple online tool

Swimlanes.io is a free webapp for making sequence diagrams. You simply edit the text on the left and the diagram is updated in real time. You can download your sequence diagrams as images or distribute with a link.

Title: Vaults Auction -> Vaults: `start_vault_rotation()` Vaults -> Vaults: `KeygenRequestResponse::make_request()` Vaults -> CFE: event `KeygenRequest()` CFE --> Vaults: `keygen_response()` Vaults -> Vaults: `KeygenRequestResponse()::handle_response()` if: Failed `bad_validators` Vaults -> Vaults: `abort_rotation()` else: Success `new_public_key` Vaults -> Vaults: `EthereumChain::start_vault_rotation()` end Vaults -> Vaults: `EthereumChain::make_request()` Vaults -> CFE: event `EthSignTxRequest()` CFE --> Vaults: `eth_signing_tx_response()` Vaults -> Vaults: `EthereumChain::handle_response()` if: Failed `bad_validators` Vaults -> Vaults: `abort_rotation()` else: Success `signature` Vaults -> Vaults: `request_vault_rotation(signature)` end: Vaults -> Vaults: `VaultRotationRequestResponse::make_request()` Vaults -> CFE: event `VaultRotationRequest()` CFE -> ETH: selected node `sign_and_broadcast_tx()` CFE -> CFE: witness `KeyChange` event on the contract. CFE --> Vaults: `vault_rotation_response()` NB: *Only if witness of `KeyChange` occurs* Vaults -> Vaults: `VaultRotationRequestResponse::handle_response()` Vaults -> Vaults: `EthereumChain::vault_rotated()` Vaults -> CFE: event `VaultRotationCompleted()`