doc: schema for listconfigs, compare with documentation.

This made me document what are options are now in plugins, too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2021-06-16 10:42:17 +09:30
parent d7e8e220e6
commit 408342dc23
8 changed files with 483 additions and 69 deletions

View File

@ -137,10 +137,15 @@ clean: doc-clean
check: check-manpages
# This needs plugins, too.
check-manpages: all-programs
check-manpages: all-programs check-config-docs
@tools/check-manpage.sh cli/lightning-cli doc/lightning-cli.1.md
@tools/check-manpage.sh "lightningd/lightningd --lightning-dir=/tmp/" doc/lightningd-config.5.md
# Makes sure that fields mentioned in schema are in man page, and vice versa.
check-config-docs:
@for c in `sed -n 's/^ "\(.*\)": {/\1/p' doc/schemas/listconfigs.schema.json | grep -v '^# version$$' | grep -v '^plugins$$' | grep -v '^important-plugins$$'`; do if ! grep -q "^ \*\*$$c\*\*" doc/lightningd-config.5.md; then echo "$$c undocumented!"; exit 1; fi; done
@for c in `grep -v '\[plugin ' doc/lightningd-config.5.md | sed -n 's/^ \*\*\([^*]*\)\*\*.*/\1/p' | grep -v '^\(help\|version\|mainnet\|testnet\|signet\|plugin\|important-plugin\|plugin-dir\|clear-plugins\)$$'`; do if ! grep -q '^ "'"$$c"'"' doc/schemas/listconfigs.schema.json; then echo "$$c documented but not in schema!"; exit 1; fi; done
doc-maintainer-clean:
$(RM) $(MANPAGES)

View File

@ -21,20 +21,29 @@ efficiently than trying each one, so performance is not a concern\.
.SH RETURN VALUE
On correct usage, an object with attribute \fIverified\fR will be
returned\.
On success, an object is returned, containing:
.RS
.IP \[bu]
\fBverified\fR (boolean): Whether the signature was valid
If \fIverified\fR is true, the signature was generated by the returned
\fIpubkey\fR for that given message\. \fIpubkey\fR is the one specified as
input, or if none was specified, the known node which must have
produced this signature\.
.RE
If \fBverified\fR is \fItrue\fR:
If \fIverified\fR is false, the signature is meaningless\. \fIpubkey\fR may
also be returned, which is they \fIpubkey\fR (if any) for which this
signature would be valid\. This is usually not useful\.
.RS
.IP \[bu]
\fBpubkey\fR (pubkey): the \fIpubkey\fR parameter, or the pubkey found by looking for known nodes
.RE
If \fBverified\fR is \fIfalse\fR:
.RS
.IP \[bu]
\fBpubkey\fR (pubkey): the \fIpubkey\fR (if any) which could have signed this; this is usually not useful!
.RE
.SH AUTHOR
Rusty Russell \fI<rusty@rustcorp.com.au\fR> is mainly responsible\.
@ -47,4 +56,4 @@ Rusty Russell \fI<rusty@rustcorp.com.au\fR> is mainly responsible\.
Main web site: \fIhttps://github.com/ElementsProject/lightning\fR
\" SHA256STAMP:f270fa8137eb25480c7300d106db5e0bc49c2511397cfc0eb80b9529d3a358fb
\" SHA256STAMP:db4d5955a5e6a9c11ba8ea7717598e867131243c2ccf249eb2b50c803fc5e085

View File

