core-lightning/lightningd
Rusty Russell 7f75043ab2 lightningd: tighten interal json_stream API.
Move it closer to ccan/json_out, in preparation for using that as a
replacement.

In particular:

1. Add a 'quote' field in json_add_member.
2. json_add_member now always escapes if 'quote' is true.
3. json_member_direct is exposed to allow avoiding of escaping.
4. json_add_hex can use this, so no longer needs to be in json_stream.c.
5. We don't make JSON manually, but always use helpers.
6. We now flush the stream (wake reader) only when we close it, or mark
   command as pending.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-06-12 02:00:15 +00:00
..
test lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00: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 lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
chaintopology.h openingd/json_fund_channel: 2019-01-29 04:50:01 +00:00
channel_control.c lightningd/channel_control logline fixup 2019-06-07 10:34:34 +02:00
channel_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
channel_state.h lightningd: new state AWAITING_UNILATERAL. 2018-08-23 14:46:22 +02:00
channel.c wallet: Rip out the txtypes type in favor of enum wallet_tx_type 2019-06-08 02:58:27 +00:00
channel.h wallet: Rip out the txtypes type in favor of enum wallet_tx_type 2019-06-08 02:58:27 +00:00
closing_control.c channel: Along with the last_tx also remember its type 2019-06-08 02:58:27 +00:00
closing_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
connect_control.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
connect_control.h Use node_id everywhere for nodes. 2019-04-09 12:37:16 -07:00
gossip_control.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00: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 listchannels: add htlc_minimum_msat and htlc_maximum_msat fields. 2019-06-11 23:19:11 +00:00
gossip_msg.h listchannels: add htlc_minimum_msat and htlc_maximum_msat fields. 2019-06-11 23:19:11 +00:00
hsm_control.c Use node_id everywhere for nodes. 2019-04-09 12:37:16 -07:00
hsm_control.h Use node_id everywhere for nodes. 2019-04-09 12:37:16 -07:00
htlc_end.c wallet: Add received_time to htlc_in for forwarding times 2019-04-10 23:48:39 +00:00
htlc_end.h wallet: Add received_time to htlc_in for forwarding times 2019-04-10 23:48:39 +00:00
invoice.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
invoice.h lightningd: move local invoice resolution into invoice.c function. 2019-04-12 03:32:48 +00:00
io_loop_with_timers.c 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
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
json_stream.c lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
json_stream.h lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
json.c lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
json.h ccan: import ccan/json_out and ccan/json_escape. 2019-06-12 02:00:15 +00:00
jsonrpc.c lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
jsonrpc.h lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
lightningd.c ccan: import ccan/json_out and ccan/json_escape. 2019-06-12 02:00:15 +00:00
lightningd.h lightningd: hang up on clients if they make us run out of memory. 2019-05-22 11:28:44 +00:00
log_status.c log: add 'warning' notification when log 2019-06-07 01:23:51 +00:00
log_status.h status: add multiple levels of logging. 2018-02-07 00:46:49 +00:00
log.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
log.h log: add 'warning' notification when log 2019-06-07 01:23:51 +00:00
Makefile ccan: import ccan/json_out and ccan/json_escape. 2019-06-12 02:00:15 +00:00
memdump.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
memdump.h lightningd: add code to search strmaps for memleak detection. 2019-02-07 20:33:50 +00:00
notification.c plugin: Add new notification type: warning 2019-06-07 01:23:51 +00:00
notification.h plugin: Add new notification type: warning 2019-06-07 01:23:51 +00:00
onchain_control.c wallet: Rip out the txtypes type in favor of enum wallet_tx_type 2019-06-08 02:58:27 +00:00
onchain_control.h onchaind: Replay stored channeltxs to restore onchaind state 2018-04-25 14:33:38 +02:00
opening_control.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
opening_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
options.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00: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 lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
pay.h lightningd: move pay internals back into pay.c 2019-01-23 22:08:08 +01:00
peer_control.c lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
peer_control.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
peer_htlcs.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +00:00
peer_htlcs.h lightningd: move local invoice resolution into invoice.c function. 2019-04-12 03:32:48 +00:00
ping.c lightningd: have json_stream_success start the "result" object. 2019-06-12 02:00:15 +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: fix printing of bad plugin responses. 2019-05-31 18:36:38 +02:00
plugin_hook.h lightningd: remove deserialize step for plugin hooks. 2019-04-23 15:26:42 +02:00
plugin.c lightningd: tighten interal json_stream API. 2019-06-12 02:00:15 +00:00
plugin.h plugins: do I/O logging. 2019-05-31 18:36:38 +02:00
subd.c common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
subd.h common/per_per_state: generalize lightningd/peer_comm Part 1 2019-06-04 01:29:39 +00:00
watch.c chaintopology: add REORG to logline when tx watch is fired after reorg 2019-05-27 13:29:32 +02:00
watch.h txwatch: hand ld to callback, don't assume channel is non-NULL. 2018-08-21 00:48:02 +02:00