mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 23:24:27 +01:00
Rename subdaemons, move them into top level.
We leave the *build* results in lightningd/ for ease of in-place testing though. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Christian Decker
parent
739b163f8b
commit
bbed5e3411
9
.gitignore
vendored
9
.gitignore
vendored
@@ -9,14 +9,8 @@
|
|||||||
TAGS
|
TAGS
|
||||||
ccan/tools/configurator/configurator
|
ccan/tools/configurator/configurator
|
||||||
ccan/ccan/cdump/tools/cdump-enumstr
|
ccan/ccan/cdump/tools/cdump-enumstr
|
||||||
libsecp256k1.a
|
|
||||||
libsecp256k1.la
|
|
||||||
libsodium.a
|
|
||||||
libsodium.la
|
|
||||||
libwallycore.a
|
|
||||||
libwallycore.la
|
|
||||||
gen_*
|
gen_*
|
||||||
lightning-cli/lightning-cli
|
cli/lightning-cli
|
||||||
tools/check-bolt
|
tools/check-bolt
|
||||||
coverage
|
coverage
|
||||||
ccan/config.h
|
ccan/config.h
|
||||||
@@ -34,4 +28,3 @@ daemon/test/run-maxfee
|
|||||||
test/test_protocol
|
test/test_protocol
|
||||||
test/test_sphinx
|
test/test_sphinx
|
||||||
test/test_irc
|
test/test_irc
|
||||||
lightningd/lightningd_closing
|
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ make
|
|||||||
Running lightning:
|
Running lightning:
|
||||||
```
|
```
|
||||||
bitcoind &
|
bitcoind &
|
||||||
./lightningd/lightningd &
|
./lightningd &
|
||||||
./daemon/lightning-cli help
|
./cli/lightning-cli help
|
||||||
```
|
```
|
||||||
**Note**: You may need to include `testnet=1` in `bitcoin.conf`
|
**Note**: You may need to include `testnet=1` in `bitcoin.conf`
|
||||||
|
|
||||||
|
|||||||
18
Makefile
18
Makefile
@@ -122,7 +122,7 @@ CCAN_HEADERS := \
|
|||||||
$(CCANDIR)/ccan/timer/timer.h \
|
$(CCANDIR)/ccan/timer/timer.h \
|
||||||
$(CCANDIR)/ccan/typesafe_cb/typesafe_cb.h
|
$(CCANDIR)/ccan/typesafe_cb/typesafe_cb.h
|
||||||
|
|
||||||
GEN_HEADERS := gen_version.h
|
ALL_GEN_HEADERS += gen_version.h
|
||||||
|
|
||||||
CDUMP_OBJS := ccan-cdump.o ccan-strmap.o
|
CDUMP_OBJS := ccan-cdump.o ccan-strmap.o
|
||||||
|
|
||||||
@@ -143,6 +143,13 @@ include bitcoin/Makefile
|
|||||||
include common/Makefile
|
include common/Makefile
|
||||||
include wire/Makefile
|
include wire/Makefile
|
||||||
include wallet/Makefile
|
include wallet/Makefile
|
||||||
|
include hsmd/Makefile
|
||||||
|
include handshaked/Makefile
|
||||||
|
include gossipd/Makefile
|
||||||
|
include openingd/Makefile
|
||||||
|
include channeld/Makefile
|
||||||
|
include closingd/Makefile
|
||||||
|
include onchaind/Makefile
|
||||||
include lightningd/Makefile
|
include lightningd/Makefile
|
||||||
include cli/Makefile
|
include cli/Makefile
|
||||||
include test/Makefile
|
include test/Makefile
|
||||||
@@ -154,7 +161,7 @@ CHANGED_FROM_GIT = [ x"`git log $@ | head -n1`" != x"`git log $< | head -n1`" -o
|
|||||||
check:
|
check:
|
||||||
$(MAKE) pytest
|
$(MAKE) pytest
|
||||||
|
|
||||||
pytest: cli/lightning-cli lightningd-all
|
pytest: $(ALL_PROGRAMS)
|
||||||
PYTHONPATH=contrib/pylightning python3 tests/test_lightningd.py -f
|
PYTHONPATH=contrib/pylightning python3 tests/test_lightningd.py -f
|
||||||
|
|
||||||
# Keep includes in alpha order.
|
# Keep includes in alpha order.
|
||||||
@@ -233,8 +240,11 @@ $(ALL_PROGRAMS) $(ALL_TEST_PROGRAMS):
|
|||||||
# Everything depends on the CCAN headers.
|
# Everything depends on the CCAN headers.
|
||||||
$(CCAN_OBJS) $(CDUMP_OBJS): $(CCAN_HEADERS)
|
$(CCAN_OBJS) $(CDUMP_OBJS): $(CCAN_HEADERS)
|
||||||
|
|
||||||
# Except for CCAN, we treat everything else as dependent on external/ bitcoin/ common/ wire/ and generated version headers.
|
# Except for CCAN, we treat everything else as dependent on external/ bitcoin/ common/ wire/ and all generated headers.
|
||||||
$(ALL_OBJS): $(BITCOIN_HEADERS) $(COMMON_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) $(GEN_HEADERS) $(EXTERNAL_HEADERS)
|
$(ALL_OBJS): $(BITCOIN_HEADERS) $(COMMON_HEADERS) $(CCAN_HEADERS) $(WIRE_HEADERS) $(ALL_GEN_HEADERS) $(EXTERNAL_HEADERS)
|
||||||
|
|
||||||
|
# We generate headers in two ways, so regen when either changes.
|
||||||
|
$(ALL_GEN_HEADERS): ccan/ccan/cdump/tools/cdump-enumstr $(WIRE_GEN)
|
||||||
|
|
||||||
update-ccan:
|
update-ccan:
|
||||||
mv ccan ccan.old
|
mv ccan ccan.old
|
||||||
|
|||||||
@@ -1,32 +1,34 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/channel-wrongdir:
|
channeld-wrongdir:
|
||||||
$(MAKE) -C ../.. lightningd/channel-all
|
$(MAKE) -C ../.. lightningd/channel-all
|
||||||
|
|
||||||
default: lightningd/channel-all
|
default: channeld-all
|
||||||
|
|
||||||
lightningd/channel-all: lightningd/lightningd_channel
|
channeld-all: lightningd/lightning_channeld
|
||||||
|
|
||||||
# lightningd/channel needs these:
|
# lightningd/channel needs these:
|
||||||
LIGHTNINGD_CHANNEL_HEADERS_GEN := \
|
LIGHTNINGD_CHANNEL_HEADERS_GEN := \
|
||||||
lightningd/channel/gen_channel_wire.h
|
channeld/gen_channel_wire.h
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_HEADERS_NOGEN := \
|
LIGHTNINGD_CHANNEL_HEADERS_NOGEN := \
|
||||||
lightningd/channel/channeld_htlc.h \
|
channeld/channeld_htlc.h \
|
||||||
lightningd/channel/commit_tx.h \
|
channeld/commit_tx.h \
|
||||||
lightningd/channel/full_channel.h
|
channeld/full_channel.h
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_HEADERS := $(LIGHTNINGD_CHANNEL_HEADERS_GEN) $(LIGHTNINGD_CHANNEL_HEADERS_NOGEN)
|
LIGHTNINGD_CHANNEL_HEADERS := $(LIGHTNINGD_CHANNEL_HEADERS_GEN) $(LIGHTNINGD_CHANNEL_HEADERS_NOGEN)
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_SRC := lightningd/channel/channel.c \
|
LIGHTNINGD_CHANNEL_SRC := channeld/channel.c \
|
||||||
lightningd/channel/commit_tx.c \
|
channeld/commit_tx.c \
|
||||||
lightningd/channel/full_channel.c \
|
channeld/full_channel.c \
|
||||||
$(LIGHTNINGD_CHANNEL_HEADERS_GEN:.h=.c)
|
$(LIGHTNINGD_CHANNEL_HEADERS_GEN:.h=.c)
|
||||||
LIGHTNINGD_CHANNEL_OBJS := $(LIGHTNINGD_CHANNEL_SRC:.c=.o)
|
LIGHTNINGD_CHANNEL_OBJS := $(LIGHTNINGD_CHANNEL_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_CHANNEL_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_CHANNEL_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_channeld
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_CHANNEL_HEADERS_GEN)
|
||||||
|
|
||||||
# Common source we use.
|
# Common source we use.
|
||||||
CHANNELD_COMMON_OBJS := \
|
CHANNELD_COMMON_OBJS := \
|
||||||
@@ -61,9 +63,9 @@ LIGHTNINGD_CHANNEL_CONTROL_HEADERS := $(LIGHTNINGD_CHANNEL_HEADERS_GEN)
|
|||||||
LIGHTNINGD_CHANNEL_CONTROL_SRC := $(LIGHTNINGD_CHANNEL_HEADERS_GEN:.h=.c)
|
LIGHTNINGD_CHANNEL_CONTROL_SRC := $(LIGHTNINGD_CHANNEL_HEADERS_GEN:.h=.c)
|
||||||
LIGHTNINGD_CHANNEL_CONTROL_OBJS := $(LIGHTNINGD_CHANNEL_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_CHANNEL_CONTROL_OBJS := $(LIGHTNINGD_CHANNEL_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_GEN_SRC := $(filter lightningd/channel/gen_%, $(LIGHTNINGD_CHANNEL_SRC) $(LIGHTNINGD_CHANNEL_CONTROL_SRC))
|
LIGHTNINGD_CHANNEL_GEN_SRC := $(filter channeld/gen_%, $(LIGHTNINGD_CHANNEL_SRC) $(LIGHTNINGD_CHANNEL_CONTROL_SRC))
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_SRC_NOGEN := $(filter-out lightningd/channel/gen_%, $(LIGHTNINGD_CHANNEL_SRC))
|
LIGHTNINGD_CHANNEL_SRC_NOGEN := $(filter-out channeld/gen_%, $(LIGHTNINGD_CHANNEL_SRC))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_CHANNEL_HEADERS_GEN)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_CHANNEL_HEADERS_GEN)
|
||||||
@@ -71,15 +73,15 @@ LIGHTNINGD_HEADERS_NOGEN += $(LIGHTNINGD_CHANNEL_HEADERS_NOGEN)
|
|||||||
|
|
||||||
$(LIGHTNINGD_CHANNEL_OBJS): $(LIGHTNINGD_HEADERS)
|
$(LIGHTNINGD_CHANNEL_OBJS): $(LIGHTNINGD_HEADERS)
|
||||||
|
|
||||||
lightningd/channel/gen_channel_wire.h: $(WIRE_GEN) lightningd/channel/channel_wire.csv
|
channeld/gen_channel_wire.h: $(WIRE_GEN) channeld/channel_wire.csv
|
||||||
$(WIRE_GEN) --header $@ channel_wire_type < lightningd/channel/channel_wire.csv > $@
|
$(WIRE_GEN) --header $@ channel_wire_type < channeld/channel_wire.csv > $@
|
||||||
|
|
||||||
lightningd/channel/gen_channel_wire.c: $(WIRE_GEN) lightningd/channel/channel_wire.csv
|
channeld/gen_channel_wire.c: $(WIRE_GEN) channeld/channel_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} channel_wire_type < lightningd/channel/channel_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} channel_wire_type < channeld/channel_wire.csv > $@
|
||||||
|
|
||||||
LIGHTNINGD_CHANNEL_OBJS := $(LIGHTNINGD_CHANNEL_SRC:.c=.o) $(LIGHTNINGD_CHANNEL_GEN_SRC:.c=.o)
|
LIGHTNINGD_CHANNEL_OBJS := $(LIGHTNINGD_CHANNEL_SRC:.c=.o) $(LIGHTNINGD_CHANNEL_GEN_SRC:.c=.o)
|
||||||
|
|
||||||
lightningd/lightningd_channel: $(LIGHTNINGD_CHANNEL_OBJS) $(WIRE_ONION_OBJS) $(CHANNELD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
lightningd/lightning_channeld: $(LIGHTNINGD_CHANNEL_OBJS) $(WIRE_ONION_OBJS) $(CHANNELD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_CHANNEL_SRC_NOGEN:%=check-src-include-order/%)
|
check-source: $(LIGHTNINGD_CHANNEL_SRC_NOGEN:%=check-src-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_CHANNEL_SRC:%=bolt-check/%) $(LIGHTNINGD_CHANNEL_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_CHANNEL_SRC:%=bolt-check/%) $(LIGHTNINGD_CHANNEL_HEADERS:%=bolt-check/%)
|
||||||
@@ -91,4 +93,4 @@ clean: lightningd/channel-clean
|
|||||||
lightningd/channel-clean:
|
lightningd/channel-clean:
|
||||||
$(RM) $(LIGHTNINGD_CHANNEL_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_CHANNEL_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/channel/test/Makefile
|
-include channeld/test/Makefile
|
||||||
@@ -11,6 +11,9 @@
|
|||||||
#include <ccan/take/take.h>
|
#include <ccan/take/take.h>
|
||||||
#include <ccan/tal/str/str.h>
|
#include <ccan/tal/str/str.h>
|
||||||
#include <ccan/time/time.h>
|
#include <ccan/time/time.h>
|
||||||
|
#include <channeld/commit_tx.h>
|
||||||
|
#include <channeld/full_channel.h>
|
||||||
|
#include <channeld/gen_channel_wire.h>
|
||||||
#include <common/crypto_sync.h>
|
#include <common/crypto_sync.h>
|
||||||
#include <common/cryptomsg.h>
|
#include <common/cryptomsg.h>
|
||||||
#include <common/daemon_conn.h>
|
#include <common/daemon_conn.h>
|
||||||
@@ -27,12 +30,9 @@
|
|||||||
#include <common/type_to_string.h>
|
#include <common/type_to_string.h>
|
||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <gossipd/routing.h>
|
||||||
|
#include <hsmd/gen_hsm_client_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/channel/commit_tx.h>
|
|
||||||
#include <lightningd/channel/full_channel.h>
|
|
||||||
#include <lightningd/channel/gen_channel_wire.h>
|
|
||||||
#include <lightningd/gossip/routing.h>
|
|
||||||
#include <lightningd/hsm/gen_hsm_client_wire.h>
|
|
||||||
#include <secp256k1.h>
|
#include <secp256k1.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
#ifndef LIGHTNING_LIGHTNINGD_CHANNEL_CHANNELD_HTLC_H
|
#ifndef LIGHTNING_LIGHTNINGD_CHANNEL_CHANNELD_HTLC_H
|
||||||
#define LIGHTNING_LIGHTNINGD_CHANNEL_CHANNELD_HTLC_H
|
#define LIGHTNING_LIGHTNINGD_CHANNEL_CHANNELD_HTLC_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include <bitcoin/locktime.h>
|
||||||
#include <ccan/short_types/short_types.h>
|
#include <ccan/short_types/short_types.h>
|
||||||
|
#include <common/htlc.h>
|
||||||
#include <common/pseudorand.h>
|
#include <common/pseudorand.h>
|
||||||
#include <wire/gen_onion_wire.h>
|
#include <wire/gen_onion_wire.h>
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
#include <bitcoin/script.h>
|
#include <bitcoin/script.h>
|
||||||
#include <bitcoin/tx.h>
|
#include <bitcoin/tx.h>
|
||||||
#include <ccan/endian/endian.h>
|
#include <ccan/endian/endian.h>
|
||||||
|
#include <channeld/commit_tx.h>
|
||||||
#include <common/htlc_tx.h>
|
#include <common/htlc_tx.h>
|
||||||
#include <common/keyset.h>
|
#include <common/keyset.h>
|
||||||
#include <common/permute_tx.h>
|
#include <common/permute_tx.h>
|
||||||
#include <common/utils.h>
|
#include <common/utils.h>
|
||||||
#include <lightningd/channel/commit_tx.h>
|
|
||||||
|
|
||||||
#ifndef SUPERVERBOSE
|
#ifndef SUPERVERBOSE
|
||||||
#define SUPERVERBOSE(...)
|
#define SUPERVERBOSE(...)
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
#define LIGHTNING_LIGHTNINGD_CHANNEL_COMMIT_TX_H
|
#define LIGHTNING_LIGHTNINGD_CHANNEL_COMMIT_TX_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include <bitcoin/pubkey.h>
|
#include <bitcoin/pubkey.h>
|
||||||
|
#include <channeld/channeld_htlc.h>
|
||||||
#include <common/htlc.h>
|
#include <common/htlc.h>
|
||||||
#include <common/initial_commit_tx.h>
|
#include <common/initial_commit_tx.h>
|
||||||
#include <lightningd/channel/channeld_htlc.h>
|
|
||||||
|
|
||||||
struct keyset;
|
struct keyset;
|
||||||
struct sha256_double;
|
struct sha256_double;
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
#include <ccan/mem/mem.h>
|
#include <ccan/mem/mem.h>
|
||||||
#include <ccan/structeq/structeq.h>
|
#include <ccan/structeq/structeq.h>
|
||||||
#include <ccan/tal/str/str.h>
|
#include <ccan/tal/str/str.h>
|
||||||
|
#include <channeld/commit_tx.h>
|
||||||
|
#include <channeld/full_channel.h>
|
||||||
#include <common/channel_config.h>
|
#include <common/channel_config.h>
|
||||||
#include <common/htlc.h>
|
#include <common/htlc.h>
|
||||||
#include <common/htlc_tx.h>
|
#include <common/htlc_tx.h>
|
||||||
@@ -15,8 +17,6 @@
|
|||||||
#include <common/status.h>
|
#include <common/status.h>
|
||||||
#include <common/type_to_string.h>
|
#include <common/type_to_string.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/channel/commit_tx.h>
|
|
||||||
#include <lightningd/channel/full_channel.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
struct channel *new_channel(const tal_t *ctx,
|
struct channel *new_channel(const tal_t *ctx,
|
||||||
@@ -2,9 +2,9 @@
|
|||||||
#ifndef LIGHTNING_LIGHTNINGD_CHANNEL_FULL_CHANNEL_H
|
#ifndef LIGHTNING_LIGHTNINGD_CHANNEL_FULL_CHANNEL_H
|
||||||
#define LIGHTNING_LIGHTNINGD_CHANNEL_FULL_CHANNEL_H
|
#define LIGHTNING_LIGHTNINGD_CHANNEL_FULL_CHANNEL_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include <channeld/channeld_htlc.h>
|
||||||
#include <common/initial_channel.h>
|
#include <common/initial_channel.h>
|
||||||
#include <common/sphinx.h>
|
#include <common/sphinx.h>
|
||||||
#include <lightningd/channel/channeld_htlc.h>
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* new_channel: Given initial fees and funding, what is initial state?
|
* new_channel: Given initial fees and funding, what is initial state?
|
||||||
@@ -1,36 +1,38 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/closing-wrongdir:
|
closingd-wrongdir:
|
||||||
$(MAKE) -C ../.. lightningd/closing-all
|
$(MAKE) -C ../.. closingd-all
|
||||||
|
|
||||||
default: lightningd/closing-all
|
default: closingd-all
|
||||||
|
|
||||||
lightningd/closing-all: lightningd/lightningd_closing
|
closingd-all: lightningd/lightning_closingd
|
||||||
|
|
||||||
# lightningd/closing needs these:
|
# closingd needs these:
|
||||||
LIGHTNINGD_CLOSING_HEADERS_GEN := \
|
LIGHTNINGD_CLOSING_HEADERS_GEN := \
|
||||||
lightningd/closing/gen_closing_wire.h
|
closingd/gen_closing_wire.h
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_HEADERS_NOGEN :=
|
LIGHTNINGD_CLOSING_HEADERS_NOGEN :=
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_HEADERS := $(LIGHTNINGD_CLOSING_HEADERS_GEN) $(LIGHTNINGD_CLOSING_HEADERS_NOGEN)
|
LIGHTNINGD_CLOSING_HEADERS := $(LIGHTNINGD_CLOSING_HEADERS_GEN) $(LIGHTNINGD_CLOSING_HEADERS_NOGEN)
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_SRC := lightningd/closing/closing.c \
|
LIGHTNINGD_CLOSING_SRC := closingd/closing.c \
|
||||||
$(LIGHTNINGD_CLOSING_HEADERS:.h=.c)
|
$(LIGHTNINGD_CLOSING_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_CLOSING_OBJS := $(LIGHTNINGD_CLOSING_SRC:.c=.o)
|
LIGHTNINGD_CLOSING_OBJS := $(LIGHTNINGD_CLOSING_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_CLOSING_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_CLOSING_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_closingd
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_CLOSING_HEADERS_GEN)
|
||||||
|
|
||||||
# Control daemon uses this:
|
# Control daemon uses this:
|
||||||
LIGHTNINGD_CLOSING_CONTROL_HEADERS := $(LIGHTNINGD_CLOSING_HEADERS)
|
LIGHTNINGD_CLOSING_CONTROL_HEADERS := $(LIGHTNINGD_CLOSING_HEADERS)
|
||||||
LIGHTNINGD_CLOSING_CONTROL_SRC := $(LIGHTNINGD_CLOSING_HEADERS:.h=.c)
|
LIGHTNINGD_CLOSING_CONTROL_SRC := $(LIGHTNINGD_CLOSING_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_CLOSING_CONTROL_OBJS := $(LIGHTNINGD_CLOSING_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_CLOSING_CONTROL_OBJS := $(LIGHTNINGD_CLOSING_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_GEN_SRC := $(filter lightningd/closing/gen_%, $(LIGHTNINGD_CLOSING_SRC) $(LIGHTNINGD_CLOSING_CONTROL_SRC))
|
LIGHTNINGD_CLOSING_GEN_SRC := $(filter closingd/gen_%, $(LIGHTNINGD_CLOSING_SRC) $(LIGHTNINGD_CLOSING_CONTROL_SRC))
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_SRC_NOGEN := $(filter-out lightningd/closing/gen_%, $(LIGHTNINGD_CLOSING_SRC))
|
LIGHTNINGD_CLOSING_SRC_NOGEN := $(filter-out closingd/gen_%, $(LIGHTNINGD_CLOSING_SRC))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_CLOSING_HEADERS_GEN)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_CLOSING_HEADERS_GEN)
|
||||||
@@ -55,24 +57,24 @@ CLOSINGD_COMMON_OBJS := \
|
|||||||
common/utils.o \
|
common/utils.o \
|
||||||
common/version.o
|
common/version.o
|
||||||
|
|
||||||
lightningd/closing/gen_closing_wire.h: $(WIRE_GEN) lightningd/closing/closing_wire.csv
|
closingd/gen_closing_wire.h: $(WIRE_GEN) closingd/closing_wire.csv
|
||||||
$(WIRE_GEN) --header $@ closing_wire_type < lightningd/closing/closing_wire.csv > $@
|
$(WIRE_GEN) --header $@ closing_wire_type < closingd/closing_wire.csv > $@
|
||||||
|
|
||||||
lightningd/closing/gen_closing_wire.c: $(WIRE_GEN) lightningd/closing/closing_wire.csv
|
closingd/gen_closing_wire.c: $(WIRE_GEN) closingd/closing_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} closing_wire_type < lightningd/closing/closing_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} closing_wire_type < closingd/closing_wire.csv > $@
|
||||||
|
|
||||||
LIGHTNINGD_CLOSING_OBJS := $(LIGHTNINGD_CLOSING_SRC:.c=.o) $(LIGHTNINGD_CLOSING_GEN_SRC:.c=.o)
|
LIGHTNINGD_CLOSING_OBJS := $(LIGHTNINGD_CLOSING_SRC:.c=.o) $(LIGHTNINGD_CLOSING_GEN_SRC:.c=.o)
|
||||||
|
|
||||||
lightningd/lightningd_closing: $(LIGHTNINGD_CLOSING_OBJS) $(WIRE_ONION_OBJS) $(CLOSINGD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS)
|
lightningd/lightning_closingd: $(LIGHTNINGD_CLOSING_OBJS) $(WIRE_ONION_OBJS) $(CLOSINGD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS)
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_CLOSING_SRC_NOGEN:%=check-src-include-order/%)
|
check-source: $(LIGHTNINGD_CLOSING_SRC_NOGEN:%=check-src-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_CLOSING_SRC:%=bolt-check/%) $(LIGHTNINGD_CLOSING_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_CLOSING_SRC:%=bolt-check/%) $(LIGHTNINGD_CLOSING_HEADERS:%=bolt-check/%)
|
||||||
|
|
||||||
check-whitespace: $(LIGHTNINGD_CLOSING_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_CLOSING_HEADERS_NOGEN:%=check-whitespace/%)
|
check-whitespace: $(LIGHTNINGD_CLOSING_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_CLOSING_HEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
clean: lightningd/closing-clean
|
clean: closingd-clean
|
||||||
|
|
||||||
lightningd/closing-clean:
|
closingd-clean:
|
||||||
$(RM) $(LIGHTNINGD_CLOSING_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_CLOSING_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/closing/test/Makefile
|
-include closingd/test/Makefile
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#include <bitcoin/script.h>
|
#include <bitcoin/script.h>
|
||||||
|
#include <closingd/gen_closing_wire.h>
|
||||||
#include <common/close_tx.h>
|
#include <common/close_tx.h>
|
||||||
#include <common/crypto_sync.h>
|
#include <common/crypto_sync.h>
|
||||||
#include <common/debug.h>
|
#include <common/debug.h>
|
||||||
@@ -10,7 +11,6 @@
|
|||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/closing/gen_closing_wire.h>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@@ -41,6 +41,9 @@ COMMON_OBJS := $(COMMON_SRC:.c=.o)
|
|||||||
# Common objects depends on bitcoin/ external/ and ccan
|
# Common objects depends on bitcoin/ external/ and ccan
|
||||||
$(COMMON_OBJS): $(CCAN_HEADERS) $(BITCOIN_HEADERS) $(EXTERNAL_HEADERS) $(COMMON_HEADERS_GEN)
|
$(COMMON_OBJS): $(CCAN_HEADERS) $(BITCOIN_HEADERS) $(EXTERNAL_HEADERS) $(COMMON_HEADERS_GEN)
|
||||||
|
|
||||||
|
ALL_GEN_HEADERS += $(COMMON_HEADERS_GEN)
|
||||||
|
ALL_OBJS += $(COMMON_OBJS)
|
||||||
|
|
||||||
common/gen_htlc_state_names.h: common/htlc_state.h ccan/ccan/cdump/tools/cdump-enumstr
|
common/gen_htlc_state_names.h: common/htlc_state.h ccan/ccan/cdump/tools/cdump-enumstr
|
||||||
ccan/ccan/cdump/tools/cdump-enumstr common/htlc_state.h > $@
|
ccan/ccan/cdump/tools/cdump-enumstr common/htlc_state.h > $@
|
||||||
|
|
||||||
|
|||||||
8
external/.gitignore
vendored
Normal file
8
external/.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
libbase58.a
|
||||||
|
libjsmn.a
|
||||||
|
libsecp256k1.a
|
||||||
|
libsecp256k1.la
|
||||||
|
libsodium.a
|
||||||
|
libsodium.la
|
||||||
|
libwallycore.a
|
||||||
|
libwallycore.la
|
||||||
@@ -1,30 +1,32 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/gossip-wrongdir:
|
gossipd-wrongdir:
|
||||||
$(MAKE) -C .. lightningd/gossip-all
|
$(MAKE) -C .. gossipd-all
|
||||||
|
|
||||||
default: lightningd/gossip-all
|
default: gossipd-all
|
||||||
|
|
||||||
# Control daemon uses this:
|
# Control daemon uses this:
|
||||||
LIGHTNINGD_GOSSIP_CONTROL_HEADERS := lightningd/gossip/gen_gossip_wire.h
|
LIGHTNINGD_GOSSIP_CONTROL_HEADERS := gossipd/gen_gossip_wire.h
|
||||||
LIGHTNINGD_GOSSIP_CONTROL_SRC := lightningd/gossip/gen_gossip_wire.c
|
LIGHTNINGD_GOSSIP_CONTROL_SRC := gossipd/gen_gossip_wire.c
|
||||||
LIGHTNINGD_GOSSIP_CONTROL_OBJS := $(LIGHTNINGD_GOSSIP_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_GOSSIP_CONTROL_OBJS := $(LIGHTNINGD_GOSSIP_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
# lightningd/gossip needs these:
|
# gossipd needs these:
|
||||||
LIGHTNINGD_GOSSIP_HEADERS := lightningd/gossip/gen_gossip_wire.h \
|
LIGHTNINGD_GOSSIP_HEADERS := gossipd/gen_gossip_wire.h \
|
||||||
lightningd/gossip/routing.h \
|
gossipd/routing.h \
|
||||||
lightningd/gossip/broadcast.h
|
gossipd/broadcast.h
|
||||||
LIGHTNINGD_GOSSIP_SRC := lightningd/gossip/gossip.c \
|
LIGHTNINGD_GOSSIP_SRC := gossipd/gossip.c \
|
||||||
$(LIGHTNINGD_GOSSIP_HEADERS:.h=.c)
|
$(LIGHTNINGD_GOSSIP_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_GOSSIP_OBJS := $(LIGHTNINGD_GOSSIP_SRC:.c=.o)
|
LIGHTNINGD_GOSSIP_OBJS := $(LIGHTNINGD_GOSSIP_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_GOSSIP_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_GOSSIP_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_gossipd
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_GOSSIP_CONTROL_HEADERS)
|
||||||
|
|
||||||
# For checking
|
# For checking
|
||||||
LIGHTNINGD_GOSSIP_ALLSRC_NOGEN := $(filter-out lightningd/gossip/gen_%, $(LIGHTNINGD_GOSSIP_CLIENT_SRC) $(LIGHTNINGD_GOSSIP_SRC))
|
LIGHTNINGD_GOSSIP_ALLSRC_NOGEN := $(filter-out gossipd/gen_%, $(LIGHTNINGD_GOSSIP_CLIENT_SRC) $(LIGHTNINGD_GOSSIP_SRC))
|
||||||
LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN := $(filter-out lightningd/gossip/gen_%, $(LIGHTNINGD_GOSSIP_CLIENT_HEADERS) $(LIGHTNINGD_GOSSIP_HEADERS))
|
LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN := $(filter-out gossipd/gen_%, $(LIGHTNINGD_GOSSIP_CLIENT_HEADERS) $(LIGHTNINGD_GOSSIP_HEADERS))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_GOSSIP_HEADERS)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_GOSSIP_HEADERS)
|
||||||
@@ -50,23 +52,23 @@ $(LIGHTNINGD_GOSSIP_OBJS) $(LIGHTNINGD_GOSSIP_CLIENT_OBJS): $(LIGHTNINGD_HEADERS
|
|||||||
|
|
||||||
$(LIGHTNINGD_GOSSIP_CONTROL_OBJS) : $(LIGHTNINGD_GOSSIP_CONTROL_HEADERS)
|
$(LIGHTNINGD_GOSSIP_CONTROL_OBJS) : $(LIGHTNINGD_GOSSIP_CONTROL_HEADERS)
|
||||||
|
|
||||||
lightningd/gossip-all: lightningd/lightningd_gossip $(LIGHTNINGD_GOSSIP_CLIENT_OBJS)
|
gossipd-all: lightningd/lightning_gossipd $(LIGHTNINGD_GOSSIP_CLIENT_OBJS)
|
||||||
|
|
||||||
lightningd/lightningd_gossip: $(LIGHTNINGD_GOSSIP_OBJS) $(GOSSIPD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS)
|
lightningd/lightning_gossipd: $(LIGHTNINGD_GOSSIP_OBJS) $(GOSSIPD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS)
|
||||||
|
|
||||||
lightningd/gossip/gen_gossip_wire.h: $(WIRE_GEN) lightningd/gossip/gossip_wire.csv
|
gossipd/gen_gossip_wire.h: $(WIRE_GEN) gossipd/gossip_wire.csv
|
||||||
$(WIRE_GEN) --header $@ gossip_wire_type < lightningd/gossip/gossip_wire.csv > $@
|
$(WIRE_GEN) --header $@ gossip_wire_type < gossipd/gossip_wire.csv > $@
|
||||||
|
|
||||||
lightningd/gossip/gen_gossip_wire.c: $(WIRE_GEN) lightningd/gossip/gossip_wire.csv
|
gossipd/gen_gossip_wire.c: $(WIRE_GEN) gossipd/gossip_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} gossip_wire_type < lightningd/gossip/gossip_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} gossip_wire_type < gossipd/gossip_wire.csv > $@
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_GOSSIP_ALLSRC_NOGEN:%=check-src-include-order/%) $(LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN:%=check-hdr-include-order/%)
|
check-source: $(LIGHTNINGD_GOSSIP_ALLSRC_NOGEN:%=check-src-include-order/%) $(LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN:%=check-hdr-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_GOSSIP_SRC:%=bolt-check/%) $(LIGHTNINGD_GOSSIP_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_GOSSIP_SRC:%=bolt-check/%) $(LIGHTNINGD_GOSSIP_HEADERS:%=bolt-check/%)
|
||||||
check-whitespace: $(LIGHTNINGD_GOSSIP_ALLSRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN:%=check-whitespace/%)
|
check-whitespace: $(LIGHTNINGD_GOSSIP_ALLSRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_GOSSIP_ALLHEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
clean: lightningd/gossip-clean
|
clean: gossipd-clean
|
||||||
|
|
||||||
lightningd/gossip-clean:
|
gossipd-clean:
|
||||||
$(RM) $(LIGHTNINGD_GOSSIP_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_GOSSIP_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/gossip/test/Makefile
|
-include gossipd/test/Makefile
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include <lightningd/gossip/broadcast.h>
|
#include <gossipd/broadcast.h>
|
||||||
|
|
||||||
struct broadcast_state *new_broadcast_state(tal_t *ctx)
|
struct broadcast_state *new_broadcast_state(tal_t *ctx)
|
||||||
{
|
{
|
||||||
@@ -21,10 +21,10 @@
|
|||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <gossipd/broadcast.h>
|
||||||
|
#include <gossipd/gen_gossip_wire.h>
|
||||||
|
#include <gossipd/routing.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/gossip/broadcast.h>
|
|
||||||
#include <lightningd/gossip/gen_gossip_wire.h>
|
|
||||||
#include <lightningd/gossip/routing.h>
|
|
||||||
#include <lightningd/gossip_msg.h>
|
#include <lightningd/gossip_msg.h>
|
||||||
#include <secp256k1_ecdh.h>
|
#include <secp256k1_ecdh.h>
|
||||||
#include <sodium/randombytes.h>
|
#include <sodium/randombytes.h>
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include <bitcoin/pubkey.h>
|
#include <bitcoin/pubkey.h>
|
||||||
#include <ccan/htable/htable_type.h>
|
#include <ccan/htable/htable_type.h>
|
||||||
#include <lightningd/gossip/broadcast.h>
|
#include <gossipd/broadcast.h>
|
||||||
#include <wire/wire.h>
|
#include <wire/wire.h>
|
||||||
|
|
||||||
#define ROUTING_MAX_HOPS 20
|
#define ROUTING_MAX_HOPS 20
|
||||||
@@ -1,31 +1,33 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/handshake-wrongdir:
|
handshaked-wrongdir:
|
||||||
$(MAKE) -C .. lightningd/handshake-all
|
$(MAKE) -C .. handshaked-all
|
||||||
|
|
||||||
default: lightningd/handshake-all
|
default: handshaked-all
|
||||||
|
|
||||||
lightningd/handshake-all: lightningd/lightningd_handshake
|
handshaked-all: lightningd/lightning_handshaked
|
||||||
|
|
||||||
# lightningd/handshake needs these:
|
# handshaked needs these:
|
||||||
LIGHTNINGD_HANDSHAKE_HEADERS := \
|
LIGHTNINGD_HANDSHAKE_HEADERS := \
|
||||||
lightningd/handshake/gen_handshake_wire.h
|
handshaked/gen_handshake_wire.h
|
||||||
LIGHTNINGD_HANDSHAKE_SRC := lightningd/handshake/handshake.c \
|
LIGHTNINGD_HANDSHAKE_SRC := handshaked/handshake.c \
|
||||||
$(LIGHTNINGD_HANDSHAKE_HEADERS:.h=.c)
|
$(LIGHTNINGD_HANDSHAKE_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_HANDSHAKE_OBJS := $(LIGHTNINGD_HANDSHAKE_SRC:.c=.o)
|
LIGHTNINGD_HANDSHAKE_OBJS := $(LIGHTNINGD_HANDSHAKE_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_HANDSHAKE_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_HANDSHAKE_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_handshaked
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_HANDSHAKE_HEADERS)
|
||||||
|
|
||||||
# Control daemon uses this:
|
# Control daemon uses this:
|
||||||
LIGHTNINGD_HANDSHAKE_CONTROL_HEADERS := $(LIGHTNINGD_HANDSHAKE_HEADERS)
|
LIGHTNINGD_HANDSHAKE_CONTROL_HEADERS := $(LIGHTNINGD_HANDSHAKE_HEADERS)
|
||||||
LIGHTNINGD_HANDSHAKE_CONTROL_SRC := $(LIGHTNINGD_HANDSHAKE_HEADERS:.h=.c)
|
LIGHTNINGD_HANDSHAKE_CONTROL_SRC := $(LIGHTNINGD_HANDSHAKE_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_HANDSHAKE_CONTROL_OBJS := $(LIGHTNINGD_HANDSHAKE_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_HANDSHAKE_CONTROL_OBJS := $(LIGHTNINGD_HANDSHAKE_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
LIGHTNINGD_HANDSHAKE_GEN_SRC := $(filter lightningd/handshake/gen_%, $(LIGHTNINGD_HANDSHAKE_SRC) $(LIGHTNINGD_HANDSHAKE_CONTROL_SRC))
|
LIGHTNINGD_HANDSHAKE_GEN_SRC := $(filter handshaked/gen_%, $(LIGHTNINGD_HANDSHAKE_SRC) $(LIGHTNINGD_HANDSHAKE_CONTROL_SRC))
|
||||||
|
|
||||||
LIGHTNINGD_HANDSHAKE_SRC_NOGEN := $(filter-out lightningd/handshake/gen_%, $(LIGHTNINGD_HANDSHAKE_SRC))
|
LIGHTNINGD_HANDSHAKE_SRC_NOGEN := $(filter-out handshaked/gen_%, $(LIGHTNINGD_HANDSHAKE_SRC))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HANDSHAKE_HEADERS)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HANDSHAKE_HEADERS)
|
||||||
@@ -45,24 +47,24 @@ HANDSHAKED_COMMON_OBJS := \
|
|||||||
common/utils.o \
|
common/utils.o \
|
||||||
common/version.o
|
common/version.o
|
||||||
|
|
||||||
lightningd/handshake/gen_handshake_wire.h: $(WIRE_GEN) lightningd/handshake/handshake_wire.csv
|
handshaked/gen_handshake_wire.h: $(WIRE_GEN) handshaked/handshake_wire.csv
|
||||||
$(WIRE_GEN) --header $@ handshake_wire_type < lightningd/handshake/handshake_wire.csv > $@
|
$(WIRE_GEN) --header $@ handshake_wire_type < handshaked/handshake_wire.csv > $@
|
||||||
|
|
||||||
lightningd/handshake/gen_handshake_wire.c: $(WIRE_GEN) lightningd/handshake/handshake_wire.csv
|
handshaked/gen_handshake_wire.c: $(WIRE_GEN) handshaked/handshake_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} handshake_wire_type < lightningd/handshake/handshake_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} handshake_wire_type < handshaked/handshake_wire.csv > $@
|
||||||
|
|
||||||
LIGHTNINGD_HANDSHAKE_OBJS := $(LIGHTNINGD_HANDSHAKE_SRC:.c=.o) $(LIGHTNINGD_HANDSHAKE_GEN_SRC:.c=.o)
|
LIGHTNINGD_HANDSHAKE_OBJS := $(LIGHTNINGD_HANDSHAKE_SRC:.c=.o) $(LIGHTNINGD_HANDSHAKE_GEN_SRC:.c=.o)
|
||||||
|
|
||||||
lightningd/lightningd_handshake: $(LIGHTNINGD_OLD_LIB_OBJS) $(LIGHTNINGD_LIB_OBJS) $(LIGHTNINGD_HANDSHAKE_OBJS) $(HANDSHAKED_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
lightningd/lightning_handshaked: $(LIGHTNINGD_OLD_LIB_OBJS) $(LIGHTNINGD_LIB_OBJS) $(LIGHTNINGD_HANDSHAKE_OBJS) $(HANDSHAKED_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_HANDSHAKE_SRC_NOGEN:%=check-src-include-order/%)
|
check-source: $(LIGHTNINGD_HANDSHAKE_SRC_NOGEN:%=check-src-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_HANDSHAKE_SRC:%=bolt-check/%) $(LIGHTNINGD_HANDSHAKE_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_HANDSHAKE_SRC:%=bolt-check/%) $(LIGHTNINGD_HANDSHAKE_HEADERS:%=bolt-check/%)
|
||||||
|
|
||||||
check-whitespace: $(LIGHTNINGD_HANDSHAKE_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_HANDSHAKE_HEADERS_NOGEN:%=check-whitespace/%)
|
check-whitespace: $(LIGHTNINGD_HANDSHAKE_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_HANDSHAKE_HEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
clean: lightningd/handshake-clean
|
clean: handshaked-clean
|
||||||
|
|
||||||
lightningd/handshake-clean:
|
handshaked-clean:
|
||||||
$(RM) $(LIGHTNINGD_HANDSHAKE_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_HANDSHAKE_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/handshake/test/Makefile
|
-include handshaked/test/Makefile
|
||||||
@@ -13,8 +13,8 @@
|
|||||||
#include <common/type_to_string.h>
|
#include <common/type_to_string.h>
|
||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <lightningd/handshake/gen_handshake_wire.h>
|
#include <handshaked/gen_handshake_wire.h>
|
||||||
#include <lightningd/hsm/client.h>
|
#include <hsmd/client.h>
|
||||||
#include <secp256k1.h>
|
#include <secp256k1.h>
|
||||||
#include <secp256k1_ecdh.h>
|
#include <secp256k1_ecdh.h>
|
||||||
#include <sodium/crypto_aead_chacha20poly1305.h>
|
#include <sodium/crypto_aead_chacha20poly1305.h>
|
||||||
82
hsmd/Makefile
Normal file
82
hsmd/Makefile
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#! /usr/bin/make
|
||||||
|
|
||||||
|
# Designed to be run one level up
|
||||||
|
hsmd-wrongdir:
|
||||||
|
$(MAKE) -C .. lightningd/hsm-all
|
||||||
|
|
||||||
|
default: hsmd-all
|
||||||
|
|
||||||
|
# Clients use this:
|
||||||
|
LIGHTNINGD_HSM_CLIENT_HEADERS := hsmd/client.h
|
||||||
|
LIGHTNINGD_HSM_CLIENT_SRC := hsmd/client.c hsmd/gen_hsm_client_wire.c
|
||||||
|
LIGHTNINGD_HSM_CLIENT_OBJS := $(LIGHTNINGD_HSM_CLIENT_SRC:.c=.o)
|
||||||
|
|
||||||
|
# Control daemon uses this:
|
||||||
|
LIGHTNINGD_HSM_CONTROL_HEADERS := hsmd/gen_hsm_wire.h
|
||||||
|
LIGHTNINGD_HSM_CONTROL_SRC := hsmd/gen_hsm_wire.c
|
||||||
|
LIGHTNINGD_HSM_CONTROL_OBJS := $(LIGHTNINGD_HSM_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
|
# lightningd/hsm needs these:
|
||||||
|
LIGHTNINGD_HSM_HEADERS := hsmd/gen_hsm_client_wire.h \
|
||||||
|
hsmd/gen_hsm_wire.h
|
||||||
|
LIGHTNINGD_HSM_SRC := hsmd/hsm.c \
|
||||||
|
$(LIGHTNINGD_HSM_HEADERS:.h=.c)
|
||||||
|
LIGHTNINGD_HSM_OBJS := $(LIGHTNINGD_HSM_SRC:.c=.o)
|
||||||
|
|
||||||
|
# Common source we use.
|
||||||
|
HSMD_COMMON_OBJS := \
|
||||||
|
common/bip32.o \
|
||||||
|
common/daemon_conn.o \
|
||||||
|
common/funding_tx.o \
|
||||||
|
common/key_derive.o \
|
||||||
|
common/msg_queue.o \
|
||||||
|
common/permute_tx.o \
|
||||||
|
common/status.o \
|
||||||
|
common/utils.o \
|
||||||
|
common/utxo.o \
|
||||||
|
common/version.o \
|
||||||
|
common/withdraw_tx.o
|
||||||
|
|
||||||
|
# For checking
|
||||||
|
LIGHTNINGD_HSM_ALLSRC_NOGEN := $(filter-out hsmd/gen_%, $(LIGHTNINGD_HSM_CLIENT_SRC) $(LIGHTNINGD_HSM_SRC))
|
||||||
|
LIGHTNINGD_HSM_ALLHEADERS_NOGEN := $(filter-out hsmd/gen_%, $(LIGHTNINGD_HSM_CLIENT_HEADERS) $(LIGHTNINGD_HSM_HEADERS))
|
||||||
|
|
||||||
|
# Add to headers which any object might need.
|
||||||
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HSM_HEADERS) $(LIGHTNINGD_HSM_CLIENT_HEADERS)
|
||||||
|
|
||||||
|
$(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS): $(LIGHTNINGD_HEADERS)
|
||||||
|
|
||||||
|
$(LIGHTNINGD_HSM_CONTROL_OBJS) : $(LIGHTNINGD_HSM_CONTROL_HEADERS)
|
||||||
|
|
||||||
|
# Make sure these depend on everything.
|
||||||
|
ALL_OBJS += $(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_hsmd
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_HSM_HEADERS)
|
||||||
|
|
||||||
|
hsmd-all: lightningd/lightning_hsmd $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
||||||
|
|
||||||
|
lightningd/lightning_hsmd: $(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_LIB_OBJS) $(HSMD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS)
|
||||||
|
|
||||||
|
hsmd/gen_hsm_client_wire.h: $(WIRE_GEN) hsmd/hsm_client_wire_csv
|
||||||
|
$(WIRE_GEN) --header $@ hsm_client_wire_type < hsmd/hsm_client_wire_csv > $@
|
||||||
|
|
||||||
|
hsmd/gen_hsm_client_wire.c: $(WIRE_GEN) hsmd/hsm_client_wire_csv
|
||||||
|
$(WIRE_GEN) ${@:.c=.h} hsm_client_wire_type< hsmd/hsm_client_wire_csv > $@
|
||||||
|
|
||||||
|
hsmd/gen_hsm_wire.h: $(WIRE_GEN) hsmd/hsm_wire.csv
|
||||||
|
$(WIRE_GEN) --header $@ hsm_wire_type < hsmd/hsm_wire.csv > $@
|
||||||
|
|
||||||
|
hsmd/gen_hsm_wire.c: $(WIRE_GEN) hsmd/hsm_wire.csv
|
||||||
|
$(WIRE_GEN) ${@:.c=.h} hsm_wire_type < hsmd/hsm_wire.csv > $@
|
||||||
|
|
||||||
|
check-source: $(LIGHTNINGD_HSM_ALLSRC_NOGEN:%=check-src-include-order/%) $(LIGHTNINGD_HSM_ALLHEADERS_NOGEN:%=check-hdr-include-order/%)
|
||||||
|
check-source-bolt: $(LIGHTNINGD_HSM_SRC:%=bolt-check/%) $(LIGHTNINGD_HSM_HEADERS:%=bolt-check/%)
|
||||||
|
|
||||||
|
check-whitespace: $(LIGHTNINGD_HSM_ALLSRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_HSM_ALLHEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
|
clean: lightningd/hsm-clean
|
||||||
|
|
||||||
|
lightningd/hsm-clean:
|
||||||
|
$(RM) $(LIGHTNINGD_HSM_OBJS) gen_*
|
||||||
|
|
||||||
|
-include hsmd/test/Makefile
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#include <lightningd/hsm/client.h>
|
#include <hsmd/client.h>
|
||||||
#include <lightningd/hsm/gen_hsm_client_wire.h>
|
#include <hsmd/gen_hsm_client_wire.h>
|
||||||
#include <wire/wire_sync.h>
|
#include <wire/wire_sync.h>
|
||||||
|
|
||||||
static int hsm_fd = -1;
|
static int hsm_fd = -1;
|
||||||
@@ -22,10 +22,10 @@
|
|||||||
#include <common/withdraw_tx.h>
|
#include <common/withdraw_tx.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <hsmd/client.h>
|
||||||
|
#include <hsmd/gen_hsm_client_wire.h>
|
||||||
|
#include <hsmd/gen_hsm_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/hsm/client.h>
|
|
||||||
#include <lightningd/hsm/gen_hsm_client_wire.h>
|
|
||||||
#include <lightningd/hsm/gen_hsm_wire.h>
|
|
||||||
#include <secp256k1_ecdh.h>
|
#include <secp256k1_ecdh.h>
|
||||||
#include <sodium/randombytes.h>
|
#include <sodium/randombytes.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
14
lightningd/.gitignore
vendored
14
lightningd/.gitignore
vendored
@@ -1,7 +1,9 @@
|
|||||||
lightningd
|
lightningd
|
||||||
lightningd_channel
|
lightning_channeld
|
||||||
lightningd_connect
|
lightning_connectd
|
||||||
lightningd_gossip
|
lightning_gossipd
|
||||||
lightningd_handshake
|
lightning_handshaked
|
||||||
lightningd_hsm
|
lightning_hsmd
|
||||||
lightningd_opening
|
lightning_openingd
|
||||||
|
lightning_closingd
|
||||||
|
lightning_onchaind
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
lightningd-wrongdir:
|
lightningd-wrongdir:
|
||||||
$(MAKE) -C .. lightningd-all
|
$(MAKE) -C .. lightningd-all
|
||||||
|
|
||||||
LIGHTNINGD_BINS := lightningd/lightningd lightningd/lightningd_hsm lightningd/lightningd_handshake lightningd/lightningd_gossip lightningd/lightningd_opening lightningd/lightningd_channel lightningd/lightningd_closing lightningd/lightningd_onchain
|
LIGHTNINGD_PROGRAM := lightningd/lightningd
|
||||||
|
|
||||||
ALL_PROGRAMS += $(LIGHTNINGD_BINS)
|
ALL_PROGRAMS += $(LIGHTNINGD_PROGRAM)
|
||||||
|
|
||||||
lightningd-all: $(LIGHTNINGD_BINS)
|
lightningd-all: $(LIGHTNINGD_PROGRAM)
|
||||||
|
|
||||||
default: lightningd-all
|
default: lightningd-all
|
||||||
|
|
||||||
@@ -76,19 +76,11 @@ LIGHTNINGD_HEADERS_NOGEN = \
|
|||||||
LIGHTNINGD_HEADERS_GEN = \
|
LIGHTNINGD_HEADERS_GEN = \
|
||||||
lightningd/gen_peer_state_names.h
|
lightningd/gen_peer_state_names.h
|
||||||
|
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_HEADERS_GEN)
|
||||||
|
|
||||||
# All together in one convenient var
|
# All together in one convenient var
|
||||||
LIGHTNINGD_HEADERS = $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) $(EXTERNAL_HEADERS) $(WIRE_HEADERS) $(BITCOIN_HEADERS) $(COMMON_HEADERS) $(WALLET_LIB_HEADERS)
|
LIGHTNINGD_HEADERS = $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) $(EXTERNAL_HEADERS) $(WIRE_HEADERS) $(BITCOIN_HEADERS) $(COMMON_HEADERS) $(WALLET_LIB_HEADERS)
|
||||||
|
|
||||||
# These included makefiles add their headers to the LIGHTNINGD_HEADERS
|
|
||||||
# variable so the include must preceed any actual use of the variable.
|
|
||||||
include lightningd/hsm/Makefile
|
|
||||||
include lightningd/handshake/Makefile
|
|
||||||
include lightningd/gossip/Makefile
|
|
||||||
include lightningd/opening/Makefile
|
|
||||||
include lightningd/channel/Makefile
|
|
||||||
include lightningd/closing/Makefile
|
|
||||||
include lightningd/onchain/Makefile
|
|
||||||
|
|
||||||
$(LIGHTNINGD_OBJS): $(LIGHTNINGD_HEADERS)
|
$(LIGHTNINGD_OBJS): $(LIGHTNINGD_HEADERS)
|
||||||
|
|
||||||
lightningd/gen_peer_state_names.h: lightningd/peer_state.h ccan/ccan/cdump/tools/cdump-enumstr
|
lightningd/gen_peer_state_names.h: lightningd/peer_state.h ccan/ccan/cdump/tools/cdump-enumstr
|
||||||
@@ -104,11 +96,11 @@ check-makefile: check-lightningd-makefile
|
|||||||
check-lightningd-makefile:
|
check-lightningd-makefile:
|
||||||
@for f in lightningd/*.h lightningd/*/*.h; do if ! echo $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) "" | grep -q "$$f "; then echo $$f not mentioned in LIGHTNINGD_HEADERS_NOGEN or LIGHTNINGD_HEADERS_GEN >&2; exit 1; fi; done
|
@for f in lightningd/*.h lightningd/*/*.h; do if ! echo $(LIGHTNINGD_HEADERS_NOGEN) $(LIGHTNINGD_HEADERS_GEN) "" | grep -q "$$f "; then echo $$f not mentioned in LIGHTNINGD_HEADERS_NOGEN or LIGHTNINGD_HEADERS_GEN >&2; exit 1; fi; done
|
||||||
|
|
||||||
lightningd/lightningd: $(LIGHTNINGD_OBJS) $(LIGHTNINGD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(WIRE_ONION_OBJS) $(CCAN_OBJS) $(LIGHTNINGD_HSM_CONTROL_OBJS) $(LIGHTNINGD_HANDSHAKE_CONTROL_OBJS) $(LIGHTNINGD_GOSSIP_CONTROL_OBJS) $(LIGHTNINGD_OPENING_CONTROL_OBJS) $(LIGHTNINGD_CHANNEL_CONTROL_OBJS) $(LIGHTNINGD_CLOSING_CONTROL_OBJS) $(LIGHTNINGD_ONCHAIN_CONTROL_OBJS) $(WALLET_LIB_OBJS)
|
lightningd/lightningd: $(LIGHTNINGD_OBJS) $(LIGHTNINGD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(WIRE_ONION_OBJS) $(LIGHTNINGD_HSM_CONTROL_OBJS) $(LIGHTNINGD_HANDSHAKE_CONTROL_OBJS) $(LIGHTNINGD_GOSSIP_CONTROL_OBJS) $(LIGHTNINGD_OPENING_CONTROL_OBJS) $(LIGHTNINGD_CHANNEL_CONTROL_OBJS) $(LIGHTNINGD_CLOSING_CONTROL_OBJS) $(LIGHTNINGD_ONCHAIN_CONTROL_OBJS) $(WALLET_LIB_OBJS)
|
||||||
|
|
||||||
clean: lightningd-clean
|
clean: lightningd-clean
|
||||||
|
|
||||||
lightningd-clean:
|
lightningd-clean:
|
||||||
$(RM) $(LIGHTNINGD_OBJS) $(LIGHTNINGD_JSMN_OBJS) $(LIGHTNINGD_BINS)
|
$(RM) $(LIGHTNINGD_OBJS) $(LIGHTNINGD_JSMN_OBJS) $(LIGHTNINGD_PROGRAM)
|
||||||
|
|
||||||
include lightningd/test/Makefile
|
include lightningd/test/Makefile
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
#include <channeld/gen_channel_wire.h>
|
||||||
#include <common/sphinx.h>
|
#include <common/sphinx.h>
|
||||||
#include <common/utils.h>
|
#include <common/utils.h>
|
||||||
#include <lightningd/channel/gen_channel_wire.h>
|
#include <gossipd/gen_gossip_wire.h>
|
||||||
#include <lightningd/gossip/gen_gossip_wire.h>
|
|
||||||
#include <lightningd/htlc_end.h>
|
#include <lightningd/htlc_end.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/lightningd.h>
|
#include <lightningd/lightningd.h>
|
||||||
@@ -16,7 +16,7 @@ static bool ping_reply(struct subd *subd, const u8 *msg, const int *fds,
|
|||||||
bool ok;
|
bool ok;
|
||||||
|
|
||||||
log_debug(subd->ld->log, "Got ping reply!");
|
log_debug(subd->ld->log, "Got ping reply!");
|
||||||
if (streq(subd->name, "lightningd_channel"))
|
if (streq(subd->name, "lightning_channeld"))
|
||||||
ok = fromwire_channel_ping_reply(msg, NULL, &totlen);
|
ok = fromwire_channel_ping_reply(msg, NULL, &totlen);
|
||||||
else
|
else
|
||||||
ok = fromwire_gossip_ping_reply(msg, NULL, &totlen);
|
ok = fromwire_gossip_ping_reply(msg, NULL, &totlen);
|
||||||
@@ -59,8 +59,8 @@ static void json_dev_ping(struct command *cmd,
|
|||||||
|
|
||||||
/* FIXME: These checks are horrible, use a peer flag to say it's
|
/* FIXME: These checks are horrible, use a peer flag to say it's
|
||||||
* ready to forward! */
|
* ready to forward! */
|
||||||
if (peer->owner && !streq(peer->owner->name, "lightningd_channel")
|
if (peer->owner && !streq(peer->owner->name, "lightning_channeld")
|
||||||
&& !streq(peer->owner->name, "lightningd_gossip")) {
|
&& !streq(peer->owner->name, "lightning_gossipd")) {
|
||||||
command_fail(cmd, "Peer in %s",
|
command_fail(cmd, "Peer in %s",
|
||||||
peer->owner ? peer->owner->name : "unattached");
|
peer->owner ? peer->owner->name : "unattached");
|
||||||
return;
|
return;
|
||||||
@@ -80,7 +80,7 @@ static void json_dev_ping(struct command *cmd,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (streq(peer->owner->name, "lightningd_channel"))
|
if (streq(peer->owner->name, "lightning_channeld"))
|
||||||
msg = towire_channel_ping(cmd, pongbytes, len);
|
msg = towire_channel_ping(cmd, pongbytes, len);
|
||||||
else
|
else
|
||||||
msg = towire_gossip_ping(cmd, peer->unique_id, pongbytes, len);
|
msg = towire_gossip_ping(cmd, peer->unique_id, pongbytes, len);
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
#include <ccan/tal/str/str.h>
|
#include <ccan/tal/str/str.h>
|
||||||
#include <common/type_to_string.h>
|
#include <common/type_to_string.h>
|
||||||
#include <common/utils.h>
|
#include <common/utils.h>
|
||||||
|
#include <gossipd/gen_gossip_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/gossip/gen_gossip_wire.h>
|
|
||||||
#include <lightningd/gossip_msg.h>
|
#include <lightningd/gossip_msg.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
@@ -144,7 +144,7 @@ void gossip_init(struct lightningd *ld)
|
|||||||
{
|
{
|
||||||
tal_t *tmpctx = tal_tmpctx(ld);
|
tal_t *tmpctx = tal_tmpctx(ld);
|
||||||
u8 *init;
|
u8 *init;
|
||||||
ld->gossip = new_subd(ld, ld, "lightningd_gossip", NULL,
|
ld->gossip = new_subd(ld, ld, "lightning_gossipd", NULL,
|
||||||
gossip_wire_type_name,
|
gossip_wire_type_name,
|
||||||
gossip_msg, gossip_finished, NULL);
|
gossip_msg, gossip_finished, NULL);
|
||||||
if (!ld->gossip)
|
if (!ld->gossip)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define LIGHTNING_LIGHTNINGD_GOSSIP_MSG_H
|
#define LIGHTNING_LIGHTNINGD_GOSSIP_MSG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include <bitcoin/pubkey.h>
|
#include <bitcoin/pubkey.h>
|
||||||
#include <lightningd/gossip/routing.h>
|
#include <gossipd/routing.h>
|
||||||
|
|
||||||
struct gossip_getnodes_entry {
|
struct gossip_getnodes_entry {
|
||||||
struct pubkey nodeid;
|
struct pubkey nodeid;
|
||||||
|
|||||||
@@ -1,80 +0,0 @@
|
|||||||
#! /usr/bin/make
|
|
||||||
|
|
||||||
# Designed to be run one level up
|
|
||||||
lightningd/hsm-wrongdir:
|
|
||||||
$(MAKE) -C .. lightningd/hsm-all
|
|
||||||
|
|
||||||
default: lightningd/hsm-all
|
|
||||||
|
|
||||||
# Clients use this:
|
|
||||||
LIGHTNINGD_HSM_CLIENT_HEADERS := lightningd/hsm/client.h
|
|
||||||
LIGHTNINGD_HSM_CLIENT_SRC := lightningd/hsm/client.c lightningd/hsm/gen_hsm_client_wire.c
|
|
||||||
LIGHTNINGD_HSM_CLIENT_OBJS := $(LIGHTNINGD_HSM_CLIENT_SRC:.c=.o)
|
|
||||||
|
|
||||||
# Control daemon uses this:
|
|
||||||
LIGHTNINGD_HSM_CONTROL_HEADERS := lightningd/hsm/gen_hsm_wire.h
|
|
||||||
LIGHTNINGD_HSM_CONTROL_SRC := lightningd/hsm/gen_hsm_wire.c
|
|
||||||
LIGHTNINGD_HSM_CONTROL_OBJS := $(LIGHTNINGD_HSM_CONTROL_SRC:.c=.o)
|
|
||||||
|
|
||||||
# lightningd/hsm needs these:
|
|
||||||
LIGHTNINGD_HSM_HEADERS := lightningd/hsm/gen_hsm_client_wire.h \
|
|
||||||
lightningd/hsm/gen_hsm_wire.h
|
|
||||||
LIGHTNINGD_HSM_SRC := lightningd/hsm/hsm.c \
|
|
||||||
$(LIGHTNINGD_HSM_HEADERS:.h=.c)
|
|
||||||
LIGHTNINGD_HSM_OBJS := $(LIGHTNINGD_HSM_SRC:.c=.o)
|
|
||||||
|
|
||||||
# Common source we use.
|
|
||||||
HSMD_COMMON_OBJS := \
|
|
||||||
common/bip32.o \
|
|
||||||
common/daemon_conn.o \
|
|
||||||
common/funding_tx.o \
|
|
||||||
common/key_derive.o \
|
|
||||||
common/msg_queue.o \
|
|
||||||
common/permute_tx.o \
|
|
||||||
common/status.o \
|
|
||||||
common/utils.o \
|
|
||||||
common/utxo.o \
|
|
||||||
common/version.o \
|
|
||||||
common/withdraw_tx.o
|
|
||||||
|
|
||||||
# For checking
|
|
||||||
LIGHTNINGD_HSM_ALLSRC_NOGEN := $(filter-out lightningd/hsm/gen_%, $(LIGHTNINGD_HSM_CLIENT_SRC) $(LIGHTNINGD_HSM_SRC))
|
|
||||||
LIGHTNINGD_HSM_ALLHEADERS_NOGEN := $(filter-out lightningd/hsm/gen_%, $(LIGHTNINGD_HSM_CLIENT_HEADERS) $(LIGHTNINGD_HSM_HEADERS))
|
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_HSM_HEADERS) $(LIGHTNINGD_HSM_CLIENT_HEADERS)
|
|
||||||
|
|
||||||
$(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS): $(LIGHTNINGD_HEADERS)
|
|
||||||
|
|
||||||
$(LIGHTNINGD_HSM_CONTROL_OBJS) : $(LIGHTNINGD_HSM_CONTROL_HEADERS)
|
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
|
||||||
ALL_OBJS += $(LIGHTNINGD_HSM_OBJS)
|
|
||||||
|
|
||||||
lightningd/hsm-all: lightningd/lightningd_hsm $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
|
||||||
|
|
||||||
lightningd/lightningd_hsm: $(LIGHTNINGD_HSM_OBJS) $(LIGHTNINGD_OLD_LIB_OBJS) $(LIGHTNINGD_LIB_OBJS) $(HSMD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS)
|
|
||||||
|
|
||||||
lightningd/hsm/gen_hsm_client_wire.h: $(WIRE_GEN) lightningd/hsm/hsm_client_wire_csv
|
|
||||||
$(WIRE_GEN) --header $@ hsm_client_wire_type < lightningd/hsm/hsm_client_wire_csv > $@
|
|
||||||
|
|
||||||
lightningd/hsm/gen_hsm_client_wire.c: $(WIRE_GEN) lightningd/hsm/hsm_client_wire_csv
|
|
||||||
$(WIRE_GEN) ${@:.c=.h} hsm_client_wire_type< lightningd/hsm/hsm_client_wire_csv > $@
|
|
||||||
|
|
||||||
lightningd/hsm/gen_hsm_wire.h: $(WIRE_GEN) lightningd/hsm/hsm_wire.csv
|
|
||||||
$(WIRE_GEN) --header $@ hsm_wire_type < lightningd/hsm/hsm_wire.csv > $@
|
|
||||||
|
|
||||||
lightningd/hsm/gen_hsm_wire.c: $(WIRE_GEN) lightningd/hsm/hsm_wire.csv
|
|
||||||
$(WIRE_GEN) ${@:.c=.h} hsm_wire_type < lightningd/hsm/hsm_wire.csv > $@
|
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_HSM_ALLSRC_NOGEN:%=check-src-include-order/%) $(LIGHTNINGD_HSM_ALLHEADERS_NOGEN:%=check-hdr-include-order/%)
|
|
||||||
check-source-bolt: $(LIGHTNINGD_HSM_SRC:%=bolt-check/%) $(LIGHTNINGD_HSM_HEADERS:%=bolt-check/%)
|
|
||||||
|
|
||||||
check-whitespace: $(LIGHTNINGD_HSM_ALLSRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_HSM_ALLHEADERS_NOGEN:%=check-whitespace/%)
|
|
||||||
|
|
||||||
clean: lightningd/hsm-clean
|
|
||||||
|
|
||||||
lightningd/hsm-clean:
|
|
||||||
$(RM) $(LIGHTNINGD_HSM_OBJS) gen_*
|
|
||||||
|
|
||||||
-include lightningd/hsm/test/Makefile
|
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
#include <common/status.h>
|
#include <common/status.h>
|
||||||
#include <common/utils.h>
|
#include <common/utils.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <hsmd/gen_hsm_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/hsm/gen_hsm_wire.h>
|
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wally_bip32.h>
|
#include <wally_bip32.h>
|
||||||
@@ -36,7 +36,7 @@ void hsm_init(struct lightningd *ld, bool newdir)
|
|||||||
u8 *msg;
|
u8 *msg;
|
||||||
bool create;
|
bool create;
|
||||||
|
|
||||||
ld->hsm_fd = subd_raw(ld, "lightningd_hsm");
|
ld->hsm_fd = subd_raw(ld, "lightning_hsmd");
|
||||||
if (ld->hsm_fd < 0)
|
if (ld->hsm_fd < 0)
|
||||||
err(1, "Could not subd hsm");
|
err(1, "Could not subd hsm");
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,8 @@
|
|||||||
#include <lightningd/invoice.h>
|
#include <lightningd/invoice.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
#include <lightningd/onchain/onchain_wire.h>
|
|
||||||
#include <lightningd/options.h>
|
#include <lightningd/options.h>
|
||||||
|
#include <onchaind/onchain_wire.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
@@ -100,12 +100,13 @@ static struct lightningd *new_lightningd(const tal_t *ctx)
|
|||||||
|
|
||||||
static const char *daemons[] = {
|
static const char *daemons[] = {
|
||||||
"lightningd",
|
"lightningd",
|
||||||
"lightningd_channel",
|
"lightning_channeld",
|
||||||
"lightningd_closing",
|
"lightning_closingd",
|
||||||
"lightningd_gossip",
|
"lightning_gossipd",
|
||||||
"lightningd_handshake",
|
"lightning_handshaked",
|
||||||
"lightningd_hsm",
|
"lightning_hsmd",
|
||||||
"lightningd_opening"
|
"lightning_onchaind",
|
||||||
|
"lightning_openingd"
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Check we can run them, and check their versions */
|
/* Check we can run them, and check their versions */
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
#include <common/cryptomsg.h>
|
#include <common/cryptomsg.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <lightningd/handshake/gen_handshake_wire.h>
|
#include <handshaked/gen_handshake_wire.h>
|
||||||
#include <lightningd/hsm/gen_hsm_wire.h>
|
#include <hsmd/gen_hsm_wire.h>
|
||||||
#include <lightningd/hsm_control.h>
|
#include <lightningd/hsm_control.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/lightningd.h>
|
#include <lightningd/lightningd.h>
|
||||||
@@ -221,7 +221,7 @@ static struct io_plan *hsm_then_handshake(struct io_conn *conn,
|
|||||||
|
|
||||||
/* Give handshake daemon the hsm fd. */
|
/* Give handshake daemon the hsm fd. */
|
||||||
handshaked = new_subd(ld, ld,
|
handshaked = new_subd(ld, ld,
|
||||||
"lightningd_handshake", NULL,
|
"lightning_handshaked", NULL,
|
||||||
handshake_wire_type_name,
|
handshake_wire_type_name,
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
take(&hsmfd), take(&connfd), NULL);
|
take(&hsmfd), take(&connfd), NULL);
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
#include <bitcoin/preimage.h>
|
#include <bitcoin/preimage.h>
|
||||||
#include <ccan/str/hex/hex.h>
|
#include <ccan/str/hex/hex.h>
|
||||||
#include <ccan/structeq/structeq.h>
|
#include <ccan/structeq/structeq.h>
|
||||||
|
#include <channeld/gen_channel_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/chaintopology.h>
|
#include <lightningd/chaintopology.h>
|
||||||
#include <lightningd/channel/gen_channel_wire.h>
|
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/lightningd.h>
|
#include <lightningd/lightningd.h>
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
#include <ccan/noerr/noerr.h>
|
#include <ccan/noerr/noerr.h>
|
||||||
#include <ccan/take/take.h>
|
#include <ccan/take/take.h>
|
||||||
#include <ccan/tal/str/str.h>
|
#include <ccan/tal/str/str.h>
|
||||||
|
#include <channeld/gen_channel_wire.h>
|
||||||
|
#include <closingd/gen_closing_wire.h>
|
||||||
#include <common/close_tx.h>
|
#include <common/close_tx.h>
|
||||||
#include <common/dev_disconnect.h>
|
#include <common/dev_disconnect.h>
|
||||||
#include <common/funding_tx.h>
|
#include <common/funding_tx.h>
|
||||||
@@ -17,24 +19,22 @@
|
|||||||
#include <common/timeout.h>
|
#include <common/timeout.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <gossipd/gen_gossip_wire.h>
|
||||||
|
#include <hsmd/gen_hsm_wire.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/build_utxos.h>
|
#include <lightningd/build_utxos.h>
|
||||||
#include <lightningd/chaintopology.h>
|
#include <lightningd/chaintopology.h>
|
||||||
#include <lightningd/channel/gen_channel_wire.h>
|
|
||||||
#include <lightningd/closing/gen_closing_wire.h>
|
|
||||||
#include <lightningd/dns.h>
|
#include <lightningd/dns.h>
|
||||||
#include <lightningd/gen_peer_state_names.h>
|
#include <lightningd/gen_peer_state_names.h>
|
||||||
#include <lightningd/gossip/gen_gossip_wire.h>
|
|
||||||
#include <lightningd/hsm/gen_hsm_wire.h>
|
|
||||||
#include <lightningd/hsm_control.h>
|
#include <lightningd/hsm_control.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
#include <lightningd/new_connection.h>
|
#include <lightningd/new_connection.h>
|
||||||
#include <lightningd/onchain/gen_onchain_wire.h>
|
|
||||||
#include <lightningd/onchain/onchain_wire.h>
|
|
||||||
#include <lightningd/opening/gen_opening_wire.h>
|
|
||||||
#include <lightningd/peer_htlcs.h>
|
#include <lightningd/peer_htlcs.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
#include <onchaind/gen_onchain_wire.h>
|
||||||
|
#include <onchaind/onchain_wire.h>
|
||||||
|
#include <openingd/gen_opening_wire.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@@ -1224,7 +1224,7 @@ static enum watch_result funding_spent(struct peer *peer,
|
|||||||
|
|
||||||
peer_fail_permanent_str(peer, "Funding transaction spent");
|
peer_fail_permanent_str(peer, "Funding transaction spent");
|
||||||
peer->owner = new_subd(peer->ld, peer->ld,
|
peer->owner = new_subd(peer->ld, peer->ld,
|
||||||
"lightningd_onchain", peer,
|
"lightning_onchaind", peer,
|
||||||
onchain_wire_type_name,
|
onchain_wire_type_name,
|
||||||
onchain_msg,
|
onchain_msg,
|
||||||
peer_onchain_finished,
|
peer_onchain_finished,
|
||||||
@@ -1783,7 +1783,7 @@ static void peer_start_closingd(struct peer *peer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
peer->owner = new_subd(peer->ld, peer->ld,
|
peer->owner = new_subd(peer->ld, peer->ld,
|
||||||
"lightningd_closing", peer,
|
"lightning_closingd", peer,
|
||||||
closing_wire_type_name,
|
closing_wire_type_name,
|
||||||
closing_msg,
|
closing_msg,
|
||||||
peer_owner_finished,
|
peer_owner_finished,
|
||||||
@@ -1970,7 +1970,7 @@ static bool peer_start_channeld(struct peer *peer,
|
|||||||
fatal("Could not read fd from HSM: %s", strerror(errno));
|
fatal("Could not read fd from HSM: %s", strerror(errno));
|
||||||
|
|
||||||
peer->owner = new_subd(peer->ld, peer->ld,
|
peer->owner = new_subd(peer->ld, peer->ld,
|
||||||
"lightningd_channel", peer,
|
"lightning_channeld", peer,
|
||||||
channel_wire_type_name,
|
channel_wire_type_name,
|
||||||
channel_msg,
|
channel_msg,
|
||||||
peer_owner_finished,
|
peer_owner_finished,
|
||||||
@@ -2282,7 +2282,7 @@ static void channel_config(struct lightningd *ld,
|
|||||||
*/
|
*/
|
||||||
ours->max_accepted_htlcs = 483;
|
ours->max_accepted_htlcs = 483;
|
||||||
|
|
||||||
/* This is filled in by lightningd_opening, for consistency. */
|
/* This is filled in by lightning_openingd, for consistency. */
|
||||||
ours->channel_reserve_satoshis = 0;
|
ours->channel_reserve_satoshis = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2309,7 +2309,7 @@ void peer_fundee_open(struct peer *peer, const u8 *from_peer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
peer_set_condition(peer, GOSSIPD, OPENINGD);
|
peer_set_condition(peer, GOSSIPD, OPENINGD);
|
||||||
peer->owner = new_subd(ld, ld, "lightningd_opening", peer,
|
peer->owner = new_subd(ld, ld, "lightning_openingd", peer,
|
||||||
opening_wire_type_name,
|
opening_wire_type_name,
|
||||||
NULL, peer_owner_finished,
|
NULL, peer_owner_finished,
|
||||||
take(&peer_fd), take(&gossip_fd),
|
take(&peer_fd), take(&gossip_fd),
|
||||||
@@ -2393,7 +2393,7 @@ static bool gossip_peer_released(struct subd *gossip,
|
|||||||
|
|
||||||
peer_set_condition(fc->peer, GOSSIPD, OPENINGD);
|
peer_set_condition(fc->peer, GOSSIPD, OPENINGD);
|
||||||
opening = new_subd(fc->peer->ld, ld,
|
opening = new_subd(fc->peer->ld, ld,
|
||||||
"lightningd_opening", fc->peer,
|
"lightning_openingd", fc->peer,
|
||||||
opening_wire_type_name,
|
opening_wire_type_name,
|
||||||
NULL, peer_owner_finished,
|
NULL, peer_owner_finished,
|
||||||
take(&fds[0]), take(&fds[1]), NULL);
|
take(&fds[0]), take(&fds[1]), NULL);
|
||||||
|
|||||||
@@ -3,22 +3,22 @@
|
|||||||
#include <ccan/crypto/ripemd160/ripemd160.h>
|
#include <ccan/crypto/ripemd160/ripemd160.h>
|
||||||
#include <ccan/mem/mem.h>
|
#include <ccan/mem/mem.h>
|
||||||
#include <ccan/tal/str/str.h>
|
#include <ccan/tal/str/str.h>
|
||||||
|
#include <channeld/gen_channel_wire.h>
|
||||||
#include <common/derive_basepoints.h>
|
#include <common/derive_basepoints.h>
|
||||||
#include <common/htlc_wire.h>
|
#include <common/htlc_wire.h>
|
||||||
#include <common/overflows.h>
|
#include <common/overflows.h>
|
||||||
#include <common/sphinx.h>
|
#include <common/sphinx.h>
|
||||||
|
#include <gossipd/gen_gossip_wire.h>
|
||||||
#include <lightningd/chaintopology.h>
|
#include <lightningd/chaintopology.h>
|
||||||
#include <lightningd/channel/gen_channel_wire.h>
|
|
||||||
#include <lightningd/gossip/gen_gossip_wire.h>
|
|
||||||
#include <lightningd/htlc_end.h>
|
#include <lightningd/htlc_end.h>
|
||||||
#include <lightningd/invoice.h>
|
#include <lightningd/invoice.h>
|
||||||
#include <lightningd/lightningd.h>
|
#include <lightningd/lightningd.h>
|
||||||
#include <lightningd/log.h>
|
#include <lightningd/log.h>
|
||||||
#include <lightningd/onchain/onchain_wire.h>
|
|
||||||
#include <lightningd/pay.h>
|
#include <lightningd/pay.h>
|
||||||
#include <lightningd/peer_control.h>
|
#include <lightningd/peer_control.h>
|
||||||
#include <lightningd/peer_htlcs.h>
|
#include <lightningd/peer_htlcs.h>
|
||||||
#include <lightningd/subd.h>
|
#include <lightningd/subd.h>
|
||||||
|
#include <onchaind/onchain_wire.h>
|
||||||
#include <wire/gen_onion_wire.h>
|
#include <wire/gen_onion_wire.h>
|
||||||
|
|
||||||
static bool state_update_ok(struct peer *peer,
|
static bool state_update_ok(struct peer *peer,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ struct io_conn;
|
|||||||
|
|
||||||
/* One of our subds. */
|
/* One of our subds. */
|
||||||
struct subd {
|
struct subd {
|
||||||
/* Name, like John, or "lightningd_hsm" */
|
/* Name, like John, or "lightning_hsmd" */
|
||||||
const char *name;
|
const char *name;
|
||||||
/* The Big Cheese. */
|
/* The Big Cheese. */
|
||||||
struct lightningd *ld;
|
struct lightningd *ld;
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
#include "../../common/key_derive.c"
|
#include "../../common/key_derive.c"
|
||||||
#include "../../common/keyset.c"
|
#include "../../common/keyset.c"
|
||||||
#include "../../common/initial_channel.c"
|
#include "../../common/initial_channel.c"
|
||||||
#include "../channel/full_channel.c"
|
#include "../../channeld/full_channel.c"
|
||||||
#include "../../common/initial_commit_tx.c"
|
#include "../../common/initial_commit_tx.c"
|
||||||
#include "../channel/commit_tx.c"
|
#include "../../channeld/commit_tx.c"
|
||||||
#include "../../common/htlc_tx.c"
|
#include "../../common/htlc_tx.c"
|
||||||
#include <bitcoin/preimage.h>
|
#include <bitcoin/preimage.h>
|
||||||
#include <bitcoin/privkey.h>
|
#include <bitcoin/privkey.h>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ static bool print_superverbose;
|
|||||||
#define SUPERVERBOSE(...) \
|
#define SUPERVERBOSE(...) \
|
||||||
do { if (print_superverbose) printf(__VA_ARGS__); } while(0)
|
do { if (print_superverbose) printf(__VA_ARGS__); } while(0)
|
||||||
#define PRINT_ACTUAL_FEE
|
#define PRINT_ACTUAL_FEE
|
||||||
#include "../channel/commit_tx.c"
|
#include "../../channeld/commit_tx.c"
|
||||||
#include "../../common/initial_commit_tx.c"
|
#include "../../common/initial_commit_tx.c"
|
||||||
#include "../../common/htlc_tx.c"
|
#include "../../common/htlc_tx.c"
|
||||||
#include <bitcoin/preimage.h>
|
#include <bitcoin/preimage.h>
|
||||||
|
|||||||
@@ -1,43 +1,43 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/onchain-wrongdir:
|
onchaind-wrongdir:
|
||||||
$(MAKE) -C ../.. lightningd/onchain-all
|
$(MAKE) -C ../.. onchaind-all
|
||||||
|
|
||||||
default: lightningd/onchain-all
|
default: onchaind-all
|
||||||
|
|
||||||
lightningd/onchain-all: lightningd/lightningd_onchain
|
onchaind-all: lightningd/lightning_onchaind
|
||||||
|
|
||||||
lightningd/onchain/gen_onchain_types_names.h: lightningd/onchain/onchain_types.h ccan/ccan/cdump/tools/cdump-enumstr
|
onchaind/gen_onchain_types_names.h: onchaind/onchain_types.h ccan/ccan/cdump/tools/cdump-enumstr
|
||||||
ccan/ccan/cdump/tools/cdump-enumstr lightningd/onchain/onchain_types.h > $@
|
ccan/ccan/cdump/tools/cdump-enumstr onchaind/onchain_types.h > $@
|
||||||
|
|
||||||
# lightningd/onchain needs these:
|
# onchaind needs these:
|
||||||
LIGHTNINGD_ONCHAIN_HEADERS_GEN := \
|
LIGHTNINGD_ONCHAIN_HEADERS_GEN := \
|
||||||
lightningd/onchain/gen_onchain_wire.h \
|
onchaind/gen_onchain_wire.h \
|
||||||
lightningd/onchain/gen_onchain_types_names.h
|
onchaind/gen_onchain_types_names.h
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_HEADERS_NOGEN := \
|
LIGHTNINGD_ONCHAIN_HEADERS_NOGEN := \
|
||||||
lightningd/onchain/onchain_types.h \
|
onchaind/onchain_types.h \
|
||||||
lightningd/onchain/onchain_wire.h
|
onchaind/onchain_wire.h
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_HEADERS := $(LIGHTNINGD_ONCHAIN_HEADERS_GEN) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN)
|
LIGHTNINGD_ONCHAIN_HEADERS := $(LIGHTNINGD_ONCHAIN_HEADERS_GEN) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN)
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_SRC := lightningd/onchain/onchain.c \
|
LIGHTNINGD_ONCHAIN_SRC := onchaind/onchain.c \
|
||||||
lightningd/onchain/gen_onchain_wire.c \
|
onchaind/gen_onchain_wire.c \
|
||||||
lightningd/onchain/onchain_wire.c
|
onchaind/onchain_wire.c
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o)
|
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o)
|
||||||
|
|
||||||
# Control daemon uses this:
|
# Control daemon uses this:
|
||||||
LIGHTNINGD_ONCHAIN_CONTROL_HEADERS := \
|
LIGHTNINGD_ONCHAIN_CONTROL_HEADERS := \
|
||||||
lightningd/onchain/gen_onchain_wire.h \
|
onchaind/gen_onchain_wire.h \
|
||||||
lightningd/onchain/onchain_wire.h
|
onchaind/onchain_wire.h
|
||||||
LIGHTNINGD_ONCHAIN_CONTROL_SRC := $(LIGHTNINGD_ONCHAIN_CONTROL_HEADERS:.h=.c)
|
LIGHTNINGD_ONCHAIN_CONTROL_SRC := $(LIGHTNINGD_ONCHAIN_CONTROL_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_ONCHAIN_CONTROL_OBJS := $(LIGHTNINGD_ONCHAIN_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_ONCHAIN_CONTROL_OBJS := $(LIGHTNINGD_ONCHAIN_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_GEN_SRC := $(filter lightningd/onchain/gen_%, $(LIGHTNINGD_ONCHAIN_SRC) $(LIGHTNINGD_ONCHAIN_CONTROL_SRC))
|
LIGHTNINGD_ONCHAIN_GEN_SRC := $(filter onchaind/gen_%, $(LIGHTNINGD_ONCHAIN_SRC) $(LIGHTNINGD_ONCHAIN_CONTROL_SRC))
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_SRC_NOGEN := $(filter-out lightningd/onchain/gen_%, $(LIGHTNINGD_ONCHAIN_SRC))
|
LIGHTNINGD_ONCHAIN_SRC_NOGEN := $(filter-out onchaind/gen_%, $(LIGHTNINGD_ONCHAIN_SRC))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_ONCHAIN_HEADERS_GEN)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_ONCHAIN_HEADERS_GEN)
|
||||||
@@ -63,27 +63,29 @@ ONCHAIND_COMMON_OBJS := \
|
|||||||
common/utils.o \
|
common/utils.o \
|
||||||
common/version.o
|
common/version.o
|
||||||
|
|
||||||
lightningd/onchain/gen_onchain_wire.h: $(WIRE_GEN) lightningd/onchain/onchain_wire.csv
|
onchaind/gen_onchain_wire.h: $(WIRE_GEN) onchaind/onchain_wire.csv
|
||||||
$(WIRE_GEN) --header $@ onchain_wire_type < lightningd/onchain/onchain_wire.csv > $@
|
$(WIRE_GEN) --header $@ onchain_wire_type < onchaind/onchain_wire.csv > $@
|
||||||
|
|
||||||
lightningd/onchain/gen_onchain_wire.c: $(WIRE_GEN) lightningd/onchain/onchain_wire.csv
|
onchaind/gen_onchain_wire.c: $(WIRE_GEN) onchaind/onchain_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} onchain_wire_type < lightningd/onchain/onchain_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} onchain_wire_type < onchaind/onchain_wire.csv > $@
|
||||||
|
|
||||||
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o) $(LIGHTNINGD_ONCHAIN_GEN_SRC:.c=.o)
|
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o) $(LIGHTNINGD_ONCHAIN_GEN_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_ONCHAIN_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_ONCHAIN_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_onchaind
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_ONCHAIN_HEADERS_GEN)
|
||||||
|
|
||||||
lightningd/lightningd_onchain: $(LIGHTNINGD_ONCHAIN_OBJS) $(WIRE_ONION_OBJS) $(ONCHAIND_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS)
|
lightningd/lightning_onchaind: $(LIGHTNINGD_ONCHAIN_OBJS) $(WIRE_ONION_OBJS) $(ONCHAIND_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS)
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_ONCHAIN_SRC_NOGEN:%=check-src-include-order/%)
|
check-source: $(LIGHTNINGD_ONCHAIN_SRC_NOGEN:%=check-src-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_ONCHAIN_SRC:%=bolt-check/%) $(LIGHTNINGD_ONCHAIN_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_ONCHAIN_SRC:%=bolt-check/%) $(LIGHTNINGD_ONCHAIN_HEADERS:%=bolt-check/%)
|
||||||
|
|
||||||
check-whitespace: $(LIGHTNINGD_ONCHAIN_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN:%=check-whitespace/%)
|
check-whitespace: $(LIGHTNINGD_ONCHAIN_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
clean: lightningd/onchain-clean
|
clean: onchaind-clean
|
||||||
|
|
||||||
lightningd/onchain-clean:
|
onchaind-clean:
|
||||||
$(RM) $(LIGHTNINGD_ONCHAIN_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_ONCHAIN_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/onchain/test/Makefile
|
-include onchaind/test/Makefile
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/onchain/gen_onchain_wire.h>
|
|
||||||
#include <lightningd/onchain/onchain_types.h>
|
|
||||||
#include <lightningd/peer_state.h>
|
#include <lightningd/peer_state.h>
|
||||||
|
#include <onchaind/gen_onchain_wire.h>
|
||||||
|
#include <onchaind/onchain_types.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#include <ccan/structeq/structeq.h>
|
#include <ccan/structeq/structeq.h>
|
||||||
#include <common/htlc_wire.h>
|
#include <common/htlc_wire.h>
|
||||||
#include <lightningd/onchain/onchain_wire.h>
|
#include <onchaind/onchain_wire.h>
|
||||||
#include <wire/wire.h>
|
#include <wire/wire.h>
|
||||||
|
|
||||||
void towire_htlc_stub(u8 **pptr, const struct htlc_stub *htlc_stub)
|
void towire_htlc_stub(u8 **pptr, const struct htlc_stub *htlc_stub)
|
||||||
@@ -35,7 +35,7 @@ onchain_init,,num_htlc_sigs,u16
|
|||||||
onchain_init,,htlc_signature,num_htlc_sigs*secp256k1_ecdsa_signature
|
onchain_init,,htlc_signature,num_htlc_sigs*secp256k1_ecdsa_signature
|
||||||
onchain_init,,num_htlcs,u64
|
onchain_init,,num_htlcs,u64
|
||||||
|
|
||||||
#include <lightningd/onchain/onchain_wire.h>
|
#include <onchaind/onchain_wire.h>
|
||||||
# This is all the HTLCs: one per message
|
# This is all the HTLCs: one per message
|
||||||
onchain_htlc,2
|
onchain_htlc,2
|
||||||
onchain_htlc,,htlc,struct htlc_stub
|
onchain_htlc,,htlc,struct htlc_stub
|
||||||
|
@@ -1,22 +1,22 @@
|
|||||||
#! /usr/bin/make
|
#! /usr/bin/make
|
||||||
|
|
||||||
# Designed to be run one level up
|
# Designed to be run one level up
|
||||||
lightningd/opening-wrongdir:
|
opening-wrongdir:
|
||||||
$(MAKE) -C ../.. lightningd/opening-all
|
$(MAKE) -C ../.. opening-all
|
||||||
|
|
||||||
default: lightningd/opening-all
|
default: opening-all
|
||||||
|
|
||||||
lightningd/opening-all: lightningd/lightningd_opening
|
opening-all: lightningd/lightning_openingd
|
||||||
|
|
||||||
# lightningd/opening needs these:
|
# opening needs these:
|
||||||
LIGHTNINGD_OPENING_HEADERS_GEN := \
|
LIGHTNINGD_OPENING_HEADERS_GEN := \
|
||||||
lightningd/opening/gen_opening_wire.h
|
openingd/gen_opening_wire.h
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_HEADERS_NOGEN :=
|
LIGHTNINGD_OPENING_HEADERS_NOGEN :=
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_HEADERS := $(LIGHTNINGD_OPENING_HEADERS_GEN) $(LIGHTNINGD_OPENING_HEADERS_NOGEN)
|
LIGHTNINGD_OPENING_HEADERS := $(LIGHTNINGD_OPENING_HEADERS_GEN) $(LIGHTNINGD_OPENING_HEADERS_NOGEN)
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_SRC := lightningd/opening/opening.c \
|
LIGHTNINGD_OPENING_SRC := openingd/opening.c \
|
||||||
$(LIGHTNINGD_OPENING_HEADERS:.h=.c)
|
$(LIGHTNINGD_OPENING_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_OPENING_OBJS := $(LIGHTNINGD_OPENING_SRC:.c=.o)
|
LIGHTNINGD_OPENING_OBJS := $(LIGHTNINGD_OPENING_SRC:.c=.o)
|
||||||
|
|
||||||
@@ -25,9 +25,9 @@ LIGHTNINGD_OPENING_CONTROL_HEADERS := $(LIGHTNINGD_OPENING_HEADERS)
|
|||||||
LIGHTNINGD_OPENING_CONTROL_SRC := $(LIGHTNINGD_OPENING_HEADERS:.h=.c)
|
LIGHTNINGD_OPENING_CONTROL_SRC := $(LIGHTNINGD_OPENING_HEADERS:.h=.c)
|
||||||
LIGHTNINGD_OPENING_CONTROL_OBJS := $(LIGHTNINGD_OPENING_CONTROL_SRC:.c=.o)
|
LIGHTNINGD_OPENING_CONTROL_OBJS := $(LIGHTNINGD_OPENING_CONTROL_SRC:.c=.o)
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_GEN_SRC := $(filter lightningd/opening/gen_%, $(LIGHTNINGD_OPENING_SRC) $(LIGHTNINGD_OPENING_CONTROL_SRC))
|
LIGHTNINGD_OPENING_GEN_SRC := $(filter openingd/gen_%, $(LIGHTNINGD_OPENING_SRC) $(LIGHTNINGD_OPENING_CONTROL_SRC))
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_SRC_NOGEN := $(filter-out lightningd/opening/gen_%, $(LIGHTNINGD_OPENING_SRC))
|
LIGHTNINGD_OPENING_SRC_NOGEN := $(filter-out openingd/gen_%, $(LIGHTNINGD_OPENING_SRC))
|
||||||
|
|
||||||
# Add to headers which any object might need.
|
# Add to headers which any object might need.
|
||||||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_OPENING_HEADERS_GEN)
|
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_OPENING_HEADERS_GEN)
|
||||||
@@ -62,27 +62,29 @@ OPENINGD_COMMON_OBJS := \
|
|||||||
|
|
||||||
$(LIGHTNINGD_OPENING_OBJS): $(LIGHTNINGD_HEADERS)
|
$(LIGHTNINGD_OPENING_OBJS): $(LIGHTNINGD_HEADERS)
|
||||||
|
|
||||||
lightningd/opening/gen_opening_wire.h: $(WIRE_GEN) lightningd/opening/opening_wire.csv
|
openingd/gen_opening_wire.h: $(WIRE_GEN) openingd/opening_wire.csv
|
||||||
$(WIRE_GEN) --header $@ opening_wire_type < lightningd/opening/opening_wire.csv > $@
|
$(WIRE_GEN) --header $@ opening_wire_type < openingd/opening_wire.csv > $@
|
||||||
|
|
||||||
lightningd/opening/gen_opening_wire.c: $(WIRE_GEN) lightningd/opening/opening_wire.csv
|
openingd/gen_opening_wire.c: $(WIRE_GEN) openingd/opening_wire.csv
|
||||||
$(WIRE_GEN) ${@:.c=.h} opening_wire_type < lightningd/opening/opening_wire.csv > $@
|
$(WIRE_GEN) ${@:.c=.h} opening_wire_type < openingd/opening_wire.csv > $@
|
||||||
|
|
||||||
LIGHTNINGD_OPENING_OBJS := $(LIGHTNINGD_OPENING_SRC:.c=.o) $(LIGHTNINGD_OPENING_GEN_SRC:.c=.o)
|
LIGHTNINGD_OPENING_OBJS := $(LIGHTNINGD_OPENING_SRC:.c=.o) $(LIGHTNINGD_OPENING_GEN_SRC:.c=.o)
|
||||||
|
|
||||||
# Make sure these depend on everything.
|
# Make sure these depend on everything.
|
||||||
ALL_OBJS += $(LIGHTNINGD_OPENING_OBJS)
|
ALL_OBJS += $(LIGHTNINGD_OPENING_OBJS)
|
||||||
|
ALL_PROGRAMS += lightningd/lightning_openingd
|
||||||
|
ALL_GEN_HEADERS += $(LIGHTNINGD_OPENING_HEADERS_GEN)
|
||||||
|
|
||||||
lightningd/lightningd_opening: $(LIGHTNINGD_OPENING_OBJS) $(OPENINGD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
lightningd/lightning_openingd: $(LIGHTNINGD_OPENING_OBJS) $(OPENINGD_COMMON_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(LIGHTNINGD_HSM_CLIENT_OBJS)
|
||||||
|
|
||||||
check-source: $(LIGHTNINGD_OPENING_SRC_NOGEN:%=check-src-include-order/%)
|
check-source: $(LIGHTNINGD_OPENING_SRC_NOGEN:%=check-src-include-order/%)
|
||||||
check-source-bolt: $(LIGHTNINGD_OPENING_SRC:%=bolt-check/%) $(LIGHTNINGD_OPENING_HEADERS:%=bolt-check/%)
|
check-source-bolt: $(LIGHTNINGD_OPENING_SRC:%=bolt-check/%) $(LIGHTNINGD_OPENING_HEADERS:%=bolt-check/%)
|
||||||
|
|
||||||
check-whitespace: $(LIGHTNINGD_OPENING_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_OPENING_HEADERS_NOGEN:%=check-whitespace/%)
|
check-whitespace: $(LIGHTNINGD_OPENING_SRC_NOGEN:%=check-whitespace/%) $(LIGHTNINGD_OPENING_HEADERS_NOGEN:%=check-whitespace/%)
|
||||||
|
|
||||||
clean: lightningd/opening-clean
|
clean: opening-clean
|
||||||
|
|
||||||
lightningd/opening-clean:
|
opening-clean:
|
||||||
$(RM) $(LIGHTNINGD_OPENING_OBJS) gen_*
|
$(RM) $(LIGHTNINGD_OPENING_OBJS) gen_*
|
||||||
|
|
||||||
-include lightningd/opening/test/Makefile
|
-include openingd/test/Makefile
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
#include <common/version.h>
|
#include <common/version.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
#include <lightningd/opening/gen_opening_wire.h>
|
#include <openingd/gen_opening_wire.h>
|
||||||
#include <secp256k1.h>
|
#include <secp256k1.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -238,8 +238,8 @@ class LightningDTests(BaseLightningDTests):
|
|||||||
assert 'state: UNINITIALIZED -> GOSSIPD' in p1['log']
|
assert 'state: UNINITIALIZED -> GOSSIPD' in p1['log']
|
||||||
|
|
||||||
# Both should still be owned by gossip
|
# Both should still be owned by gossip
|
||||||
assert p1['owner'] == 'lightningd_gossip'
|
assert p1['owner'] == 'lightning_gossipd'
|
||||||
assert p2['owner'] == 'lightningd_gossip'
|
assert p2['owner'] == 'lightning_gossipd'
|
||||||
|
|
||||||
def test_balance(self):
|
def test_balance(self):
|
||||||
l1,l2 = self.connect()
|
l1,l2 = self.connect()
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
#include <common/utxo.h>
|
#include <common/utxo.h>
|
||||||
#include <common/withdraw_tx.h>
|
#include <common/withdraw_tx.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <hsmd/gen_hsm_wire.h>
|
||||||
#include <lightningd/bitcoind.h>
|
#include <lightningd/bitcoind.h>
|
||||||
#include <lightningd/chaintopology.h>
|
#include <lightningd/chaintopology.h>
|
||||||
#include <lightningd/hsm/gen_hsm_wire.h>
|
|
||||||
#include <lightningd/hsm_control.h>
|
#include <lightningd/hsm_control.h>
|
||||||
#include <lightningd/jsonrpc.h>
|
#include <lightningd/jsonrpc.h>
|
||||||
#include <lightningd/lightningd.h>
|
#include <lightningd/lightningd.h>
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ WIRE_OBJS := $(WIRE_SRC:.c=.o) $(WIRE_GEN_SRC:.c=.o)
|
|||||||
WIRE_ONION_OBJS := $(WIRE_GEN_ONION_SRC:.c=.o)
|
WIRE_ONION_OBJS := $(WIRE_GEN_ONION_SRC:.c=.o)
|
||||||
|
|
||||||
ALL_OBJS += $(WIRE_OBJS) $(WIRE_ONION_OBJS)
|
ALL_OBJS += $(WIRE_OBJS) $(WIRE_ONION_OBJS)
|
||||||
|
ALL_GEN_HEADERS += $(WIRE_GEN_HEADERS)
|
||||||
|
|
||||||
# They may not have the bolts.
|
# They may not have the bolts.
|
||||||
BOLT_EXTRACT=$(BOLTDIR)/tools/extract-formats.py
|
BOLT_EXTRACT=$(BOLTDIR)/tools/extract-formats.py
|
||||||
|
|||||||
Reference in New Issue
Block a user