Skip to content
Draft

Bwatch #9069

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
60b0b6b
common: add helpers for bitcoin blockids.
rustyrussell Apr 23, 2026
64344d7
common/json_stream: use json_out_addstrn for better efficiency.
rustyrussell Apr 23, 2026
c92e3f7
libplugin: expose json_add_keypath.
rustyrussell Apr 23, 2026
f6bc95f
common: expose json_hex_to_be32/be64
sangbida Apr 23, 2026
d2f261f
common: extract param_string_array from xpay into common.
rustyrussell Apr 23, 2026
d6cb52e
bwatch: add skeleton and makefile
sangbida Apr 23, 2026
10d8ee7
bwatch: add wire format
sangbida Apr 23, 2026
0a021ba
bwatch: add typed hash tables for watches
sangbida Apr 23, 2026
773af77
bwatch: persist block history
sangbida Apr 23, 2026
1426629
bwatch: persist watches
sangbida Apr 23, 2026
30350a0
bwatch: add addwatch/delwatch helpers
sangbida Apr 23, 2026
86bf85d
bwatch: poll chain and append blocks
sangbida Apr 23, 2026
cf1999b
bwatch: notify watchman on block_processed
sangbida Apr 23, 2026
fd6371b
bwatch: detect reorgs and roll back tip
sangbida Apr 23, 2026
d20de11
bwatch: add watch_found and watch_revert notifications
sangbida Apr 23, 2026
437dccd
bwatch: scan blocks for scriptpubkey and outpoint matches
sangbida Apr 23, 2026
c7b5571
bwatch: scan blocks for scid matches
sangbida Apr 23, 2026
8693634
bwatch: fire blockdepth notifications per block
sangbida Apr 23, 2026
e60281c
bwatch: send chaininfo to watchman on startup
sangbida Apr 23, 2026
382b412
bwatch: add scriptpubkey watch RPCs
sangbida Apr 23, 2026
9a53b7c
bwatch: add outpoint watch RPCs
sangbida Apr 23, 2026
890e07d
bwatch: add scid watch RPCs
sangbida Apr 23, 2026
9e09a66
bwatch: add blockdepth watch RPCs
sangbida Apr 23, 2026
ff0a7c1
bwatch: add listwatch RPC
sangbida Apr 23, 2026
2dbebf7
bwatch: thread per-watch parameter through block scanning
sangbida Apr 23, 2026
855c753
bwatch: add rescan engine for historical blocks
sangbida Apr 23, 2026
2457f59
bwatch: trigger rescan when a watch is added behind tip
sangbida Apr 23, 2026
7b53fc6
bwatch: notify watch owners on reorg
sangbida Apr 21, 2026
31b6538
pyln-testing: shorten bwatch poll interval
sangbida Apr 23, 2026
e2ca19f
lightningd: add watchman.h declarations
sangbida Apr 23, 2026
3006a59
lightningd: add watchman storage and persistence skeleton
sangbida Apr 23, 2026
40103c7
lightningd/plugin: add on_plugin_ready callback hook
sangbida Apr 23, 2026
ceb9f5a
lightningd: add send_to_bwatch and watchman_ack
sangbida Apr 23, 2026
1610cf5
lightningd: replay pending ops on plugin ready
sangbida Apr 23, 2026
9c45d27
lightningd: register getwatchmanheight + chaininfo bwatch RPCs
sangbida Apr 23, 2026
159154f
lightningd: register block_processed + revert_block_processed RPCs
sangbida Apr 23, 2026
424b6ad
lightningd: register watch_found / watch_revert dispatch
sangbida Apr 23, 2026
a6751d3
lightningd: add typed watchman_watch_scriptpubkey + unwatch
sangbida Apr 23, 2026
eb14fce
lightningd: add typed watchman_watch_outpoint + unwatch
sangbida Apr 23, 2026
e6b3b1f
lightningd: add typed watchman_watch_scid + unwatch
sangbida Apr 23, 2026
bee5421
lightningd: add typed watchman_watch_blockdepth + unwatch
sangbida Apr 23, 2026
eadba58
wallet: add our_outputs + our_txs schema migrations
sangbida Apr 20, 2026
47dc773
tests: refresh autogenerated mocks for bwatch + watchman migration
sangbida Apr 21, 2026
474651d
wallet: add bwatch wallet UTXO infrastructure
sangbida Apr 20, 2026
081693b
wallet: add bwatch p2wpkh watch_found handler
sangbida Apr 20, 2026
29f8150
wallet: add bwatch p2tr watch_found handler
sangbida Apr 20, 2026
6f91b3c
wallet: add bwatch p2sh_p2wpkh watch_found handler
sangbida Apr 20, 2026
30c1f6b
wallet: route UTXO reads/writes through our_outputs
sangbida Apr 27, 2026
2cfd51f
wallet: handle bwatch wallet/utxo spend notifications
sangbida Apr 20, 2026
3fa9209
wallet: watch change scriptpubkey on unconfirmed UTXOs
sangbida Apr 21, 2026
58e3faa
wallet: add wallet_add_bwatch_derkey
sangbida Apr 21, 2026
59d14ce
wallet: add wallet_scriptpubkey_to_keyidx
sangbida Apr 21, 2026
d28151b
wallet: add migrate_backfill_bwatch_tables
sangbida Apr 21, 2026
c7af404
wallet: route transaction reads/writes through our_txs
sangbida Apr 27, 2026
1787491
wallet: unify got_utxo on the our_outputs path
sangbida Apr 27, 2026
1c5ae46
lightningd: instantiate watchman and register wallet watches at startup
sangbida Apr 21, 2026
70c83d3
tests: skip all integration tests during bwatch migration
sangbida Apr 21, 2026
0e0ecdf
lightningd: migrate gossip get_txout to bwatch SCID watches
sangbida Apr 21, 2026
fcdb3d1
lightningd: migrate channel funding scriptpubkey watch to bwatch
sangbida Apr 21, 2026
9af835d
lightningd: add bwatch funding-depth path
sangbida Apr 21, 2026
44e376d
lightningd: replace funding_depth_cb with bwatch path
sangbida Apr 21, 2026
c1f142b
lightningd: add bwatch funding-spent + splice scaffolding
sangbida Apr 21, 2026
92585e3
lightningd: switch funding watches to bwatch
sangbida Apr 21, 2026
39f52f4
lightningd: drop chaintopology funding callbacks
sangbida Apr 21, 2026
a956295
lightningd: scaffold onchaind bwatch tracking
sangbida Apr 21, 2026
0ffd117
lightningd: roll back onchaind on funding-spend reorg
sangbida Apr 21, 2026
484838a
lightningd: add inert onchaind bwatch handlers
sangbida Apr 22, 2026
3eab5b2
lightningd: drive onchaind from bwatch
sangbida Apr 22, 2026
0555055
lightningd: drop onchaind chaintopology + replay machinery
sangbida Apr 22, 2026
32b1a2c
lightningd: let onchaind register HTLC second-stage watches via bwatch
sangbida Apr 22, 2026
d4d0d61
lightningd: tear down onchaind bwatch state on irrevocable resolution
sangbida Apr 22, 2026
fb80c37
lightningd: extract broadcast.{c,h} from chaintopology
sangbida Apr 22, 2026
709332f
lightningd: move outgoing_txs and rebroadcast_timer onto struct light…
sangbida Apr 22, 2026
9b6f3ca
lightningd: move bitcoind onto struct lightningd
sangbida Apr 22, 2026
f03f278
lightningd: extract feerate logic from chaintopology
sangbida Apr 22, 2026
d050023
lightningd: move feerate state to watchman
sangbida Apr 22, 2026
cf4544f
lightningd: drop poll_seconds and request_ctx from chain_topology
sangbida Apr 22, 2026
75a0b98
lightningd: drop legacy unconfirmed-tx + splice-after-coopclose watches
sangbida Apr 22, 2026
022cc19
lightningd: delete legacy watch.{c,h}
sangbida Apr 23, 2026
93246b5
lightningd: drop chaintopology block tracking, route block height thr…
sangbida Apr 23, 2026
d5a849b
lightningd: stop driving feerates from chaintopology
sangbida Apr 25, 2026
598e482
wallet: delete txfilter and its outpointfilter caches
sangbida Apr 26, 2026
4f884c1
lightningd: remove dead get_tx_depth
sangbida Apr 26, 2026
a05a6e5
lightningd: drop topology sync_waiter API
sangbida Apr 26, 2026
b99c9d4
lightningd: move get_block_height to watchman
sangbida Apr 26, 2026
8ea222f
lightningd: drop get_network_blockheight
sangbida Apr 26, 2026
80f4fc4
lightningd: inline bitcoind startup, drop topology lifecycle
sangbida Apr 26, 2026
e70e45d
lightningd: delete chaintopology
sangbida Apr 27, 2026
45fe312
tests: switch bwatch-migration skip to per-file allowlist
sangbida Apr 27, 2026
a0abce2
tests: skip DB-fixture tests during bwatch migration
sangbida Apr 27, 2026
817613c
tests: re-enable suites unchanged from master
sangbida Apr 27, 2026
fccc1df
tests: re-enable test_db.py against migrated schema
sangbida Apr 27, 2026
97aa798
wallet: register bwatch watches for PSBT change scripts
sangbida Apr 27, 2026
5c380d1
tests: default --rescan to 0 to suit bwatch perennial watches
sangbida Apr 27, 2026
f61cb37
wallet: make datastore helpers self-wrap a wallet transaction
sangbida Apr 27, 2026
09b3f08
tests: re-enable test_wallet.py
sangbida Apr 27, 2026
6367f3c
lightningd: fix splice handling under bwatch
sangbida Apr 28, 2026
37f3cac
lightningd: route splice depth via channeld_tell_splice_depth
sangbida Apr 28, 2026
1fb1cb3
tests: regenerate autogenerated mocks
sangbida Apr 28, 2026
d406fa1
lightningd: resend announcement sigs on retransmit under bwatch
sangbida Apr 28, 2026
6b5acdd
tests: re-enable splicing tests
sangbida Apr 28, 2026
746bc56
tests: allow unordered spend+change in splice wallet moves
sangbida Apr 28, 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
22 changes: 15 additions & 7 deletions bitcoin/block.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,16 +228,24 @@ void bitcoin_block_blkid(const struct bitcoin_block *b,
*out = b->hdr.hash;
}

