@@ -1978,7 +1978,10 @@ is destined, is described in [BOLT #4](04-onion-routing.md).
1978
1978
1 . type: 0 (` blinded_path ` )
1979
1979
2 . data:
1980
1980
* [ ` point ` :` path_key ` ]
1981
-
1981
+ 1 . type: 1 (` endorsed ` )
1982
+ 2 . data:
1983
+ * [ ` byte ` :` endorsed ` ]
1984
+
1982
1985
#### Requirements
1983
1986
1984
1987
A sending node:
@@ -2016,6 +2019,20 @@ A sending node:
2016
2019
- MUST increase the value of ` id ` by 1 for each successive offer.
2017
2020
- if it is relaying a payment inside a blinded route:
2018
2021
- MUST set ` path_key ` (see [ Route Blinding] ( 04-onion-routing.md#route-blinding ) )
2022
+ - if it is the original source of the HTLC:
2023
+ - if it does not expect immediate fulfillment upon receipt by the
2024
+ final destination:
2025
+ - SHOULD set ` endorsed ` to ` 0 ` .
2026
+ - otherwise:
2027
+ - SHOULD set ` endorsed ` to ` 1 ` .
2028
+ - MAY choose to set ` endorsed ` to ` 0 ` to mimic endorsement patterns of
2029
+ HTLCs it has forwarded.
2030
+ - otherwise:
2031
+ - if ` endorsed ` is present and non-zero for the corresponding incoming HTLC
2032
+ AND the incoming peer is considered to have sufficient local reputation:
2033
+ - SHOULD set ` endorsed ` to ` 1 `
2034
+ - otherwise:
2035
+ - SHOULD set ` endorsed ` to ` 0 ` .
2019
2036
2020
2037
` id ` MUST NOT be reset to 0 after the update is complete (i.e. after ` revoke_and_ack ` has
2021
2038
been received). It MUST continue incrementing instead.
@@ -2047,6 +2064,9 @@ A receiving node:
2047
2064
- MUST respond with an error as detailed in [ Failure Messages] ( 04-onion-routing.md#failure-messages )
2048
2065
- Otherwise:
2049
2066
- MUST follow the requirements for the reader of ` payload ` in [ Payload Format] ( 04-onion-routing.md#payload-format )
2067
+ - if ` endorsed ` is not provided OR ` endorsed ` is zero:
2068
+ - MAY choose to limit the liquidity and slots available to forward the
2069
+ corresponding outgoing HTLC in ` onion_routing_packet ` , if any.
2050
2070
2051
2071
The ` onion_routing_packet ` contains an obfuscated list of hops and instructions for each hop along the path.
2052
2072
It commits to the HTLC by setting the ` payment_hash ` as associated data, i.e. includes the ` payment_hash ` in the computation of HMACs.
0 commit comments