Proto commits in ElementsProject/lightning

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:e20efa1
Author:Rusty Russell
Committer:Rusty Russell

msggen: regenerate. Somehow GitHub's "Enable auto-merge" merged the PR without it actually passing. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

The documentation is generated from this commit.

Commit:c81ec4f
Author:Rusty Russell
Committer:Rusty Russell

lightningd: deprecate (undocumented!) "unknown" old_state field in channel_state_changed notification. Reported-by: daywalker90 Changelog-Deprecated: JSON-RPC: channel_state_changed notification field `old_state` value "unknown" (it will be omitted, instead) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:6bf3691
Author:Rusty Russell
Committer:Rusty Russell

lightningd: support index/start/end pagination for listhtlcs. Changelog-Added: JSON-RPC: `listhtlcs` supports `index`, `start` and `end` parameters for pagination support. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:9636553
Author:Rusty Russell
Committer:Rusty Russell

lightningd: wait interface for htlcs indexes. Note that documentation says invoice expiries can batch, but that's no longer true, so delete it. Usually, we miss a number because the change is too fast. This adds the wait interface, but it doesn't actually fire until the next commit, which wires it into the db code. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `wait` now supports the `htlcs` (`listhtlcs`) subsystem.

Commit:db104aa
Author:Rusty Russell
Committer:Rusty Russell

lightningd: improve wait API by making details fields per-subsystem. It makes the schema simpler, and indeed, expressable by GRPC. Changelog-Added: JSON-RPC: `wait` now has separate `invoices`, `forwards` and `sendpays` objects for each subsystem. Changelog-Deprecated: JSON-RPC: `wait` reply `details` object: use subsytem specific object instead. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:7ba6263
Author:Rusty Russell
Committer:Rusty Russell

lightningd: add created_index and updated_index to listhtlcs. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `listhtlcs` has `created_index` and `updated_index` fields.

Commit:8974375
Author:Rusty Russell
Committer:Rusty Russell

lightningd: add `short_channel_id` option to listpeerchannels. Requested-by: @whitslack Closes: https://github.com/ElementsProject/lightning/issues/8233 Changelog-Added: JSON-RPC: `listpeerchannels` now has a `short_channel_id` parameter for just listing a specific channel. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:f285284
Author:Rusty Russell
Committer:Rusty Russell

lightningd: remove accept-htlc-tlv-types. Changelog-Removed: accept-htlc-tlv-types (deprecated v23.08, disabled by default in v24.11). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:05f0100
Author:daywalker90
Committer:Alex Myers

msggen: comply with grpc and rust naming conventions Changelog-Changed: Some enums, structs, functions in pyln-grpc-proto/cln-grpc/cln-rpc have been slightly renamed so they follow grpc and rust's naming convention

Commit:5dab24f
Author:daywalker90
Committer:Alex Myers

msggen: add channel_state_changed notification Changelog-None

Commit:3e46103
Author:daywalker90
Committer:Alex Myers

msggen: add InjectOnionMessage Changelog-None

Commit:5a80223
Author:Rusty Russell
Committer:Rusty Russell

setconfig: add transient option. Changelog-Added: JSON-RPC: `setconfig` now has a `transient` flag which means it won't rewrite your config file. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:fe4d503
Author:Lagrang3
Committer:Alex Myers

add max_htlc_value_in_flight_msat to listpeerchan Changelog-Added: JSON-RPC: `listpeerchannels` new output fields `their_max_total_htlc_out_msat` and `our_max_total_htlc_out_msat` as the value of `max_htlc_value_in_flight` (as of BOLT02) set by the local and remote nodes on channel creation. Changelog-Deprecated: JSON-RPC: `listpeerchannels` value `max_total_htlc_in_msat`: use `our_max_total_htlc_out_msat` instead to follow spec naming convention.

Commit:ba3e85b
Author:Rusty Russell
Committer:Alex Myers

decode: handle new bip353 fields. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:c22cc11
Author:Rusty Russell
Committer:Alex Myers

