From 029028a1179df208f294cffb7ebd940d128a26f5 Mon Sep 17 00:00:00 2001 From: Antoine Riard Date: Mon, 5 Jun 2023 00:49:45 +0100 Subject: [PATCH] Specify max HTLC nLocktime for expiry_too_far --- 04-onion-routing.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/04-onion-routing.md b/04-onion-routing.md index 212306330..4db5536ad 100644 --- a/04-onion-routing.md +++ b/04-onion-routing.md @@ -62,6 +62,7 @@ A node: * [Returning Errors](#returning-errors) * [Failure Messages](#failure-messages) * [Receiving Failure Codes](#receiving-failure-codes) + * [`max_htlc_cltv` Selection](#max-htlc-cltv-selection) * [Onion Messages](#onion-messages) * [Test Vector](#test-vector) * [Returning Errors](#returning-errors) @@ -1330,7 +1331,7 @@ A _forwarding node_ MAY, but a _final node_ MUST NOT: - report the `cltv_expiry` of the outgoing HTLC and the current channel setting for the outgoing channel. - return an `incorrect_cltv_expiry` error. - - if the `cltv_expiry` is unreasonably near the present: + - if the `cltv_expiry` is more than `max_htlc_cltv` near the present: - report the current channel setting for the outgoing channel. - return an `expiry_too_soon` error. - if the `cltv_expiry` is unreasonably far in the future: @@ -1412,6 +1413,7 @@ The _origin node_: - MAY use the data specified in the various failure types for debugging purposes. +<<<<<<< HEAD # Onion Messages Onion messages allow peers to use existing connections to query for @@ -1580,6 +1582,12 @@ Onion messages don't explicitly require a channel, but for spam-reduction a node may choose to ratelimit such peers, especially messages it is asked to forward. +## `max_htlc_cltv` Selection + +If the HTLC expires too far in the future, a forwarding node can return an `expiry_too_far` error. + +This `max_htlc_ctlv` value is defined by default to be 2016 blocks, based on historical default +deployed by Lightning implementations. # Test Vector