Files
lightning/doc
Carl Dong f0b8544eba doc: Correct createinvoice's invstring description
The existing description is incorrect. `createinvoice` doesn't actually
work when supplied with a custom-encoded bolt11 invoice without the
final 520 signature bits appended. If a users tries to do so, some of
their tagged fields will be incorrectly truncated.

`createinvoice` actually expects that the signatures are there, and it
simply ignores them.

See common/bolt11.c's bolt11_decode_nosig:

         /* BOLT #11:
          *
          * The data part of a Lightning invoice consists of multiple sections:
          *
          * 1. `timestamp`: seconds-since-1970 (35 bits, big-endian)
          * 1. zero or more tagged parts
          * 1. `signature`: Bitcoin-style signature of above (520 bits)
          */
         if (!pull_uint(&hu5, &data, &data_len, &b11->timestamp, 35))
                 return decode_fail(b11, fail, "Can't get 35-bit timestamp");

>        while (data_len > 520 / 5) {
                 const char *problem = NULL;
                 u64 type, data_length;
2023-02-06 15:54:32 -06:00
..
2023-01-30 15:15:41 -06:00
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2018-06-08 17:56:48 +02:00
2015-11-20 06:45:19 +10:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2015-07-18 10:46:53 +09:30
2023-02-05 15:41:19 +10:30
2022-08-19 10:27:09 -04:00
2022-12-12 16:32:04 +10:30
2022-08-22 11:21:19 -04:00