@ -23,17 +23,16 @@ efficiently than trying each one, so performance is not a concern.
RETURN VALUE
------------
On correct usage, an object with attribute *verified* will be
returned.
[comment]: # (GENERATE-FROM-SCHEMA-START)
On success, an object is returned, containing:
- **verified** (boolean): Whether the signature was valid
If *verified* is true, the signature was generated by the returned
*pubkey* for that given message. *pubkey* is the one specified as
input, or if none was specified, the known node which must have
produced this signature.
If **verified** is *true*:
- **pubkey** (pubkey): the *pubkey* parameter, or the pubkey found by looking for known nodes
If *verified* is false, the signature is meaningless. *pubkey* may
also be returned, which is they *pubkey* (if any) for which this
signature would be valid. This is usually not useful.
If **verified** is *false*:
- **pubkey** (pubkey): the *pubkey* (if any) which could have signed this; this is usually not useful!
[comment]: # (GENERATE-FROM-SCHEMA-END)
AUTHOR
------
@ -50,3 +49,4 @@ RESOURCES
Main web site: <https://github.com/ElementsProject/lightning>
[comment]: # ( SHA256STAMP:7c0607f4a7d11de4c9d4cac0e56df8475c0a14e9f1ce70d7fc49322a5b184901)

View File

@ -9,6 +9,10 @@ lightning-listconfigs - Command to list all configuration options\.
The \fBlistconfigs\fR RPC command to list all configuration options, or with \fIconfig\fR, just that one\.
The returned values reflect the current configuration, including
showing default values (\fBdev-\fR options are not shown)\.
.SH EXAMPLE JSON REQUEST
.nf
.RS
@ -24,30 +28,129 @@ The \fBlistconfigs\fR RPC command to list all configuration options, or with \fI
.fi
.SH RETURN VALUE
On success, an object is returned with members reflecting the
corresponding \fBlightningd-config\fR(5) options which were specified in
the configuration file(s) and command line\.
Additional members include:
On success, an object is returned, containing:
.RS
.IP \[bu]
\fI# version\fR: A string that represents the version of node\.
\fB# version\fR (string, optional): Special field indicating the current version
.IP \[bu]
\fIplugins\fR: A array that represents the non-important plugin registered\. Each object contains the following members:
\fBplugins\fR (array of objects, optional):
.RS
.IP \[bu]
\fIpath\fR: A string that represents the path of plugin\.
\fBpath\fR (string): Full path of the plugin
.IP \[bu]
\fIname\fR: A string that represents the name of plugin\.
\fBname\fR (string): short name of the plugin
.IP \[bu]
\fIoptions\fR: A object that contains all options accepted from command line or configuration file, if the plugin has opitions
\fBoptions\fR (object, optional): Specific options set for this plugin:
.RE
.IP \[bu]
\fIimportant-plugins\fR: An array that represents all important plugins registered to the node\. Each object contains the same members as the \fIplugin\fR array\.
\fBimportant-plugins\fR (array of objects, optional):
.RS
.IP \[bu]
\fBpath\fR (string): Full path of the plugin
.IP \[bu]
\fBname\fR (string): short name of the plugin
.IP \[bu]
\fBoptions\fR (object, optional): Specific options set for this plugin:
.RE
.IP \[bu]
\fBconf\fR (string, optional): \fBconf\fR field from cmdline, or default
.IP \[bu]
\fBlightning-dir\fR (string, optional): \fBlightning-dir\fR field from config or cmdline, or default
.IP \[bu]
\fBnetwork\fR (string, optional): \fBnetwork\fR field from config or cmdline, or default
.IP \[bu]
\fBallow-deprecated-apis\fR (boolean, optional): \fBallow-deprecated-apis\fR field from config or cmdline, or default
.IP \[bu]
\fBrpc-file\fR (string, optional): \fBrpc-file\fR field from config or cmdline, or default
.IP \[bu]
\fBdisable-plugin\fR (array of strings, optional):
.RS
.IP \[bu]
\fBdisable-plugin\fR field from config or cmdline
.RE
.IP \[bu]
\fBalways-use-proxy\fR (boolean, optional): \fBalways-use-proxy\fR field from config or cmdline, or default
.IP \[bu]
\fBdaemon\fR (boolean, optional): \fBdaemon\fR field from config or cmdline, or default
.IP \[bu]
\fBwallet\fR (string, optional): \fBwallet\fR field from config or cmdline, or default
.IP \[bu]
\fBlarge-channels\fR (boolean, optional): \fBlarge-channels\fR field from config or cmdline, or default
.IP \[bu]
\fBexperimental-dual-fund\fR (boolean, optional): \fBexperimental-dual-fund\fR field from config or cmdline, or default
.IP \[bu]
\fBexperimental-onion-messages\fR (boolean, optional): \fBexperimental-onion-messages\fR field from config or cmdline, or default
.IP \[bu]
\fBexperimental-offers\fR (boolean, optional): \fBexperimental-offers\fR field from config or cmdline, or default
.IP \[bu]
\fBexperimental-shutdown-wrong-funding\fR (boolean, optional): \fBexperimental-shutdown-wrong-funding\fR field from config or cmdline, or default
.IP \[bu]
\fBrgb\fR (hex, optional): \fBrgb\fR field from config or cmdline, or default (always 6 characters)
.IP \[bu]
\fBalias\fR (string, optional): \fBalias\fR field from config or cmdline, or default
.IP \[bu]
\fBpid-file\fR (string, optional): \fBpid-file\fR field from config or cmdline, or default
.IP \[bu]
\fBignore-fee-limits\fR (boolean, optional): \fBignore-fee-limits\fR field from config or cmdline, or default
.IP \[bu]
\fBwatchtime-blocks\fR (u32, optional): \fBwatchtime-blocks\fR field from config or cmdline, or default
.IP \[bu]
\fBmax-locktime-blocks\fR (u32, optional): \fBmax-locktime-blocks\fR field from config or cmdline, or default
.IP \[bu]
\fBfunding-confirms\fR (u32, optional): \fBfunding-confirms\fR field from config or cmdline, or default
.IP \[bu]
\fBcltv-delta\fR (u32, optional): \fBcltv-delta\fR field from config or cmdline, or default
.IP \[bu]
\fBcltv-final\fR (u32, optional): \fBcltv-final\fR field from config or cmdline, or default
.IP \[bu]
\fBcommit-time\fR (u32, optional): \fBcommit-time\fR field from config or cmdline, or default
.IP \[bu]
\fBfee-base\fR (u32, optional): \fBfee-base\fR field from config or cmdline, or default
.IP \[bu]
\fBrescan\fR (integer, optional): \fBrescan\fR field from config or cmdline, or default
.IP \[bu]
\fBfee-per-satoshi\fR (u32, optional): \fBfee-per-satoshi\fR field from config or cmdline, or default
.IP \[bu]
\fBmax-concurrent-htlcs\fR (u32, optional): \fBmax-concurrent-htlcs\fR field from config or cmdline, or default
.IP \[bu]
\fBmin-capacity-sat\fR (u64, optional): \fBmin-capacity-sat\fR field from config or cmdline, or default
.IP \[bu]
\fBaddr\fR (string, optional): \fBaddr\fR field from config or cmdline (can be more than one)
.IP \[bu]
\fBannounce-addr\fR (string, optional): \fBannounce-addr\fR field from config or cmdline (can be more than one)
.IP \[bu]
\fBbind-addr\fR (string, optional): \fBbind-addr\fR field from config or cmdline (can be more than one)
.IP \[bu]
\fBoffline\fR (boolean, optional): \fBtrue\fR if \fBoffline\fR was set in config or cmdline
.IP \[bu]
\fBautolisten\fR (boolean, optional): \fBautolisten\fR field from config or cmdline, or default
.IP \[bu]
\fBproxy\fR (string, optional): \fBproxy\fR field from config or cmdline, or default
.IP \[bu]
\fBdisable-dns\fR (boolean, optional): \fBtrue\fR if \fBdisable-dns\fR was set in config or cmdline
.IP \[bu]
\fBencrypted-hsm\fR (boolean, optional): \fBtrue\fR if \fBencrypted-hsm\fR was set in config or cmdline
.IP \[bu]
\fBrpc-file-mode\fR (string, optional): \fBrpc-file-mode\fR field from config or cmdline, or default
.IP \[bu]
\fBlog-level\fR (string, optional): \fBlog-level\fR field from config or cmdline, or default
.IP \[bu]
\fBlog-prefix\fR (string, optional): \fBlog-prefix\fR field from config or cmdline, or default
.IP \[bu]
\fBlog-file\fR (string, optional): \fBlog-file\fR field from config or cmdline, or default
.IP \[bu]
\fBlog-timestamps\fR (boolean, optional): \fBlog-timestamps\fR field from config or cmdline, or default
.IP \[bu]
\fBsubdaemon\fR (string, optional): \fBsubdaemon\fR fields from config or cmdline if any (can be more than one)
.IP \[bu]
\fBtor-service-password\fR (string, optional): \fBtor-service-password\fR field from config or cmdline, if any
.RE
@ -165,4 +268,4 @@ Vincenzo Palazzo \fI<vincenzo.palazzo@protonmail.com\fR> wrote the initial versi
Main web site: \fIhttps://github.com/ElementsProject/lightning\fR
\" SHA256STAMP:19542af1d9c13e31ec6fada46f85a080433c2c7a863779a8b9e3ac86a5903b48
\" SHA256STAMP:f813a777c6e074907980797dafd798a48633469a59e1ac526e2581e2b1a14c83

