mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 22:45:27 +01:00
We need a record of the channel account before you start sending payments through it. Normally we don't start allowing payments to be sent until after the channel has locked in but zeroconf does away with this assumption. Instead we push out a "channel_proposed" event, which should only show up for zeroconfs.
46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
#ifndef LIGHTNING_LIGHTNINGD_CHANNEL_CONTROL_H
|
|
#define LIGHTNING_LIGHTNINGD_CHANNEL_CONTROL_H
|
|
#include "config.h"
|
|
#include <ccan/short_types/short_types.h>
|
|
#include <stdbool.h>
|
|
|
|
struct channel;
|
|
struct crypto_state;
|
|
struct lightningd;
|
|
struct peer_fd;
|
|
struct peer;
|
|
|
|
bool peer_start_channeld(struct channel *channel,
|
|
struct peer_fd *peer_fd,
|
|
const u8 *fwd_msg,
|
|
bool reconnected,
|
|
bool reestablish_only);
|
|
|
|
/* Returns true if subd told, otherwise false. */
|
|
bool channel_tell_depth(struct lightningd *ld,
|
|
struct channel *channel,
|
|
const struct bitcoin_txid *txid,
|
|
u32 depth);
|
|
/* Notify channels of new blocks. */
|
|
void channel_notify_new_block(struct lightningd *ld,
|
|
u32 block_height);
|
|
|
|
/* Cancel the channel after `fundchannel_complete` succeeds
|
|
* but before funding broadcasts. */
|
|
struct command_result *cancel_channel_before_broadcast(struct command *cmd,
|
|
struct peer *peer);
|
|
|
|
/* Update the channel info on funding locked */
|
|
bool channel_on_funding_locked(struct channel *channel,
|
|
struct pubkey *next_per_commitment_point);
|
|
|
|
/* Record channel open (coin movement notifications) */
|
|
void channel_record_open(struct channel *channel, u32 blockheight, bool record_push);
|
|
|
|
/* A channel has unrecoverably fallen behind */
|
|
void channel_fallen_behind(struct channel *channel, const u8 *msg);
|
|
|
|
/* Fresh channel_update for this channel. */
|
|
void channel_replace_update(struct channel *channel, u8 *update TAKES);
|
|
|
|
#endif /* LIGHTNING_LIGHTNINGD_CHANNEL_CONTROL_H */
|