fetchinvoice: allow user to specify bip353 name corresponding to how they got offer. Changelog-Added: JSON-RPC: `fetchinvoice` BIP 353 name support (`bip353`). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:b78b323
Author:Rusty Russell
Committer:Alex Myers

lightningd: implement unblacklist. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `blacklistrune` now has an option to un-blacklist (`relist`).

Commit:060368b
Author:michael1011
Committer:ShahanaFarooqui

xpay: add maxdelay parameter Changelog-Added: Plugins: `xpay` now supports a `maxdelay` parameter for better `xpay-handle-pay` compatibility.

Commit:6311a54
Author:Rusty Russell
Committer:Rusty Russell

doc: fix injectpaymentonion schema. I used an unknown arg and it didn't complain. injectpaymentonion's schema predated the sweep which fixed up use of "additionalProperties". Indeed, we were missing some properties! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:cf0bd39
Author:Rusty Russell
Committer:Rusty Russell

injectpaymentionion: allow specification of actual amount which reaches destination. This appears in listsendpays / listpays, and is useful information (if we know!). This doesn't fix old payments, but means that xpay can use this for new payments. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:aaca16d
Author:Rusty Russell
Committer:Rusty Russell

doc: fix injectpaymentonion schema. I used an unknown arg and it didn't complain. injectpaymentonion's schema predated the sweep which fixed up use of "additionalProperties". Indeed, we were missing some properties! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:80c43ec
Author:Rusty Russell
Committer:Rusty Russell

injectpaymentionion: allow specification of actual amount which reaches destination. This appears in listsendpays / listpays, and is useful information (if we know!). This doesn't fix old payments, but means that xpay can use this for new payments. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:2ba05ef
Author:daywalker90
Committer:Rusty Russell

msggen: add missing rpc commands new to 24.11 Changelog-None

Commit:dc878dc
Author:Alex Myers
Committer:Rusty Russell

lightningd: add option for minimum seeker autoconnect peers Changelog-added: Added option --autoconnect-seeker-peers, allowing seeker to reach out to new nodes for additional gossip.

Commit:6f0dbbb
Author:Vincenzo Palazzo
Committer:Vincenzo Palazzo

bolt12: allow to inject payer_metadata Payer metadata is a field that controls the payer ID provided during the fetchinvoice process. There are use cases where this is highly useful, such as proving that the payer has paid for the correct item. Imagine visiting a merchant's website to pay for multiple offers, where one of these offers is a default offer (with no description and no set amount). In this scenario, the merchant could claim not to have received payment for a specific item. Since the same offer may be used to fetch invoices for different products, there needs to be a way to identify which product the invoice corresponds to. With this commit, it will be possible to inject payer metadata, which helps solve the issue described above. For example, possible payer metadata could be `to_hex(b"{payer_node_id}.{product_id}.{created_at}")`. Changelog-Added: JSON-RPC: `fetchinvoice` allows setting invreq_metadata via `payer_metadata` parameter. Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

Commit:809f3b0
Author:Dusty Daemon
Committer:Rusty Russell

close: Print multiple txs; Fixes #6467 Changelog-Changed: `close` now outputs txs & txids of all closing transactions (splice candidates can cause there to be multiple).

Commit:c4e67c0
Author:daywalker90
Committer:Vincenzo Palazzo

add listing options to listpays Changelog-Added: JSON-RPC: `listpays` has `index`, `start` and `limit` parameters for listing control.

Commit:b03f299
Author:Dusty Daemon
Committer:Rusty Russell

splice: Modify splice_signed to work with multiple channels `splice_signed` now searchs the PSBT for channel ids Changelog-Changed: `splice_signed` parameters are switched in order to make `channel_id` an optional parameter, enabling multi-splice-signatures.

Commit:73ad8ea
Author:Dusty Daemon
Committer:Rusty Russell

splice: Allow splice_update to return signatures This is needed to all multi-channel splices. When channeld can return the signatures to the user (based on signing order precedent), it now does from splice_update. Additionally, we move sending of the initial psbt from splice_init down to splice_update. This is also necessary for correct psbt diff detection during multi-channel splices. Changelog-Changed: splice_update can in some cases now return the remotely partiall signed psbt to the user, if so `signtures_secured` will be true.