View File

@ -11,6 +11,9 @@ DESCRIPTION
The **listconfigs** RPC command to list all configuration options, or with *config*, just that one.
The returned values reflect the current configuration, including
showing default values (`dev-` options are not shown).
EXAMPLE JSON REQUEST
--------------------
@ -27,18 +30,64 @@ EXAMPLE JSON REQUEST
RETURN VALUE
------------
On success, an object is returned with members reflecting the
corresponding lightningd-config(5) options which were specified in
the configuration file(s) and command line.
[comment]: # (GENERATE-FROM-SCHEMA-START)
On success, an object is returned, containing:
- **# version** (string, optional): Special field indicating the current version
- **plugins** (array of objects, optional):
- **path** (string): Full path of the plugin
- **name** (string): short name of the plugin
- **options** (object, optional): Specific options set for this plugin:
- **important-plugins** (array of objects, optional):
- **path** (string): Full path of the plugin
- **name** (string): short name of the plugin
- **options** (object, optional): Specific options set for this plugin:
- **conf** (string, optional): `conf` field from cmdline, or default
- **lightning-dir** (string, optional): `lightning-dir` field from config or cmdline, or default
- **network** (string, optional): `network` field from config or cmdline, or default
- **allow-deprecated-apis** (boolean, optional): `allow-deprecated-apis` field from config or cmdline, or default
- **rpc-file** (string, optional): `rpc-file` field from config or cmdline, or default
- **disable-plugin** (array of strings, optional):
- `disable-plugin` field from config or cmdline
- **always-use-proxy** (boolean, optional): `always-use-proxy` field from config or cmdline, or default
- **daemon** (boolean, optional): `daemon` field from config or cmdline, or default
- **wallet** (string, optional): `wallet` field from config or cmdline, or default
- **large-channels** (boolean, optional): `large-channels` field from config or cmdline, or default
- **experimental-dual-fund** (boolean, optional): `experimental-dual-fund` field from config or cmdline, or default
- **experimental-onion-messages** (boolean, optional): `experimental-onion-messages` field from config or cmdline, or default
- **experimental-offers** (boolean, optional): `experimental-offers` field from config or cmdline, or default
- **experimental-shutdown-wrong-funding** (boolean, optional): `experimental-shutdown-wrong-funding` field from config or cmdline, or default
- **rgb** (hex, optional): `rgb` field from config or cmdline, or default (always 6 characters)
- **alias** (string, optional): `alias` field from config or cmdline, or default
- **pid-file** (string, optional): `pid-file` field from config or cmdline, or default
- **ignore-fee-limits** (boolean, optional): `ignore-fee-limits` field from config or cmdline, or default
- **watchtime-blocks** (u32, optional): `watchtime-blocks` field from config or cmdline, or default
- **max-locktime-blocks** (u32, optional): `max-locktime-blocks` field from config or cmdline, or default
- **funding-confirms** (u32, optional): `funding-confirms` field from config or cmdline, or default
- **cltv-delta** (u32, optional): `cltv-delta` field from config or cmdline, or default
- **cltv-final** (u32, optional): `cltv-final` field from config or cmdline, or default
- **commit-time** (u32, optional): `commit-time` field from config or cmdline, or default
- **fee-base** (u32, optional): `fee-base` field from config or cmdline, or default
- **rescan** (integer, optional): `rescan` field from config or cmdline, or default
- **fee-per-satoshi** (u32, optional): `fee-per-satoshi` field from config or cmdline, or default
- **max-concurrent-htlcs** (u32, optional): `max-concurrent-htlcs` field from config or cmdline, or default
- **min-capacity-sat** (u64, optional): `min-capacity-sat` field from config or cmdline, or default
- **addr** (string, optional): `addr` field from config or cmdline (can be more than one)
- **announce-addr** (string, optional): `announce-addr` field from config or cmdline (can be more than one)
- **bind-addr** (string, optional): `bind-addr` field from config or cmdline (can be more than one)
- **offline** (boolean, optional): `true` if `offline` was set in config or cmdline
- **autolisten** (boolean, optional): `autolisten` field from config or cmdline, or default
- **proxy** (string, optional): `proxy` field from config or cmdline, or default
- **disable-dns** (boolean, optional): `true` if `disable-dns` was set in config or cmdline
- **encrypted-hsm** (boolean, optional): `true` if `encrypted-hsm` was set in config or cmdline
- **rpc-file-mode** (string, optional): `rpc-file-mode` field from config or cmdline, or default
- **log-level** (string, optional): `log-level` field from config or cmdline, or default
- **log-prefix** (string, optional): `log-prefix` field from config or cmdline, or default
- **log-file** (string, optional): `log-file` field from config or cmdline, or default
- **log-timestamps** (boolean, optional): `log-timestamps` field from config or cmdline, or default
- **subdaemon** (string, optional): `subdaemon` fields from config or cmdline if any (can be more than one)
- **tor-service-password** (string, optional): `tor-service-password` field from config or cmdline, if any
[comment]: # (GENERATE-FROM-SCHEMA-END)
Additional members include:
- *# version*: A string that represents the version of node.
- *plugins*: A array that represents the non-important plugin registered. Each object contains the following members:
- *path*: A string that represents the path of plugin.
- *name*: A string that represents the name of plugin.
- *options*: A object that contains all options accepted from command line or configuration file, if the plugin has opitions
- *important-plugins*: An array that represents all important plugins registered to the node. Each object contains the same members as the *plugin* array.
On failure, one of the following error codes may be returned:
@ -154,3 +203,4 @@ RESOURCES
---------
Main web site: <https://github.com/ElementsProject/lightning>
[comment]: # ( SHA256STAMP:3c3f2cd354ef5b33ad34febd29b04b1861c62d545c6a5b9181eb2b2b3880258f)

