mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-04 06:44:24 +01:00
coin_mvt/bkpr: add "stealable" tag to stealable outputs
If we expect further events for an onchain output (because we can steal it away from the 'external'/rightful owner), we mark them. This prevents us from marking a channel as 'onchain-resolved' before all events that we're interested in have actually hit the chain. Case that this matters: Peer publishes a (cheating) unilateral close and a timeout htlc (which we can steal). We then steal the timeout htlc. W/o the stealable flag, we'd have marked the channel as resolved when the peer published the timeout htlc, which is incorrect as we're still waiting for the resolution of that timeout htlc (b/c we *can* steal it).
This commit is contained in:
@@ -131,6 +131,14 @@ struct chain_coin_mvt *new_coin_external_deposit(const tal_t *ctx UNNEEDED,
|
||||
enum mvt_tag tag)
|
||||
|
||||
{ fprintf(stderr, "new_coin_external_deposit called!\n"); abort(); }
|
||||
/* Generated stub for new_coin_external_deposit_tags */
|
||||
struct chain_coin_mvt *new_coin_external_deposit_tags(const tal_t *ctx UNNEEDED,
|
||||
const struct bitcoin_outpoint *outpoint UNNEEDED,
|
||||
u32 blockheight UNNEEDED,
|
||||
struct amount_sat amount UNNEEDED,
|
||||
enum mvt_tag *tags)
|
||||
|
||||
{ fprintf(stderr, "new_coin_external_deposit_tags called!\n"); abort(); }
|
||||
/* Generated stub for new_coin_external_spend */
|
||||
struct chain_coin_mvt *new_coin_external_spend(const tal_t *ctx UNNEEDED,
|
||||
const struct bitcoin_outpoint *outpoint UNNEEDED,
|
||||
@@ -140,6 +148,15 @@ struct chain_coin_mvt *new_coin_external_spend(const tal_t *ctx UNNEEDED,
|
||||
enum mvt_tag tag)
|
||||
|
||||
{ fprintf(stderr, "new_coin_external_spend called!\n"); abort(); }
|
||||
/* Generated stub for new_coin_external_spend_tags */
|
||||
struct chain_coin_mvt *new_coin_external_spend_tags(const tal_t *ctx UNNEEDED,
|
||||
const struct bitcoin_outpoint *outpoint UNNEEDED,
|
||||
const struct bitcoin_txid *txid UNNEEDED,
|
||||
u32 blockheight UNNEEDED,
|
||||
struct amount_sat amount UNNEEDED,
|
||||
enum mvt_tag *tags)
|
||||
|
||||
{ fprintf(stderr, "new_coin_external_spend_tags called!\n"); abort(); }
|
||||
/* Generated stub for new_coin_wallet_deposit_tagged */
|
||||
struct chain_coin_mvt *new_coin_wallet_deposit_tagged(const tal_t *ctx UNNEEDED,
|
||||
const struct bitcoin_outpoint *outpoint UNNEEDED,
|
||||
|
||||
Reference in New Issue
Block a user