core-lightning/lightningd
Christian Decker 212a3c5ec5 ld: We might not have a failing channel if localfail and sendonion
This happens to be an edge case with the way we use `sendonion` in
MPP. `sendonion` does not attempt to recover the route even if we supply the
shared secrets (it'd require us to map forwarding channels to the nodes etc),
so `failnode` will always be unset, unless it is the first hop, which gets
stored. This is not a problem if it weren't for the fact that we don't store
the partial route, consisting solely of the channel leading to the first hop,
therefore the assertion that either both are NULL or both aren't fails on the
first hop.

This went unnoticed since with MPP we have more concurrent payments in flight,
increasing the chances of a exhausted first hop considerably.
2020-07-15 11:32:58 +02:00
..
test common/json_tok: expose param_txid. 2020-07-08 21:07:20 +02:00
.gitignore
bitcoind.c lightningd: fix race where we do rescan before all plugins finish init. 2020-05-05 13:45:17 +09:30
bitcoind.h lightning/bitcoind: adapt and batch fees estimations 2020-03-30 20:17:18 +10:30
chaintopology.c JSON API: fix up two existing warnings to be conformant. 2020-07-14 21:28:26 +02:00
chaintopology.h bitcoin/feerate: new exposure for feerate parsing outside lightningd. 2020-07-08 21:07:20 +02:00
channel_control.c lightningd/opening_control.c: fundchannel_cancel no longer requires a channel_id argument. 2020-07-02 01:10:59 +00:00
channel_control.h lightningd/opening_control.c: fundchannel_cancel no longer requires a channel_id argument. 2020-07-02 01:10:59 +00:00
channel_state.h wallet: Add a final CLOSED state to channels 2019-06-30 16:41:30 +09:30
channel.c wallet-df: save our_funds amount to channel record 2020-05-07 08:43:00 +09:30
channel.h wallet-df: save our_funds amount to channel record 2020-05-07 08:43:00 +09:30
closing_control.c bitcoin: add weight calculation helpers. 2020-07-06 19:25:05 +02:00
closing_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
coin_mvts.c coins: use the chain's BIP173 name instead of a 'unit of account' 2020-05-12 15:46:58 +09:30
coin_mvts.h coins: re-write API interface for htlc notices 2020-05-12 15:46:58 +09:30
connect_control.c cleanup: make 'u8 *features' and 'struct feature_set *fset' more explicit. 2020-04-03 13:13:21 +10:30
connect_control.h lightningd: return features in connect response. 2020-04-03 13:13:21 +10:30
gossip_control.c gossipd: return channel_announcement features for listchannels. 2020-05-07 08:44:58 +09:30
gossip_control.h gossipd: get fed the blockheight from lightningd when we know it. 2019-09-25 04:01:56 +00:00
gossip_msg.c wire: make fromwire_fail return non-const, use it more 2020-05-20 11:36:13 +02:00
gossip_msg.h gossipd: return channel_announcement features for listchannels. 2020-05-07 08:44:58 +09:30
hsm_control.c hsm: decouple hsm from wallet; init before wallet 2020-06-11 13:13:13 +02:00
hsm_control.h hsm: decouple hsm from wallet; init before wallet 2020-06-11 13:13:13 +02:00
htlc_end.c coins: have we_fulfilled be fully 'ternary' 2020-05-12 15:46:58 +09:30
htlc_end.h coins: have we_fulfilled be fully 'ternary' 2020-05-12 15:46:58 +09:30
htlc_set.c mpp: Add the presplit-modifier that splits a root payment first 2020-07-15 11:32:58 +02:00
htlc_set.h lightningd: make local htlc failures pass a wiremsg for errors, not a failcode. 2020-02-25 11:12:12 +10:30
invoice.c plugin:added invoice creation event 2020-05-04 19:18:05 +02:00
invoice.h lightningd: sew in htlc set. 2019-12-12 15:03:53 +01:00
io_loop_with_timers.c plugins: don't crash if getmanifest times out. 2019-07-24 16:16:53 +02:00
io_loop_with_timers.h lightningd/io_loop_with_timers.c: Move mainloop to its own source file, have chaintopology use it. 2019-05-31 17:57:10 +02:00
json.c common/json_tok: expose param_txid. 2020-07-08 21:07:20 +02:00
json.h common/json_tok: expose param_txid. 2020-07-08 21:07:20 +02:00
jsonrpc.c lightningd/jsonrpc: don't assume the jcon to be alive at command execution 2020-06-18 14:07:00 +02:00
jsonrpc.h common: move json_stream from lightningd/ to common/ 2020-02-04 13:24:32 +10:30
lightningd.c hsm: decouple hsm from wallet; init before wallet 2020-06-11 13:13:13 +02:00
lightningd.h config: don't ignore the --commit-fee option. 2020-05-20 06:09:24 +09:30
log_status.c lightningd: kill per-peer daemons if they claim a different peer id. 2019-11-18 04:50:22 +00:00
log_status.h lightningd: have logging include an optional node_id for each entry. 2019-11-18 04:50:22 +00:00
log.c common/json: move rest of bitcoin/lightning-specific json functions to json_helpers. 2020-05-18 14:51:12 +02:00
log.h lightningd: use a simple array for less memory usage. 2019-11-18 04:50:22 +00:00
Makefile setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +09:30
memdump.c htlcs: Make sure htlc_sets is not erroneously flagged as a memleak 2019-12-12 22:16:03 +01:00
memdump.h
notification.c common/json: move rest of bitcoin/lightning-specific json functions to json_helpers. 2020-05-18 14:51:12 +02:00
notification.h notifications: add new notification for coin movements and two helpers 2020-05-12 15:46:58 +09:30
onchain_control.c wallet: add explicit API for onchaind to register UTXOs. 2020-07-06 19:25:05 +02:00
onchain_control.h coin moves: don't log coin moves in onchaind if we're replaying 2020-05-12 15:46:58 +09:30
onion_message.c tools/generate-wire: no more lonely messages! 2020-05-06 14:56:09 -05:00
onion_message.h lightningd: forward onion messages. 2020-04-02 14:32:38 +10:30
opening_control.c lightningd/opening_control.c: fundchannel_cancel no longer requires a channel_id argument. 2020-07-02 01:10:59 +00:00
opening_control.h subd: Add a helper to get the current owning subd for a given peer 2020-01-28 23:50:52 +01:00
options.c mpp: Add CLI option to opt-out of multi-part payments 2020-07-15 11:32:58 +02:00
options.h common: parse --allow-deprecated-apis extremely early. 2019-11-23 22:42:34 +00:00
pay.c ld: We might not have a failing channel if localfail and sendonion 2020-07-15 11:32:58 +02:00
pay.h lightningd: don't report spurious temporary_node_failure on local failures. 2020-05-04 18:56:33 +09:30
peer_control.c psbt: remove input_amounts from bitcoin tx 2020-06-11 13:13:13 +02:00
peer_control.h cleanup: make 'u8 *features' and 'struct feature_set *fset' more explicit. 2020-04-03 13:13:21 +10:30
peer_htlcs.c common/json: move rest of bitcoin/lightning-specific json functions to json_helpers. 2020-05-18 14:51:12 +02:00
peer_htlcs.h lightningd: fix crash when failing htlc once channeld dies. 2020-04-16 09:39:49 +09:30
ping.c bolt: update to BOLT spec changes (extract format + type specifications) 2019-07-16 06:10:58 +00:00
ping.h
plugin_control.c lightningd: fix obsolete comment. 2020-05-05 13:45:17 +09:30
plugin_control.h lightningd: attach plugins natively to the command which started it. 2020-05-05 13:45:17 +09:30
plugin_hook.c plugin_hook_call: return indication whether we called the callback or not. 2020-05-05 13:45:17 +09:30
plugin_hook.h plugin_hook_call: return indication whether we called the callback or not. 2020-05-05 13:45:17 +09:30
plugin.c lightningd: simplify plugin stdin/stdout initialization. 2020-05-05 13:45:17 +09:30
plugin.h lightningd: list disabled plugins in listconfig. 2020-05-05 13:45:17 +09:30
signmessage.c common/wireaddr: don't include lightningd/lightningd. 2020-02-27 14:16:16 +10:30
subd.c lightningd: Added --subdaemon command to allow alternate subdaemons. 2020-02-04 10:44:13 +10:30
subd.h lightningd: have optional node_id associated with subdaemons. 2019-11-18 04:50:22 +00:00
watch.c wallet: remove edgecase around transaction checks 2020-01-02 16:56:42 +01:00
watch.h lightningd: fix occasional missing txid detection. 2019-06-28 03:31:43 +00:00