View File

@ -80,31 +80,31 @@ Alias for \fInetwork=testnet\fR\.
Alias for \fInetwork=signet\fR\.
\fBbitcoin-cli\fR=\fIPATH\fR
\fBbitcoin-cli\fR=\fIPATH\fR [plugin \fBbcli\fR]
The name of \fIbitcoin-cli\fR executable to run\.
\fBbitcoin-datadir\fR=\fIDIR\fR
\fBbitcoin-datadir\fR=\fIDIR\fR [plugin \fBbcli\fR]
\fI-datadir\fR argument to supply to \fBbitcoin-cli\fR(1)\.
\fBbitcoin-rpcuser\fR=\fIUSER\fR
\fBbitcoin-rpcuser\fR=\fIUSER\fR [plugin \fBbcli\fR]
The RPC username for talking to \fBbitcoind\fR(1)\.
\fBbitcoin-rpcpassword\fR=\fIPASSWORD\fR
\fBbitcoin-rpcpassword\fR=\fIPASSWORD\fR [plugin \fBbcli\fR]
The RPC password for talking to \fBbitcoind\fR(1)\.
\fBbitcoin-rpcconnect\fR=\fIHOST\fR
\fBbitcoin-rpcconnect\fR=\fIHOST\fR [plugin \fBbcli\fR]
The \fBbitcoind\fR(1) RPC host to connect to\.
\fBbitcoin-rpcport\fR=\fIPORT\fR
\fBbitcoin-rpcport\fR=\fIPORT\fR [plugin \fBbcli\fR]
The \fBbitcoind\fR(1) RPC port to connect to\.
\fBbitcoin-retry-timeout\fR=\fISECONDS\fR
\fBbitcoin-retry-timeout\fR=\fISECONDS\fR [plugin \fBbcli\fR]
Number of seconds to keep trying a \fBbitcoin-cli\fR(1) command\. If the
command keeps failing after this time, exit with a fatal error\.
@ -197,7 +197,7 @@ Log to this file instead of stdout\. Sending \fBlightningd\fR(8) SIGHUP will
cause it to reopen this file (useful for log rotation)\.
\fBlog-timetamps\fR=\fIBOOL\fR
\fBlog-timestamps\fR=\fIBOOL\fR
Set this to false to turn off timestamp prefixes (they will still appear
in crash log files)\.
@ -344,7 +344,7 @@ Confirmations required for the funding transaction when the other side
opens a channel before the channel is usable\.
\fBcommit-fee\fR=\fIPERCENT\fR
\fBcommit-fee\fR=\fIPERCENT\fR [plugin \fBbcli\fR]
The percentage of \fIestimatesmartfee 2/CONSERVATIVE\fR to use for the commitment
transactions: default is 100\.
@ -370,13 +370,13 @@ have to do that\.
Invoice control options:
\fBautocleaninvoice-cycle\fR=\fISECONDS\fR
\fBautocleaninvoice-cycle\fR=\fISECONDS\fR [plugin \fBautoclean\fR]
Perform cleanup of expired invoices every \fISECONDS\fR seconds, or disable
if 0\. Usually unpaid expired invoices are uninteresting, and just take
up space in the database\.
\fBautocleaninvoice-expired-by\fR=\fISECONDS\fR
\fBautocleaninvoice-expired-by\fR=\fISECONDS\fR [plugin \fBautoclean\fR]
Control how long invoices must have been expired before they are cleaned
(if \fIautocleaninvoice-cycle\fR is non-zero)\.
@ -384,7 +384,7 @@ Control how long invoices must have been expired before they are cleaned
Payment control options:
\fBdisable-mpp\fR
\fBdisable-mpp\fR [plugin \fBpay\fR]
Disable the multi-part payment sending support in the \fBpay\fR plugin\. By default
the MPP support is enabled, but it can be desirable to disable in situations
in which each payment should result in a single HTLC being forwarded in the
@ -628,4 +628,4 @@ Main web site: \fIhttps://github.com/ElementsProject/lightning\fR
Note: the modules in the ccan/ directory have their own licenses, but
the rest of the code is covered by the BSD-style MIT license\.
\" SHA256STAMP:0010662a69870c935bdd6d701a254bfc116435797bbe026d8ca0c0de078c6492
\" SHA256STAMP:bfe9e4072bd1a50f5c8553290240eb942298bfdcd823202d1c75d05d66401820

