1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 01:50:03 +01:00

Clarify about the length of r field in a invoice

* In current spec, route-hint can't express more than 3 hops.
 * From a reader's point of view, what can not be done in a spec is often
   more important than what can be done. Thus clarify about its limitation.
This commit is contained in:
joe.miyamoto 2021-04-23 19:53:31 +09:00
parent a9db80e49d
commit 79a1d03966
No known key found for this signature in database
GPG Key ID: 7B58A3A897868CFF

View File

@ -145,12 +145,14 @@ Currently defined tagged fields are:
* `x` (6): `data_length` variable. `expiry` time in seconds (big-endian). Default is 3600 (1 hour) if not specified.
* `c` (24): `data_length` variable. `min_final_cltv_expiry` to use for the last HTLC in the route. Default is 18 if not specified.
* `f` (9): `data_length` variable, depending on version. Fallback on-chain address: for Bitcoin, this starts with a 5-bit `version` and contains a witness program or P2PKH or P2SH address.
* `r` (3): `data_length` variable. One or more entries containing extra routing information for a private route; there may be more than one `r` field
* `pubkey` (264 bits)
* `short_channel_id` (64 bits)
* `fee_base_msat` (32 bits, big-endian)
* `fee_proportional_millionths` (32 bits, big-endian)
* `cltv_expiry_delta` (16 bits, big-endian)
* `r` (3): `data_length` variable. One or more entries containing extra routing information for a private route; there may be more than one `r` field.
* Fields are
* `pubkey` (264 bits)
* `short_channel_id` (64 bits)
* `fee_base_msat` (32 bits, big-endian)
* `fee_proportional_millionths` (32 bits, big-endian)
* `cltv_expiry_delta` (16 bits, big-endian)
* Be aware that `data_length` can express `2^10` (=1024 bits) as the longest, and a single hop will be 51 bytes (= 408 bits). So currently there is no way to specify a hint with more than two hops.
* `9` (5): `data_length` variable. One or more 5-bit values containing features
supported or required for receiving this payment.
See [Feature Bits](#feature-bits).