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
d2872ff
multiwithdraw: use unique ids on requests.
rustyrussell May 18, 2026
926cf53
libplugins: JSON ids are always strings.
rustyrussell May 19, 2026
1c83682
libplugin: json_id: guard against weird prefixes
Lagrang3 Jul 14, 2026
82df083
lightningd: internal cleanups since all non-command JSON IDs are stri…
rustyrussell May 19, 2026
bc3a52a
common: hoist hash_str helper into its own header.
rustyrussell May 19, 2026
5349ced
common: implement str_to_u64, make json_to_u64 use it.
rustyrussell May 19, 2026
25cfe89
Add unit tests for str_to_u64
Lagrang3 Jun 17, 2026
6f650a2
common: hoist amount+currency parsing into common code.
rustyrussell May 19, 2026
2f5c4f4
askrene: add APIs for "impressions" which are *relative* constraints.
rustyrussell May 20, 2026
08aa493
downgrade: we need to remove "impressions" from askrene datastore whe…
rustyrussell May 20, 2026
3f9c3ed
downgrade tool: fix invalid memory bug
Lagrang3 Jul 21, 2026
047790a
add a test for downgrading askrene datastore
Lagrang3 Jul 21, 2026
609c4e7
xpay: fakenet test: skip temporarily
Lagrang3 Jul 6, 2026
95510bd
xpay: actually tell askrene when a payment succeeded.
rustyrussell May 20, 2026
8790f53
askrene: correctly order constraints.
rustyrussell May 20, 2026
692b0b5
common: add helper to remove a range of elements
Lagrang3 Jun 18, 2026
ba4ff26
askrene: don't leak channel intel entries
Lagrang3 Jun 18, 2026
023ffb2
xpay: trim constraints: small optimization
Lagrang3 Jun 25, 2026
c2e27aa
askrene: safer iterating over changing htable
Lagrang3 Jul 14, 2026
23d2018
pytest: add tests for what we want askrene to do.
rustyrussell May 20, 2026
8b3d269
askrene: give clearer error codes.
rustyrussell May 20, 2026
1a373d6
xpay: tests should expect the new error messages
Lagrang3 Jun 22, 2026
63f49eb
askrene: explain failure: add known enabled case
Lagrang3 Jun 26, 2026
1c1f213
offers: limit invoices to 10 minutes for recurring offers in other cu…
rustyrussell May 20, 2026
40582ef
offers: limit expiry to offer limit, or 10 minutes with currency conv…
rustyrussell May 20, 2026
db02ccd
fetchinvoice: don't bother with checking recurrence timing.
rustyrussell May 20, 2026
573699c
lightningd: don't do previous invoice checking in createinvoicerequest.
rustyrussell May 20, 2026
2250bc1
fetchinvoice: handle weird labels in recurrence_label parameter.
rustyrussell May 20, 2026
45cdc64
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