-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathsample-waved.conf
More file actions
352 lines (271 loc) · 13.8 KB
/
Copy pathsample-waved.conf
File metadata and controls
352 lines (271 loc) · 13.8 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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
# Example configuration for waved.
#
# The default location for this file is ~/.waved/waved.conf. The default
# location can be overwritten by specifying --configfile= when starting
# waved, or by setting WAVED_CONFIGFILE.
#
# Boolean values can be specified as true/false. If only one value is specified
# for an option, it is the default value used by waved. Empty values mean the
# option has no default.
#
# This file uses top-level key=value entries because waved reads it as a
# properties file. Leave options commented until you want to override them.
# Root data directory for daemon state.
# datadir=~/.waved
# Bitcoin network: mainnet, testnet, testnet4, regtest, simnet, or signet.
# network=mainnet
# Logging verbosity. A single level sets the global level; a comma-separated
# list can set per-subsystem levels, for example ROND=debug,OORC=trace,info.
# debuglevel=info
# Directory for persistent daemon logs. Empty stores logs under
# datadir/logs/<network>.
# logdir=
# Maximum duration to wait for forfeit signatures during a round. The zero
# value uses the daemon default.
# forfeitcollectiontimeout=0s
# Maximum duration to wait for the server's round-admission watermark after
# sending a join request before failing the round and releasing any
# forfeit-reserved inputs. The zero value uses the daemon default; a negative
# value disables the timeout.
# registrationtimeout=0s
# Maximum number of VTXO MuSig2 signer sessions processed concurrently. Zero
# selects four workers for the profiled lwwallet backend and one worker for lnd,
# btcwallet, and unknown signers. Set one to force serial signing.
# signingworkers=0
# Explicit opt-in for mainnet operation.
# allow-mainnet=false
# Permit rpc.notls and rpc.no-macaroons on mainnet TCP listeners, for
# deployments that terminate TLS and enforce authentication at an external
# proxy layer. Off by default; both options are otherwise refused on mainnet.
# allow-insecure-mainnet=false
# Maximum operator fee, in satoshis, accepted per seal-time quote.
# maxoperatorfeesat=1000000
# Optional fixed fee allowance, in satoshis, for automatic expiry maintenance.
# The automatic budget is the larger of this floor and the proportional
# allowance below, always capped by maxoperatorfeesat. Zero disables the floor.
# autorefreshfeefloorsat=0
# Optional proportional allowance for automatic expiry maintenance, in parts
# per million of the automatically refreshed value. The maximum is 1000000
# (100%). Zero disables this component. When both automatic allowances are
# zero, only maxoperatorfeesat applies.
# autorefreshfeerateppm=0
# Drive cooperative round-joining from the wallet actor itself: every
# freshly confirmed boarding UTXO auto-runs the Board path inline, and
# cooperative-leave intents set TriggerRegistration=true. Off keeps the
# batched semantics that operator-driven hosts (wavecli, server
# deployments) rely on. Wallet-shaped SDK hosts (sdk/wavewalletdk) opt in
# so user-visible "deposit" and "exit" translate into a full round join
# end-to-end.
# eagerroundjoin=false
# SQLite commit durability level: one of full, normal, off. Empty defaults
# to normal, which under WAL mode omits the per-commit WAL fsync of full
# (the WAL is synced only before a checkpoint) for substantially higher
# write throughput while staying safe against corruption. Values are
# case-insensitive.
# db.sqlite.synchronous=
# Disable the SQLite fullfsync pragma (macOS only); trades power-loss flush
# guarantees for higher sustained write throughput. No effect on other
# platforms.
# db.sqlite.nofullfsync=false
# Address for the pprof debug HTTP server, for example 127.0.0.1:6060. Empty
# disables pprof entirely. When set, a dedicated HTTP server exposes the
# standard net/http/pprof endpoints. The server is plain HTTP (no TLS) and
# unauthenticated, and pprof reveals sensitive runtime and debug data, so bind
# it to a loopback or firewalled address only.
# pprof.listen=
# Value passed to runtime.SetBlockProfileRate at startup when greater than zero.
# Zero leaves block profiling disabled.
# pprof.blockprofilerate=0
# Value passed to runtime.SetMutexProfileFraction at startup when greater than
# zero. Zero leaves mutex profiling disabled.
# pprof.mutexprofilefraction=0
# Address for the Prometheus metrics HTTP server, for example 127.0.0.1:9092.
# Empty disables metrics serving entirely. When set, a dedicated HTTP server
# exposes the /metrics scrape endpoint. The /metrics endpoint exposes
# operational and balance data (VTXO counts and values, request rates), so bind
# it to a loopback or firewalled address only.
# metrics.listen=
# lnd gRPC address.
# lnd.host=localhost:10009
# Path to lnd's TLS certificate. Empty uses the default lnd location.
# lnd.tlspath=
# Path to lnd's admin macaroon. Empty uses the default lnd location.
# lnd.macaroonpath=
# Maximum duration for individual RPC calls to lnd.
# lnd.rpctimeout=30s
# The lnd wallet account this daemon may spend from. It bounds coin selection,
# change, address derivation and signing — but not what the daemon can observe:
# imported boarding scripts live in lnd's watch-only account and stay visible
# either way.
#
# Leave unset to use lnd's built-in "default" account. Set it when this daemon
# shares an lnd node with another one, so that one daemon's spending cannot
# drain the other's funds. The account must already exist on the node (lnd's
# `wallet accounts create`) and must be taproot-scoped, because every lnd
# address this daemon derives asks for a taproot address and lnd resolves a
# custom account name within the key scope the address type implies.
# lnd.account=
# Ark operator server address. Empty uses the network+transport default; see
# docs/signet.md for the public test-network endpoints.
# server.host=
# Ark operator RPC transport: grpc or rest.
# server.transport=grpc
# Path to the Ark server TLS certificate. Empty uses the system cert pool.
# server.tlscertpath=
# Path to the Ark operator RPC macaroon.
# server.macaroonpath=
# Disable TLS for the server connection. Intended for development only.
# server.insecure=false
# Maximum number of VTXO tree nodes accepted from the server.
# server.maxtreenodes=50000
# Daemon gRPC listen address.
# rpc.listenaddr=localhost:10029
# Enable the daemon HTTP/JSON gateway.
# rpc.gateway.enabled=true
# Daemon HTTP/JSON gateway listen address.
# rpc.gateway.listenaddr=localhost:10031
# Browser origins allowed to call the daemon HTTP/JSON gateway. Empty means
# browser requests fail closed while non-browser requests still work. Use "*"
# to allow browser requests from any origin.
# rpc.gateway.allowedorigins=
# Path to the daemon TLS certificate. Empty auto-generates one in the data dir.
# rpc.tlscertpath=
# Path to the daemon TLS private key. Empty auto-generates one in the data dir.
# rpc.tlskeypath=
# Disable TLS for daemon RPC. Intended for development only.
# rpc.notls=false
# Path to the daemon RPC admin macaroon. Empty auto-generates one in the data
# dir. A read-only macaroon (readonly.macaroon), scoped to query methods only,
# is baked alongside it in the same directory.
# rpc.macaroonpath=
# Disable daemon RPC macaroon authentication. Intended for development only.
# rpc.no-macaroons=false
# Wallet backend type: lnd, lwwallet, or btcwallet.
# wallet.type=lwwallet
# Esplora REST API URL. Required when wallet.type=lwwallet.
# wallet.esploraurl=
# Chain poll interval for the lwwallet backend.
# wallet.pollinterval=30s
# Address recovery look-ahead window for lwwallet.
# wallet.recoverywindow=100
# Path to a file containing the wallet password for auto-unlock at startup.
# wallet.password_file=
# Exclusive neutrino peers for btcwallet, as a comma-separated list.
# wallet.btcwallet_peers=
# Additional persistent neutrino peers for btcwallet, as a comma-separated list.
# wallet.btcwallet_addpeers=
# Headers import for btcwallet fast initial sync. Both sources must be set
# together. Values can be local files or HTTP(S) URLs.
# wallet.btcwallet_blockheaderssource=
# wallet.btcwallet_filterheaderssource=
# Directory for btcwallet/neutrino chain data. Empty uses the network data dir.
# wallet.btcwallet_datadir=
# Fee-estimate JSON endpoint URL. Required when wallet.type=btcwallet.
# wallet.feeurl=
# Persist compact block filters to disk for btcwallet/neutrino.
# wallet.persist_filters=false
# Keep btcwallet/neutrino package-global loggers detached from daemon logging.
# wallet.disable_btcwallet_global_logs=false
# Optional mempool.space fee provider for the lnd wallet backend. When enabled,
# the lnd fee estimator selects the lower of the local lnd estimate and the
# mempool.space estimate. Only applies to wallet.type=lnd.
# feeestimation.mempoolspace.enabled=false
# Override the network-default recommended-fee endpoint. Must be an absolute
# https URL. Empty uses a Lightning Labs-operated mempool instance for the
# configured network.
# feeestimation.mempoolspace.url=
# Number of blocks after which unroll attempts a fee-bump rebroadcast. The zero
# value uses the unroll default.
# unroll.bumpafterblocks=0
# Maximum unroll fee rate in sat/vB. The zero value uses the unroll default.
# unroll.maxfeeratesatpervbyte=0
# Swap server address for swapruntime builds. Empty uses the network+transport
# default; see docs/signet.md for the public test-network endpoints.
# swap.serveraddress=
# Swap server RPC transport for swapruntime builds: grpc or rest.
# swap.servertransport=grpc
# Swap server TLS certificate path for swapruntime builds.
# swap.servertlscertpath=
# Disable TLS for the swap server in swapruntime builds.
# swap.serverinsecure=false
# Swap session SQLite database path for swapruntime builds. Empty stores swaps
# under datadir/swaps.db.
# swap.databasefilename=
# Automatically escalate armed vHTLC recovery after the grace/deadline policy
# says cooperative retry is no longer safe or useful. The default is false:
# recovery is armed durably, but an operator must run a manual escalation command
# unless this is explicitly enabled.
# swap.vhtlcrecovery.autoescalate=false
# Delay after the first cooperative vHTLC send failure before automatic on-chain
# recovery may start. Manual recovery commands can still escalate earlier.
# swap.vhtlcrecovery.cooperativefailuregraceperiod=1h0m0s
# Minimum block margin preserved before receive-side claim recovery deadlines.
# Deadline pressure can override the wall-clock grace period.
# swap.vhtlcrecovery.minrecoverymarginblocks=12
# Maximum fee rate in sat/kw for vHTLC recovery exit spends. The default is
# 25,000 sat/kw, or 100 sat/vbyte.
# swap.vhtlcrecovery.maxfeeratesatperkw=25000
# Disable the wallet-owned credit auto-redeem. Auto-redeem is on by default and
# materializes idle credits back into a vTXO when a settled receive clears the
# redemption threshold.
# swap.credit.autoredeemdisabled=false
# Optional available-credit threshold that can delay an auto-redeem above the
# live operator VTXO floor. Redemption triggers at or above the greater of this
# value and the live floor; zero uses the live floor alone.
# swap.credit.autoredeemminsat=0
# Maximum reconciliation polls a single credit-operation awaiting state (top-up
# funding or credit-pay settlement) may take before the operation terminal-fails
# with a clear error. This is the backstop that stops a credit-backed send from
# hanging forever when the server never reports a terminal state. Zero uses the
# built-in fail-fast default; set a larger value only if you need a longer
# ceiling (the bound cannot be disabled).
# swap.credit.maxawaitingpolls=0
# Wallet-level deadline applied to every PENDING wavewalletrpc entry. Once an
# entry sits past this duration without a terminal transition, the runtime
# overlays its status as FAILED with failure_reason="timed_out". Zero uses
# the package default of 30m.
# swapwallet.deadline=0s
# Default page size used when a List or SubscribeWallet snapshot omits a
# limit. Clamped to swapwallet.maxlistlimit. Zero uses the package default
# of 100.
# swapwallet.defaultlistlimit=0
# Per-call hard cap on List page size. Larger callers are clamped down.
# Zero uses the package default of 1000.
# swapwallet.maxlistlimit=0
# Per-subscriber channel buffer used by SubscribeWallet. Slow consumers
# drop updates when the buffer saturates and reconcile via List on
# reconnect. Zero uses the package default of 32.
# swapwallet.subscribebuffer=0
# Maximum checkpoint transactions allowed in one incoming OOR transfer.
# oor.limits.maxcheckpoints=64
# Maximum VTXOs returned by one indexer lookup during incoming OOR receive.
# oor.limits.maxvtxomatches=128
# Safety cap on items decoded from one stored mailbox message.
# oor.limits.maxmailboxitems=10000
# Safety cap on mailbox address-script bytes.
# oor.limits.maxmailboxscriptbytes=10000
# Cap on how long waved keeps re-driving a transient OOR submit rejection
# (an input not yet spendable on the operator, or a recipient over its
# balance cap) before giving up. Zero uses the package default of 1h.
# oor.maxsubmitretry=1h0m0s
# Optional bitcoind RPC address for submitpackage support.
# bitcoind.host=
# Optional bitcoind RPC username. Mutually exclusive with
# bitcoind.rpccookie.
# bitcoind.user=
# Optional bitcoind RPC password. Avoid passing this on the command
# line: process arguments are visible to other users via 'ps'. Prefer
# bitcoind.rpccookie (below) which keeps the secret out of process
# args and persistent config.
# bitcoind.pass=
# Optional path to bitcoind's '.cookie' authentication file. bitcoind
# writes this file at startup (mode 0600) and rotates it on every
# restart, so the credential lives only on disk under bitcoind's data
# directory rather than in this config or in process args. Mutually
# exclusive with bitcoind.user / bitcoind.pass.
# bitcoind.rpccookie=
# Optional path to a PEM CA certificate for HTTPS bitcoind RPC. When
# this is set with a bare bitcoind.host value, waved connects with
# https://. Use this when bitcoind RPC is fronted by a TLS reverse
# proxy.
# bitcoind.tlscertpath=