📅 Original date posted:2015-08-20
📝 Original message:
Pierre <pm+lists at acinq.fr> writes:
> Sorry I messed things up, let me try again !
>
> 1) Bob is in NORMAL state
> - Bob receives update_add_htlc from Alice
> - Bob sends update_accept to Alice
>
> 2) Bob switches to WAIT_FOR_UPDATE_SIG state
> - Bob receives update_signature from Alice
> - Bob sends update_complete to Alice
>
> 3) Bob switches to NORMAL state
Yep, Bob goes NORMAL (send PKT_UPDATE_ACCEPT)
-> WAIT_FOR_UPDATE_SIG
-> NORMAL
When Carol completes htlc, Bob sees CMD_SEND_HTLC_COMPLETE,
and does:
NORMAL (send PKT_UPDATE_COMPLETE_HTLC)
-> STATE_WAIT_FOR_HTLC_ACCEPT (send PKT_UPDATE_SIGNATURE)
-> STATE_WAIT_FOR_UPDATE_COMPLETE
-> NORMAL
> - (Bob sends update_add_htlc to Carol on another channel)
> - (Bob receives update_complete_htlc from Carol on another channel)
> - Bob sends update_complete_htlc to Alice
>
> 4) Bob switches to WAIT_FOR_HTLC_ACCEPT state
> - Bob receives update_accept from Alice
> - Bob sends update_signature to Alice
>
> 5) Bob switches to WAIT_FOR_UPDATE_COMPLETE state
> - Bob receives update_complete from Alice
>
> 6) Bob switches to NORMAL state
>
> Phew, does that make sense ?
Yeah. Let me generate a decent text flowchart for the normal cases...
Thanks!
Rusty.