These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | ff9e556 | |
|---|---|---|
| Author: | NÃckolas Goline | |
| Committer: | NÃckolas Goline | |
common: add `OPT_SIMPLE_CLOSE` feature bit (60/61) features.h: Reserves bits 60/61 for `option_simple_close` per BOLT2. features.c: Add `OPT_SIMPLE_CLOSE` to `feature_styles[]` and declare the correct `feature_name`. tests/test_closing.py: Update options on `test_simple_close_...` to include `{experimental-simple-close: None}`. lightningd/options.c: Register noarg option for simple close. doc/schemas/listconfigs.json: add `experimental-simple-close` to config targeting v26.08. doc/lightningd-config.5.md: Specify `experimental-simple-close` option. contrib/pyln-testing/pyln/testing/utils.py: Allow setting `EXPERIMENTAL_SIMPLE_CLOSE` on tests. Generated files after modifying sources.
The documentation is generated from this commit.
| Commit: | 46b039d | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | daywalker90 | |
schemas: add offer_id to invoice_creation notification Also partially reverts f96099691bee5df41c4ce87f396bcabad0d547d3 which was not properly rebased Changelog-None
| Commit: | 11b8324 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Madeline | |
msggen: fix non-determinism edge case After adding back some fields in 62d1e3e405f722e7363d8e8dbc427039a12c421a there is one field that was in a different place sometimes in node.proto: DecodeInvoicePathsPath Changelog-None
| Commit: | 62d1e3e | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
msggen: remove most omits and generate them instead Changelog-None
| Commit: | b2fc984 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
schemas: remove obsolete fields in decode
| Commit: | aeab451 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | daywalker90 | |
msggen: add createproof, xkeysend and graceful generation Fixed UnionField added and deprecated propagation New primitive ProofField for createproof Changelog-None
| Commit: | 938bdea | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Madeline | |
schemas: remove old deprecations, add missing deprecations/added fields Also made fields not go optional if they are deprecated in the case that their parent is also deprecated. This makes more sense imo when you deprecate a whole command. I added deprecation annotation for the .proto file as well so that later in the convert.rs file it properly annotates everything to allow for deprecated stuff. Also fixed one propagation bug for the added/deprecated fields, that's why there are some additional changes of some fields. Changelog-None
| Commit: | 4f8b041 | |
|---|---|---|
| Author: | enaples | |
| Committer: | daywalker90 | |
schemas: added `source` field to `currencyrate` Changelog-Added: `currencyrate` can now take a `source` argument to get the rate of a specific source
| Commit: | bd71651 | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
xpay: add sendamount command Changelog-Added: sendamount command, to make a payment specifying the desired amount to send instead of the amount to be received. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | 902242b | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
askrene: askrene-remove-channel-update Changelog-Added: askrene: askrene-remove-channel-update, a new RPC to remove channel_update entries from layers. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | e9fee87 | |
|---|---|---|
| Author: | wqxoxo | |
| Committer: | Rusty Russell | |
setconfig: fix crash on dynamic multi-value plugin options We had an assert(!(ot->type & OPT_MULTI)) which crashed when using setconfig on a plugin option marked as both dynamic and multi. The fix changes plugin_set_dynamic_opt to accept an array of values (scalar options pass a 1-element array, multi options pass the complete set). For multi options, setconfig replaces ALL values atomically - an empty array clears them. Fixes: #8295 Changelog-Fixed: setconfig no longer crashes on dynamic multi-value plugin options
| Commit: | 8dd682d | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
sendpay: ignore unknown `route` fields, but take the `getroutes`-style ones. Changelog-Added: JSON-RPC: `sendpay` now accepts one of the `paths` returned from `getroutes` as its `route` parameter. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 6206d02 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
getroutes: return more detailed fields in routes[]. This reflects a long-standing complaint from @lagrang3 when the API was first implemented, and I should have listened. In particular, the impedance mismatch with the sendpay API is annoying. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `getroutes` `route` explicit fields `node_id_in`, `node_id_out`, `amount_in_msat`, `amount_out_msat`, `cltv_in`, `cltv_out`.
| Commit: | 72f4cae | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
xpay: add a CLTV shadow for single non-blinded paths. BOLT 7 recommends this. pay did it: in fact, pay would also add sats, but that's much more difficult and fraught, so only do CLTV. Changelog-Added: Protocol: `xpay` now uses shadow CLTV additions to help mask final destination as per BOLT 7. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 1a9631c | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
xpay: add `label` and `localinvreqid` params This bring us closer to pay parity, and `localinvreq` is needed for invoicerequest payments. Changelog-Added: JSON-RPC: `xpay` now accepts `label` and `localinvreqid` parameters (like `pay`). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | eb4655c | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
injectpaymentonion: add explicit `destination` option. This allows us to correctly annotate the destination in listsendpays even if invstring isn't set (xkeysend). Changelog-Added: JSON-RPC: `injectpaymentonion` parameter `destination`. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | bf55e58 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
decode / bolt12-cli: add missing invreq_recurrence_cancel field. We missed this. It's experimental, so no changelog needed. Spotted-by: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | d477db4 | |
|---|---|---|
| Author: | Vincenzo Palazzo | |
| Committer: | Rusty Russell | |
common: add bolt12 payer proof support (decode) [Adapted for my decode routines --RR] Changelog-EXPERIMENTAL: JSON-RPC: `decode` now supports the `lnp` payer proof format.
| Commit: | 98ba9eb | |
|---|---|---|
| Author: | Aditya Sharma | |
| Committer: | Sangbida | |
chanbackup: make getemergencyrecoverdata rpc more verbose Adding more information to geremergencyrecoverdata, to let users know if they are using legacy file format and the list of all the backed up channel ids. Key Changes: - Added: 1. can_create_penalty: To let user know if they need to update the file. 2. backed_up_channel_ids: List of all the backed up channels Changelog-Changed: Made getemergencyrecoverdata more verbose.
| Commit: | 842a8f3 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | daywalker90 | |
crates: add JsonObjectOrArray and JsonScalar types for raw json rpc parameters We use it later for the `rpc_command` hook Changelog-None
| Commit: | 9b128d6 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Sangbida | |
msggen: add bkpr-report rpc method Changelog-None
| Commit: | fabf4e8 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Sangbida | |
msggen: add `splicein` and `spliceout` rpc methods Changelog-None
| Commit: | 8b6374e | |
|---|---|---|
| Author: | Peter Neuroth | |
| Committer: | Sangbida | |
msggen: generate native notification bindings from schemas Expand the native notification list consumed by msggen and regenerate the Rust and gRPC outputs for the documented notification schemas. This wires the new schema-backed native notifications through cln-rpc, cln-grpc, and the bundled msggen schema metadata. Keep the temporary xpay-prefixed plugin notifications out of generation for now. coin_movement.extra_tags remains a repeated string in the generated gRPC surface for now because msggen does not currently emit enums nested under repeated array items correctly. Changelog-Changed: cln-rpc and cln-grpc now expose notification bindings for balance_snapshot, coin_movement, deprecated_oneshot, disconnect, forward_event, invoice_creation, invoice_payment, log, onionmessage_forward_fail, openchannel_peer_sigs, plugin_started, plugin_stopped, sendpay_failure, sendpay_success, shutdown, and warning. msggen: generate xpay notification bindings Treat xpay as a built-in plugin for notification generation and include its documented notification schemas in the msggen output. This extends the generated cln-rpc and cln-grpc notification surfaces with the flat xpay schema files, while exposing the actual notification names `pay_part_start` and `pay_part_end` in generated APIs. Changelog-Changed: cln-rpc and cln-grpc now expose xpay notification bindings for `pay_part_start` and `pay_part_end`.
| Commit: | c5eb02b | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
createonion: add `force_paths` parameter. We simply store it in the db, and return it with `listoffers` for now. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | b4a9dc5 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Christian Decker | |
schemas: make `direction` in `listpeerchannels` a u32 everywhere else it's a u32 aswell, an `integer` makes it a i64 but possible values are only 0 and 1 Changelog-None
| Commit: | 9824cb6 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Sangbida | |
msggen: add currencyconvert, currencyrate and listcurrencyrates. I used daywalker's hack to patch.py to make this work: ``` if f.added is None and 'added' not in m: m['added'] = 'v26.04' ``` Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 0ced9a8 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Sangbida | |
bookeeper: add currencyrate to bkpr-listaccounts if we recorded it. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 420f266 | |
|---|---|---|
| Author: | Dusty Daemon | |
| Committer: | Sangbida | |
ld: Expose splice feerate to RPC Adds the new `splice` feerate to the RPC
| Commit: | f755313 | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
askrene-unreserve: add dev_remove_all option Changelog-None Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | c25183f | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Sangbida | |
msggen: raise oldest supported version to v24.11
| Commit: | 2044a91 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Sangbida | |
msggen: propagate added and deprecated fields Whenever we want to add a new rpc command or notification in msggen's `util.py` we get an error during `make` that the `added` field of that new command or notification is missing even when it's clearly not. We had to uncomment 2 lines in `patch.py` and override any missing `added` annotation to get it running. We now pass any `added` or `deprecated` fields from the parent object correctly so we no longer have to do this. Unfortunately we have commited wrong metadata to `.msggen.json` in the past. This commit also includes missing `added` annotation for commands added after the `pre-v0.10.1` cutoff and manual fixes of the metadata in `.msggen.json`
| Commit: | db1ad9c | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
currencyrate: rename to cln-currencyrate, change options to currencyrate-add/disable-source. @daywalker90's was a little *too* faithful a reimplementation of the Python one! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 09585ee | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
currencyrate: new rust plugin to provide the `currencyconvert` API Changelog-Added: new plugin currencyrate to provide `currrencyconvert` API
| Commit: | 2971f5d | |
|---|---|---|
| Author: | Peter Neuroth | |
| Committer: | Christian Decker | |
lightningd: add channel_id filter to listpeerchannels Sometimes we don't know the short_channel_id yet (e.g the channel has not been broadcasted), but we still know the channel_id from the funding transaction. Add a channel_id filter to listpeerchannels and clarify that id, short_channel_id and channel_id are mutually exclusive. Changelog-Added: `listpeerchannels` now accepts a `channel_id` filter, for cases where the `short_channel_id` is not known yet. Signed-off-by: Peter Neuroth <pet.v.ne@gmail.com>
| Commit: | 64e4519 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
offers: allow explicit fronting nodes for an offer. The next commit makes us honor these when issuing a payment. Changelog-Added: JSON-RPC: `offer` now has a `fronting_nodes` option to specify neighbors for payer to use to fetch invoices and make payments. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 9831467 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: remove tx and txid fields from close response. Changelog-Removed: JSON-RPC: `close` `tx` and `txid` field (use `txs` and `txids`), deprecated v24.11. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 592f858 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: remove `decodepay`. Changelog-Removed: JSON-RPC: `decodepay` (use `decode`), deprecated v24.11. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | d03cf82 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
clnrest: add clnrest-register-path method for dynamic paths Changelog-Added: clnrest: add clnrest-register-path rpc method to register dynamic paths
| Commit: | 54af71c | |
|---|---|---|
| Author: | ShahanaFarooqui | |
| Committer: | ShahanaFarooqui | |
doc: Added doc schemas with description and update proto
| Commit: | bcdce8f | |
|---|---|---|
| Author: | nazarevsky | |
| Committer: | ShahanaFarooqui | |
cln-rpc: update schema, update proto for xpay payer_note field
| Commit: | 98a188b | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Christian Decker | |
doc: document the direction field in listpeerchannels. We mentioned it in the schema (so it was allowed), but we didn't document it! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 62ee437 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
askrene: add optional layers to reservations. We have the issue of aliases: xpay uses scids like 0x0x0 for routehints and blinded paths, and then can apply reservations to them. But generally, reservations are *global*, so we need to differentiate. Changelog-Added: Plugins: `askrene-reserve` and `askrene-unreserve` can take an optional `layer` inside `path` elements. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | ea0b804 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
doc: include delnetworkevent in generated documentation, and grpc. Also added missing "added" annotation. This meant that I had to manually change contrib/msggen/msggen/patch.py to insert that added notation where it was missing from .msggen.json. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-None: introduced this release.
| Commit: | d125b3c | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
msggen: add missing methods from v25.12 Changelog-None
| Commit: | ab73388 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
msggen: add missing methods from v25.09
| Commit: | b74d32f | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: add withhold option to fundchannel_complete. This is just a polite way of telling us that if we close, don't bother broadcasting since we didn't broadcast the funding tx. Changelog-Added: JSON-RPC: `fundchannel_complete` new parameter `withhold` (default false). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 3934996 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: add withheld flag to listpeerchannels and listclosedchannels. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `listpeerchannels` `funding` object `withheld` flag, and `listclosedchannels` `funding_withheld` flags, indicating fundchannel_complete was called with the `withheld` parameter true.
| Commit: | cbfe1a9 | |
|---|---|---|
| Author: | Matt Whitlock | |
| Committer: | Rusty Russell | |
lightningd: notify plugins when finalizing channel Changelog-Added: Plugins now receive `channel_state_changed` notification upon final change to `CLOSED` state.
| Commit: | 1102d80 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
askrene: add optional layers to reservations. We have the issue of aliases: xpay uses scids like 0x0x0 for routehints and blinded paths, and then can apply reservations to them. But generally, reservations are *global*, so we need to differentiate. Changelog-Added: Plugins: `askrene-reserve` and `askrene-unreserve` can take an optional `layer` inside `path` elements. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 4f1c880 | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
askrene: add askrene-bias-node rpc Changelog-Added: askrene-bias-node: an RPC command to set a bias on node's outgoing or incoming channels. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | 5769beb | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
askrene: add timestamp to biases We add one more field to biases: "timestamp". With the timestamp variable old biases can be removed with the askrene-age command. Changelog-Added: Plugins: askrene channel biases now have an associated timestamp, and are timed out by askrene-age Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | e9f3aaf | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
docs: fix htlc states description regarding direction Changelog-None
| Commit: | ec05e5d | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
autoclean: clean network events (30 days by default). We also document this in the listnetworkevents command itself. The test_autoclean_once was getting repetitive, so I cleaned that up too. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: `autoclean` will remove networkevents after 30 days by default.
| Commit: | 3b33294 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: implement listnetworkevents. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | de9c630 | |
|---|---|---|
| Author: | Sangbida Chaudhuri | |
| Committer: | Rusty Russell | |
exposesecret: Add support for mnemonic-based HSM secrets Update the exposesecret plugin to work with the new unified HSM secret format that supports BIP39 mnemonics. Changelog-Added - exposesecret now has a mnemonic field
| Commit: | 54444e4 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
BOLT12: Update recurrence to latest spec draft. Changes: * Fields renumbered to their draft values + billion. * offer_recurrence now comes in compulsory or optional (backwards compat) flavors. * `proportional_amount` is now inside `offer_recurrence_base` not `offer_recurrence_paywindow`. * New field `invreq_recurrence_cancel`. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-EXPERIMENTAL: Draft specification for recurring offers changed: old recurring offers will no longer work.
| Commit: | e7ea57e | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
BOLT12: Remove `start_any_period` from recurrence_base. Offer_absolute_expiry should be used if you want to require starting at the start. Changelog-EXPERIMENTAL: Protocol: BOLT 12 recurrence `start_any_period` removed, use expiry if you need to restrict when they can start using the offer.
| Commit: | 6c626b1 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: add chainmoves and channelmoves to wait command. Only makes sense to wait on creation, since they neither are deleted nor updated. We also enhance the list commands to take the standard index options. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Added: JSON-RPC: `wait`: new subsystems `chainmoves` and `channelmoves`.
| Commit: | 9680404 | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
doc/schemas: add websocket to type in doc/schemas/notification/connect.json This is done by tests/test_connection.py::test_websocket: ``` { "jsonrpc": "2.0", "method": "connect", "params": { "connect": { "id": "031b84c5567b126440995d3ed5aaba0565d71e1834604819ff9c17f5e9d5dd078f", "direction": "in", "address": { "type": "websocket", "subtype": "ipv4", "address": "127.0.0.1", "port": 59412 } } } } ``` Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | a686bda | |
|---|---|---|
| Author: | Rusty Russell | |
| Committer: | Rusty Russell | |
lightningd: deprecate `null` short_channel_id and `unknown` old_state in channel_state_changed notification We always prefer to omit fields rather than use 'null' (or unknown!). Note that before this, the schema was broken, so we have to put a special exemption in for that case. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| Commit: | 0c5c7a5 | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
askrene: add maxparts Changelog-Added: askrene: add a new parameter maxparts to getroutes that limits the number of routes in the solution. Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| Commit: | e3e4116 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Rusty Russell | |
cln-bip353: add plugin that fetches payment instructions from human readable addresses Changelog-Add: new plugin cln-bip353 that can fetch BIP-353 payment instructions from human readable addresses
| Commit: | 529337a | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Christian Decker | |
msggen: add signmessagewithkey Changelog-None
| Commit: | a90de8d | |
|---|---|---|
| Author: | Lagrang3 | |
| Committer: | Rusty Russell | |
sendonion: add total_amount_msat parameter Changelog-Added: sendonion: a new paramter total_amount_msat to make MPP payments with sendpay and sendonion compatible. [ Reordered to put new parameter at the end --RR ] Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
| 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>
| 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: | 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: | 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: | 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: | 3e46103 | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Alex Myers | |
msggen: add InjectOnionMessage Changelog-None
| Commit: | 5dab24f | |
|---|---|---|
| Author: | daywalker90 | |
| Committer: | Alex Myers | |
msggen: add channel_state_changed notification Changelog-None
| 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: | 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: | 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: | 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: | 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: | 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: | 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: | 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.