core-lightning/daemon
Rusty Russell 0e78ccca56 daemon: don't allow manual fulfill command until both sides committed.
We had an occasional race where we hadn't gotten the remote revocation
before submitting fulfill (spotted by the HTLC state transition code).

Disallow this, but also add to the json output so we can wait for
an HTLC to be irrevocably committed.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:23:45 +09:30
..
jsmn@bd9bd55c3a daemon/jsmn: Add submodule for jsmn. 2016-01-22 06:37:13 +10:30
test daemon: don't allow manual fulfill command until both sides committed. 2016-08-18 14:23:45 +09:30
.gitignore daemon: first code. 2016-01-22 06:41:47 +10:30
bitcoind.c process_estimatefee: fix bad logic. 2016-07-20 11:51:28 +09:30
bitcoind.h chaintopology: only report active chaintip. 2016-07-07 13:36:39 +09:30
chaintopology.c chaintopology: make sure we have a tip before continuing. 2016-08-09 13:11:22 +09:30
chaintopology.h daemon: pay command. 2016-07-01 12:00:17 +09:30
channel.c htlc: store which side created the HTLC. 2016-07-01 12:00:17 +09:30
channel.h htlc: store which side created the HTLC. 2016-07-01 12:00:17 +09:30
configdir.c daemon: configuration directory (default ~/.lightning). 2016-01-22 06:41:48 +10:30
configdir.h daemon: configuration directory (default ~/.lightning). 2016-01-22 06:41:48 +10:30
controlled_time.c daemon: make json_get_param() understand which args are compulsory. 2016-03-15 17:07:30 +10:30
controlled_time.h daemon: dev-mocktime command 2016-01-22 06:45:28 +10:30
cryptopkt.c cryptopkt: revert ack split in authenticate_packet 2016-08-09 13:11:11 +09:30
cryptopkt.h protocol: remove ack fields. 2016-05-26 15:25:24 +09:30
dns.c dns: don't allow non-stream sockets. 2016-01-22 06:41:49 +10:30
dns.h daemon: rename 'state' to 'dstate' everywhere. 2016-01-22 06:41:49 +10:30
htlc_state.h daemon: use HTLC states. 2016-08-18 14:23:45 +09:30
htlc.c daemon: use HTLC states. 2016-08-18 14:23:45 +09:30
htlc.h daemon: use HTLC states. 2016-08-18 14:23:45 +09:30
json.c daemon: dev-output command. 2016-05-26 15:25:24 +09:30
json.h daemon: dev-output command. 2016-05-26 15:25:24 +09:30
jsonrpc.c daemon: pay command. 2016-07-01 12:00:17 +09:30
jsonrpc.h daemon: pay command. 2016-07-01 12:00:17 +09:30
lightning-cli.c lightning-cli: don't print junk on error. 2016-05-26 15:25:25 +09:30
lightningd.c lightningd: don't create rpc socket & listening socket until topology known. 2016-08-09 13:11:24 +09:30
lightningd.h htlc: implement deadline as per BOLT. 2016-07-01 12:00:17 +09:30
log.c log: ability to log struct rval. 2016-08-17 14:46:42 +09:30
log.h log: ability to log struct rval. 2016-08-17 14:46:42 +09:30
Makefile daemon: use HTLC states. 2016-08-18 14:23:45 +09:30
netaddr.c daemon: netaddr 2016-01-22 06:41:48 +10:30
netaddr.h daemon: netaddr 2016-01-22 06:41:48 +10:30
onion.c base58, script, protobuf_convert: don't use temporary secp256k1 context. 2016-07-01 12:00:17 +09:30
onion.h base58, script, protobuf_convert: don't use temporary secp256k1 context. 2016-07-01 12:00:17 +09:30
opt_time.c daemon: time option support. 2016-05-10 06:28:17 +09:30
opt_time.h daemon: time option support. 2016-05-10 06:28:17 +09:30
packets.c peer: keep a single HTLC map for all htlcs. 2016-08-18 14:23:45 +09:30
pay.c base58, script, protobuf_convert: don't use temporary secp256k1 context. 2016-07-01 12:00:17 +09:30
pay.h htlc: keep rval (if known). 2016-07-01 12:00:17 +09:30
payment.c daemon: payment infrastructure. 2016-07-01 11:59:15 +09:30
payment.h daemon: payment infrastructure. 2016-07-01 11:59:15 +09:30
peer.c daemon: don't allow manual fulfill command until both sides committed. 2016-08-18 14:23:45 +09:30
peer.h peer: keep a single HTLC map for all htlcs. 2016-08-18 14:23:45 +09:30
pseudorand.c daemon: use siphash for hashes. 2016-07-01 12:00:17 +09:30
pseudorand.h daemon: use siphash for hashes. 2016-07-01 12:00:17 +09:30
routing.c peer: make id a pointer, NULL until we know peer's ID. 2016-07-01 12:00:17 +09:30
routing.h daemon: routing infrastructure. 2016-07-01 12:00:17 +09:30
secrets.c Fix check-source: reorder includes in alphabetical order. 2016-07-20 14:29:53 +09:30
secrets.h peer: handle fulfull and fail onchain. 2016-07-01 12:00:17 +09:30
timeout.c timeout: make all timers one-shot. 2016-05-10 06:26:09 +09:30
timeout.h timeout: make all timers one-shot. 2016-05-10 06:26:09 +09:30
wallet.c Replace OpenSSL's RAND_bytes() with libsodium's randombytes_buf() 2016-07-07 13:42:28 -05:00
wallet.h daemon: keep track of simple addresses for injecting funds. 2016-04-12 13:07:03 +09:30
watch.c watch: make it easier for them to self-delete. 2016-07-01 12:00:17 +09:30
watch.h watch: make it easier for them to self-delete. 2016-07-01 12:00:17 +09:30