Commit:7b2c791
Author:Rusty Russell
Committer:Rusty Russell

doc: fix up missing fields from schemas. This allows the next patch (which makes the schemas stricter) to not break our tests. We add some missing fields (including dev fields, but they're empty and hidden), and add a few minor clarifications and a spelling fix. Most of these are new schemas for this release, so no mention in Changelog. Here is the difference in the man pages: --- doc/lightning-askrene-inform-channel.7.md.old 2024-10-29 17:33:07.714521584 +1030 +++ doc/lightning-askrene-inform-channel.7.md 2024-10-29 17:42:37.434280109 +1030 @@ -24,6 +24,8 @@ - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction +- **layer** (string): The name of the layer to apply this change to. +- **timestamp** (u64): The UNIX timestamp when this constraint was created. - **maximum\_msat** (msat, optional): The maximum value which this channel could pass. --- doc/lightning-askrene-listlayers.7.md.old 2024-10-29 17:33:07.716521571 +1030 +++ doc/lightning-askrene-listlayers.7.md 2024-10-29 17:42:37.424280316 +1030 @@ -29,13 +29,16 @@ - **channel\_updates** (array of objects): + - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction this update applies to. + - **enabled** (boolean, optional): True if this can be used, false otherwise. - **htlc\_minimum\_msat** (msat, optional): The minimum value allowed in this direction. - **htlc\_maximum\_msat** (msat, optional): The maximum value allowed in this direction. - **fee\_base\_msat** (msat, optional): The base fee to apply to use the channel in this direction. - **fee\_proportional\_millionths** (u32, optional): The proportional fee (in parts per million) to apply to use the channel in this direction. - - **delay** (u16, optional): The CLTV delay required for this direction. + - **cltv\_expiry\_delta** (u16, optional): The CLTV delay required for this direction. - **constraints** (array of objects): - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction + - **timestamp** (u64, optional): The UNIX timestamp when this constraint was created. - **maximum\_msat** (msat, optional): The maximum value which this channel could pass. --- doc/lightning-askrene-listreservations.7.md.old 2024-10-29 17:33:07.719521550 +1030 +++ doc/lightning-askrene-listreservations.7.md 2024-10-29 17:42:37.428280233 +1030 @@ -16,7 +16,7 @@ -On success, an object containing **layers** is returned. It is an array of objects, where each object contains: +On success, an object containing **reservations** is returned. It is an array of objects, where each object contains: --- doc/lightning-autoclean-status.7.md.old 2024-10-29 17:33:07.732521462 +1030 +++ doc/lightning-autoclean-status.7.md 2024-10-29 17:42:37.441279965 +1030 @@ -9,7 +9,7 @@ -The **autoclean-status** RPC command tells you about the status of the autclean plugin, optionally for only one subsystem. +The **autoclean-status** RPC command tells you about the status of the autoclean plugin, optionally for only one subsystem. --- doc/lightning-renepay.7.md.old 2024-10-29 17:33:07.927520140 +1030 +++ doc/lightning-renepay.7.md 2024-10-29 17:42:37.996268504 +1030 @@ -58,6 +58,9 @@ - **status** (string) (one of "complete", "pending", "failed"): Status of payment. +- **bolt11** (string, optional): The bolt11 invoice paid. *(added v23.08)* +- **bolt12** (string, optional): The bolt12 invoice paid. *(added v23.08)* +- **groupid** (u64, optional): The groupid used for these payment parts (as can be seen in listsendpays) *(added v23.08)* - **destination** (pubkey, optional): The final destination of the payment. --- doc/lightning-sendonion.7.md.old 2024-10-29 17:33:07.937520073 +1030 +++ doc/lightning-sendonion.7.md 2024-10-29 17:42:37.957269309 +1030 @@ -22,7 +22,7 @@ -- **first\_hop** (object): Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute*.: +- **first\_hop** (object): Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute* (so fields not mentioned here are ignored).: Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-EXPERIMENTAL: `renepay` return fields documented in schema (`bolt11`, `bolt12` and `groupid`)

Commit:c2d02f4
Author:Jesse de Wit
Committer:Rusty Russell

cln-grpc: add anchors/even to primitives The `anchors/even` channel type was missing from the grpc bindings. It is now the default channel type, so `fundchannel` over grpc fails with: ``` Failed to deserialize response : unknown variant `anchors/even`, expected one of `static_remotekey/even`, `anchor_outputs/even`, `anchors_zero_fee_htlc_tx/even`, `scid_alias/even`, `zeroconf/even` ``` Changelog-Changed: Channel type `anchors/even` was added to the grpc bindings.

Commit:fd717c7
Author:Rusty Russell
Committer:Rusty Russell

global: deprecate old names in JSON fields, add new ones. Changelog-Added: JSON-RPC: `decode` now used modern BOLT 4 language for blinded paths, `first_path_key`. Changelog-Deprecated: JSON-RPC: `decode` `blinding` in blinded path: use `first_path_key`. Changelog-Added: Plugins: `onion_message_recv` and `onion_message_recv_secret` hooks now used modern BOLT 4 language for blinded paths, `first_path_key`. Changelog-Deprecated: JSON-RPC: `onion_message_recv` and `onion_message_recv_secret` hooks `blinding` in blinded path: use `first_path_key`.

Commit:f9e28b9
Author:Se7enZ
Committer:Christian Decker

keysend: Add `maxfee` to keysend for consistency with pay. ([#7227]) Changelog-Added: keysend: Add `maxfee` to keysend for consistency with pay. ([#7227])

Commit:2798b4b
Author:Jesse de Wit
Committer:ShahanaFarooqui

cln-grpc: add anchors/even to primitives The `anchors/even` channel type was missing from the grpc bindings. It is now the default channel type, so `fundchannel` over grpc fails with: ``` Failed to deserialize response : unknown variant `anchors/even`, expected one of `static_remotekey/even`, `anchor_outputs/even`, `anchors_zero_fee_htlc_tx/even`, `scid_alias/even`, `zeroconf/even` ``` Changelog-Changed: Channel type `anchors/even` was added to the grpc bindings.

Commit:18312a4
Author:laanwj
Committer:ShahanaFarooqui

schemas: "description" field in "wait(any)invoice" is optional since BOLT12 For BOLT12 invoices, the "description" is field missing in the invoice responses. Update the schemas accordingly: - `doc/schemas/lightning-waitanyinvoice.json` - `doc/schemas/lightning-waitinvoice.json` Also commit the generated msggen, cln-grpc, cln-rpc and pyln-grpc-proto files. Changelog-Fixed: schemas: Make description in `Wait(any)invoiceResponse` optional to handle BOLT12

Commit:c8660c8
Author:laanwj
Committer:Rusty Russell

schemas: "description" field in "wait(any)invoice" is optional since BOLT12 For BOLT12 invoices, the "description" is field missing in the invoice responses. Update the schemas accordingly: - `doc/schemas/lightning-waitanyinvoice.json` - `doc/schemas/lightning-waitinvoice.json` Also commit the generated msggen, cln-grpc, cln-rpc and pyln-grpc-proto files. Changelog-Fixed: schemas: Make description in `Wait(any)invoiceResponse` optional to handle BOLT12

Commit:9afc10b
Author:Lagrang3
Committer:ShahanaFarooqui

renepay: add cli option exclude msggen cannot handle the complex type in renepay-exclude, therefore I added a rule override for it, just like pay-exclude. ``` msggen cln-grpc/proto/node.proto Traceback (most recent call last): File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/__main__.py", line 131, in <module> main() File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/__main__.py", line 115, in main run() File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/__main__.py", line 72, in run service = load_jsonrpc_service( ^^^^^^^^^^^^^^^^^^^^^ File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/utils/utils.py", line 241, in load_jsonrpc_service methods = [load_jsonrpc_method(name) for name in grpc_method_names] ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/utils/utils.py", line 209, in load_jsonrpc_method request = CompositeField.from_js(schema["methods"][rpc_name]['request'], path=name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/model.py", line 297, in from_js field = ArrayField.from_js(fpath, ftype) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/model.py", line 464, in from_js itemtype = UnionField.from_js(child_js, path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/rusty/devel/cvs/lightning/contrib/msggen/msggen/model.py", line 393, in from_js itemtype = PrimitiveField( ^^^^^^^^^^^^^^^ TypeError: PrimitiveField.__init__() missing 2 required positional arguments: 'added' and 'deprecated' ``` Signed-off-by: Lagrang3 <lagrang3@protonmail.com> Changelog-EXPERIMENTAL: renepay: add cli option "exclude" to manually disable channels and nodes.

Commit:d32433a
Author:michael1011
Committer:ShahanaFarooqui

bkpr: add payment_id parameter to listaccountevents to filter events. When you have *lots* of events in your bkpr database looking up a specific event via calling bkpr-listaccountevents and using jq or grep to filter gets very slow (and wasteful of CPU and disk resources). This commit adds the paremeter payment_id to the call to filter for a specific payment id via a where clause in the request to the database of bkpr. Changelog-Added: Plugins: Add payment_id parameter to bkpr-listaccountevents to filter events.

Commit:925e90e
Author:Rusty Russell
Committer:Rusty Russell

wire: rename "offer_node_id" to "offer_issuer_id" to match latest BOLT. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:bf54913
Author:Rusty Russell
Committer:Rusty Russell

global: update BOLT12 quotes. This is a final sweep to match the current BOLT12 text: 1563d13999d342680140c693de0b9d65aa522372 ("More bolt12 test vectors.") Only two code changes, to change the order of checks to match the bolt, and to give a warning on decode if a path is empty. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:f2a7b19
Author:Rusty Russell
Committer:Rusty Russell

plugins/offers: handle invreq_paths in invoice_requests, set them if necessary. Changelog-EXPERIMENTAL: offers: `invoicerequest` will set a blinded path if we're an unannounced node. Changelog-EXPERIMENTAL: offers: `sendinvoice` will use a blinded path in an invoice_request, if specified. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:89c182e
Author:ShahanaFarooqui
Committer:Rusty Russell

rpc: Removing `category` and `verbose` from json_command struct

Commit:b485a02
Author:ShahanaFarooqui
Committer:Rusty Russell

rpc: Removing `description` from json_command struct

Commit:3c04b6f
Author:Rusty Russell
Committer:Rusty Russell

lightningd: remove expermential "sendonionmessage" function. It was only ever expermental, so I don't feel bad about just removing it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Removed: JSON-RPC: `sendonionmessage` (was experimental only, use `injectonionmessage`)

Commit:21bc89f
Author:Dusty Daemon
Committer:neil saitug

splice: Add funding outnum Fixes #7005 Changelog-Changed: Added outnum of new funding output to splice_signed RPC command

Commit:05f5976
Author:Vincenzo Palazzo
Committer:Rusty Russell

bolt12: partial support for minimal offer Making sure that we are able to fetch the invoice from an offer without description E pyln.client.lightning.RpcError: RPC call failed: method: offer, payload: {'amount': '2msat'}, error: {'code': -32602, 'message': 'bolt12: Offer does not contain a description: invalid token \'"lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqyppvggz953rvg9rtxj8lalh43z8epwydjfrmffn3y3p5qz5cywpu09rr4vs"\''} Link: https://github.com/ElementsProject/lightning/issues/7405 Link: https://github.com/ElementsProject/lightning/issues/7404 Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>

Commit:7f71e63
Author:Rusty Russell
Committer:Vincenzo Palazzo

doc: fix schema for listconfigs. We never call `listconfigs` in our tests with `experimental-offers` enabled, so we didn't notice that the schema is wrong: it does not expect the "plugin" field in 'fetchinvoice-noconnect'. The next patch folds the fetchinvoice plugin into the offers plugin, which is enabled even if `experimental-offers` isn't (for `decode`), so we notice it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:51e4633
Author:ShahanaFarooqui
Committer:ShahanaFarooqui

docs: notifications schema update Changelog-None.

Commit:84b6601
Author:Rusty Russell
Committer:Rusty Russell

autoclean: remove autocleaninvoice command. Changelog-Removed: JSON-RPC: `autocleaninvoice` command (deprecated v22.11, EOL v24.02) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:d1d9d7e
Author:Rusty Russell
Committer:Rusty Russell

offers: remove deprecated @ prefix. Somehow, this documentation got lost during the Great Rewrite, so restore that too. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-EXPERIMENTAL: JSON-RPC: `offer` removed `@` prefix support from `recurrence_base` (use `recurrence_start_any_period` set to `false`)

Commit:e5a1d93
Author:Se7enZ
Committer:Alex Myers

msggen: Include AddPsbtOutput to RPC list and meta field map; regenerate libraries

Commit:5047bc6
Author:daywalker90
Committer:Christian Decker

msggen: add emergencyrecover, recover, recoverchannel methods Changelog-None

Commit:5510445
Author:daywalker90
Committer:Christian Decker

msggen: add funderupdate method Changelog-None

Commit:bd1123c
Author:daywalker90
Committer:Christian Decker

msggen: add help method Changelog-None

Commit:c8d88c9
Author:daywalker90
Committer:Christian Decker

msggen: fix invoice request missing exposeprivatechannels Changelog-None

Commit:6acfca7
Author:daywalker90
Committer:Christian Decker

msggen: add routes to decode and decodepay Changelog-None

Commit:c9a9d62
Author:daywalker90
Committer:Christian Decker

msggen: add listinvoicerequests, disableinvoicerequest, invoicerequest methods Changelog-None

Commit:f83732f
Author:daywalker90
Committer:Christian Decker

msggen: add makesecret method Changelog-None

Commit:21446c3
Author:daywalker90
Committer:Christian Decker

msggen: add multiwithdraw method Changelog-None

Commit:19646f9
Author:daywalker90
Committer:Christian Decker

msggen: add showrunes method Changelog-None

Commit:473694c
Author:daywalker90
Committer:Christian Decker

msggen: add createrune method

Commit:b4c0617
Author:daywalker90
Committer:Christian Decker

msggen: add blacklistrune method

Commit:1dd16f7
Author:daywalker90
Committer:Christian Decker

msggen: add listconfigs method Changelog-None

Commit:5430b65
Author:daywalker90
Committer:Christian Decker

msggen: add checkrune method

Commit:16c036e
Author:daywalker90
Committer:Christian Decker

msggen: add dev-forget-channel method Changelog-None

Commit:fa43d3e
Author:Erik De Smedt
Committer:Christian Decker

msggen: Add notifications to proto-file

Commit:83cc6c4
Author:Erik De Smedt
Committer:Christian Decker

msggen: Schema for ConnectNotification + collisions The schema in the docs for the `ConnectNotification` was faulty. I've already fix this in https://github.com/ElementsProject/lightning/pull/7085 The new schema is ``` { "connect" : { "address" : { "address" : "127.0.0.1", "port" : 38012, "type" : "ipv4" }, "direction" : "in", "id" : "022d223620a359a47ff7f7ac447c85c46c923da53389221a0054c11c1e3ca31d59" } } ``` The `address` in the `connect` field will be encoded in protobuf as `ConnectAddress`. However, this collides with the `ConnectAddress` that is defined in the `connect` rpc-method. This commit - Updates the schema in `doc/schemas/notification/connect.json` - Changes `msggen` to include an override to `PeerConnect` for any notification typename that starts with `Connect` Both have an `address` field which is a composite type. This results in naming collisions schema's: Updated schema for connect-notification schema for connect notification + overrides Override ConnectAddress to `PeerConnectAddress` in protobuf for notifications

Commit:686dae2
Author:Erik De Smedt
Committer:Christian Decker

msggen : Add notification-messages to proto-file

Commit:eea9c82
Author:Erik De Smedt
Committer:Christian Decker

msggen: Choose better when a subfield is optional **Problem Description** In previous commits I introduced some new fields to `msggen`. One example is `CustomMsgResponse` in `cln-grpc/src/notification.rs`. ```rust pub struct CustomMsgResponse { #[serde(skip_serializing_if = "Option::is_none")] pub peer_id: Option<PublicKey>, #[serde(skip_serializing_if = "Option::is_none")] pub payload: Option<String>, } ``` The `peer_id` and `payload` are required parameters. However, the generated code is still marking them as `Optional`. This is a choice made by `msggen`. It does this because `payload` and `peer_id` are recently added fields. By marking the field as optional the language bindings would also work when used on an older version of Core-Lightning. In this scenario. Marking them as optional is overkill. The `CustomMsgStruct` and `payload` field are created in the same version of CoreLightning. This commit solves this behavior.

Commit:5ed04c9
Author:daywalker90
Committer:Christian Decker

msggen: add sendonionmessage method Changelog-None

Commit:ad31a18
Author:daywalker90
Committer:Christian Decker

msggen: add setconfig method Changelog-None

Commit:8edd3d4
Author:daywalker90
Committer:Christian Decker

msggen: add setpsbtversion method Changelog-None

Commit:c1c6763
Author:daywalker90
Committer:Christian Decker

msggen: add upgradewallet method Changelog-None

Commit:15f0bea
Author:daywalker90
Committer:Christian Decker

msggen: add reserveinputs method Changelog-None

Commit:9f9b59d
Author:daywalker90
Committer:Christian Decker

msggen: add unreserveinputs method Changelog-None

Commit:04a2ad6
Author:daywalker90
Committer:Christian Decker

msggen: add splice_signed method

Commit:dab9605
Author:daywalker90
Committer:Christian Decker

msggen: add splice_update method

Commit:5c0f25f
Author:daywalker90
Committer:Christian Decker

msggen: add plugin method Changelog-None

Commit:9538ecc
Author:daywalker90
Committer:Christian Decker

msggen: add renepay method Changelog-None

Commit:54e1c78
Author:daywalker90
Committer:Christian Decker

msggen: add renepaystatus method Changelog-None

Commit:047faf1
Author:daywalker90
Committer:Christian Decker

msggen: add sendinvoice method Changelog-None

Commit:cb2c496
Author:Rusty Russell
Committer:Rusty Russell

bolt12: allow first_node_id in blinded path to be a scid. We don't actually support it yet, but this threads through the type change, puts it in "decode" etc. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:e3c600b
Author:Ken Sedgwick
Committer:Rusty Russell

logging: add TRACE between DEBUG and IO By moving super-noisy debugging logging to new TRACE level we can make long-term logging at DEBUG possible w/o removing any logging. Addresses ([#7279]) Related Issues: https://github.com/ElementsProject/lightning/issues/6927 https://github.com/chrisguida/smaug/issues/34 https://github.com/ZmnSCPxj/clboss/issues/194

Commit:cf5e882
Author:ShahanaFarooqui
Committer:Christian Decker

plugin/clnrest: Adding new config param as `clnrest-swagger-root` - Updated config params and plugin - Updated documentation Changelog-Added: Added a new configuration for clnrest plugin to change the default Swagger UI path from `/` to custom url.

Commit:3189ff6
Author:daywalker90
Committer:Christian Decker

msggen: add getlog method Changelog-None

Commit:14fea4b
Author:daywalker90
Committer:Christian Decker

msggen: add missing bkpr-* methods Changelog-None

Commit:7317bb1
Author:daywalker90
Committer:Christian Decker

msggen: add delforward method Changelog-None

Commit:448f4c0
Author:daywalker90
Committer:Christian Decker

msggen: add low level fundchannel methods Changelog-None

Commit:c80a70d
Author:daywalker90
Committer:Christian Decker

msggen: add methods autoclean-once and autoclean-status, fix bkpr-listincome Changelog-None

Commit:2d0778e
Author:daywalker90
Committer:Christian Decker

msggen: add delpay method

Commit:fe180e1
Author:daywalker90
Committer:Rusty Russell

msggen: add low level openchannel methods Changelog-None

Commit:ada4de1
Author:daywalker90
Committer:Christian Decker

msggen: fix walk through nested json schemas Changelog-None

Commit:58b78d2
Author:daywalker90
Committer:Christian Decker

schema: add multifundchannel generation Changelog-None

Commit:7e0e394
Author:Rusty Russell
Committer:Rusty Russell

lightningd: remove delexpiredinvoice Changelog-Removed: JSON-RPC: `delexpiredinvoice` (deprecated v22.11, EOL v24.02) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:4e086f2
Author:Rusty Russell
Committer:Rusty Russell

lightningd: remove `channels` from `listpeers`. Changelog-Removed: JSON-RPC: `listpeers` `channels` (deprecated v23.02, EOL v24.02) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:4a9b9b8
Author:Rusty Russell
Committer:Rusty Russell

pay: add `partial_msat` option to make partial payment. a.k.a. "Pay with a friend!". Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `pay` has a new parameter `partial_msat` to only pay part of an invoice (someone else presumably will pay the rest at the same time!) Suggested-by: Calle

Commit:d7cc1e4
Author:Rusty Russell
Committer:Rusty Russell

doc: Updated parameter descriptions for *.request.json Added descriptions for rpc command parameters This also performs the following fixes: 1. delforward parameters are compulsory (required). 2. disableinvoicerequest request added `added` field. 3. invoice request order fixed (label then description, not vice-versa!). 4. listpeers log levels are a proper enum 5. description parameter documented for sendonion requests. 6. deprecatred amount_msat removed from sendpay request. 7. sendpay request partid type fixed to u64 (was u16!) 8. sendpay request localinvreqid type tightened to hash (was hex) 9. sendpay request payment_metadata and description fields documented. 10. sendpsbt request reserve type fixed to u32 (was boolean) 11. utxopsbt request satoshi type fixed to msat_or_all (was msat) 12. withdraw request parameter satoshi is compulsory (required) 13. fundchannel_start request amount is sat, not msat_or_all. 14. openchannel_init request amount is sat, not msat 15. openchannel_init close_to is a string, not hex. 16: invoice labels can be strings OR numbers. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:418ecf3
Author:ShahanaFarooqui
Committer:Rusty Russell

script: Update scripts - Update `make doc-all` script - `fromschema.py` script - Updated to generate whole doc/lightning-*.md via doc/schemas/lightning-*.json file - Updated to print request params - Added `oneOfMany` condition for request params - Added `pairedWith` condition for request params - Added `dependentUpon` condition for request params - Updated for pre and post_return_value for response - Hiding `hidden` fields - `descriptions` are array now - Unified gaps between titles - Added default key-value pair - script: msggen, sql-schema, listconfig and pyln-testing script updates This does not add created markdowns for cleaner review. We will add the markdown files in a separate commit.

Commit:ee00f84
Author:Rusty Russell
Committer:Rusty Russell

JSON: don't return a raw result string for "stop" and "recover". In general, results should always be an object, so we can add new fields later (e.g. warnings!). But we violated this for "stop", and when "recover" used the same infrastructure, it started doing the same thing. I'm assuming nobody cares, so we don't need to do a deprecation cycle. Changelog-Changed: JSON-RPC: `stop` and `recover` now return a JSON object (not a raw string!) like every other command does. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

Commit:9acc1d7
Author:Aditya Sharma
Committer:Christian Decker

peer_control: Add lost_state param inside listpeerchannels rpc, which'd help us identify if we've fall behind or lost some state.

Commit:09d32ec
Author:Christian Decker
Committer:Christian Decker

doc: Fix schema for `offer.amount`, it can be a non-BTC unit too The `amount` field is intended to be either a native unit (`msat`, `sat` or `btc`) or it can also be a non-native unit that needs to be converted into native when creating the invoice. As such limiting the `amount` to only be native is very restrictive.