@startuml hide empty description [*] --> WaitingCounterparty : **Wallet::blind** WaitingCounterparty --> expired¹ : expired before receiving consignment note on link expiration can be configured via **Wallet::blind** argument end note WaitingCounterparty --> Failed : received invalid consignment WaitingCounterparty --> WaitingConfirmation : **Wallet::refresh**\nreceived valid consignment WaitingConfirmation --> Settled : **Wallet::refresh**\nenough confirmations expired¹ --> Failed : **Wallet::fail_transfer** Failed --> removed¹ : **Wallet::delete_transfers** note "¹ not an actual TransferStatus" as N1 @enduml