@@ -2339,6 +2339,12 @@ To supply the preimage:
2339
2339
* [ ` channel_id ` :` channel_id ` ]
2340
2340
* [ ` u64 ` :` id ` ]
2341
2341
* [ ` 32*byte ` :` payment_preimage ` ]
2342
+ 1 . ` tlv_stream ` : ` update_fulfill_htlc_tlvs `
2343
+ 2 . types:
2344
+ 1 . type: 1 (` attribution_data ` )
2345
+ 2 . data:
2346
+ * [ ` 20*u32 ` :` htlc_hold_times ` ]
2347
+ * [ ` 210*sha256[..4] ` :` truncated_hmacs ` ]
2342
2348
2343
2349
For a timed out or route-failed HTLC:
2344
2350
@@ -2348,6 +2354,12 @@ For a timed out or route-failed HTLC:
2348
2354
* [ ` u64 ` :` id ` ]
2349
2355
* [ ` u16 ` :` len ` ]
2350
2356
* [ ` len*byte ` :` reason ` ]
2357
+ 1 . ` tlv_stream ` : ` update_fail_htlc_tlvs `
2358
+ 2 . types:
2359
+ 1 . type: 1 (` attribution_data ` )
2360
+ 2 . data:
2361
+ * [ ` 20*u32 ` :` htlc_hold_times ` ]
2362
+ * [ ` 210*sha256[..4] ` :` truncated_hmacs ` ]
2351
2363
2352
2364
The ` reason ` field is an opaque encrypted blob for the benefit of the
2353
2365
original HTLC initiator, as defined in [ BOLT #4 ] ( 04-onion-routing.md ) ;
@@ -2386,6 +2398,9 @@ A node:
2386
2398
` invalid_onion_blinding ` failure code for any local or downstream errors.
2387
2399
- SHOULD use the ` sha256_of_onion ` of the onion it received.
2388
2400
- MAY use an all zero ` sha256_of_onion ` .
2401
+ - When supporting ` option_attribution_data ` :
2402
+ - if ` path_key ` is not set in the incoming ` update_add_htlc ` :
2403
+ - MUST initialize ` attribution_data ` and include it in ` update_fail_htlc ` and ` update_fulfill_htlc ` . See [ BOLT04] ( 04-onion-routing.md ) .
2389
2404
2390
2405
A receiving node:
2391
2406
- if the ` id ` does not correspond to an HTLC in its current commitment transaction:
0 commit comments