core-lightning/lightningd
niftynei d2c4d4aec2 coin_mvts: rewrite how onchain events are recorded, update tests
The old model of coin movements attempted to compute fees etc and log
amounts, not utxos. This is not as robust, as multi-party opens and dual
funded channels make it hard to account for fees etc correctly.

Instead, we move towards a 'utxo' view of the onchain events. Every
event is either the creation or 'destruction' of a utxo. For cases where
the value of the utxo is not (fully) debited/credited to our account, we
also record the output_value. E.g. channel closings spend a utxo who's
entire value we may not own.

Since we're now tracking UTXOs onchain, we can now do more complex
assertions about the onchain footprint of them. The integration tests
have been updated to now use more 'chain aware' assertions about the
ending state.
2021-12-28 04:42:42 +10:30
..
test common: cleanup unsused parameter in timer_expired() 2021-12-14 09:33:10 +10:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
bitcoind.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bitcoind.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
chaintopology.c coin-mvt: remove all the spend-tracking 2021-12-28 04:42:42 +10:30
chaintopology.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
channel_control.c coin_mvts: rewrite how onchain events are recorded, update tests 2021-12-28 04:42:42 +10:30
channel_control.h daemons: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
channel_state.h channel-state: add two new states, for dualopend 2021-01-10 13:44:04 +01:00
channel.c hsmd: Add hsmd_new_channel 2021-12-14 11:24:52 +10:30
channel.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
closing_control.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
closing_control.h lightningd/closing_control.c: move json_close here from peer_control.c 2021-09-15 18:23:30 +02:00
coin_mvts.c bitcoin/chainparams.h: Split BIP173 name into onchain and Lightning HRPs. 2021-12-14 11:21:35 +10:30
coin_mvts.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
connect_control.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
connect_control.h daemons: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
datastore.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
dual_open_control.c hsmd: Add hsmd_ready_channel 2021-12-14 11:24:52 +10:30
dual_open_control.h openingd/dualopend: remove send_msg functionality. 2021-06-03 16:16:34 +09:30
gossip_control.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
gossip_control.h gossipd: get fed the blockheight from lightningd when we know it. 2019-09-25 04:01:56 +00:00
hsm_control.c lightningd: support hsm error code 2021-12-15 12:24:54 +10:30
hsm_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
htlc_end.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_end.h htlcs: add flag to 'fail immediately' 2021-10-23 12:59:13 +02:00
htlc_set.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_set.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
invoice.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
io_loop_with_timers.c common: cleanup unsused parameter in timer_expired() 2021-12-14 09:33:10 +10:30
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 check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
json.h common: hoist param_bitcoin_address where plugins can use it. 2020-08-11 08:39:24 +09:30
jsonrpc.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
jsonrpc.h lightningd: cleanup, freeing jsonrpc in shutdown cannot trigger db write's anymore 2021-11-30 13:34:44 +10:30
lightningd.c Fix comment to reflect the code 2021-12-21 10:59:25 +10:30
lightningd.h memleak: make notleak use the tal name instead of a boutique struct. 2021-11-27 10:38:13 +10:30
log_status.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log_status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
log.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log.h log: don't leak log prefixes. 2021-11-27 10:38:13 +10:30
Makefile gossipd: remove gossip_msg.[ch] 2021-12-06 10:05:39 +10:30
memdump.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
memdump.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
notification.c coin_mvt: add "output value" to coin movement 2021-12-28 04:42:42 +10:30
notification.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
offer.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
onchain_control.c coin_mvts: rewrite how onchain events are recorded, update tests 2021-12-28 04:42:42 +10:30
onchain_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
onion_message.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c hsmd: Add hsmd_new_channel 2021-12-14 11:24:52 +10:30
opening_common.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
opening_control.c hsmd: Add hsmd_ready_channel 2021-12-14 11:24:52 +10:30
opening_control.h openingd/dualopend: remove send_msg functionality. 2021-06-03 16:16:34 +09:30
options.c lightningd: support hsm error code 2021-12-15 12:24:54 +10:30
options.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
pay.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
pay.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
peer_control.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
peer_control.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
peer_htlcs.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
peer_htlcs.h db: Add groupid to HTLCs 2021-10-13 13:41:18 +10:30
ping.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
ping.h ping: complete JSON RPC ping commands even if one ping gets no response. 2018-09-14 22:11:23 +02:00
plugin_control.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c plugins: simplify shutdown loop, simply close the db 2021-12-14 09:33:10 +10:30
plugin_hook.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
plugin.c lightningd: cleanup obsolete plugins->shutdown flag 2021-12-14 09:33:10 +10:30
plugin.h lightningd: cleanup obsolete plugins->shutdown flag 2021-12-14 09:33:10 +10:30
routehint.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
signmessage.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
subd.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
subd.h lightningd: don't send other messages until we've received version. 2021-04-24 13:56:58 +09:30
watch.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
watch.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00