*`hash`: a 64-character `hex` which is a sha256 hash.
*`secret`: a 64-character `hex` which is a secret of some kind.
*`u64`: a JSON number without decimal point in the range 0 to 18446744073709551615 inclusive.
*`u32`: a JSON number without decimal point in the range 0 to 4294967295 inclusive.
*`u16`: a JSON number without decimal point in the range 0 to 65535 inclusive.
*`u16`: a JSON number without decimal point in the range 0 to 255 inclusive.
*`pubkey`: a 66-character `hex` which is an SEC-1 encoded secp256k1 point (usually used as a public key).
*`msat`: a `u64` which indicates an amount of millisatoshis. Deprecated: may also be a string of the number, with "msat" appended. As an input parameter, lightningd(8) will accept strings with suffixes (see below).
*`txid`: a 64-character `hex` Bitcoin transaction identifier.
*`signature`: a `hex` (144 bytes or less), which is a DER-encoded Bitcoin signature (without any sighash flags appended),
*`bip340sig`: a 128-character `hex` which is a BIP-340 (Schnorr) signature.
*`point32`: a 64-character `hex` which represents an x-only pubkey.
*`short_channel_id`: a string of form BLOCK "x" TXNUM "x" OUTNUM.
*`short_channel_id_dir`: a `short_channel_id` with "/0" or "/1" appended, indicating the direction between peers.
*`outpoint`: a string containing a `txid` followed by a ":" and an output number (bitcoind uses this form).
*`feerate`: an integer, or a string consisting of a number followed by "perkw" or "perkb".
*`outputdesc`: an object containing onchain addresses as keys, and "all" or a valid `msat` field as values.
The following forms of `msat` are supported as parameters:
- An integer (representing that many millisatoshis), e.g. `10000`
- A string of an integer N and the suffix *msat* (representing N millisatoshis) e.g. `"10000msat"`
- A string of an integer N and the suffix *sat* (representing N times 1000 millisatoshis ) e.g. `"10sat"`
- A string of a number N.M (where M is exactly three digits) and the suffix *sat* (representing N times 1000 plus M millisatoshis) e.g. `"10.000sat"`
- A string of an integer N and the suffix *btc* (representing N times 100000000000 millisatoshis) e.g. `"1btc"`
- A string of a number N.M (where M is exactly eight digits) and the suffix *btc* (representing N times 100000000000 plus M times 1000 millisatoshis) e.g `"0.00000010btc"`
- A string of a number N.M (where M is exactly elevent digits) and the suffix *btc* (representing N times 100000000000 plus M millisatoshis) e.g `"0.00000010000btc"`
JSON NOTIFICATIONS
------------------
Notifications are (per JSONRPC spec) JSON commands without an "id"
field. They give information about ongoing commands, but you
need to enable them. See lightning-notifications(7).
FIELD FILTERING
---------------
You can restrict what fields are in the output of any command, by
including a `"filter"` member in your request, alongside the standard
`"method"` and `"params"` fields.
`filter` is a template, with keys indicating what fields are to be
output (values must be `true`). Only fields which appear in the
template will be output. For example, here is a normal `result` of