Skip to content

Instantly share code, notes, and snippets.

@bluele
Last active June 17, 2024 00:23
Show Gist options
  • Save bluele/08f0543cc43f6204df652d2fa9b473fd to your computer and use it in GitHub Desktop.
Save bluele/08f0543cc43f6204df652d2fa9b473fd to your computer and use it in GitHub Desktop.
No Prev State Counterparty Action Post State Notes
1 OPEN OPEN INIT OPEN(INIT) N/A
2 OPEN OPEN(INIT) INIT OPEN(INIT) N/A
3 OPEN(INIT) OPEN INIT OPEN(INIT) update upgrade state and increment upgrade sequence
4 OPEN(INIT) OPEN(INIT) INIT OPEN(INIT) update upgrade state and increment upgrade sequence
5 OPEN OPEN(INIT) TRY FLUSHING N/A
6 OPEN(INIT) OPEN(INIT) TRY FLUSHING N/A
7 OPEN(INIT) FLUSHING ACK FLUSHING inflight packets exist in src
8 OPEN(INIT) FLUSHING ACK OPEN(ERR) our proposal is incompatible with theirs OR timeout of counterparty proposal is reached
9 FLUSHING FLUSHING ACK FLUSHING inflight packets exist in src (No Transition)
10 FLUSHING FLUSHING ACK COMPLETE no inflight packets in src
11 FLUSHING FLUSHING ACK OPEN(ERR) our proposal is incompatible with theirs OR timeout of counterparty proposal is reached
12 FLUSHING FLUSHING CONFIRM FLUSHING inflight packets exist in src (No Transition)
13 FLUSHING FLUSHING CONFIRM COMPLETE no inflight packets in src
14 FLUSHING FLUSHING CONFIRM OPEN(ERR) timeout of counterparty proposal is reached
15 FLUSHING COMPLETE CONFIRM FLUSHING inflight packets exist in src
16 FLUSHING COMPLETE CONFIRM OPEN no inflight packets in src
17 FLUSHING COMPLETE CONFIRM OPEN(ERR) timeout of counterparty proposal is reached
18 COMPLETE COMPLETE OPEN OPEN counterparty sequence == current sequence
19 COMPLETE OPEN OPEN OPEN counterparty sequence >= current sequence
20 OPEN(INIT) * CANCEL OPEN(ERR) caller has authority
21 OPEN(INIT) * CANCEL OPEN(ERR) caller doesn't have authority && error receipt corresponding to current or future secuence exists on counterparty, and update the current
22 FLUSHING * CANCEL OPEN(ERR) caller has authority
23 FLUSHING * CANCEL OPEN(ERR) caller doesn't have authority && error receipt corresponding to current or future secuence exists on counterparty, and update the current
24 COMPLETE * CANCEL OPEN(ERR) error receipt corresponding to current secuence exists on counterparty
25 FLUSHING OPEN TIMEOUT OPEN(ERR) counterparty sequence >= current sequence && counterparty is failed to upgrade with the current proposed upgrade
26 FLUSHING FLUSHING TIMEOUT OPEN(ERR) counterparty sequence >= current sequence
27 COMPLETE OPEN TIMEOUT OPEN(ERR) counterparty sequence >= current sequence && counterparty is failed to upgrade with the current proposed upgrade
28 COMPLETE FLUSHING TIMEOUT OPEN(ERR) counterparty sequence >= current sequence
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment