Rusty Russell
7 years ago
committed by
Christian Decker
6 changed files with 1623 additions and 3 deletions
@ -0,0 +1,69 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
# Designed to be run one level up
|
|||
lightningd/onchain-wrongdir: |
|||
$(MAKE) -C ../.. lightningd/onchain-all |
|||
|
|||
default: lightningd/onchain-all |
|||
|
|||
lightningd/onchain-all: lightningd/lightningd_onchain |
|||
|
|||
lightningd/onchain/gen_onchain_types_names.h: lightningd/onchain/onchain_types.h ccan/ccan/cdump/tools/cdump-enumstr |
|||
ccan/ccan/cdump/tools/cdump-enumstr lightningd/onchain/onchain_types.h > $@ |
|||
|
|||
# lightningd/onchain needs these:
|
|||
LIGHTNINGD_ONCHAIN_HEADERS_GEN := \
|
|||
lightningd/onchain/gen_onchain_wire.h \
|
|||
lightningd/onchain/gen_onchain_types_names.h |
|||
|
|||
LIGHTNINGD_ONCHAIN_HEADERS_NOGEN := \
|
|||
lightningd/onchain/onchain_types.h \
|
|||
lightningd/onchain/onchain_wire.h |
|||
|
|||
LIGHTNINGD_ONCHAIN_HEADERS := $(LIGHTNINGD_ONCHAIN_HEADERS_GEN) $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN) |
|||
|
|||
LIGHTNINGD_ONCHAIN_SRC := lightningd/onchain/onchain.c \
|
|||
lightningd/onchain/gen_onchain_wire.c \
|
|||
lightningd/onchain/onchain_wire.c |
|||
|
|||
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o) |
|||
|
|||
# Control daemon uses this:
|
|||
LIGHTNINGD_ONCHAIN_CONTROL_HEADERS := \
|
|||
lightningd/onchain/gen_onchain_wire.h \
|
|||
lightningd/onchain/onchain_wire.h |
|||
LIGHTNINGD_ONCHAIN_CONTROL_SRC := $(LIGHTNINGD_ONCHAIN_CONTROL_HEADERS:.h=.c) |
|||
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_SRC_NOGEN := $(filter-out lightningd/onchain/gen_%, $(LIGHTNINGD_ONCHAIN_SRC)) |
|||
|
|||
# Add to headers which any object might need.
|
|||
LIGHTNINGD_HEADERS_GEN += $(LIGHTNINGD_ONCHAIN_HEADERS_GEN) |
|||
LIGHTNINGD_HEADERS_NOGEN += $(LIGHTNINGD_ONCHAIN_HEADERS_NOGEN) |
|||
|
|||
$(LIGHTNINGD_ONCHAIN_OBJS): $(LIGHTNINGD_HEADERS) |
|||
|
|||
lightningd/onchain/gen_onchain_wire.h: $(WIRE_GEN) lightningd/onchain/onchain_wire.csv |
|||
$(WIRE_GEN) --header $@ onchain_wire_type < lightningd/onchain/onchain_wire.csv > $@ |
|||
|
|||
lightningd/onchain/gen_onchain_wire.c: $(WIRE_GEN) lightningd/onchain/onchain_wire.csv |
|||
$(WIRE_GEN) ${@:.c=.h} onchain_wire_type < lightningd/onchain/onchain_wire.csv > $@ |
|||
|
|||
LIGHTNINGD_ONCHAIN_OBJS := $(LIGHTNINGD_ONCHAIN_SRC:.c=.o) $(LIGHTNINGD_ONCHAIN_GEN_SRC:.c=.o) |
|||
|
|||
lightningd/lightningd_onchain: $(LIGHTNINGD_OLD_LIB_OBJS) $(LIGHTNINGD_LIB_OBJS) $(LIGHTNINGD_ONCHAIN_OBJS) $(WIRE_ONION_OBJS) $(CORE_OBJS) $(CORE_TX_OBJS) $(WIRE_OBJS) $(BITCOIN_OBJS) $(CCAN_OBJS) $(CCAN_SHACHAIN48_OBJ) $(LIGHTNINGD_HSM_CLIENT_OBJS) $(LIBBASE58_OBJS) libsecp256k1.a libsodium.a libwallycore.a |
|||
$(CC) $(CFLAGS) -o $@ $^ $(LDLIBS) |
|||
|
|||
check-source: $(LIGHTNINGD_ONCHAIN_SRC_NOGEN:%=check-src-include-order/%) |
|||
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/%) |
|||
|
|||
clean: lightningd/onchain-clean |
|||
|
|||
lightningd/onchain-clean: |
|||
$(RM) $(LIGHTNINGD_ONCHAIN_OBJS) gen_* |
|||
|
|||
-include lightningd/onchain/test/Makefile |
File diff suppressed because it is too large
@ -0,0 +1,54 @@ |
|||
#ifndef LIGHTNING_LIGHTNINGD_ONCHAIN_TYPES_H |
|||
#define LIGHTNING_LIGHTNINGD_ONCHAIN_TYPES_H |
|||
#include "config.h" |
|||
|
|||
/* Different transactions we care about. */ |
|||
enum tx_type { |
|||
/* The initial 2 of 2 funding transaction */ |
|||
FUNDING_TRANSACTION, |
|||
|
|||
/* A mutual close: spends funding */ |
|||
MUTUAL_CLOSE, |
|||
|
|||
/* Their unilateral: spends funding */ |
|||
THEIR_UNILATERAL, |
|||
|
|||
/* Our unilateral: spends funding */ |
|||
OUR_UNILATERAL, |
|||
|
|||
/* The 2 different types of HTLC transaction, each way */ |
|||
THEIR_HTLC_TIMEOUT_TO_THEM, |
|||
THEIR_HTLC_FULFILL_TO_US, |
|||
OUR_HTLC_TIMEOUT_TO_US, |
|||
OUR_HTLC_FULFILL_TO_THEM, |
|||
|
|||
/* When we spend the to-us output (after cltv_expiry) */ |
|||
OUR_UNILATERAL_TO_US_RETURN_TO_WALLET, |
|||
|
|||
/* Special type for marking outputs as resolved by self. */ |
|||
SELF, |
|||
|
|||
/* Shouldn't happen. */ |
|||
UNKNOWN_TXTYPE |
|||
}; |
|||
|
|||
/* Different output types. */ |
|||
enum output_type { |
|||
/* FUNDING_TRANSACTION */ |
|||
FUNDING_OUTPUT, |
|||
|
|||
/* THEIR_UNILATERAL */ |
|||
OUTPUT_TO_US, |
|||
DELAYED_OUTPUT_TO_THEM, |
|||
|
|||
/* OUR_UNILATERAL */ |
|||
DELAYED_OUTPUT_TO_US, |
|||
OUTPUT_TO_THEM, |
|||
|
|||
/* HTLC outputs: their offers and our offers */ |
|||
THEIR_HTLC, |
|||
OUR_HTLC, |
|||
}; |
|||
|
|||
|
|||
#endif /* LIGHTNING_LIGHTNINGD_ONCHAIN_TYPES_H */ |
Can't render this file because it has a wrong number of fields in line 2.
|
Loading…
Reference in new issue