core-lightning/common
Rusty Russell 83aea6b2bb gossip_store: make private channels more similar to channel_announcement
Instead of a boutique message, use a "real" channel_announcement for
private channels (with fake sigs and pubkeys).  This makes it far
easier for gossmap to handle local channels.

Backwards compatible update, since we update old stores.

We also fix devtools/dump-gossipstore to know about the tombstone markers.

Since we increment our channel_announce count for local channels now,
the stats in the tests changed too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2020-10-21 08:58:34 +10:30
..
test dualfund: rearrange things so that the wire-dependent calls are separate 2020-10-20 14:27:19 +10: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 common/amount: fix OpenBSD compile warning. 2020-09-14 03:57:17 +09:30
amount.h amount: add amount_msat_scale, amount_msat_ratio, amount_{msat,sat}_div 2020-08-06 09:36:47 +09:30
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 Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
base64.h Init commit to be able to create a tor static service on the fly. 2019-12-03 23:35:18 +01:00
bech32.c bech32: fix overflow bug. 2018-11-02 05:58:01 +00:00
bech32.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
bech32_util.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
bech32_util.h common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bigsize.c wire: update to latest version of the spec. 2020-06-23 18:49:15 +02:00
bigsize.h Remove varint typedef for bigsize 2020-09-23 16:30:36 +09:30
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
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.c bolt11: have caller supply preferred chain. 2020-09-24 09:24:14 +09:30
bolt11.h bolt11: have caller supply preferred chain. 2020-09-24 09:24:14 +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 channel_id: add v2 channel_id derivtion helper 2020-09-09 19:54:20 +09:30
channel_id.h channel_id: add v2 channel_id derivtion helper 2020-09-09 19:54:20 +09: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 channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
coin_mvt.h channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
configdir.c doc: reorder --mainnet before --testnet 2020-10-15 17:57:51 +02: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 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 transition from status_trace() to status_debug 2019-09-10 02:02:51 +00:00
cryptomsg.h common/cryptomsg: remove unused async routines. 2018-09-28 04:14:28 +00:00
daemon.c utils: use a cleaner pattern to capture wally allocations. 2020-09-23 14:45:53 +02:00
daemon.h Add missing extern qualifiers for gcc 10 2020-02-02 12:59:17 +10:30
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
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
dev_disconnect.c Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
dev_disconnect.h Add DEVELOPER flag, set by default. 2017-10-26 12:53:09 +02:00
dijkstra.c dijkstra: fix heap ordering. 2020-10-21 08:58:34 +10:30
dijkstra.h dijkstra: fix heap ordering. 2020-10-21 08:58:34 +10:30
ecdh.h common: generalize ecdh function. 2020-04-04 16:08:49 +10: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
errcode.h Use dedicated type for error codes 2020-01-31 06:02:47 +00:00
features.c dualfund: add feature flag for dual-funding 2020-09-09 19:54:20 +09:30
features.h dualfund: add feature flag for dual-funding 2020-09-09 19:54:20 +09:30
fee_states.c wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
fee_states.h df: rename 'funder' to 'opener' 2020-05-04 10:22:26 +09:30
gossip_constants.h gossipd: prune channels unless *both* peers have refreshed. 2020-08-24 20:55:47 +09: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 Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +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: implement feature tests 2020-10-21 08:58:34 +10:30
gossmap.h gossmap: implement feature tests 2020-10-21 08:58:34 +10: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: new file hmac for hmac calculation. 2020-03-25 14:26:28 +10:30
hmac.h common: new file hmac for hmac calculation. 2020-03-25 14:26:28 +10:30
htlc.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
htlc_state.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
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 Makefile: use generic rules to make spec-derived sources. 2020-08-31 21:33:26 -05:00
htlc_wire.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
initial_channel.c channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
initial_channel.h channel_id: save to database, dont derive from funding_txid 2020-09-09 19:54:20 +09:30
initial_commit_tx.c doc: update BOLT now option_anchor_outputs is merged. 2020-08-24 20:55:47 +09: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
json.c json_add_tok: simplify, don't try to canonicalize. 2020-09-10 15:28:50 +09:30
json.h common: make json_parse_input API retry friendly. 2020-08-21 09:52:33 +09:30
json_command.h json_command: command_fail_badparam helper. 2020-09-02 09:46:37 +09:30
json_helpers.c json nit: use const for json_add_psbt 2020-10-20 14:27:19 +10:30
json_helpers.h json nit: use const for json_add_psbt 2020-10-20 14:27:19 +10:30
json_stream.c common/json_stream.c: Implement a json_add_jsonstr to add already-JSON strings to json_stream objects. 2020-04-09 14:09:23 +09:30
json_stream.h common/json_stream.c: Implement a json_add_jsonstr to add already-JSON strings to json_stream objects. 2020-04-09 14:09:23 +09:30
json_tok.c common: pull up param_psbt 2020-10-20 12:50:31 +10:30
json_tok.h common: pull up param_psbt 2020-10-20 12:50:31 +10:30
jsonrpc_errors.h df-open: use channel_id for openchannel_update and openchannel_signed 2020-10-20 12:50:31 +10:30
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
Makefile gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +10:30
memleak.c common/memleak: simplify and document API. 2020-09-23 13:52:49 +09:30
memleak.h common/memleak: simplify and document API. 2020-09-23 13:52:49 +09:30
msg_queue.c common: tal_dup_talarr() helper. 2020-02-27 14:16:16 +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 wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
node_id.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
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 The overflow check mul_overflows_s64(int64_t, int64_t) overflows and triggers UB :-) Remove it 2018-03-27 23:18:48 +00:00
param.c common: tal_dup_talarr() helper. 2020-02-27 14:16:16 +10:30
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 common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c common: convert to new wire generation style. 2020-08-25 12:53:13 +09:30
peer_failed.h channeld: treat all incoming errors as "soft", so we retry. 2019-12-13 16:36:18 +01:00
peer_status_wire.csv common/channel_id: move channel_id into its own file. 2020-05-18 14:51:12 +02:00
peer_status_wiregen.c wires: towire/fromwire for wally_tx 2020-10-20 12:50:31 +10:30
peer_status_wiregen.h wires: towire/fromwire for wally_tx 2020-10-20 12:50:31 +10:30
penalty_base.c amount: use initializers everywhere. 2020-08-06 09:36:47 +09: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 Move gossip_constants.h into common/ 2019-09-25 04:01:56 +00:00
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 gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +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 dualfund: rearrange things so that the wire-dependent calls are separate 2020-10-20 14:27:19 +10:30
psbt_internal.h dualfund: rearrange things so that the wire-dependent calls are separate 2020-10-20 14:27:19 +10:30
psbt_open.c dualfund: rearrange things so that the wire-dependent calls are separate 2020-10-20 14:27:19 +10:30
psbt_open.h dualfund: rearrange things so that the wire-dependent calls are separate 2020-10-20 14:27:19 +10: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 Makefile: use generic rules to make spec-derived sources. 2020-08-31 21:33:26 -05:00
read_peer_msg.h channeld: treat all incoming errors as "soft", so we retry. 2019-12-13 16:36:18 +01:00
route.c route: return NULL if destination is unreachable. 2020-10-21 08:58:34 +10:30
route.h route: return NULL if destination is unreachable. 2020-10-21 08:58:34 +10:30
setup.c utils: use a cleaner pattern to capture wally allocations. 2020-09-23 14:45:53 +02:00
setup.h setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +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 Makefile: use generic rules to make spec-derived sources. 2020-08-31 21:33:26 -05:00
sphinx.h Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
status.c Makefile: use generic rules to make spec-derived sources. 2020-08-31 21:33:26 -05:00
status.h common: allow subdaemons to specify the node_id in status messages. 2019-11-18 04:50:22 +00:00
status_levels.h status: separate types for peer failure vs "impossible" failures. 2018-02-08 19:07:12 +01:00
status_wire.c status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wire.csv wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wiregen.c wires: towire/fromwire for wally_tx 2020-10-20 12:50:31 +10:30
status_wiregen.h wires: towire/fromwire for wally_tx 2020-10-20 12:50:31 +10:30
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 type_to_string: return const char *. 2019-02-21 00:44:57 +00:00
type_to_string.h wally-tx: add type-to-string for a wally-tx 2020-07-13 11:37:24 +09:30
utils.c utils: use a cleaner pattern to capture wally allocations. 2020-09-23 14:45:53 +02:00
utils.h utils: use a cleaner pattern to capture wally allocations. 2020-09-23 14:45:53 +02:00
utxo.c common: remove funding_tx. 2020-09-08 10:14:42 +09:30
utxo.h utxo: expose is_reserved, make enum constants upper case. 2020-09-08 10:14:42 +09:30
version.c Makefile: Remove gen_version.h from ALL_GEN_HEADERS. 2020-08-07 10:41:37 +09: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 Makefile: use completely separate spec-derived files for EXPERIMENTAL_FEATURES 2020-09-08 09:42:00 +09:30
wire_error.h common: fix up BOLT 1 references. 2018-06-18 12:31:09 +02:00
wireaddr.c common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
wireaddr.h common/wireaddr: don't include lightningd/lightningd. 2020-02-27 14:16:16 +10:30