diff --git a/state.c b/state.c index 00f415f4e..d2165ca48 100644 --- a/state.c +++ b/state.c @@ -757,10 +757,11 @@ enum command_status state(const tal_t *ctx, return next_state(peer, cstatus, BITS_TO_STATE(bits)); } else if (input_is(input, BITCOIN_HTLC_TOTHEM_SPENT)) { + const struct htlc *htlc; /* They revealed R value. */ - peer_tx_revealed_r_value(peer, idata->btc); + htlc = peer_tx_revealed_r_value(peer, idata->btc); /* We don't care any more. */ - peer_unwatch_htlc_output(peer, idata->htlc, + peer_unwatch_htlc_output(peer, htlc, INPUT_NO_MORE_HTLCS); return unchanged_state(cstatus); } else if (input_is(input, BITCOIN_HTLC_TOTHEM_TIMEOUT)){ diff --git a/state.h b/state.h index 28b2cf9d1..e10fe600e 100644 --- a/state.h +++ b/state.h @@ -94,8 +94,8 @@ void peer_htlc_done(struct peer *peer); void peer_htlc_aborted(struct peer *peer); /* An on-chain transaction revealed an R value. */ -void peer_tx_revealed_r_value(struct peer *peer, - const struct bitcoin_event *btc); +const struct htlc *peer_tx_revealed_r_value(struct peer *peer, + const struct bitcoin_event *btc); /* Create various kinds of packets, allocated off @ctx */ Pkt *pkt_open(const tal_t *ctx, const struct peer *peer, diff --git a/test/test_state_coverage.c b/test/test_state_coverage.c index e5564a120..3f11b2351 100644 --- a/test/test_state_coverage.c +++ b/test/test_state_coverage.c @@ -1465,11 +1465,12 @@ void peer_htlc_declined(struct peer *peer, const Pkt *pkt) peer->htlc_declined = true; } -void peer_tx_revealed_r_value(struct peer *peer, - const struct bitcoin_event *btc) +const struct htlc *peer_tx_revealed_r_value(struct peer *peer, + const struct bitcoin_event *btc) { const struct htlc *htlc = (struct htlc *)btc; add_rval(peer, htlc->id); + return htlc; } static const char *check_changes(const struct peer *old, struct peer *new,