You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performing a sequential decode/encode on an LND invoice throws exceptions. The expiry and signature tags specifically. The Enum in tags.py doesn't appear to be in-spec with the bolt11 spec.
The text was updated successfully, but these errors were encountered:
My use case might be a little pointless. I've noticed LND invoices aren't handled well by core, so I was trying to see what was a cause. I'll try to provide a testcase from my CLI when I'm back on that machine. But in more specifics, if a valid invoice comes in, including signature and expiry fields, the bolt11 decode produces those ("signature": and "expiry":) in the JSON structure. Passing the same JSON structure back into bolt11 encode first throws an exception that "expiry" is a bad char (emanating from Line 81 ). If I edit the JSON tag from "expiry" to "expire_time" that exception goes away and then the signature exception shows up (emanating from types.py ). I hope this is more clear for the moment.
Edit
Here's a mt socks invoice (expired) that can show this progression.
lnbc1800u1pj6fnl2pp5ucyqm8yjw0c88kqtpqxjaxdq0txavfu5s30krxcwg5c32nanpmrqdqqcqzzsxqrrs0fppq7czg8plqre836w3w4ea0fcm3p86p2rw3sp5q9pf9f2ar3ze0zxyypzj2yuyzdwqryj662evjtyfavsk333hyvhs9qyyssqye8asutxnxc7ar6tfd24hp2j83zfd20z328mt90g9y7jnaykqz8s960fxkmpty8m6m85kauvnt9q866tt2hk2j9ce4zze8wf3aclh9cprw50al
Performing a sequential decode/encode on an LND invoice throws exceptions. The expiry and signature tags specifically. The Enum in tags.py doesn't appear to be in-spec with the bolt11 spec.
The text was updated successfully, but these errors were encountered: