Complete Sequence Digram for Request/Response Scenario

February 28, 2024 ยท View on GitHub

sequenceDiagram
participant Rs as Recovery Shares
participant R as Recovery GST
participant S1 as Active GST
actor TC as Sparrow
participant S2 as Passport

note right of TC: ๐Ÿง  USER: How do I create multisig?
note right of TC: ๐Ÿ’ก USER: Change defaults?
TC->>TC: ๐Ÿ™Ž๐Ÿฝ Create Multisig

TC-->>R: ๐Ÿค– REQUEST Recovery Key
TC-->>TC: ๐Ÿค– Wait for Response QR

note right of R: ๐Ÿ‘๐Ÿฝ USER: Creation OK?
R->>R: ๐Ÿ™Ž๐Ÿฝ Confirm Key Creation
R-->>R: ๐Ÿค– Create Seed
R-->>Rs: ๐Ÿค– Output SSKR Shares
R-->>R: ๐Ÿค– Delete Seed
Rs->>R: ๐Ÿ™Ž๐Ÿฝ Display Output Shares
R-->>R: ๐Ÿค– Test Share Combinations
R-->>R: ๐Ÿค– Display Descriptor RESPONSE
R-->>TC: ๐Ÿค– Read Descriptor RESPONSE

TC-->>R: ๐Ÿค– REQUEST Seed Deletion
TC-->>TC: ๐Ÿค– Wait for Response QR
note right of R: ๐Ÿ‘๐Ÿฝ USER: Deletion OK?
R->>R: ๐Ÿ™Ž๐Ÿฝ Confirm Seed Deletion
R-->>R: ๐Ÿค– Delete Seed
R-->>R: ๐Ÿค– Display Verification RESPONSE
R-->>TC: ๐Ÿค– Read Verification Response
note right of Rs: ๐Ÿ’ก USER: Where to send shares?
Rs->>Rs: ๐Ÿ™Ž๐Ÿฝ Distribute Shares

TC-->>S1: ๐Ÿค– REQUEST Active Key 1
TC-->>TC: ๐Ÿค– Wait for Response QR
note right of S1: ๐Ÿ‘๐Ÿฝ USER: Creation OK?
S1->>S1: ๐Ÿ™Ž๐Ÿฝ Confirm Key Creation
S1-->>S1: ๐Ÿค– Create Active Seed 1
S1-->>S1: ๐Ÿค– Display Descriptor RESPONSE
S1-->>TC: ๐Ÿค– Read Descriptor RESPONSE

TC-->>S2: ๐Ÿค– REQUEST Active Key 2
TC-->>TC: ๐Ÿค– Wait for Response QR
note right of S2: ๐Ÿ‘๐Ÿฝ USER: Creation OK?
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Confirm Key Creation
S2-->>S2: ๐Ÿค– Create Active Seed 2
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Backup to MicroSD 1
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Record Backup Code
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Backup to MicroSD 2
S2-->>S2: ๐Ÿค– Display Public Cosigner RESPONSE
S2-->>TC: ๐Ÿค– Read Cosigner RESPONSE
S2-->>TC: ๐Ÿค– REQUEST Multisig Descriptor
S2-->>S2: ๐Ÿค– Wait for Response QR

TC-->>TC: ๐Ÿค– Apply Multisig
TC-->>TC: ๐Ÿค– Backup Multisig Descriptor

note right of TC: ๐Ÿ‘๐Ÿฝ USER: Multisig Output OK?
TC->>TC: ๐Ÿ™Ž๐Ÿฝ OK Multisig Response
TC-->>TC: ๐Ÿค– Display Multisig RESPONSE
TC-->>S2: ๐Ÿค– Read Multisig Response
S2-->>S2: ๐Ÿค– Create Wallet
S2-->>TC: ๐Ÿค– REQUEST Address
S2-->>S2: ๐Ÿค– Wait for Response QR

note right of TC: ๐Ÿ‘๐Ÿฝ USER: Address Output OK?
TC->>TC: ๐Ÿ™Ž๐Ÿฝ OK Address Response
TC-->>TC: ๐Ÿค– Display Address RESPONSE
TC-->>S2: Read Address Response
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Backup to MicroSD 1
S2->>S2: ๐Ÿ™Ž๐Ÿฝ Backup to MicroSD 2