core-lightning/lightningd
Rusty Russell 58327a594f codex32: rework.
Firstly, I wanted the results easier to use:
1. Make them always lower case, even if the string was UPPER.
2. Decode the payload for them.
3. Don't give the user any fields they don't need, and make
   the field sizes explicit.

Secondly, I wanted to avoid the pattern of "check in one place, assume
in another", in favour of "check on use".

So, I changed the code to lower the string if it needs to at the start,
and then changed the pull functions so we always use them to get data:
this way we should fail clearly and gracefully if we don't have enough data.

I made all the checks explicit, where we assign the fields.

I also addressed the FIXME: I think the array is *often* one shorter,
but not always, so I trim the last byte at the end if needed.

[ Aditya modified the tests to work ]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2023-07-31 11:29:59 +09:30
..
test lightningd: Added plugin hook to notify whenever started in rocover mode. 2023-07-31 11:29:59 +09:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
anchorspend.c Support p2tr deposit addresses 2023-07-11 11:41:15 +09: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 trace: Instrument topology functions 2023-07-28 09:21:42 +09:30
bitcoind.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
chaintopology.c trace: Instrument topology functions 2023-07-28 09:21:42 +09:30
chaintopology.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
channel.c lightningd: put ignore_fee_limits bool into channel struct. 2023-07-22 13:11:08 +09:30
channel.h lightningd: migrate (and delete) old commando runes. 2023-07-25 14:47:12 +09:30
channel_control.c fix: dont send blockheight updates if we're still syncing 2023-07-25 10:49:34 +09:30
channel_control.h lightningd: setchannel can set ignorefeelimits. 2023-07-22 13:11:08 +09:30
channel_state.h wallet: make it clear that enum state_change is in db. 2023-03-25 15:28:02 +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: don't override fee limits in feerate_min/max, do so in callers. 2023-07-22 13:11:08 +09:30
closing_control.h lightningd: trace JSON id prefixes through sendrawtx. 2022-09-16 12:31:45 +09:30
coin_mvts.c lightningd: use hash map for peers instead of linked list. 2023-01-21 08:05:31 -06:00
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
configs.c lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
connect_control.c lightningd: remove deprecated_apis global, put into lightningd. 2023-07-09 16:49:48 +09:30
connect_control.h lightningd: tell connectd we're shutting down. 2023-02-05 20:40:47 +01:00
datastore.c lightningd: simplify datastore internal db API. 2023-07-25 14:47:12 +09:30
dual_open_control.c dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
dual_open_control.h dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09: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 gossipd: tell lightningd about all our previous channel_updates at startup. 2023-07-29 09:44:20 +09:30
gossip_control.h gossipd: batch outpoints spent, add block height. 2022-09-24 15:22:27 +09:30
hsm_control.c lightningd: turn on experimental support for zero-fee htlc anchors. 2023-06-29 11:28:47 -04:00
hsm_control.h lightningd: create small hsm_sync_req() helper for hsm queries. 2023-04-10 17:26: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 invoice: return error string from invoice_check_payment. 2023-07-26 06:55:48 +09: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 trace: First draft of API 2023-07-28 09:21:42 +09:30
jsonrpc.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
lightningd.c lightningd: Added plugin hook to notify whenever started in rocover mode. 2023-07-31 11:29:59 +09:30
lightningd.h lightningd: Added plugin hook to notify whenever started in rocover mode. 2023-07-31 11:29:59 +09:30
log.c lightningd: fix up log filtering for generic daemons (e.g. connectd). 2023-07-19 19:13:57 +09:30
log.h lightningd: have opt_log_level take the log_book. 2023-07-19 19:13:57 +09: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
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: fix parent reporting for memleaks. 2023-04-10 17:26:47 +09:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c plugins: fix shutdown notification to contain object. 2023-07-13 18:59:37 +09:30
notification.h jsonrpc: make error codes an enum. 2022-09-19 10:18:55 +09:30
offer.c lightningd: create small hsm_sync_req() helper for hsm queries. 2023-04-10 17:26:47 +09:30
onchain_control.c dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c common: update to latest onion-message spec. 2023-01-30 13:24:29 +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 dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
opening_common.h dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
opening_control.c lightningd: don't override fee limits in feerate_min/max, do so in callers. 2023-07-22 13:11:08 +09:30
opening_control.h lightningd: prepare internal json routines for listpeerchannels. 2023-01-13 10:42:42 +10:30
options.c codex32: rework. 2023-07-31 11:29:59 +09:30
options.h lightningd: move listconfigs into configs.c 2023-06-20 20:08:25 +09:30
pay.c pay: Fix a non-rebased PR merge error 2023-07-26 13:50:03 +02:00
pay.h pay: generalize payment_succeeded(). 2023-07-26 06:55:48 +09:30
peer_control.c dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
peer_control.h dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09: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: don't crash if peer manages to spend onchain HTLC after we've abandoned upstream. 2023-07-28 10:18:32 +09:30
peer_htlcs.h lightningd: fix valgrind reported leak when we exit early. 2023-01-17 14:13:45 +10:30
ping.c common: clean up json routine locations. 2022-07-15 12:24:00 -05:00
plugin.c lightningd: if a plugin disables at getmanfest time, use INFO log level. 2023-07-25 19:20:16 +09:30
plugin.h lightningd/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
plugin_control.c lightningd: wire plugin command JSON id through to plugin commands. 2022-09-16 12:31:45 +09:30
plugin_control.h plugins: add command field to subcommand output. 2021-06-25 09:49:33 +09:30
plugin_hook.c common/utils: add tal_strdup_or_null helper. 2023-07-26 06:55:48 +09:30
plugin_hook.h plugin: wire JSON id for commands which caused hooks to fire. 2022-09-16 12:31:45 +09:30
routehint.c lightnind: use aliases in routehints for private channels. 2022-08-09 16:31:36 -05:00
routehint.h invoice: overhaul routehints to use topology.listincoming, cleanup. 2021-06-16 10:29:17 +09:30
runes.c lightningd: initialize runes way earlier, and add rune_is_ours helper. 2023-07-25 14:47:12 +09:30
runes.h lightningd: initialize runes way earlier, and add rune_is_ours helper. 2023-07-25 14:47:12 +09:30
signmessage.c lightningd: create small hsm_sync_req() helper for hsm queries. 2023-04-10 17:26:47 +09:30
subd.c dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09:30
subd.h dual-fund: keep track of aborted requests, seamlessly restart daemon 2023-07-30 15:20:04 +09: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/log: clean up nomenclature. 2023-07-19 19:13:57 +09:30
watch.h Remove names of parameters of callbacks which confuse gcc. 2022-08-31 12:18:28 +03:00