Skip to content

Commit ae3df1b

Browse files
committed
Attributable failures
1 parent ccfa38e commit ae3df1b

File tree

3 files changed

+164
-26
lines changed

3 files changed

+164
-26
lines changed

02-peer-protocol.md

+8
Original file line numberDiff line numberDiff line change
@@ -2359,13 +2359,21 @@ For a timed out or route-failed HTLC:
23592359
* [`u64`:`id`]
23602360
* [`u16`:`len`]
23612361
* [`len*byte`:`reason`]
2362+
1. `tlv_stream`: `update_fail_htlc_tlvs`
2363+
2. types:
2364+
1. type: 1 (`attribution_data`)
2365+
2. data:
2366+
* [`20*u32`:`htlc_hold_times`]
2367+
* [`210*sha256[..4]`:`truncated_hmacs`]
23622368

23632369
The `reason` field is an opaque encrypted blob for the benefit of the
23642370
original HTLC initiator, as defined in [BOLT #4](04-onion-routing.md);
23652371
however, there's a special malformed failure variant for the case where
23662372
the peer couldn't parse it: in this case the current node instead takes action, encrypting
23672373
it into a `update_fail_htlc` for relaying.
23682374

2375+
Nodes that support attributable failures will populate the optional `attribution_data` field containing timing information and hmac series, as defined in [BOLT #4](04-onion-routing.md).
2376+
23692377
For an unparsable HTLC:
23702378

23712379
1. type: 135 (`update_fail_malformed_htlc`)

0 commit comments

Comments
 (0)