MCPcopy Create free account
hub / github.com/ElementsProject/lightning / update_in_htlc

Function update_in_htlc

lightningd/peer_htlcs.c:2059–2079  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2057}
2058
2059static bool update_in_htlc(struct channel *channel,
2060 u64 id, enum htlc_state newstate)
2061{
2062 struct htlc_in *hin;
2063 struct lightningd *ld = channel->peer->ld;
2064
2065 hin = find_htlc_in(ld->htlcs_in, channel, id);
2066 if (!hin) {
2067 channel_internal_error(channel, "Can't find in HTLC %"PRIu64, id);
2068 return false;
2069 }
2070
2071 if (!htlc_in_update_state(channel, hin, newstate))
2072 return false;
2073
2074 htlc_in_check(hin, __func__);
2075 if (newstate == SENT_REMOVE_ACK_REVOCATION)
2076 remove_htlc_in(channel, hin);
2077
2078 return true;
2079}
2080
2081static bool update_out_htlc(struct channel *channel,
2082 u64 id, enum htlc_state newstate)

Callers 2

changed_htlcFunction · 0.85
peer_sending_revocationFunction · 0.85

Calls 5

find_htlc_inFunction · 0.85
htlc_in_update_stateFunction · 0.85
remove_htlc_inFunction · 0.85
channel_internal_errorFunction · 0.70
htlc_in_checkFunction · 0.70

Tested by

no test coverage detected