rgb-cln/lightningd
Rusty Russell d5cb0d85b5 utils: use a cleaner pattern to capture wally allocations.
We force use of tal_wally_start/tal_wally_end around every wally
allocation, and with "end" make the caller choose where to reparent
everything.

This is particularly powerful where we allocate a tx or a psbt: we
want that tx or psbt to be the parent of the other allocations, so
this way we can reparent the tx or psbt, then reparent everything
else onto it.

Implementing psbt_finalize (which uses a behavior flag antipattern)
was tricky, so I ended up splitting that into 'psbt_finalize' and
'psbt_final_tx', which I think also makes the callers clearer.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-09-23 14:45:53 +02:00
..
test psbt: pull out changeset logic into common, update API 2020-09-09 19:54:20 +09:30
.gitignore dualopend: new `dualopend` daemon, containing most of accepter side 2020-09-09 19:54:20 +09:30
Makefile build: exclude dualopend from non-experimental builds 2020-09-09 19:54:20 +09:30
bitcoind.c Avoid compile error on macos mojave 2020-09-09 20:43:27 +09:30
bitcoind.h plugins/bcli.c: `sendrawtransaction` now has a required `allowhighfees` argument. 2020-09-09 12:38:19 +09:30
chaintopology.c topo: Do not keep txids in memory indefinitely 2020-09-23 13:52:49 +09:30
chaintopology.h plugins/bcli.c: `sendrawtransaction` now has a required `allowhighfees` argument. 2020-09-09 12:38:19 +09:30
channel.c lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
channel.h lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
channel_control.c lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
channel_control.h opening: pass two messages to channeld to send to peer 2020-09-09 19:54:20 +09:30
channel_state.h wallet: Add a final `CLOSED` state to channels 2019-06-30 16:41:30 +09:30
closing_control.c lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
closing_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
coin_mvts.c channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
coin_mvts.h coins: re-write API interface for htlc notices 2020-05-12 15:46:58 +09:30
connect_control.c connectd: implement connection timeout (60 seconds). 2020-09-11 21:27:45 +09:30
connect_control.h lightningd: return `features` in connect response. 2020-04-03 13:13:21 +10:30
dual_open_control.c utils: use a cleaner pattern to capture wally allocations. 2020-09-23 14:45:53 +02:00
dual_open_control.h dual-fund: accepter side implementation on lightningd 2020-09-09 19:54:20 +09:30
gossip_control.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +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 hsmd: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
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 Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +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 Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
invoice.c lightningd: extract routehint selection code. 2020-09-08 19:47:11 +09: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 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 json_command: command_fail_badparam helper. 2020-09-02 09:46:37 +09:30
json.h common: hoist param_bitcoin_address where plugins can use it. 2020-08-11 08:39:24 +09:30
jsonrpc.c lightningd: remove deprecated rpc_command hook return. 2020-09-18 12:08:07 +09:30
jsonrpc.h common: move json_stream from lightningd/ to common/ 2020-02-04 13:24:32 +10:30
lightningd.c lightningd: extract routehint selection code. 2020-09-08 19:47:11 +09:30
lightningd.h connectd: implement connection timeout (60 seconds). 2020-09-11 21:27:45 +09:30
log.c log: align level tags IO DEBUG INFO and UNUSUAL 2020-09-08 13:17:35 +09:30
log.h lightningd: use a simple array for less memory usage. 2019-11-18 04:50:22 +00:00
log_status.c common: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
log_status.h lightningd: have logging include an optional node_id for each entry. 2019-11-18 04:50:22 +00:00
memdump.c common/memleak: simplify and document API. 2020-09-23 13:52:49 +09:30
memdump.h lightningd: add code to search strmaps for memleak detection. 2019-02-07 20:33:50 +00:00
notification.c feat: adds channel_state_changed notification 2020-09-10 10:24:06 +09:30
notification.h feat: adds channel_state_changed notification 2020-09-10 10:24:06 +09:30
onchain_control.c channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
onchain_control.h closingd: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
onion_message.c json_command: command_fail_badparam helper. 2020-09-02 09:46:37 +09:30
onion_message.h lightningd: forward onion messages. 2020-04-02 14:32:38 +10:30
opening_common.c memleak: 'generify' the memleak calling to code for openingd/dualopend 2020-09-17 10:12:08 +09:30
opening_common.h memleak: 'generify' the memleak calling to code for openingd/dualopend 2020-09-17 10:12:08 +09:30
opening_control.c lightningd: don't hand around partially-assembled channel_info. 2020-09-23 15:51:13 +09:30
opening_control.h memleak: 'generify' the memleak calling to code for openingd/dualopend 2020-09-17 10:12:08 +09:30
options.c connectd: implement connection timeout (60 seconds). 2020-09-11 21:27:45 +09:30
options.h common: parse --allow-deprecated-apis extremely early. 2019-11-23 22:42:34 +00:00
pay.c Added additional fix to code formatting and English spelling. 2020-09-10 17:27:51 +09:30
pay.h lightningd: don't report spurious temporary_node_failure on local failures. 2020-05-04 18:56:33 +09:30
peer_control.c lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
peer_control.h lightningd: factor out spendable/receivable calcs, expose receivable. 2020-09-08 19:47:11 +09:30
peer_htlcs.c lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
peer_htlcs.h lightningd: separate fee_states out of struct channel_info. 2020-09-23 15:51:13 +09:30
ping.c gossipd: convert wire to new scheme. 2020-08-25 12:53:13 +09: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.c lightningd: really remove relative plugins dirs. 2020-09-18 12:08:07 +09:30
plugin.h lightningd: always do incremental parsing of JSON inputs. 2020-08-21 09:52:33 +09:30
plugin_control.c lightningd: remove deprecated result for `plugin stop`. 2020-09-18 12:08:07 +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 lightningd: remove deprecated return for `db_write` hook. 2020-09-18 12:08:07 +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
routehint.c lightningd: extract routehint selection code. 2020-09-08 19:47:11 +09:30
routehint.h lightningd: extract routehint selection code. 2020-09-08 19:47:11 +09:30
signmessage.c gossipd: convert wire to new scheme. 2020-08-25 12:53:13 +09:30
subd.c Makefile: use generic rules to make spec-derived sources. 2020-08-31 21:33:26 -05:00
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