-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfig.example.yaml
More file actions
165 lines (149 loc) · 8.57 KB
/
config.example.yaml
File metadata and controls
165 lines (149 loc) · 8.57 KB
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
log_level: "info" # Log level: panic, fatal, error, warn, info, debug, trace
# LND connection settings
lnd:
host: "localhost"
port: 10009
tls_cert_path: "~/.lnd/tls.cert"
macaroon_path: "~/.lnd/data/chain/bitcoin/mainnet/readonly.macaroon"
# Notification settings
notifications:
providers:
- url: "discord://token@channel?SplitLines=false" # Discord webhook URL
name: "main-discord"
templates:
backup_multi_event: |-
❗️ Channel backup received for {{.NumChanPoints}} channels
Channel Points:
{{range .ChanPoints}}- {{.}}
{{end}}
Filename: {{.Filename}}
SHA256: {{.Sha256Sum}}
channel_close_event: |-
🔒 Channel closed with {{.PeerAlias}}
Capacity {{.Capacity}} sats
Settled balance {{.SettledBalance}} sats
Channel Point: {{.ChannelPoint}}
Close Type: {{if eq .CloseType 0}}🤝 Cooperatively {{if .CloseInitiator}}Local{{else}}Remote{{end}}{{else if eq .CloseType 1}}🔴 Force Local{{else if eq .CloseType 2}}🔴 Force Remote{{else if eq .CloseType 3}}🚨 Breach{{else}}💀 Other{{end}}
channel_closing_event: |-
⏳ Closing channel with {{.PeerAlias}}
Capacity {{.Capacity}} sats
Limbo: {{.LimboBalance}} sats
Closing TxID: {{.ClosingTxid}}
Raw TX: {{.ClosingTxHex}}
channel_fee_change_event: |-
✏️ Fee change detected on channel with {{.PeerAlias}} ({{.PeerPubkeyShort}})
Capacity: {{.Capacity}} sats
Fee Rate: {{if ne .OldFeeRate .NewFeeRate}}{{.OldFeeRate}} -> {{.NewFeeRate}} ({{.FeeRateChange}} ppm, {{.FeeRateChangePercent}}){{else}}{{.OldFeeRate}}{{end}} ppm
Base Fee: {{if ne .OldBaseFee .NewBaseFee}}{{.OldBaseFee}} -> {{.NewBaseFee}} ({{.BaseFeeChange}} sats, {{.BaseFeeChangePercent}}){{else}}{{.OldBaseFee}}{{end}} sats
Inbound Fee Rate: {{if ne .OldInboundFeeRate .NewInboundFeeRate}}{{.OldInboundFeeRate}} -> {{.NewInboundFeeRate}} ({{.InboundFeeRateChange}} ppm, {{.InboundFeeRateChangePercent}}){{else}}{{.OldInboundFeeRate}}{{end}} ppm
Inbound Base Fee: {{if ne .OldInboundBaseFee .NewInboundBaseFee}}{{.OldInboundBaseFee}} -> {{.NewInboundBaseFee}} ({{.InboundBaseFeeChange}} sats, {{.InboundBaseFeeChangePercent}}){{else}}{{.OldInboundBaseFee}}{{end}} sats
channel_open_event: |-
🚀 Channel opened with {{.PeerAlias}}
Capacity {{.Capacity}} sats"
channel_opening_event: "{{if .Initiator}}⏳ Opening new {{.Capacity}} sats channel to {{.PeerAlias}}{{else}}⏳ Accepting new {{.Capacity}} sats channel from {{.PeerAlias}}{{end}}"
failed_htlc_event: |-
❌ Failed HTLC of {{.Amount}} sats
{{.InChanAlias}} -> {{.OutChanAlias}}
Reason: {{.WireFailure}} ({{.FailureDetail}})
Actual Outbound: {{.OutChanLiquidity}} sats
Missed Fee: {{.MissedFee}} sats
forward_event: |-
💰 Forwarded {{.Amount}} sats
{{.PeerAliasIn}} -> {{.PeerAliasOut}}
Earned {{.Fee}} sats ({{.FeeRate}} ppm)
invoice_settled_event: "💵 Invoice settled: {{or .Memo \"No Memo\"}} for {{.Value}} sats"
keysend_event: |-
📨 Keysend received:
{{.Msg}}
Channel In: {{.InChanAlias}} ({{.InChanId}})
payment_succeeded_event: |-
⚡️ Payment: {{.Amount}} sats (fee: {{.Fee}}, {{.FeeRate}} ppm) to {{.Receiver}}{{if .Memo}} - {{.Memo}}{{end}}{{range .HtlcInfo}}
Route: {{range $i, $hop := .HopInfo}}{{if $i}} -> {{end}}{{$hop.Alias}} ({{$hop.FeeRate}} ppm){{end}}{{end}}
Hash: {{.PaymentHash}}
peer_offline_event: "{{if .PeerAlias}}⚠️ Peer {{.PeerAlias}} ({{.PeerPubkeyShort}}) went offline{{else}}⚠️ Peer {{.PeerPubKey}} went offline{{end}}"
peer_online_event: "{{if .PeerAlias}}✅ Peer {{.PeerAlias}} ({{.PeerPubkeyShort}}) is online{{else}}✅ Peer {{.PeerPubKey}} is online{{end}}"
rebalancing_succeeded_event: |-
{{range .HtlcInfo}}☯️ Rebalanced {{.Amount}} sats {{.FirstHop}} → {{.PenultHop}}. Fee: {{.Fee}} sats ({{.FeeRate}} ppm), Route: {{range $i, $hop := .HopInfo}}{{if $i}} -> {{end}}{{$hop.Alias}} ({{$hop.FeeRate}} ppm){{end}}
{{end}}
on_chain_mempool_event: |-
🔗 Discovered On-Chain transaction in mempool: {{.Amount}} sats
Fee: {{.TotalFees}} sats
Outputs:
{{range .Outputs}}- {{.Amount}} sats to {{.Address}} ({{.OutputType}}{{if .IsOurAddress}}, ours{{end}})
{{end}}
View on explorer: {{.TransactionURL}}
TxID: {{.TxHash}}
on_chain_confirmed_event: |-
🔗 Confirmed On-Chain transaction: {{.Amount}} sats
Fee: {{.TotalFees}} sats
View on explorer: {{.TransactionURL}}
TxID: {{.TxHash}}
chain_sync_lost_event: "⚠️ Chain is out of sync since {{.Duration}}"
chain_sync_restored_event: "✅ Chain is back in sync after {{.Duration}}"
channel_status_up_event: |-
🟢 Channel with {{.PeerAlias}} ({{.PeerPubkeyShort}}) is back online after {{.Duration}}
Capacity {{.Capacity}} sats
channel_status_down_event: |-
🔴 Channel with {{.PeerAlias}} ({{.PeerPubkeyShort}}) is down since {{.Duration}}
Capacity {{.Capacity}} sats
tls_cert_expiry_event: "⚠️ LND TLS certificate is expiring soon on {{.ExpiryDate}} (in {{.TimeUntilExpiry}})"
wallet_state_event: "👛 Wallet state changed: {{.OldState}} -> {{.NewState}}"
healthy_event: ✅ LND node is healthy again
unhealthy_event: |-
❌ LND node is unhealthy
Error: {{.Err}}
lnd_update_available_event: |-
⬆️ New LND version available: {{.LatestVersion}}
You are currently running version: {{.CurrentVersion}}
alias_changed_event: "📝 Alias changed: {{.OldAlias}} -> {{.NewAlias}}"
formatting:
locale: "en-US" # Language for number formatting (e.g. "en-US" for English, "de-DE" for German)
batching:
enabled: false # Enable batching of notifications
flush_interval: "5s" # How often to flush batched notifications (e.g., "5s", "1m", "30s")
max_size: 10 # Maximum number of notifications to batch before flushing immediately
# Event settings (feature flags)
events:
backup_events: true # Enable channel backup notifications (file attachment if supported for provider)
channel_events: true # Enable channel events (open/close) notifications
failed_htlc_events: true # Enable failed HTLC notifications
forward_events: true # Enable payment forwarding notifications
invoice_events: true # Enable invoice settled notifications
keysend_events: true # Enable keysend notifications
payment_events: true # Enable outgoing payment succeeded notifications
rebalancing_events: true # Enable rebalancing succeeded notifications
status_events: true # Enable status change notifications (startup/shutdown)
on_chain_events: true # Enable on-chain transaction notifications
chain_sync_events: true # Enable chain sync status notifications (lost sync/restored)
channel_status_events: true # Enable channel status notifications (channel up/down)
tls_cert_expiry_events: true # Enable TLS certificate expiry notifications
peer_events: false # Enable peer events (online/offline) notifications
wallet_state_events: true # Enable wallet state change notifications
health_events: true # Enable LND health status notifications
lnd_update_events: true # Enable LND update available notifications
channel_fee_events: true # Enable channel fee change notifications
htlc_expiration_events: true # Enable HTLC expiration notifications
alias_changed_events: true # Enable alias changed notifications
# Event configuration (specific settings for each event type)
event_config:
failed_htlc_event:
min_amount: 0 # Minimum amount in sats to notify about failed HTLC event
forward_event:
min_amount: 0 # Minimum outgoing amount in sats to notify about forward event
invoice_event:
min_amount: 0 # Minimum amount in sats to notify about invoice event
skip_keysend: true # Skip keysend invoices
payment_event:
min_amount: 0 # Minimum amount in sats to notify about payment succeeded event
rebalancing_event:
min_amount: 0 # Minimum amount in sats to notify about rebalancing
on_chain_event:
min_amount: 0 # Minimum amount in sats to notify about on-chain transaction
transaction_url_template: "https://mempool.space/tx/{{.TxHash}}" # URL template for linking to transaction details on a block explorer
chain_lost_event:
threshold: 5m # Duration of being out of sync before sending a notification
warning_interval: 15m # Interval between repeated warnings while still out of sync
channel_status_event:
min_downtime: 10m # Minimum downtime duration before sending a channel down notification
htlc_expiration_event:
remaining_blocks: 144 # Notify when HTLCs are expiring within ~24 hours