View File

@ -72,25 +72,25 @@ Alias for *network=testnet*.
**signet**
Alias for *network=signet*.
**bitcoin-cli**=*PATH*
**bitcoin-cli**=*PATH* [plugin `bcli`]
The name of *bitcoin-cli* executable to run.
**bitcoin-datadir**=*DIR*
**bitcoin-datadir**=*DIR* [plugin `bcli`]
*-datadir* argument to supply to bitcoin-cli(1).
**bitcoin-rpcuser**=*USER*
**bitcoin-rpcuser**=*USER* [plugin `bcli`]
The RPC username for talking to bitcoind(1).
**bitcoin-rpcpassword**=*PASSWORD*
**bitcoin-rpcpassword**=*PASSWORD* [plugin `bcli`]
The RPC password for talking to bitcoind(1).
**bitcoin-rpcconnect**=*HOST*
**bitcoin-rpcconnect**=*HOST* [plugin `bcli`]
The bitcoind(1) RPC host to connect to.
**bitcoin-rpcport**=*PORT*
**bitcoin-rpcport**=*PORT* [plugin `bcli`]
The bitcoind(1) RPC port to connect to.
**bitcoin-retry-timeout**=*SECONDS*
**bitcoin-retry-timeout**=*SECONDS* [plugin `bcli`]
Number of seconds to keep trying a bitcoin-cli(1) command. If the
command keeps failing after this time, exit with a fatal error.
@ -157,7 +157,7 @@ with multiple daemons.
Log to this file instead of stdout. Sending lightningd(8) SIGHUP will
cause it to reopen this file (useful for log rotation).
**log-timetamps**=*BOOL*
**log-timestamps**=*BOOL*
Set this to false to turn off timestamp prefixes (they will still appear
in crash log files).
@ -281,7 +281,7 @@ create a channel, and if an HTLC asks for longer, well refuse it.
Confirmations required for the funding transaction when the other side
opens a channel before the channel is usable.
**commit-fee**=*PERCENT*
**commit-fee**=*PERCENT* [plugin `bcli`]
The percentage of *estimatesmartfee 2/CONSERVATIVE* to use for the commitment
transactions: default is 100.
@ -302,18 +302,18 @@ have to do that.
Invoice control options:
**autocleaninvoice-cycle**=*SECONDS*
**autocleaninvoice-cycle**=*SECONDS* [plugin `autoclean`]
Perform cleanup of expired invoices every *SECONDS* seconds, or disable
if 0. Usually unpaid expired invoices are uninteresting, and just take
up space in the database.
**autocleaninvoice-expired-by**=*SECONDS*
**autocleaninvoice-expired-by**=*SECONDS* [plugin `autoclean`]
Control how long invoices must have been expired before they are cleaned
(if *autocleaninvoice-cycle* is non-zero).
Payment control options:
**disable-mpp**
**disable-mpp** [plugin `pay`]
Disable the multi-part payment sending support in the `pay` plugin. By default
the MPP support is enabled, but it can be desirable to disable in situations
in which each payment should result in a single HTLC being forwarded in the

