mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-30 19:24:21 +01:00
channel_states: fold all the ONCHAIND states into one.
The billboard is now far more useful to tell what's going on, and this gets us closer to a state == owner mapping. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Christian Decker
parent
866ba00445
commit
cccdb53bec
@@ -171,20 +171,9 @@ static inline bool channel_fees_can_change(const struct channel *channel)
|
||||
|| channel->state == CHANNELD_SHUTTING_DOWN;
|
||||
}
|
||||
|
||||
static inline bool channel_can_remove_htlc(const struct channel *channel)
|
||||
{
|
||||
return channel->state == CHANNELD_NORMAL
|
||||
|| channel->state == CHANNELD_SHUTTING_DOWN
|
||||
|| channel->state == ONCHAIND_THEIR_UNILATERAL
|
||||
|| channel->state == ONCHAIND_OUR_UNILATERAL;
|
||||
}
|
||||
|
||||
static inline bool channel_state_on_chain(enum channel_state state)
|
||||
{
|
||||
return state == ONCHAIND_CHEATED
|
||||
|| state == ONCHAIND_THEIR_UNILATERAL
|
||||
|| state == ONCHAIND_OUR_UNILATERAL
|
||||
|| state == ONCHAIND_MUTUAL;
|
||||
return state == ONCHAIN;
|
||||
}
|
||||
|
||||
static inline bool channel_on_chain(const struct channel *channel)
|
||||
|
||||
@@ -22,12 +22,9 @@ enum channel_state {
|
||||
/* We've seen the funding spent, we're waiting for onchaind. */
|
||||
FUNDING_SPEND_SEEN,
|
||||
|
||||
/* Various onchain states. */
|
||||
ONCHAIND_CHEATED,
|
||||
ONCHAIND_THEIR_UNILATERAL,
|
||||
ONCHAIND_OUR_UNILATERAL,
|
||||
ONCHAIND_MUTUAL
|
||||
/* On chain */
|
||||
ONCHAIN
|
||||
};
|
||||
#define CHANNEL_STATE_MAX ONCHAIND_MUTUAL
|
||||
#define CHANNEL_STATE_MAX ONCHAIN
|
||||
|
||||
#endif /* LIGHTNING_LIGHTNINGD_CHANNEL_STATE_H */
|
||||
|
||||
@@ -48,21 +48,8 @@ static void onchaind_tell_fulfill(struct channel *channel)
|
||||
|
||||
static void handle_onchain_init_reply(struct channel *channel, const u8 *msg)
|
||||
{
|
||||
u8 state;
|
||||
|
||||
if (!fromwire_onchain_init_reply(msg, &state)) {
|
||||
channel_internal_error(channel, "Invalid onchain_init_reply");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!channel_state_on_chain(state)) {
|
||||
channel_internal_error(channel,
|
||||
"Invalid onchain_init_reply state %u (%s)",
|
||||
state, channel_state_str(state));
|
||||
return;
|
||||
}
|
||||
|
||||
channel_set_state(channel, FUNDING_SPEND_SEEN, state);
|
||||
/* FIXME: We may already be ONCHAIN state when we implement restart! */
|
||||
channel_set_state(channel, FUNDING_SPEND_SEEN, ONCHAIN);
|
||||
|
||||
/* Tell it about any preimages we know. */
|
||||
onchaind_tell_fulfill(channel);
|
||||
|
||||
@@ -344,11 +344,8 @@ void peer_connected(struct lightningd *ld, const u8 *msg,
|
||||
#endif
|
||||
|
||||
switch (channel->state) {
|
||||
case ONCHAIND_CHEATED:
|
||||
case ONCHAIND_THEIR_UNILATERAL:
|
||||
case ONCHAIND_OUR_UNILATERAL:
|
||||
case ONCHAIN:
|
||||
case FUNDING_SPEND_SEEN:
|
||||
case ONCHAIND_MUTUAL:
|
||||
case CLOSINGD_COMPLETE:
|
||||
/* Channel is active! */
|
||||
abort();
|
||||
|
||||
Reference in New Issue
Block a user