paymod: Keep a copy of the serialized bolt11 in the root payment

We frequently query by the bolt11 string, so keeping it around saves us from
having to parse the query or serialize the parsed one.
This commit is contained in:
Christian Decker 2020-05-27 14:47:13 +02:00
parent 895542c6f1
commit fbd8cf1495
2 changed files with 5 additions and 0 deletions

View File

@ -202,6 +202,10 @@ struct payment {
* attempt. Modifiers need to leave failures alone once this is set to
* true. Set only on the root payment. */
bool abort;
/* Serialized bolt11 string, kept attachd to the root so we can filter
* by the invoice. */
const char *bolt11;
};
struct payment_modifier {

View File

@ -1780,6 +1780,7 @@ static struct command_result *json_paymod(struct command *cmd,
? tal_dup(p, struct secret, b11->payment_secret)
: NULL;
p->invoice = tal_steal(p, b11);
p->bolt11 = tal_steal(p, b11str);
payment_start(p);
list_add_tail(&payments, &p->list);