core-lightning/common
Rusty Russell 372fffac69 Anchor outputs are enabled by dual-funding, so this was reported by
users there (and reliably detected now).

Reported-by: @larsschenk
Reported-by: @nickfarrow
Fixes: #4728
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Fixed: EXPERIMENTAL: crash for some users while requesting dual funding leases.
2021-09-02 15:06:18 +02:00
..
test gossmap: don't spew to stderr, include counter for callers. 2021-08-24 06:42:32 +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: add 'is_zero' helper 2021-07-20 13:28:38 -04:00
amount.h amount: add 'is_zero' helper 2021-07-20 13:28:38 -04:00
base32.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
base32.h common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
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
blockheight_states.c liquidity-ads: persist channel blockheight states to disk 2021-07-20 13:28:38 -04:00
blockheight_states.h liquidity-ads: persist channel blockheight states to disk 2021-07-20 13:28:38 -04:00
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 common/bolt12_merkle.c: fix comments. 2021-07-30 15:45:30 +09:30
bolt12_merkle.h common/bolt12: include correct bolt12 wiregen header. 2021-01-13 14:45:36 +01:00
bolt12.c offers: signatures are now optional. 2021-07-03 12:13:45 +09:30
bolt12.h bolt12: import latest spec (timestamp -> created_at). 2021-07-21 13:27:27 -04:00
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: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_state.h crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_sync.c dev_disconnect: new option to stop using connection, but don't close. 2021-06-25 13:23:28 +09:30
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 common/cryptomsg: remove unused async routines. 2018-09-28 04:14:28 +00:00
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 lightningd: always pass closing connections through channeld. 2021-06-25 13:23:28 +09:30
dev_disconnect.h dev_disconnect: new option to stop using connection, but don't close. 2021-06-25 13:23:28 +09:30
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 features: renumber from 102/103 to 38/39. 2021-07-03 12:13:45 +09:30
features.h features: renumber from 102/103 to 38/39. 2021-07-03 12:13:45 +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 gossipd: signal whether node_ann is updated, are we starting up? 2021-07-20 13:28:38 -04:00
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 gossmap: don't spew to stderr, include counter for callers. 2021-08-24 06:42:32 +09:30
gossmap.h gossmap: don't spew to stderr, include counter for callers. 2021-08-24 06:42:32 +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: merge getline() logic between stdin and non-stdin 2021-06-18 10:40:07 +09:30
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 Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
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 channel: wire blockheight updates from channeld in to database 2021-07-20 13:28:38 -04:00
initial_channel.h channel: wire blockheight updates from channeld in to database 2021-07-20 13:28:38 -04:00
initial_commit_tx.c Anchor outputs are enabled by dual-funding, so this was reported by 2021-09-02 15:06:18 +02:00
initial_commit_tx.h lease_rates: add csv lock to modify anchor scripts 2021-07-20 13:28:38 -04:00
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 common: note that command_fail doesn't return NULL. 2021-06-16 10:29:17 +09:30
json_helpers.c option_will_fund: print out lease rates in listnodes 2021-07-20 13:28:38 -04:00
json_helpers.h option_will_fund: print out lease rates in listnodes 2021-07-20 13:28:38 -04:00
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/lease_rates: more things const. 2021-07-20 13:28:38 -04:00
json_tok.h lease rates: helpers for parsing, serializing + equating lease_rates 2021-07-20 13:28:38 -04:00
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 datastore: turn keys into arrays 2021-08-25 10:06:31 +02:00
key_derive.c doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09:30
key_derive.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
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
lease_rates.c common/lease_rates: more things const. 2021-07-20 13:28:38 -04:00
lease_rates.h common/lease_rates: more things const. 2021-07-20 13:28:38 -04:00
Makefile common: fix up missing file which can cause parallel build issues. 2021-07-23 13:26:31 -04:00
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 htlc: Keep the parsed TLV payload around with the htlc_in 2021-06-26 10:55:13 +09:30
onion.h htlc: Keep the parsed TLV payload around with the htlc_in 2021-06-26 10:55:13 +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 overflows: helpers for integer assignment overflows. 2021-07-20 13:28:38 -04:00
param.c common: note that command_fail doesn't return NULL. 2021-06-16 10:29:17 +09:30
param.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
peer_billboard.c common: log at debug level when we update billboard. 2021-06-30 14:12:24 +09:30
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
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 lightningd: don't turn zero-length tlv fields into NULL. 2021-07-21 13:27:27 -04:00
peer_status_wiregen.h lightningd: don't turn zero-length tlv fields into NULL. 2021-07-21 13:27:27 -04:00
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 pong: embed version string into ping replies if DEVELOPER=1. 2018-02-22 12:24:26 +01:00
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/read_peer_msg: don't try to handle reestablish/reopen. 2021-06-25 13:23:28 +09:30
read_peer_msg.h common/read_peer_msg: don't try to handle reestablish/reopen. 2021-06-25 13:23:28 +09:30
route.c route: assume modern TLV support if we don't see a node_announcement. 2021-07-14 14:38:00 -05:00
route.h dijkstra: add chan pointer argument to path scoring. 2021-05-22 17:53:04 +09:30
setup.c common/setup: check libwally initialization 2021-08-14 12:44: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 closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
socket_close.h closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
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: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
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: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wiregen.c lightningd: don't turn zero-length tlv fields into NULL. 2021-07-21 13:27:27 -04:00
status_wiregen.h lightningd: don't turn zero-length tlv fields into NULL. 2021-07-21 13:27:27 -04:00
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 utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
timeout.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
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 liquidity-ads: persist channel blockheight states to disk 2021-07-20 13:28:38 -04:00
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 utxo: don't add outputs that aren't currently eligible to be spent 2021-07-20 13:28:38 -04:00
utxo.h utxo: don't add outputs that aren't currently eligible to be spent 2021-07-20 13:28:38 -04:00
version.c Makefile: unify generated files definition. 2020-10-22 12:14:34 +10:30
version.h Onboarding: Make log output texts friendlier to new users 2018-01-29 03:22:27 +00:00
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 common/wireaddr: fromwire_wireaddr_array helper. 2021-06-16 10:29:17 +09:30
wireaddr.h connectd: fix advertizing for Tor ports. 2021-06-17 11:46:48 +09:30