core-lightning/lightningd
Rusty Russell b4455d517c common/node_id: new type.
Node ids are pubkeys, but we only use them as pubkeys for routing and checking
gossip messages.  So we're packing and unpacking them constantly, and wasting
some space and time.

This introduces a new type, explicitly the SEC1 compressed encoding
(33 bytes).  We ensure its validity when we load from the db, or get it
from JSON.  We still use 'struct pubkey' for peer messages, which checks
validity.

Results from 5 runs, min-max(mean +/- stddev):
	store_load_msec,vsz_kb,store_rewrite_sec,listnodes_sec,listchannels_sec,routing_sec,peer_write_all_sec
	39475-39572(39518+/-36),2880732,41.150000-41.390000(41.298+/-0.085),2.260000-2.550000(2.336+/-0.11),44.390000-65.150000(58.648+/-7.5),32.740000-33.020000(32.89+/-0.093),44.130000-45.090000(44.566+/-0.32)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-04-09 12:37:16 -07:00
..
test common/node_id: new type. 2019-04-09 12:37:16 -07:00
.gitignore handshaked: remove. 2017-10-20 18:31:32 +02:00
bitcoind.c Remove Sensitive RPC Data from Logs (#2520) 2019-04-03 03:06:06 +00:00
bitcoind.h lightningd: allow more than one bitcoind request at once, run multiple queues. 2018-09-19 13:21:21 +02:00
chaintopology.c wally: Migrate main daemon to use wally transactions 2019-04-08 00:00:00 +00:00
chaintopology.h openingd/json_fund_channel: 2019-01-29 04:50:01 +00:00
channel_control.c fix:Add infor about how many blocks needed until funding is confirmed 2019-04-07 23:45:35 +00:00
channel_control.h fix:Add infor about how many blocks needed until funding is confirmed 2019-04-07 23:45:35 +00:00
channel_state.h lightningd: new state AWAITING_UNILATERAL. 2018-08-23 14:46:22 +02:00
channel.c adds: new db fields and struct variables 2019-03-15 02:48:18 +00:00
channel.h adds: new db fields and struct variables 2019-03-15 02:48:18 +00:00
closing_control.c wally: Migrate main daemon to use wally transactions 2019-04-08 00:00:00 +00:00
closing_control.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
connect_control.c json: move bitcoin/lightning specific helpers into common/json_helpers. 2019-01-15 12:01:38 +01:00
connect_control.h connectd: remove separate address hint message. 2018-08-09 19:44:27 +02:00
gossip_control.c pubkey: rename PUBKEY_DER_LEN to PUBKEY_CMPR_LEN. 2019-04-09 12:37:16 -07:00
gossip_control.h connectd: wean off gossip_wire message types, use our own. 2018-07-25 02:13:52 +00:00
gossip_msg.c daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
gossip_msg.h daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
hsm_control.c Fix the version of bip32 private_key generation 2019-03-18 02:47:04 +00:00
hsm_control.h lightningd: use hsm_get_client_fd() helper for global daemons too. 2018-09-20 09:49:39 +02:00
htlc_end.c daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
htlc_end.h daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
invoice.c Makefile: check for direct amount_sat/amount_msat access. 2019-02-21 08:01:37 +00:00
invoice.h invoices: Extensive reorganization of invoice system. 2018-01-16 13:03:54 +01:00
json_stream.c lightningd: log IO only on actual output. 2019-04-08 04:41:43 +00:00
json_stream.h update-mocks: make sure we can find json_add functions. 2019-02-21 00:44:57 +00:00
json.c common/node_id: new type. 2019-04-09 12:37:16 -07:00
json.h common/node_id: new type. 2019-04-09 12:37:16 -07:00
jsonrpc.c lightningd/json: make wallet_tx functions take amount_sat. 2019-02-21 03:44:44 +00:00
jsonrpc.h lightningd: re-enable IO logging for JSON output. 2019-02-21 00:44:57 +00:00
lightningd.c gossipd: dev option to allow unknown channels. 2019-04-08 04:41:43 +00:00
lightningd.h feat: add min_capacity_sat config value and switch 2019-04-09 13:20:52 +02:00
log_status.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
log_status.h status: add multiple levels of logging. 2018-02-07 00:46:49 +00:00
log.c log: truncate giant IO logging. 2019-04-08 04:41:43 +00:00
log.h log: truncate giant IO logging. 2019-04-08 04:41:43 +00:00
Makefile common/node_id: new type. 2019-04-09 12:37:16 -07:00
memdump.c jsonrpc: probe sites for usage information once, at start. 2019-02-07 20:33:50 +00:00
memdump.h lightningd: add code to search strmaps for memleak detection. 2019-02-07 20:33:50 +00:00
notification.c notifications: Fix iteration over notification topics 2019-01-17 05:42:49 +00:00
notification.h plugin: Add connect and disconnect notifications 2018-12-30 14:36:02 +01:00
onchain_control.c wally: Migrate main daemon to use wally transactions 2019-04-08 00:00:00 +00:00
onchain_control.h onchaind: Replay stored channeltxs to restore onchaind state 2018-04-25 14:33:38 +02:00
opening_control.c feat: add min_capacity_sat config value and switch 2019-04-09 13:20:52 +02:00
opening_control.h openingd: wire up dev_memleak. 2018-11-22 05:15:42 +00:00
options.c pubkey: rename PUBKEY_DER_LEN to PUBKEY_CMPR_LEN. 2019-04-09 12:37:16 -07:00
options.h opts: Split early from non-early args so plugins can register theirs 2018-11-13 00:44:50 +01:00
pay.c listsendpays: updated version of listpayments. 2019-02-23 05:45:25 +00:00
pay.h lightningd: move pay internals back into pay.c 2019-01-23 22:08:08 +01:00
peer_control.c log: truncate giant IO logging. 2019-04-08 04:41:43 +00:00
peer_control.h channeld: wire up dev_memleak. 2018-11-22 05:15:42 +00:00
peer_htlcs.c Documentation: Update to BOLT v1.0. 2019-04-01 13:22:05 +02:00
peer_htlcs.h daemons: use amount_msat/amount_sat in all internal wire transfers. 2019-02-21 08:01:37 +00:00
ping.c param: make command_fail/command_success WARN_UNUSED_RESULT. 2018-12-20 03:22:32 +00:00
ping.h ping: complete JSON RPC ping commands even if one ping gets no response. 2018-09-14 22:11:23 +02:00
plugin_hook.c plugin_hook: special case for db hook. 2019-04-08 01:56:17 +00:00
plugin_hook.h plugin_hook: special case for db hook. 2019-04-08 01:56:17 +00:00
plugin.c plugin: plugin_exclusive_loop helper to service one plugin synchronously. 2019-04-08 01:56:17 +00:00
plugin.h plugin: plugin_exclusive_loop helper to service one plugin synchronously. 2019-04-08 01:56:17 +00:00
subd.c plugins: allow --dev-debugger=<pluginname>. 2018-12-10 00:00:50 +00:00
subd.h plugins: allow --dev-debugger=<pluginname>. 2018-12-10 00:00:50 +00:00
watch.c txwatch: hand ld to callback, don't assume channel is non-NULL. 2018-08-21 00:48:02 +02:00
watch.h txwatch: hand ld to callback, don't assume channel is non-NULL. 2018-08-21 00:48:02 +02:00