Scenario: mDave
sending RLT to rEve
sequenceDiagram
participant mDave
participant Millau
participant Bridge Relayer
participant Rialto
participant rEve
Rialto->>Rialto: Endow r(mDave) with RLT.
mDave->>Millau: send_message(transfer, 5 RLT, rEve)
Millau->>Millau: Locks fee & reward for the relayer and queues the message.
rect rgb(205, 226, 244)
Bridge Relayer->>+Millau: What's your best header?
Millau-->>-Bridge Relayer: It's header 5.
Bridge Relayer->>+Rialto: What's the best Millau header you know about?
Rialto-->>-Bridge Relayer: I only know about 4.
Bridge Relayer->>Rialto: Cool, here is Millau header 5 [`submit_signed_header()`].
Bridge Relayer->>+Rialto: What's the best finalized Millau header you know about?
Rialto-->>-Bridge Relayer: I only know about 3.
Bridge Relayer->>+Millau: Do you have a finality proof for 4..5?
Millau-->>-Bridge Relayer: Yes I do, here it is.
Bridge Relayer->>Rialto: Here is the finality proof for 5 [`finalize_header()`].
end
rect rgb(218, 195, 244)
Bridge Relayer->>+Millau: Do you have any messages for me to deliver (at 5)?
Millau-->>-Bridge Relayer: Yes, here they are.
Bridge Relayer->>+Rialto: I have some new messages for you [`receive_messages_proof()`].
Rialto->>Rialto: Validate and Dispatch Message.
Rialto->>rEve: Transfer(5 RLT) from r(mDave).
Rialto-->>-Bridge Relayer: Event(Message Succesfully Dispatched).
Bridge Relayer->>Millau: I sent your message, can I get paid now [`receive_messages_delivery_proof`]?
Millau-->>Bridge Relayer: Yes, here you go $$$.
Bridge Relayer ->>Rialto: These messages are confirmed now, feel free to clean up.
end