Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5b80895
pytest: add shim so we can create plugins inline in tests.
rustyrussell May 18, 2026
b877973
pytest: convert many tests to use inline_plugin helper.
rustyrussell May 18, 2026
49b3c00
pytest: use l1/l2 naming and get_nodes() where appropriate.
rustyrussell May 18, 2026
e40f412
multiwithdraw: use unique ids on requests.
rustyrussell May 18, 2026
d89d0e0
libplugins: JSON ids are always strings.
rustyrussell May 19, 2026
1d31dea
lightningd: internal cleanups since all non-command JSON IDs are stri…
rustyrussell May 19, 2026
fed57cf
common: hoist hash_str helper into its own header.
rustyrussell May 19, 2026
8779aa9
common: implement str_to_u64, make json_to_u64 use it.
rustyrussell May 19, 2026
ad5d25f
common: hoist amount+currency parsing into common code.
rustyrussell May 19, 2026
e9cc05c
askrene: add APIs for "impressions" which are *relative* constraints.
rustyrussell May 20, 2026
0979546
downgrade: we need to remove "impressions" from askrene datastore whe…
rustyrussell May 20, 2026
65d8fcc
askrene: add an "impression" for when we succeeded on a payment.
rustyrussell May 20, 2026
97dcaf0
xpay: actually tell askrene when a payment succeeded.
rustyrussell May 20, 2026
34e832a
askrene: correctly order constraints.
rustyrussell May 20, 2026
d3fa76e
pytest: add tests for what we want askrene to do.
rustyrussell May 20, 2026
00d8d2b
askrene: give clearer error codes.
rustyrussell May 20, 2026
b3e3b0a
offers: limit invoices to 10 minutes for recurring offers in other cu…
rustyrussell May 20, 2026
91109d0
offers: limit expiry to offer limit, or 10 minutes with currency conv…
rustyrussell May 20, 2026
35e37e0
fetchinvoice: don't bother with checking recurrence timing.
rustyrussell May 20, 2026
611e5e6
lightningd: don't do previous invoice checking in createinvoicerequest.
rustyrussell May 20, 2026
9b3f051
fetchinvoice: handle weird labels in recurrence_label parameter.
rustyrussell May 20, 2026
1ad1cfd
doc: add schemas for repeatpay commands.
rustyrussell May 20, 2026
bee8cf3
cln-repeatpay: plugin to automate recurring offer payments.
rustyrussell May 20, 2026
ea46e37
pytest: tests for repeatpay.
rustyrussell May 20, 2026
6cb0494
repeatpay: persist across restarts.
rustyrussell May 20, 2026
5656cf9
repeatpay: handle payments which weren't finished across restarts.
rustyrussell May 20, 2026
03e4083
renepay: refresh currency amount before each fetch.
rustyrussell May 20, 2026
f58ea2c
repeatpay: implement amendrepeatpay.
rustyrussell May 20, 2026
59a8fb9
repeatpay: implement cancelrepeatpay.
rustyrussell May 20, 2026
52e7539
repeatpay: now use xpay result to inform user if they're out of funds.
rustyrussell May 20, 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
73 changes: 72 additions & 1 deletion .msggen.json
Original file line number Diff line number Diff line change
Expand Up @@ -752,6 +752,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 @@ -781,6 +782,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": 3,
"AskRene-Create-Layer.layers[].impressions[].short_channel_id_dir": 1,
"AskRene-Create-Layer.layers[].impressions[].timestamp": 2
},
"Askrene-create-layerLayersNodeBiases": {
"AskRene-Create-Layer.layers[].node_biases[].description": 4,
"AskRene-Create-Layer.layers[].node_biases[].in_bias": 2,
Expand Down Expand Up @@ -813,6 +819,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": 4,
"AskRene-Inform-Channel.impressions[].layer": 2,
"AskRene-Inform-Channel.impressions[].short_channel_id_dir": 1,
"AskRene-Inform-Channel.impressions[].timestamp": 3
},
"Askrene-inform-channelRequest": {
"AskRene-Inform-Channel.amount_msat": 7,
"AskRene-Inform-Channel.direction": 3,
Expand All @@ -825,7 +837,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 @@ -834,6 +847,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 @@ -872,6 +886,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": 3,
"AskRene-ListLayers.layers[].impressions[].short_channel_id_dir": 1,
"AskRene-ListLayers.layers[].impressions[].timestamp": 2
},
"Askrene-listlayersLayersNodeBiases": {
"AskRene-ListLayers.layers[].node_biases[].description": 4,
"AskRene-ListLayers.layers[].node_biases[].in_bias": 2,
Expand Down Expand Up @@ -4745,6 +4764,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 @@ -4853,6 +4888,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 @@ -5017,6 +5072,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