Yeah, it's a well-kept secret unfortunately.

Rough skimming code review:

1. bool is your friend, int is for old people :(

2. You should use ccan/ directly not in pieces: easier to update.

3. Your cursor API makes me cry, can I rewrite it? It's going to hurt somebody.

4. Do you want neatening pull requests?

Reply to this note

Please Login to reply.

Discussion

sure, happy to have any help

Let's see what I can do after lunch then. Fun!

👀

Simple rework PR up. I also want to update your BOLT11 parser to the latest (it's buggy).

I need to think harder about your cursor API: my instinct is to split it into two types, one for reading, one for writing. But you do a lot of lookahead in your parsing, so the classic "mark cursor invalid if we hit an error" pattern doesn't fit. Hmm....