forked from CounterpartyXCP/picopayments-hub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
channel.ditaa
72 lines (70 loc) · 4.01 KB
/
channel.ditaa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Payer
|
|
|
V
+-------------+ /------------=-----------------\
| Deposit TX |----=--------------------------+ Lock funds so Payer cant |
| cGRE | | spend while channel in use. |
+------+------+ \------------------------------/
|
|
|
/+-\ PAYER_SIG & EXPIRED +-------------+
|OR+---------------------------------------->| Timeout XT +---->Payer
\+-/ | cGRE |
| +-------------+
| :
| |
| /----------+-------------------\
| | Recover funds if channel |
| | expired. |
| \----------=-------------------/
|
|
|
/+-\ PAYER_SIG & SPEND_SECRET +-------------+
|OR+---------------------------------------->| Change XT +---->Payer
\+-/ | cGRE |
| +-------------+
| :
| |
| /-----------+------------------\
| | Recover remaining funds |
| | after spend secret revealed. |
| \---------=--------------------/
|
|
|
V /------------------------------\
+-------------+ | Close channel and force |
| Commit TX |----=--------------------------+ spend secret to be revealed |
| cGRE | | after payout delay plus at |
+------+------+ | least one block. |
| \-----------=------------------/
|
|
|
/+-\ PAYEE_SIG & SPEND_SECRET & DELAY +-------------+
|OR+---------------------------------------->| Payout XT +---->Payee
\+-/ | cGRE |
| +-------------+
| :
| |
| /-----------+------------------\
| | Funds sent to payee. Reveals |
| | spend secret AFTER funds |
| | committed. |
| \-----------=------------------/
|
|
| PAYER_SIG & REVOKE_SECRET +-------------+
+------------------------------------------>| Revoke XT +---->Payer
| cGRE |
+-------------+
:
|
/-----------+------------------\
| Prevents spending of a |
| revoked commit transaction. |
\-----------=------------------/