Files
lightning/onchaind/onchain_types.h
Rusty Russell f96a04e2a6 onchaind: resolve HTLC transactions.
When we sent out an HTLC-Timeout or HTLC-Success tx, we need to spend
it after the timeout so it's safely in our wallet.

We generalize the tx_type OUR_UNILATERAL_TO_US_RETURN_TO_WALLET to
OUR_DELAYED_RETURN_TO_WALLET, since we use it for HTLC transactions too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-09-28 13:07:05 +09:30

59 lines
1.2 KiB
C

#ifndef LIGHTNING_LIGHTNINGD_ONCHAIN_ONCHAIN_TYPES_H
#define LIGHTNING_LIGHTNINGD_ONCHAIN_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,
/* Delayed variants */
OUR_HTLC_TIMEOUT_TX,
OUR_HTLC_SUCCESS_TX,
/* When we spend a delayed output (after cltv_expiry) */
OUR_DELAYED_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, or OUR_HTLC_TIMEOUT_TX */
DELAYED_OUTPUT_TO_US,
OUTPUT_TO_THEM,
/* HTLC outputs: their offers and our offers */
THEIR_HTLC,
OUR_HTLC,
};
#endif /* LIGHTNING_LIGHTNINGD_ONCHAIN_ONCHAIN_TYPES_H */