-
Notifications
You must be signed in to change notification settings - Fork 13
/
events.go
101 lines (78 loc) · 1.92 KB
/
events.go
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package boltz
type SwapUpdateEvent int
const (
SwapCreated SwapUpdateEvent = iota
SwapExpired
InvoiceSet
InvoicePaid
InvoicePending
InvoiceSettled
InvoiceFailedToPay
ChannelCreated
TransactionFailed
TransactionMempool
TransactionClaimed
TransactionRefunded
TransactionConfirmed
// Custom events
// Client refunded transaction
SwapRefunded
// Client noticed the Swap expired but didn't find any output to refund
SwapAbandoned
)
var swapUpdateEventStrings = map[string]SwapUpdateEvent{
"swap.created": SwapCreated,
"swap.expired": SwapExpired,
"invoice.set": InvoiceSet,
"invoice.paid": InvoicePaid,
"invoice.pending": InvoicePending,
"invoice.settled": InvoiceSettled,
"invoice.failedToPay": InvoiceFailedToPay,
"channel.created": ChannelCreated,
"transaction.failed": TransactionFailed,
"transaction.mempool": TransactionMempool,
"transaction.claimed": TransactionClaimed,
"transaction.refunded": TransactionRefunded,
"transaction.confirmed": TransactionConfirmed,
"swap.refunded": SwapRefunded,
"swap.abandoned": SwapAbandoned,
}
var CompletedStatus = []string{
SwapRefunded.String(),
SwapAbandoned.String(),
InvoiceSettled.String(),
TransactionClaimed.String(),
}
func (event SwapUpdateEvent) String() string {
for key, value := range swapUpdateEventStrings {
if event == value {
return key
}
}
return ""
}
func ParseEvent(event string) SwapUpdateEvent {
return swapUpdateEventStrings[event]
}
type ChannelState int
const (
ChannelNone ChannelState = iota
ChannelAccepted
ChannelSettled
)
var channelStateStrings = map[string]ChannelState{
"none": ChannelNone,
"accepted": ChannelAccepted,
"settled": ChannelSettled,
}
func (event ChannelState) String() string {
for key, value := range channelStateStrings {
if event == value {
return key
}
}
return ""
}
func ParseChannelState(event string) ChannelState {
return channelStateStrings[event]
}