mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-01-18 13:25:43 +01:00
ec3344ce6e
And use this to resolve old transactions by comparing outputs with HTLCs. Rather than remembering the output ordering for every one of their previous commitment transactions, we just remember the commitment number for each commitment txid, and when we see it, derive all the HTLC scriptpubkeys and the to-us and to-them scriptpubkeys, and figure out which is which. This avoids us having to save information on disk, except for the txid->commitment-number mapping (and the shachain). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
113 lines
3.2 KiB
Makefile
113 lines
3.2 KiB
Makefile
#! /usr/bin/make
|
|
|
|
# Designed to be run one level up
|
|
daemon-wrongdir:
|
|
$(MAKE) -C .. daemon-all
|
|
|
|
daemon-all: daemon/lightningd daemon/lightning-cli
|
|
|
|
DAEMON_LIB_SRC := \
|
|
daemon/configdir.c \
|
|
daemon/json.c \
|
|
daemon/log.c \
|
|
daemon/pseudorand.c
|
|
DAEMON_LIB_OBJS := $(DAEMON_LIB_SRC:.c=.o)
|
|
|
|
DAEMON_SRC := \
|
|
daemon/bitcoind.c \
|
|
daemon/chaintopology.c \
|
|
daemon/channel.c \
|
|
daemon/commit_tx.c \
|
|
daemon/controlled_time.c \
|
|
daemon/cryptopkt.c \
|
|
daemon/dns.c \
|
|
daemon/htlc.c \
|
|
daemon/jsonrpc.c \
|
|
daemon/lightningd.c \
|
|
daemon/netaddr.c \
|
|
daemon/onion.c \
|
|
daemon/opt_time.c \
|
|
daemon/output_to_htlc.c \
|
|
daemon/packets.c \
|
|
daemon/pay.c \
|
|
daemon/payment.c \
|
|
daemon/peer.c \
|
|
daemon/routing.c \
|
|
daemon/secrets.c \
|
|
daemon/timeout.c \
|
|
daemon/wallet.c \
|
|
daemon/watch.c \
|
|
names.c \
|
|
state.c
|
|
|
|
DAEMON_OBJS := $(DAEMON_SRC:.c=.o)
|
|
|
|
DAEMON_CLI_SRC := daemon/lightning-cli.c
|
|
DAEMON_CLI_OBJS := $(DAEMON_CLI_SRC:.c=.o)
|
|
|
|
DAEMON_JSMN_OBJS := daemon/jsmn.o
|
|
DAEMON_JSMN_HEADERS := daemon/jsmn/jsmn.h
|
|
|
|
DAEMON_GEN_HEADERS := daemon/gen_htlc_state_names.h
|
|
|
|
DAEMON_HEADERS := \
|
|
daemon/bitcoind.h \
|
|
daemon/chaintopology.h \
|
|
daemon/channel.h \
|
|
daemon/commit_tx.h \
|
|
daemon/configdir.h \
|
|
daemon/controlled_time.h \
|
|
daemon/cryptopkt.h \
|
|
daemon/dns.h \
|
|
daemon/htlc.h \
|
|
daemon/htlc_state.h \
|
|
daemon/json.h \
|
|
daemon/jsonrpc.h \
|
|
daemon/lightningd.h \
|
|
daemon/log.h \
|
|
daemon/netaddr.h \
|
|
daemon/onion.h \
|
|
daemon/opt_time.h \
|
|
daemon/output_to_htlc.h \
|
|
daemon/packets.h \
|
|
daemon/pay.h \
|
|
daemon/payment.h \
|
|
daemon/peer.h \
|
|
daemon/pseudorand.h \
|
|
daemon/routing.h \
|
|
daemon/secrets.h \
|
|
daemon/timeout.h \
|
|
daemon/wallet.h \
|
|
daemon/watch.h
|
|
|
|
daemon/gen_htlc_state_names.h: daemon/htlc_state.h ccan/ccan/cdump/tools/cdump-enumstr
|
|
ccan/ccan/cdump/tools/cdump-enumstr daemon/htlc_state.h > $@
|
|
|
|
$(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_CLI_OBJS): $(DAEMON_HEADERS) $(DAEMON_JSMN_HEADERS) $(BITCOIN_HEADERS) $(CORE_HEADERS) $(GEN_HEADERS) $(DAEMON_GEN_HEADERS) $(CCAN_HEADERS)
|
|
$(DAEMON_JSMN_OBJS): $(DAEMON_JSMN_HEADERS)
|
|
|
|
check-source: $(DAEMON_SRC:%=check-src-include-order/%)
|
|
check-source: $(DAEMON_LIB_SRC:%=check-src-include-order/%)
|
|
check-source: $(DAEMON_CLI_SRC:%=check-src-include-order/%)
|
|
check-source: $(DAEMON_HEADERS:%=check-hdr-include-order/%)
|
|
check-daemon-makefile:
|
|
@if [ "`ls daemon/*.h | grep -v daemon/gen | tr '\012' ' '`" != "`echo $(DAEMON_HEADERS) ''`" ]; then echo DAEMON_HEADERS incorrect; exit 1; fi
|
|
|
|
# Git submodules are seriously broken.
|
|
daemon/jsmn/jsmn.c daemon/jsmn/jsmn.h:
|
|
git submodule update daemon/jsmn/
|
|
[ -f $@ ] || git submodule update --init daemon/jsmn/
|
|
|
|
daemon/jsmn.o: daemon/jsmn/jsmn.c
|
|
$(COMPILE.c) -DJSMN_STRICT=1 $(OUTPUT_OPTION) $<
|
|
|
|
daemon/lightningd: $(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(CCAN_OBJS) libsecp256k1.a
|
|
|
|
daemon/lightning-cli: $(DAEMON_CLI_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_JSMN_OBJS) $(CORE_OBJS) $(BITCOIN_OBJS) $(CCAN_OBJS) libsecp256k1.a
|
|
|
|
daemon-clean:
|
|
$(RM) $(DAEMON_OBJS) $(DAEMON_LIB_OBJS) $(DAEMON_CLI_OBJS) $(DAEMON_JSMN_OBJS)
|
|
|
|
daemon-maintainer-clean:
|
|
$(RM) $(DAEMON_GEN_HEADERS)
|