niftynei
4 years ago
committed by
Christian Decker
5 changed files with 81 additions and 42 deletions
@ -0,0 +1,57 @@ |
|||
#include "billboard.h" |
|||
#include <ccan/ccan/tal/str/str.h> |
|||
#include <common/utils.h> |
|||
|
|||
char *billboard_message(const tal_t *ctx, |
|||
const bool funding_locked[NUM_SIDES], |
|||
const bool have_sigs[NUM_SIDES], |
|||
const bool shutdown_sent[NUM_SIDES], |
|||
u32 depth_togo, |
|||
size_t num_htlcs) |
|||
{ |
|||
const char *funding_status, *announce_status, |
|||
*shutdown_status COMPILER_WANTS_INIT("gcc 8.3.0"); |
|||
|
|||
if (funding_locked[LOCAL] && funding_locked[REMOTE]) |
|||
funding_status = "Funding transaction locked."; |
|||
else if (!funding_locked[LOCAL] && !funding_locked[REMOTE]) |
|||
funding_status = tal_fmt(ctx, |
|||
"Funding needs %d more" |
|||
" confirmations for lockin.", |
|||
depth_togo); |
|||
else if (funding_locked[LOCAL] && !funding_locked[REMOTE]) |
|||
funding_status = "We've confirmed funding, they haven't yet."; |
|||
else if (!funding_locked[LOCAL] && funding_locked[REMOTE]) |
|||
funding_status = "They've confirmed funding, we haven't yet."; |
|||
|
|||
if (have_sigs[LOCAL] && have_sigs[REMOTE]) |
|||
announce_status = " Channel announced."; |
|||
else if (have_sigs[LOCAL] && !have_sigs[REMOTE]) |
|||
announce_status = " Waiting for their announcement signatures."; |
|||
else if (!have_sigs[LOCAL] && have_sigs[REMOTE]) |
|||
announce_status = " They need our announcement signatures."; |
|||
else if (!have_sigs[LOCAL] && !have_sigs[REMOTE]) |
|||
announce_status = ""; |
|||
|
|||
if (!shutdown_sent[LOCAL] && !shutdown_sent[REMOTE]) |
|||
shutdown_status = ""; |
|||
else if (!shutdown_sent[LOCAL] && shutdown_sent[REMOTE]) |
|||
shutdown_status = " We've send shutdown, waiting for theirs"; |
|||
else if (shutdown_sent[LOCAL] && !shutdown_sent[REMOTE]) |
|||
shutdown_status = " They've sent shutdown, waiting for ours"; |
|||
else if (shutdown_sent[LOCAL] && shutdown_sent[REMOTE]) { |
|||
if (num_htlcs) |
|||
shutdown_status = tal_fmt(ctx, |
|||
" Shutdown messages" |
|||
" exchanged, waiting for" |
|||
" %zu HTLCs to complete.", |
|||
num_htlcs); |
|||
else |
|||
shutdown_status = tal_fmt(ctx, |
|||
" Shutdown messages" |
|||
" exchanged."); |
|||
} |
|||
|
|||
return tal_fmt(ctx, "%s%s%s", funding_status, |
|||
announce_status, shutdown_status); |
|||
} |
@ -0,0 +1,14 @@ |
|||
#ifndef LIGHTNING_COMMON_BILLBOARD_H |
|||
#define LIGHTNING_COMMON_BILLBOARD_H |
|||
#include "config.h" |
|||
#include <ccan/ccan/tal/tal.h> |
|||
#include <common/htlc.h> |
|||
|
|||
char *billboard_message(const tal_t *ctx, |
|||
const bool funding_locked[NUM_SIDES], |
|||
const bool have_sigs[NUM_SIDES], |
|||
const bool shutdown_sent[NUM_SIDES], |
|||
u32 depth_togo, |
|||
size_t num_htlcs); |
|||
|
|||
#endif /* LIGHTNING_COMMON_BILLBOARD_H */ |
Loading…
Reference in new issue