static bool bitcoin_blkid_to_hex(const struct bitcoin_blkid *blockid,
char *hexstr, size_t hexstr_len)
bool bitcoin_blkid_from_hex(const char *hexstr, size_t hexstr_len,
struct bitcoin_blkid *blkid)
{
struct bitcoin_txid fake_txid;
fake_txid.shad = blockid->shad;
return bitcoin_txid_to_hex(&fake_txid, hexstr, hexstr_len);
if (!hex_decode(hexstr, hexstr_len, blkid, sizeof(*blkid)))
return false;
reverse_bytes(blkid->shad.sha.u.u8, sizeof(blkid->shad.sha.u.u8));
return true;
}

char *fmt_bitcoin_blkid(const tal_t *ctx,
const struct bitcoin_blkid *blkid)
bool bitcoin_blkid_to_hex(const struct bitcoin_blkid *blkid,
char *hexstr, size_t hexstr_len)
{
struct sha256_double rev = blkid->shad;
reverse_bytes(rev.sha.u.u8, sizeof(rev.sha.u.u8));
return hex_encode(&rev, sizeof(rev), hexstr, hexstr_len);
}

char *fmt_bitcoin_blkid(const tal_t *ctx, const struct bitcoin_blkid *blkid)
{
char *hexstr = tal_arr(ctx, char, hex_str_size(sizeof(*blkid)));

Expand Down
5 changes: 5 additions & 0 deletions bitcoin/block.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,11 @@ void fromwire_chainparams(const u8 **cursor, size_t *max,
const struct chainparams **chainparams);
void towire_chainparams(u8 **cursor, const struct chainparams *chainparams);

bool bitcoin_blkid_from_hex(const char *hexstr, size_t hexstr_len,
struct bitcoin_blkid *blkid);
bool bitcoin_blkid_to_hex(const struct bitcoin_blkid *blkid,
char *hexstr, size_t hexstr_len);

char *fmt_bitcoin_blkid(const tal_t *ctx,
const struct bitcoin_blkid *blkid);

Expand Down
9 changes: 0 additions & 9 deletions bitcoin/test/run-bitcoin_block_from_hex.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,6 @@ static const char block[] =

STRUCTEQ_DEF(sha256_double, 0, sha);

static bool bitcoin_blkid_from_hex(const char *hexstr, size_t hexstr_len,
struct bitcoin_blkid *blockid)
{
struct bitcoin_txid fake_txid;
if (!bitcoin_txid_from_hex(hexstr, hexstr_len, &fake_txid))
return false;
blockid->shad = fake_txid.shad;
return true;
}
int main(int argc, const char *argv[])
{
struct bitcoin_blkid prev;
Expand Down
16 changes: 16 additions & 0 deletions common/json_param.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,22 @@ struct command_result *param_string_or_array(struct command *cmd, const char *na
return param_string(cmd, name, buffer, tok, &(*result)->str);
}

struct command_result *param_string_array(struct command *cmd, const char *name,
const char *buffer, const jsmntok_t *tok,
const char ***arr)
{
size_t i;
const jsmntok_t *s;

if (tok->type != JSMN_ARRAY)
return command_fail_badparam(cmd, name, buffer, tok,
"should be an array");
*arr = tal_arr(cmd, const char *, tok->size);
json_for_each_arr(i, s, tok)
(*arr)[i] = json_strdup(*arr, buffer, s);
return NULL;
}

struct command_result *param_invstring(struct command *cmd, const char *name,
const char * buffer, const jsmntok_t *tok,
const char **str)
Expand Down
5 changes: 5 additions & 0 deletions common/json_param.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,11 @@ struct command_result *param_string_or_array(struct command *cmd, const char *na
const char * buffer, const jsmntok_t *tok,
struct str_or_arr **result);

/* Array of strings */
struct command_result *param_string_array(struct command *cmd, const char *name,
const char *buffer, const jsmntok_t *tok,
const char ***arr);

/* Extract an invoice string from a generic string, strip the `lightning:`
* prefix from it if needed. */
struct command_result *param_invstring(struct command *cmd, const char *name,
Expand Down
7 changes: 7 additions & 0 deletions common/json_parse.c
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,13 @@ bool json_to_txid(const char *buffer, const jsmntok_t *tok,
tok->end - tok->start, txid);
}

bool json_to_bitcoin_blkid(const char *buffer, const jsmntok_t *tok,
struct bitcoin_blkid *blkid)
{
return bitcoin_blkid_from_hex(buffer + tok->start,
tok->end - tok->start, blkid);
}

bool json_to_outpoint(const char *buffer, const jsmntok_t *tok,
struct bitcoin_outpoint *op)
{
Expand Down
4 changes: 4 additions & 0 deletions common/json_parse.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ bool json_to_msat(const char *buffer, const jsmntok_t *tok,
bool json_to_txid(const char *buffer, const jsmntok_t *tok,
struct bitcoin_txid *txid);

/* Extract a bitcoin blkid from this */
bool json_to_bitcoin_blkid(const char *buffer, const jsmntok_t *tok,
struct bitcoin_blkid *blkid);

/* Extract a bitcoin outpoint from this */
bool json_to_outpoint(const char *buffer, const jsmntok_t *tok,
struct bitcoin_outpoint *op);
Expand Down
13 changes: 13 additions & 0 deletions common/json_parse_simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#include "config.h"
#include <assert.h>
#include <ccan/mem/mem.h>
#include <ccan/str/hex/hex.h>
#include <ccan/tal/str/str.h>
#include <common/json_parse_simple.h>
#include <common/utils.h>
Expand Down Expand Up @@ -151,6 +152,18 @@ bool json_to_bool(const char *buffer, const jsmntok_t *tok, bool *b)
return false;
}

bool json_hex_to_be32(const char *buffer, const jsmntok_t *tok, be32 *val)
{
return hex_decode(buffer + tok->start, tok->end - tok->start,
val, sizeof(*val));
}

bool json_hex_to_be64(const char *buffer, const jsmntok_t *tok, be64 *val)
{
return hex_decode(buffer + tok->start, tok->end - tok->start,
val, sizeof(*val));
}


bool json_tok_is_num(const char *buffer, const jsmntok_t *tok)
{
Expand Down
7 changes: 7 additions & 0 deletions common/json_parse_simple.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#ifndef LIGHTNING_COMMON_JSON_PARSE_SIMPLE_H
#define LIGHTNING_COMMON_JSON_PARSE_SIMPLE_H
#include "config.h"
#include <ccan/endian/endian.h>
#include <ccan/short_types/short_types.h>
#include <ccan/tal/tal.h>

Expand Down Expand Up @@ -51,6 +52,12 @@ bool json_to_double(const char *buffer, const jsmntok_t *tok, double *num);
/* Extract boolean from this */
bool json_to_bool(const char *buffer, const jsmntok_t *tok, bool *b);

/* Extract big-endian 32-bit from hex string (for datastore) */
bool json_hex_to_be32(const char *buffer, const jsmntok_t *tok, be32 *val);

/* Extract big-endian 64-bit from hex string (for datastore) */
bool json_hex_to_be64(const char *buffer, const jsmntok_t *tok, be64 *val);

/* Is this a number? [0..9]+ */
bool json_tok_is_num(const char *buffer, const jsmntok_t *tok);

Expand Down
31 changes: 21 additions & 10 deletions common/json_stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,22 @@ void json_add_primitive(struct json_stream *js,
tal_free_if_taken(val);
}

void json_add_stringn(struct json_stream *js,
const char *fieldname,
const char *str TAKES,
size_t len)
{
if (json_filter_ok(js->filter, fieldname))
json_out_addstrn(js->jout, fieldname, str, len);
if (taken(str))
tal_free(str);
}

void json_add_string(struct json_stream *js,
const char *fieldname,
const char *str TAKES)
{
if (json_filter_ok(js->filter, fieldname))
json_out_addstr(js->jout, fieldname, str);
tal_free_if_taken(str);
json_add_stringn(js, fieldname, str, strlen(str));
}

static char *json_member_direct(struct json_stream *js,
Expand Down Expand Up @@ -298,13 +307,6 @@ void json_add_s32(struct json_stream *result, const char *fieldname,
json_add_primitive_fmt(result, fieldname, "%d", value);
}

void json_add_stringn(struct json_stream *result, const char *fieldname,
const char *value TAKES, size_t value_len)
{
json_add_str_fmt(result, fieldname, "%.*s", (int)value_len, value);
tal_free_if_taken(value);
}

void json_add_bool(struct json_stream *result, const char *fieldname, bool value)
{
json_add_primitive(result, fieldname, value ? "true" : "false");
Expand Down Expand Up @@ -455,6 +457,15 @@ void json_add_txid(struct json_stream *result, const char *fieldname,
json_add_string(result, fieldname, hex);
}

void json_add_bitcoin_blkid(struct json_stream *result, const char *fieldname,
const struct bitcoin_blkid *blkid)
{
char hex[hex_str_size(sizeof(*blkid))];

bitcoin_blkid_to_hex(blkid, hex, sizeof(hex));
json_add_string(result, fieldname, hex);
}

void json_add_outpoint(struct json_stream *result, const char *fieldname,
const struct bitcoin_outpoint *out)
{
Expand Down
5 changes: 5 additions & 0 deletions common/json_stream.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ struct short_channel_id;
struct sha256;
struct preimage;
struct bitcoin_tx;
struct bitcoin_blkid;
struct wally_psbt;
struct lease_rates;
struct wireaddr;
Expand Down Expand Up @@ -310,6 +311,10 @@ void json_add_channel_id(struct json_stream *response,
void json_add_txid(struct json_stream *result, const char *fieldname,
const struct bitcoin_txid *txid);

/* '"fieldname" : <hexrev>' or "<hexrev>" if fieldname is NULL */
void json_add_bitcoin_blkid(struct json_stream *result, const char *fieldname,
const struct bitcoin_blkid *blkid);

/* '"fieldname" : "txid:n" */
void json_add_outpoint(struct json_stream *result, const char *fieldname,
const struct bitcoin_outpoint *out);
Expand Down
3 changes: 2 additions & 1 deletion contrib/pyln-testing/pyln/testing/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"cltv-delta": 6,
"cltv-final": 5,
"watchtime-blocks": 5,
"rescan": 1,
"rescan": 0,
'disable-dns': None,
})

Expand Down Expand Up @@ -771,6 +771,7 @@ def __init__(

self.opts['dev-fast-gossip'] = None
self.opts['dev-bitcoind-poll'] = 1
self.opts['bwatch-poll-interval'] = 500 # 0.5s for fast test feedback
self.prefix = 'lightningd-%d' % (node_id)
# Log to stdout so we see it in failure cases, and log file for TailableProc.
self.opts['log-file'] = ['-', os.path.join(lightning_dir, "log")]
Expand Down
33 changes: 33 additions & 0 deletions db/exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,39 @@ s64 db_get_intvar(struct db *db, const char *varname, s64 defval)
return res;
}

void db_set_blobvar(struct db *db, const char *varname, const u8 *val, size_t len)
{
size_t changes;
struct db_stmt *stmt = db_prepare_v2(db, SQL("UPDATE vars SET blobval=? WHERE name=?;"));
db_bind_blob(stmt, val, len);
db_bind_text(stmt, varname);
db_exec_prepared_v2(stmt);
changes = db_count_changes(stmt);
tal_free(stmt);

if (changes == 0) {
stmt = db_prepare_v2(db, SQL("INSERT INTO vars (name, blobval) VALUES (?, ?);"));
db_bind_text(stmt, varname);
db_bind_blob(stmt, val, len);
db_exec_prepared_v2(stmt);
tal_free(stmt);
}
}

const u8 *db_get_blobvar(const tal_t *ctx, struct db *db, const char *varname)
{
struct db_stmt *stmt = db_prepare_v2(
db, SQL("SELECT blobval FROM vars WHERE name=? LIMIT 1"));
db_bind_text(stmt, varname);

const u8 *res = NULL;
if (db_query_prepared_canfail(stmt) && db_step(stmt))
res = db_col_arr(ctx, stmt, "blobval", u8);

tal_free(stmt);
return res;
}

/* Leak tracking. */

/* By making the update conditional on the current value we expect we
Expand Down
5 changes: 5 additions & 0 deletions db/exec.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

#include <ccan/short_types/short_types.h>
#include <ccan/take/take.h>
#include <ccan/tal/tal.h>

struct db;

Expand All @@ -23,6 +24,10 @@ void db_set_intvar(struct db *db, const char *varname, s64 val);
*/
s64 db_get_intvar(struct db *db, const char *varname, s64 defval);

void db_set_blobvar(struct db *db, const char *varname, const u8 *val, size_t len);
/* Returns a tal-allocated blob, or NULL if not found. */
const u8 *db_get_blobvar(const tal_t *ctx, struct db *db, const char *varname);

/* Get the current data version (entries). */
u32 db_data_version_get(struct db *db);

Expand Down
6 changes: 3 additions & 3 deletions lightningd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
LIGHTNINGD_SRC := \
lightningd/anchorspend.c \
lightningd/bitcoind.c \
lightningd/chaintopology.c \
lightningd/broadcast.c \
lightningd/watchman.c \
lightningd/channel.c \
lightningd/channel_control.c \
lightningd/channel_gossip.c \
Expand Down Expand Up @@ -43,8 +44,7 @@ LIGHTNINGD_SRC := \
lightningd/routehint.c \
lightningd/runes.c \
lightningd/subd.c \
lightningd/wait.c \
lightningd/watch.c
lightningd/wait.c

LIGHTNINGD_SRC_NOHDR := \
lightningd/configs.c \
Expand Down
Loading
Loading