core-lightning/common
Rusty Russell 8e74a507d7 common/json_tok: allow non-v0 segwit addresses.
Only v0 has specific length restrictions: taproot is v1 32 bytes long,
but explicitly other lengths remain undefined.

I noticed that I added option_shutdown_anysegwit as EXPERIMENTAL in
the last release, but didn't CHANGELOG it.  Then I changed it to
non-experimental as a spec update, but didn't CHANGELOG it then
either, so let's do that now!

    Changelog-Added: Protocol: We now send and accept `option_shutdown_anysegwit` so you can close channels to v1+ segwit addresses.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Added: JSON-RPC: `withdraw`, `close` (and others) now accept taproot (and other future) segwit addresses.
2021-06-11 13:54:20 +09:30
..
test Refuse to parse v2 onion addresses without deprecated_apis 2021-05-24 20:22:45 +09:30
addr.c addr: handle P2SH/P2PKH in scriptpubkey encoding 2019-11-13 03:31:20 +00:00
addr.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
amount.c amount: amount_sat_scale method 2021-05-03 11:06:10 +09:30
amount.h amount: amount_sat_scale method 2021-05-03 11:06:10 +09:30
base32.c
base32.h
base64.c common: remove b64_decode 2020-10-21 19:34:39 +02:00
base64.h common: remove b64_decode 2020-10-21 19:34:39 +02:00
bech32_util.c common/bech32_util: simple routines for checksumless bech32 charset usage. 2020-12-09 16:40:13 +10:30
bech32_util.h common/bech32_util: simple routines for checksumless bech32 charset usage. 2020-12-09 16:40:13 +10:30
bech32.c common/bech32: update to bech32m reference. 2021-06-11 13:54:20 +09:30
bech32.h common/bech32: update to bech32m reference. 2021-06-11 13:54:20 +09:30
bigsize.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
bigsize.h Remove varint typedef for bigsize 2020-09-23 16:30:36 +09:30
billboard.c billboard: add in billboard updates from dualopend 2021-01-10 13:44:04 +01:00
billboard.h billboard: break out common method for billboard updates 2021-01-10 13:44:04 +01:00
bip32.c wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
bip32.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
blindedpath.c common/blindedpath: fix type of enctlv. 2020-12-15 12:05:02 +01:00
blindedpath.h offers: make it a runtime option. 2021-01-13 14:45:36 +01:00
blinding.c common: add blinding helpers. 2020-04-04 16:08:49 +10:30
blinding.h common: add blinding helpers. 2020-04-04 16:08:49 +10:30
bolt11_json.c common/bolt11_json: extract bolt11->json code. 2021-01-09 14:34:35 +10:30
bolt11_json.h common/bolt11_json: extract bolt11->json code. 2021-01-09 14:34:35 +10:30
bolt11.c common/bech32: update to bech32m reference. 2021-06-11 13:54:20 +09:30
bolt11.h bolt11: expose routine to parse bolt11 string except signature. 2020-12-15 12:05:02 +01:00
bolt12_merkle.c hsmd: code to sign bolt12 messages with a tweaked key. 2020-12-23 14:24:39 +01:00
bolt12_merkle.h common/bolt12: include correct bolt12 wiregen header. 2021-01-13 14:45:36 +01:00
bolt12.c pay: Add functions to tell bolt12 string apart 2021-03-11 14:09:51 +10:30
bolt12.h libhsmd: First working build script for libhsmd-python 2021-05-15 09:31:12 +09:30
channel_config.c struct channel_config: use amount_sat / amount_msat. 2019-02-21 08:01:37 +00:00
channel_config.h bolt: update to BOLT spec changes (extract format + type specifications) 2019-07-16 06:10:58 +00:00
channel_id.c df-spec: use an empty bit-set as the basepoint for chan-id at start 2021-03-09 14:55:05 +10:30
channel_id.h df-spec: use an empty bit-set as the basepoint for chan-id at start 2021-03-09 14:55:05 +10:30
close_tx.c tx-psbt: pass in the witness script (if known) when adding an input 2020-06-11 13:13:13 +02:00
close_tx.h tx-psbt: pass in the witness script (if known) when adding an input 2020-06-11 13:13:13 +02:00
closing_fee.h closingd: configurable closing fee negotiation step 2020-04-07 13:52:48 +09:30
coin_mvt.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
coin_mvt.h channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
configdir.c common: change default network to mainnet for all 2020-12-16 11:48:25 +01:00
configdir.h config: explicitly disallow nonsensical options. 2019-11-23 22:42:34 +00:00
crypto_state.c
crypto_state.h
crypto_sync.c common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
crypto_sync.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
cryptomsg.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
cryptomsg.h
daemon_conn.c status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
daemon_conn.h status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
daemon.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
daemon.h Add missing extern qualifiers for gcc 10 2020-02-02 12:59:17 +10:30
decode_array.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
decode_array.h wire: update to latest version of the spec. 2020-06-23 18:49:15 +02:00
derive_basepoints.c developer: add --dev-force-channel-secrets. 2019-07-17 12:55:37 -05:00
derive_basepoints.h developer: add --dev-force-channel-secrets. 2019-07-17 12:55:37 -05:00
descriptor_checksum.c common: add a descriptor checksum computation module 2020-11-10 10:34:13 -06:00
descriptor_checksum.h common: add a descriptor checksum computation module 2020-11-10 10:34:13 -06:00
dev_disconnect.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
dev_disconnect.h
dijkstra.c dijkstra: add chan pointer argument to path scoring. 2021-05-22 17:53:04 +09:30
dijkstra.h dijkstra: add chan pointer argument to path scoring. 2021-05-22 17:53:04 +09:30
ecdh_hsmd.c hsmd: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
ecdh_hsmd.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
ecdh.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
errcode.h Use dedicated type for error codes 2020-01-31 06:02:47 +00:00
features.c channeld: handle upgrade match. 2021-06-04 16:13:08 +09:30
features.h channeld: handle upgrade match. 2021-06-04 16:13:08 +09:30
fee_states.c channeld: tweak function to allow testing for pending *uncommitted* changes. 2021-06-04 16:13:08 +09:30
fee_states.h channeld: tweak function to allow testing for pending *uncommitted* changes. 2021-06-04 16:13:08 +09:30
fp16.c common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
fp16.h common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
gossip_constants.h libplugin-pay: incorporate gossip store. 2020-10-21 08:58:34 +10:30
gossip_rcvd_filter.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
gossip_rcvd_filter.h common/gossip_rcvd_filter: cache for received gossip. 2019-09-06 14:35:01 +02:00
gossip_store.c common/gossip_store: avoid fd pass for new store, use end marker. 2021-05-22 17:53:04 +09:30
gossip_store.h gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +10:30
gossmap.c common/gossmap: reload once we hit end marker. 2021-05-22 17:53:04 +09:30
gossmap.h gossmap: function to get channel features bitmap. 2021-05-22 17:53:04 +09:30
hash_u5.c common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
hash_u5.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
hmac.c common/sphinx: don't make copy to compute packet hmac. 2020-12-11 15:51:24 +01:00
hmac.h common/sphinx: don't make copy to compute packet hmac. 2020-12-11 15:51:24 +01:00
hsm_encryption.c hsm_encryption.c: fix source include order 2021-06-03 20:10:07 +02:00
hsm_encryption.h hsmd: regroup hsm_secret decryption logic 2021-01-06 13:50:01 +01:00
htlc_state.c Makefile: unify generated files definition. 2020-10-22 12:14:34 +10:30
htlc_state.h
htlc_trim.c channeld, openingd: take into account option_anchor_outputs for fees. 2020-08-14 11:51:14 +09:30
htlc_trim.h channeld, openingd: take into account option_anchor_outputs for fees. 2020-08-14 11:51:14 +09:30
htlc_tx.c doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09:30
htlc_tx.h doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09:30
htlc_wire.c common: fix MacOS compile error. 2021-03-23 14:24:38 -05:00
htlc_wire.h common/sphinx: make TOTAL_PACKET_SIZE a macro. 2020-12-11 15:51:24 +01:00
htlc.h htlc.h: move NUM_SIDES to define, not enum member 2020-11-23 12:21:33 -06:00
initial_channel.c channeld: set desired_type to upgrade option_static_remotekey if not already. 2021-06-04 16:13:08 +09:30
initial_channel.h channeld: set desired_type to upgrade option_static_remotekey if not already. 2021-06-04 16:13:08 +09:30
initial_commit_tx.c doc: update BOLT quotes (to include links for anchor outputs). 2021-02-25 13:23:16 +10:30
initial_commit_tx.h openingd: pull out check_configs into a common place 2020-09-09 19:54:20 +09:30
io_lock.c common/io_lock: add helper to query if lock is taken. 2018-10-19 22:02:11 +00:00
io_lock.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
iso4217.c common/iso4217: make find_iso4217 a little more usable. 2020-12-15 12:05:02 +01:00
iso4217.h common/iso4217: make find_iso4217 a little more usable. 2020-12-15 12:05:02 +01:00
json_command.h json_command: command_fail_badparam helper. 2020-09-02 09:46:37 +09:30
json_helpers.c decode: new generic API to decode bolt11 and bolt12. 2021-01-09 14:34:35 +10:30
json_helpers.h decode: new generic API to decode bolt11 and bolt12. 2021-01-09 14:34:35 +10:30
json_stream.c json: fix oom when adding a long string 2021-03-03 09:18:53 +10:30
json_stream.h common/json_stream: add generic double-cr helper. 2020-10-23 13:53:16 +10:30
json_tok.c common/json_tok: allow non-v0 segwit addresses. 2021-06-11 13:54:20 +09:30
json_tok.h common/json_tok: hoist param_short_channel_id from inside lightningd/ 2021-05-22 17:53:04 +09:30
json.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
json.h common/json: make json_scan return an error string. 2021-01-07 19:32:47 +01:00
jsonrpc_errors.h df: start of RPC for bumping the fee! 2021-03-03 16:19:04 -06:00
key_derive.c doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09:30
key_derive.h
keyset.c doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09:30
keyset.h derive_keyset: don't rotate key for remote iff option_static_remotekey. 2019-09-10 16:18:25 -05:00
Makefile dual-funding: convert to runtime flag, --experimental-dual-fund 2021-03-25 20:05:11 +10:30
memleak.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
memleak.h common/memleak: simplify and document API. 2020-09-23 13:52:49 +09:30
msg_queue.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
msg_queue.h status: suppress status_trace/status_debug messages if queue too long. 2019-05-03 11:42:48 +02:00
node_id.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
node_id.h bitcoin/pubkey: add pubkey32 primitive for xonly pubkey types. 2020-12-09 16:40:13 +10:30
onion.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
onion.h common/onion: add blinding and enctlv encoding. 2020-04-14 12:51:18 +09:30
onionreply.c wire: move towire/fromwire_short_channel_id out to bitcoin/short_channel_id.c 2020-05-18 14:51:12 +02:00
onionreply.h common: add struct onionreply 2020-01-23 16:17:42 +10:30
overflows.h
param.c add a note to "unknown parameter" error about -k autodetect failure. 2020-12-21 12:17:43 +00:00
param.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
peer_billboard.c common: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
peer_billboard.h
peer_failed.c common: disallow NULL channel_id to peer_failed_err. 2021-02-04 12:02:52 +10:30
peer_failed.h common: remove peer_failed in favor of peer_failed_warn/peer_failed_err 2021-02-04 12:02:52 +10:30
peer_status_wire.csv common: treat all "all-channels" errors as if they were warnings. 2021-02-04 12:02:52 +10:30
peer_status_wiregen.c gen/impl_template: fix generation of singleton varsize elements. 2021-06-04 16:13:08 +09:30
peer_status_wiregen.h gen/impl_template: fix generation of singleton varsize elements. 2021-06-04 16:13:08 +09:30
penalty_base.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
penalty_base.h watchtower: Add a struct containing the penalty base information 2020-05-07 15:05:39 +09:30
per_peer_state.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
per_peer_state.h developer: consolidiate gossip timing options into one --dev-fast-gossip. 2019-09-20 06:55:00 +00:00
permute_tx.c psbt: remove input_amounts from bitcoin tx 2020-06-11 13:13:13 +02:00
permute_tx.h tx: Change permute_{inputs,outputs} to sort both old and new txs 2019-04-08 00:00:00 +00:00
ping.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
ping.h
private_channel_announcement.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
private_channel_announcement.h gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +10:30
psbt_internal.c dual-funding: convert to runtime flag, --experimental-dual-fund 2021-03-25 20:05:11 +10:30
psbt_internal.h dual-funding: convert to runtime flag, --experimental-dual-fund 2021-03-25 20:05:11 +10:30
psbt_open.c psbt-open: method to quickly check if has our input 2021-05-03 11:06:10 +09:30
psbt_open.h psbt-open: method to quickly check if has our input 2021-05-03 11:06:10 +09:30
pseudorand.c common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
pseudorand.h common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
random_select.c common/random_select: central place for reservoir sampling. 2020-08-28 10:56:50 +09:30
random_select.h Apply @cdecker typo suggestions from code review 2020-08-28 10:56:50 +09:30
read_peer_msg.c common: Check chain hash in gossip_timestamp_filter 2021-05-26 10:43:50 +09:30
read_peer_msg.h common: treat all "all-channels" errors as if they were warnings. 2021-02-04 12:02:52 +10:30
route.c dijkstra: add chan pointer argument to path scoring. 2021-05-22 17:53:04 +09:30
route.h dijkstra: add chan pointer argument to path scoring. 2021-05-22 17:53:04 +09:30
setup.c libwally: update to release_0.8.3 2021-06-03 11:24:33 +09:30
setup.h setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +09:30
shutdown_scriptpubkey.c Makefile: update to latest spec. 2021-05-26 20:01:03 +09:30
shutdown_scriptpubkey.h Makefile: update to latest spec. 2021-05-26 20:01:03 +09:30
socket_close.c
socket_close.h
sphinx.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
sphinx.h common/sphinx: make onionpacket.routinginfo a dynamic member. 2020-12-11 15:51:24 +01:00
status_levels.c common: add routines for log level names. 2020-10-23 13:53:16 +10:30
status_levels.h common: add routines for log level names. 2020-10-23 13:53:16 +10:30
status_wire.c
status_wire.csv status: new message for subdaemons to tell us their versions. 2021-04-24 13:56:58 +09:30
status_wire.h
status_wiregen.c gen/impl_template: fix generation of singleton varsize elements. 2021-06-04 16:13:08 +09:30
status_wiregen.h gen/impl_template: fix generation of singleton varsize elements. 2021-06-04 16:13:08 +09:30
status.c subd: send versions at startup. 2021-04-24 13:56:58 +09:30
status.h common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
subdaemon.c common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
subdaemon.h common: reduce header differences for DEVELOPER vs non-DEVELOPER. 2019-09-06 14:35:01 +02:00
timeout.c
timeout.h
tx_roles.h tx_roles: pull up roles, rename 2020-10-20 12:50:31 +10:30
type_to_string.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
type_to_string.h bitcoin/pubkey: add pubkey32 primitive for xonly pubkey types. 2020-12-09 16:40:13 +10:30
utils.c common/utils: simple utf8 helpers. 2020-12-02 10:38:04 +10:30
utils.h offers: make it a runtime option. 2021-01-13 14:45:36 +01:00
utxo.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
utxo.h fundpsbt/utxopsbt: new min_witness_weight param 2020-12-02 14:19:08 +10:30
version.c Makefile: unify generated files definition. 2020-10-22 12:14:34 +10:30
version.h
wallet.c wallet: Rip out the txtypes type in favor of enum wallet_tx_type 2019-06-08 02:58:27 +00:00
wallet.h wallet: Add transaction annotation type 2019-10-07 20:03:24 -05:00
wire_error.c common: disallow NULL channel_id to peer_failed_err. 2021-02-04 12:02:52 +10:30
wire_error.h common: disallow NULL channel_id to peer_failed_err. 2021-02-04 12:02:52 +10:30
wireaddr.c Refuse to parse v2 onion addresses without deprecated_apis 2021-05-24 20:22:45 +09:30
wireaddr.h Refuse to parse v2 onion addresses without deprecated_apis 2021-05-24 20:22:45 +09:30