Skip to content
Open
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
f9359b4
multiwithdraw: use unique ids on requests.
rustyrussell May 18, 2026
9a3cf6a
libplugins: JSON ids are always strings.
rustyrussell May 19, 2026
64f9fbf
libplugin: json_id: guard against weird prefixes
Lagrang3 Jul 14, 2026
f891c2a
lightningd: internal cleanups since all non-command JSON IDs are stri…
rustyrussell May 19, 2026
2d25192
common: hoist hash_str helper into its own header.
rustyrussell May 19, 2026
11e8455
common: implement str_to_u64, make json_to_u64 use it.
rustyrussell May 19, 2026
0c4cd8d
Add unit tests for str_to_u64
Lagrang3 Jun 17, 2026
24ce35e
common: hoist amount+currency parsing into common code.
rustyrussell May 19, 2026
70c365e
askrene: add APIs for "impressions" which are *relative* constraints.
rustyrussell May 20, 2026
77888de
downgrade: we need to remove "impressions" from askrene datastore whe…
rustyrussell May 20, 2026
fdcc9c9
downgrade tool: fix invalid memory bug
Lagrang3 Jul 21, 2026
9573b25
add a test for downgrading askrene datastore
Lagrang3 Jul 21, 2026
b9fd809
xpay: fakenet test: skip temporarily
Lagrang3 Jul 6, 2026
b4ee14a
xpay: actually tell askrene when a payment succeeded.
rustyrussell May 20, 2026
c400951
askrene: correctly order constraints.
rustyrussell May 20, 2026
7a0f6d9
common: add helper to remove a range of elements
Lagrang3 Jun 18, 2026
8306cd5
askrene: don't leak channel intel entries
Lagrang3 Jun 18, 2026
b0e667f
xpay: trim constraints: small optimization
Lagrang3 Jun 25, 2026
54bdf86
askrene: safer iterating over changing htable
Lagrang3 Jul 14, 2026
3ca735a
pytest: add tests for what we want askrene to do.
rustyrussell May 20, 2026
47598d9
askrene: give clearer error codes.
rustyrussell May 20, 2026
2079d6a
xpay: tests should expect the new error messages
Lagrang3 Jun 22, 2026
ea10e53
askrene: explain failure: add known enabled case
Lagrang3 Jun 26, 2026
4b81b3c
offers: limit invoices to 10 minutes for recurring offers in other cu…
rustyrussell May 20, 2026
8f6e6a2
offers: limit expiry to offer limit, or 10 minutes with currency conv…
rustyrussell May 20, 2026
57d5d6d
fetchinvoice: don't bother with checking recurrence timing.
rustyrussell May 20, 2026
ee636c7
lightningd: don't do previous invoice checking in createinvoicerequest.
rustyrussell May 20, 2026
c4d9a23
fetchinvoice: handle weird labels in recurrence_label parameter.
rustyrussell May 20, 2026
41fcb51
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