Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
ae4a1f5
multiwithdraw: use unique ids on requests.
rustyrussell May 18, 2026
9cbfe89
libplugins: JSON ids are always strings.
rustyrussell May 19, 2026
5abc690
libplugin: json_id: guard against weird prefixes
Lagrang3 Jul 14, 2026
064ede7
lightningd: internal cleanups since all non-command JSON IDs are stri…
rustyrussell May 19, 2026
a976a10
common: hoist hash_str helper into its own header.
rustyrussell May 19, 2026
add147d
common: implement str_to_u64, make json_to_u64 use it.
rustyrussell May 19, 2026
6ae08f9
Add unit tests for str_to_u64
Lagrang3 Jun 17, 2026
81718dd
common: hoist amount+currency parsing into common code.
rustyrussell May 19, 2026
10e8d0d
askrene: add APIs for "impressions" which are *relative* constraints.
rustyrussell May 20, 2026
10ddf2d
downgrade: we need to remove "impressions" from askrene datastore whe…
rustyrussell May 20, 2026
e4f1c6c
downgrade tool: fix invalid memory bug
Lagrang3 Jul 21, 2026
ab355bf
add a test for downgrading askrene datastore
Lagrang3 Jul 21, 2026
febccdc
xpay: fakenet test: skip temporarily
Lagrang3 Jul 6, 2026
e450d63
xpay: actually tell askrene when a payment succeeded.
rustyrussell May 20, 2026
bcf9017
askrene: correctly order constraints.
rustyrussell May 20, 2026
427d9b7
common: add helper to remove a range of elements
Lagrang3 Jun 18, 2026
d6361ab
askrene: don't leak channel intel entries
Lagrang3 Jun 18, 2026
d6b00ff
xpay: trim constraints: small optimization
Lagrang3 Jun 25, 2026
22b4d2a
askrene: safer iterating over changing htable
Lagrang3 Jul 14, 2026
94ec37f
pytest: add tests for what we want askrene to do.
rustyrussell May 20, 2026
12b1409
askrene: give clearer error codes.
rustyrussell May 20, 2026
9303ac7
xpay: tests should expect the new error messages
Lagrang3 Jun 22, 2026
a2f8df9
askrene: explain failure: add known enabled case
Lagrang3 Jun 26, 2026
fd03e45
offers: limit invoices to 10 minutes for recurring offers in other cu…
rustyrussell May 20, 2026
74b5082
offers: limit expiry to offer limit, or 10 minutes with currency conv…
rustyrussell May 20, 2026
ff67d5e
fetchinvoice: don't bother with checking recurrence timing.
rustyrussell May 20, 2026
b3e4919
lightningd: don't do previous invoice checking in createinvoicerequest.
rustyrussell May 20, 2026
f88c37c
fetchinvoice: handle weird labels in recurrence_label parameter.
rustyrussell May 20, 2026
3a3af52
askrene: test explain: fix flake
Lagrang3 Jul 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,7 @@ jobs:
LIGHTNINGD_POSTGRES_NO_VACUUM: 1
VALGRIND: ${{ matrix.VALGRIND }}
PREV_LIGHTNINGD: old-cln/usr/bin/lightningd
CLN_PREV_VERSION: v26.06
PYTEST_OPTS: ${{ env.PYTEST_OPTS_BASE }}
run: |
env
Expand Down
73 changes: 72 additions & 1 deletion .msggen.json
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,7 @@
"AskRene-Create-Layer.layers[].created_channels[]": 5,
"AskRene-Create-Layer.layers[].disabled_channels[]": 4,
"AskRene-Create-Layer.layers[].disabled_nodes[]": 3,
"AskRene-Create-Layer.layers[].impressions[]": 10,
"AskRene-Create-Layer.layers[].layer": 1,
"AskRene-Create-Layer.layers[].node_biases[]": 9,
"AskRene-Create-Layer.layers[].persistent": 2
Expand Down Expand Up @@ -789,6 +790,11 @@
"AskRene-Create-Layer.layers[].created_channels[].short_channel_id": 3,
"AskRene-Create-Layer.layers[].created_channels[].source": 1
},
"Askrene-create-layerLayersImpressions": {
"AskRene-Create-Layer.layers[].impressions[].amount_msat": 1,
"AskRene-Create-Layer.layers[].impressions[].short_channel_id_dir": 2,
"AskRene-Create-Layer.layers[].impressions[].timestamp": 3
},
"Askrene-create-layerLayersNodeBiases": {
"AskRene-Create-Layer.layers[].node_biases[].description": 4,
"AskRene-Create-Layer.layers[].node_biases[].in_bias": 2,
Expand Down Expand Up @@ -821,6 +827,12 @@
"AskRene-Inform-Channel.constraints[].short_channel_id_dir": 1,
"AskRene-Inform-Channel.constraints[].timestamp": 3
},
"Askrene-inform-channelImpressions": {
"AskRene-Inform-Channel.impressions[].amount_msat": 1,
"AskRene-Inform-Channel.impressions[].layer": 2,
"AskRene-Inform-Channel.impressions[].short_channel_id_dir": 3,
"AskRene-Inform-Channel.impressions[].timestamp": 4
},
"Askrene-inform-channelRequest": {
"AskRene-Inform-Channel.amount_msat": 7,
"AskRene-Inform-Channel.direction": 3,
Expand All @@ -833,7 +845,8 @@
},
"Askrene-inform-channelResponse": {
"AskRene-Inform-Channel.constraint": 1,
"AskRene-Inform-Channel.constraints[]": 2
"AskRene-Inform-Channel.constraints[]": 2,
"AskRene-Inform-Channel.impressions[]": 3
},
"Askrene-listlayersLayers": {
"AskRene-ListLayers.layers[].biases[]": 8,
Expand All @@ -842,6 +855,7 @@
"AskRene-ListLayers.layers[].created_channels[]": 3,
"AskRene-ListLayers.layers[].disabled_channels[]": 6,
"AskRene-ListLayers.layers[].disabled_nodes[]": 2,
"AskRene-ListLayers.layers[].impressions[]": 10,
"AskRene-ListLayers.layers[].layer": 1,
"AskRene-ListLayers.layers[].node_biases[]": 9,
"AskRene-ListLayers.layers[].persistent": 5
Expand Down Expand Up @@ -880,6 +894,11 @@
"AskRene-ListLayers.layers[].created_channels[].short_channel_id": 3,
"AskRene-ListLayers.layers[].created_channels[].source": 1
},
"Askrene-listlayersLayersImpressions": {
"AskRene-ListLayers.layers[].impressions[].amount_msat": 1,
"AskRene-ListLayers.layers[].impressions[].short_channel_id_dir": 2,
"AskRene-ListLayers.layers[].impressions[].timestamp": 3
},
"Askrene-listlayersLayersNodeBiases": {
"AskRene-ListLayers.layers[].node_biases[].description": 4,
"AskRene-ListLayers.layers[].node_biases[].in_bias": 2,
Expand Down Expand Up @@ -4897,6 +4916,22 @@
"added": "v24.11",
"deprecated": null
},
"AskRene-Create-Layer.layers[].impressions[]": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Create-Layer.layers[].impressions[].amount_msat": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Create-Layer.layers[].impressions[].short_channel_id_dir": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Create-Layer.layers[].impressions[].timestamp": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Create-Layer.layers[].layer": {
"added": "v24.11",
"deprecated": null
Expand Down Expand Up @@ -5005,6 +5040,26 @@
"added": "v24.11",
"deprecated": null
},
"AskRene-Inform-Channel.impressions[]": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Inform-Channel.impressions[].amount_msat": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Inform-Channel.impressions[].layer": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Inform-Channel.impressions[].short_channel_id_dir": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Inform-Channel.impressions[].timestamp": {
"added": "v26.09",
"deprecated": null
},
"AskRene-Inform-Channel.inform": {
"added": "v24.11",
"deprecated": null
Expand Down Expand Up @@ -5169,6 +5224,22 @@
"added": "v24.11",
"deprecated": null
},
"AskRene-ListLayers.layers[].impressions[]": {
"added": "v26.09",
"deprecated": null
},
"AskRene-ListLayers.layers[].impressions[].amount_msat": {
"added": "v26.09",
"deprecated": null
},
"AskRene-ListLayers.layers[].impressions[].short_channel_id_dir": {
"added": "v26.09",
"deprecated": null
},
"AskRene-ListLayers.layers[].impressions[].timestamp": {
"added": "v26.09",
"deprecated": null
},
"AskRene-ListLayers.layers[].layer": {
"added": "v24.11",
"deprecated": null
Expand Down
22 changes: 22 additions & 0 deletions cln-grpc/proto/node.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions cln-grpc/src/convert.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 29 additions & 1 deletion cln-rpc/src/model.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ COMMON_HEADERS_NOGEN := $(COMMON_SRC_NOGEN:.c=.h) \
common/ecdh.h \
common/errcode.h \
common/gossip_constants.h \
common/hash_str.h \
common/hsm_version.h \
common/htlc.h \
common/jsonrpc_errors.h \
Expand Down
11 changes: 11 additions & 0 deletions common/hash_str.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#ifndef LIGHTNING_COMMON_HASH_STR_H
#define LIGHTNING_COMMON_HASH_STR_H
#include "config.h"
#include <common/pseudorand.h>

static inline size_t hash_str(const char *str)
{
return siphash24(siphash_seed(), str, strlen(str));
}

#endif /* LIGHTNING_COMMON_HASH_STR_H */
Loading
Loading