core-lightning/lightningd
Ken Sedgwick 44798e298c hsmd: implement the hsmd outpoint check
Tihis commit is implementing a 2-phase commit between
the signer the node and the peer.

The main reason for this is that everybody must agree on the lock,
otherwise one of them will want N signatures (on the splice candidates),
and another will produce only 1 signature.

check_outpoint is the "prepare" for the signer, and lock_outpoint is the
"commit". if check_outpoint returns true, lock_outpoint must not fail.

Link: https://github.com/ElementsProject/lightning/issues/6722
Suggested-by: @devrandom
Co-Developed-by: Ken Sedgwick <ken@bonsai.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-10-26 16:42:47 +10:30
..
test lightningd: implement recover command. 2023-10-26 12:59:55 +10:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
anchorspend.c lightningd: have broadcast_tx take a ctx. 2023-10-24 15:07:08 +10:30
anchorspend.h lightningd: code to spend anchor outputs if we want to boost commitment tx. 2023-06-29 11:28:47 -04:00
bitcoind.c lightningd: add context arg to bitcoind_sendrawtx() 2023-10-24 15:07:08 +10:30
bitcoind.h lightningd: add context arg to bitcoind_sendrawtx() 2023-10-24 15:07:08 +10:30
chaintopology.c lightningd: fix crash when blocks come it fast. 2023-10-25 23:11:37 +02:00
chaintopology.h lightningd: call finished callback *every* time we re-xmit a transaction. 2023-10-24 15:07:08 +10:30
channel_control.c hsmd: implement the hsmd outpoint check 2023-10-26 16:42:47 +10:30
channel_control.h lightningd: fix bug where we didn't correctly change outpoint of splice scid. 2023-10-02 11:41:19 +10:30
channel_state.h lightningd: split DUALOPEND_OPEN_INIT into DUALOPEND_OPEN_INIT and DUALOPEND_OPEN_COMMITTED. 2023-10-02 11:41:19 +10:30
channel.c lightningd: stop all subds when we want to disconnect. 2023-10-23 15:48:50 +10:30
channel.h lightningd: ensure we *always* watch channel spend. 2023-10-02 11:41:19 +10:30
closed_channel.c lightningd: add listclosedchannels command. 2023-03-25 15:28:02 +10:30
closed_channel.h lightningd: add listclosedchannels command. 2023-03-25 15:28:02 +10:30
closing_control.c lightningd: stop all subds when we want to disconnect. 2023-10-23 15:48:50 +10:30
closing_control.h lightningd: pass signed tx through to close callback. 2023-08-02 07:09:28 +09:30
coin_mvts.c lightningd: split DUALOPEND_OPEN_INIT into DUALOPEND_OPEN_INIT and DUALOPEND_OPEN_COMMITTED. 2023-10-02 11:41:19 +10:30
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
configs.c lightningd: use fsync not fdatasync. 2023-08-08 09:45:10 +09:30
connect_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
connect_control.h lightningd: stop all subds when we want to disconnect. 2023-10-23 15:48:50 +10:30
datastore.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
dual_open_control.c hsmd: implement the hsmd outpoint check 2023-10-26 16:42:47 +10:30
dual_open_control.h lightningd: simplify funding_depth_cb now it only handles main funding tx. 2023-10-02 11:41:19 +10:30
feerate.c lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
feerate.h lightningd: clean up feerate handling, deprecate old terms. 2023-04-10 07:31:12 +09:30
gossip_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
gossip_control.h lightningd: really fill in our own details when channeld says to make channel_update. 2023-10-25 07:00:05 +10:30
hsm_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
hsm_control.h hsmd: rename "capabilities" flags for hsm fds to "permissions" 2023-08-08 14:31:47 +09:30
htlc_end.c lightningd: don't crash if peer manages to spend onchain HTLC after we've abandoned upstream. 2023-07-28 10:18:32 +09:30
htlc_end.h channeld: don't calculate blinding shared secret, let lightningd do it. 2022-10-26 11:29:06 +10:30
htlc_set.c invoice: return error string from invoice_check_payment. 2023-07-26 06:55:48 +09:30
htlc_set.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
invoice.h invoice: return error string from invoice_check_payment. 2023-07-26 06:55:48 +09:30
io_loop_with_timers.c database: pull out database code into a new module 2022-03-05 15:03:34 +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
jsonrpc.c lightningd: implement recover command. 2023-10-26 12:59:55 +10:30
jsonrpc.h common: add new param_check() which doesn't abort if we're simply checking. 2023-10-26 12:59:55 +10:30
lightningd.c lightningd: implement recover command. 2023-10-26 12:59:55 +10:30
lightningd.h lightningd: implement recover command. 2023-10-26 12:59:55 +10:30
log_status.c lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
log_status.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
log.c common: make json_add_timeabs full precision & renamed json_add_time 2023-09-21 13:31:34 +09:30
log.h lightningd: have opt_log_level take the log_book. 2023-07-19 19:13:57 +09:30
Makefile lightningd/common: Added --recover flag to populate HSM_secret with appropriate secret through a valid codex32 secret. 2023-07-31 11:29:59 +09:30
memdump.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c common/json_stream, lightningd/notification: clean up function APIs 2023-10-02 11:41:19 +10:30
notification.h common/json_stream, lightningd/notification: clean up function APIs 2023-10-02 11:41:19 +10:30
offer.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
onchain_control.c lightningd: have broadcast_tx take a ctx. 2023-10-24 15:07:08 +10:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +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 lightningd: pass disconnect flag to subd's errcb. 2023-10-23 15:48:50 +10:30
opening_common.h lightningd: pass disconnect flag to subd's errcb. 2023-10-23 15:48:50 +10:30
opening_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
opening_control.h lightningd: prepare internal json routines for listpeerchannels. 2023-01-13 10:42:42 +10:30
options.c lightningd: allow --recover to take a 64-char hex string. 2023-10-26 12:59:55 +10:30
options.h lightningd: allow --recover to take a 64-char hex string. 2023-10-26 12:59:55 +10:30
pay.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
pay.h pay: generalize payment_succeeded(). 2023-07-26 06:55:48 +09:30
peer_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
peer_control.h lightningd: pass disconnect flag to subd's errcb. 2023-10-23 15:48:50 +10:30
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_htlcs.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
peer_htlcs.h lightningd: fix valgrind reported leak when we exit early. 2023-01-17 14:13:45 +10:30
ping.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
plugin_control.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c lightningd: don't re-enter transaction if we have to call plugin_exclusive_loop. 2023-10-25 10:53:48 +02:00
plugin_hook.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
plugin.c lightningd: don't re-enter transaction if we have to call plugin_exclusive_loop. 2023-10-25 10:53:48 +02:00
plugin.h lightningd: handle properly if our own request to plugin is freed. 2023-10-24 15:07:08 +10:30
routehint.c lightningd: make channel-query functions all take state. 2023-10-02 11:41:19 +10:30
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
runes.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
runes.h runes: ensure that uniqueid is a valid number. 2023-09-12 15:19:02 +09:30
signmessage.c lightningd: use param_check on all commands which do extra checks. 2023-10-26 12:59:55 +10:30
subd.c lightningd: pass disconnect flag to subd's errcb. 2023-10-23 15:48:50 +10:30
subd.h lightningd: pass disconnect flag to subd's errcb. 2023-10-23 15:48:50 +10:30
wait.c wait: new command to wait on indexes. 2023-07-23 13:48:37 +09:30
wait.h wait: new command to wait on indexes. 2023-07-23 13:48:37 +09:30
watch.c lightningd: fix watch on existing tx. 2023-10-02 11:41:19 +10:30
watch.h lightningd: make watch_txid more generic. 2023-10-02 11:41:19 +10:30