Skip to content

Commit

Permalink
bolt11: better message when you try to 'lightning-cli pay' an onchain…
Browse files Browse the repository at this point in the history
… addr.

Give a clear error at the beginning if it's not bolt11 payment,
rather than falling foul of other checks.

This will work at least until some altcoin adapts the 'ln' prefix :)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  • Loading branch information
rustyrussell committed Oct 17, 2018
1 parent e2f4359 commit 6af8f29
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions common/bolt11.c
Original file line number Diff line number Diff line change
Expand Up @@ -467,11 +467,11 @@ struct bolt11 *bolt11_decode(const tal_t *ctx, const char *str,

b11->routes = tal_arr(b11, struct route_info *, 0);

if (strlen(str) < 8)
return decode_fail(b11, fail, "Bad bech32 string");
if (!strstarts(str, "ln"))
return decode_fail(b11, fail, "Invoices must start with ln");

hrp = tal_arr(tmpctx, char, strlen(str) - 6);
data = tal_arr(tmpctx, u5, strlen(str) - 8);
hrp = tal_arr(tmpctx, char, strlen(str));
data = tal_arr(tmpctx, u5, strlen(str));

if (!bech32_decode(hrp, data, &data_len, str, (size_t)-1))
return decode_fail(b11, fail, "Bad bech32 string");
Expand Down

0 comments on commit 6af8f29

Please sign in to comment.