View File

@ -0,0 +1,247 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"required": [ ],
"properties": {
"# version": {
"type": "string",
"description": "Special field indicating the current version"
},
"plugins": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [ "path", "name" ],
"description": "`plugin` field from config or cmdline",
"properties": {
"path": {
"type": "string",
"description": "Full path of the plugin"
},
"name": {
"type": "string",
"description": "short name of the plugin"
},
"options": {
"type": "object",
"additionalProperties": true,
"required": [ ],
"description": "Specific options set for this plugin",
"properties": {
}
}
}
}
},
"important-plugins": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [ "path", "name" ],
"description": "`important-plugin` field from config or cmdline, or built-in",
"properties": {
"path": {
"type": "string",
"description": "Full path of the plugin"
},
"name": {
"type": "string",
"description": "short name of the plugin"
},
"options": {
"type": "object",
"additionalProperties": true,
"required": [ ],
"description": "Specific options set for this plugin",
"properties": {
}
}
}
}
},
"conf": {
"type": "string",
"description": "`conf` field from cmdline, or default"
},
"lightning-dir": {
"type": "string",
"description": "`lightning-dir` field from config or cmdline, or default"
},
"network": {
"type": "string",
"description": "`network` field from config or cmdline, or default"
},
"allow-deprecated-apis": {
"type": "boolean",
"description": "`allow-deprecated-apis` field from config or cmdline, or default"
},
"rpc-file": {
"type": "string",
"description": "`rpc-file` field from config or cmdline, or default"
},
"disable-plugin": {
"type": "array",
"items": {
"type": "string",
"description": "`disable-plugin` field from config or cmdline"
}
},
"always-use-proxy": {
"type": "boolean",
"description": "`always-use-proxy` field from config or cmdline, or default"
},
"daemon": {
"type": "boolean",
"description": "`daemon` field from config or cmdline, or default"
},
"wallet": {
"type": "string",
"description": "`wallet` field from config or cmdline, or default"
},
"large-channels": {
"type": "boolean",
"description": "`large-channels` field from config or cmdline, or default"
},
"experimental-dual-fund": {
"type": "boolean",
"description": "`experimental-dual-fund` field from config or cmdline, or default"
},
"experimental-onion-messages": {
"type": "boolean",
"description": "`experimental-onion-messages` field from config or cmdline, or default"
},
"experimental-offers": {
"type": "boolean",
"description": "`experimental-offers` field from config or cmdline, or default"
},
"experimental-shutdown-wrong-funding": {
"type": "boolean",
"description": "`experimental-shutdown-wrong-funding` field from config or cmdline, or default"
},
"rgb": {
"type": "hex",
"description": "`rgb` field from config or cmdline, or default",
"maxLength": 6,
"minLength": 6
},
"alias": {
"type": "string",
"description": "`alias` field from config or cmdline, or default"
},
"pid-file": {
"type": "string",
"description": "`pid-file` field from config or cmdline, or default"
},
"ignore-fee-limits": {
"type": "boolean",
"description": "`ignore-fee-limits` field from config or cmdline, or default"
},
"watchtime-blocks": {
"type": "u32",
"description": "`watchtime-blocks` field from config or cmdline, or default"
},
"max-locktime-blocks": {
"type": "u32",
"description": "`max-locktime-blocks` field from config or cmdline, or default"
},
"funding-confirms": {
"type": "u32",
"description": "`funding-confirms` field from config or cmdline, or default"
},
"cltv-delta": {
"type": "u32",
"description": "`cltv-delta` field from config or cmdline, or default"
},
"cltv-final": {
"type": "u32",
"description": "`cltv-final` field from config or cmdline, or default"
},
"commit-time": {
"type": "u32",
"description": "`commit-time` field from config or cmdline, or default"
},
"fee-base": {
"type": "u32",
"description": "`fee-base` field from config or cmdline, or default"
},
"rescan": {
"type": "integer",
"description": "`rescan` field from config or cmdline, or default"
},
"fee-per-satoshi": {
"type": "u32",
"description": "`fee-per-satoshi` field from config or cmdline, or default"
},
"max-concurrent-htlcs": {
"type": "u32",
"description": "`max-concurrent-htlcs` field from config or cmdline, or default"
},
"min-capacity-sat": {
"type": "u64",
"description": "`min-capacity-sat` field from config or cmdline, or default"
},
"addr": {
"type": "string",
"description": "`addr` field from config or cmdline (can be more than one)"
},
"announce-addr": {
"type": "string",
"description": "`announce-addr` field from config or cmdline (can be more than one)"
},
"bind-addr": {
"type": "string",
"description": "`bind-addr` field from config or cmdline (can be more than one)"
},
"offline": {
"type": "boolean",
"description": "`true` if `offline` was set in config or cmdline"
},
"autolisten": {
"type": "boolean",
"description": "`autolisten` field from config or cmdline, or default"
},
"proxy": {
"type": "string",
"description": "`proxy` field from config or cmdline, or default"
},
"disable-dns": {
"type": "boolean",
"description": "`true` if `disable-dns` was set in config or cmdline"
},
"encrypted-hsm": {
"type": "boolean",
"description": "`true` if `encrypted-hsm` was set in config or cmdline"
},
"rpc-file-mode": {
"type": "string",
"description": "`rpc-file-mode` field from config or cmdline, or default"
},
"log-level": {
"type": "string",
"description": "`log-level` field from config or cmdline, or default"
},
"log-prefix": {
"type": "string",
"description": "`log-prefix` field from config or cmdline, or default"
},
"log-file": {
"type": "string",
"description": "`log-file` field from config or cmdline, or default"
},
"log-timestamps": {
"type": "boolean",
"description": "`log-timestamps` field from config or cmdline, or default"
},
"subdaemon": {
"type": "string",
"description": "`subdaemon` fields from config or cmdline if any (can be more than one)"
},
"tor-service-password": {
"type": "string",
"description": "`tor-service-password` field from config or cmdline, if any"
}
}
}