From 259a69994de3149a51e5293e14ce604c277a016c Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Tue, 24 Jul 2018 20:56:21 +0200 Subject: [PATCH] json-rpc: Retrieve the invoice description in listinvoices --- lightningd/invoice.c | 4 ++++ wallet/invoices.c | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lightningd/invoice.c b/lightningd/invoice.c index b8977f991..cd8baf891 100644 --- a/lightningd/invoice.c +++ b/lightningd/invoice.c @@ -48,6 +48,10 @@ static void json_add_invoice(struct json_result *response, inv->msatoshi_received); json_add_u64(response, "paid_at", inv->paid_timestamp); } + + if (inv->description) + json_add_string(response, "description", inv->description); + json_add_u64(response, "expires_at", inv->expiry_time); json_object_end(response); diff --git a/wallet/invoices.c b/wallet/invoices.c index 39cb277b9..7cd1565d1 100644 --- a/wallet/invoices.c +++ b/wallet/invoices.c @@ -114,7 +114,14 @@ static void wallet_stmt2invoice_details(const tal_t *ctx, dtl->paid_timestamp = sqlite3_column_int64(stmt, 8); } - dtl->bolt11 = tal_strndup(ctx, sqlite3_column_blob(stmt, 9), sqlite3_column_bytes(stmt, 9)); + dtl->bolt11 = tal_strndup(ctx, sqlite3_column_blob(stmt, 9), + sqlite3_column_bytes(stmt, 9)); + + if (sqlite3_column_type(stmt, 10) != SQLITE_NULL) + dtl->description = tal_strdup( + ctx, (const char *)sqlite3_column_text(stmt, 10)); + else + dtl->description = NULL; } struct invoices *invoices_new(const tal_t *ctx, @@ -643,6 +650,7 @@ void invoices_get_details(const tal_t *ctx, "SELECT state, payment_key, payment_hash" " , label, msatoshi, expiry_time, pay_index" " , msatoshi_received, paid_timestamp, bolt11" + " , description" " FROM invoices" " WHERE id = ?;"); sqlite3_bind_int64(stmt, 1, invoice.id);