diff --git a/lightningd/invoice.c b/lightningd/invoice.c index 7abec1781..b8977f991 100644 --- a/lightningd/invoice.c +++ b/lightningd/invoice.c @@ -305,6 +305,7 @@ static void json_invoice(struct command *cmd, take(label_val), expiry, b11enc, + b11->description, &r, &rhash); diff --git a/wallet/invoices.c b/wallet/invoices.c index 6d0d9d10b..39cb277b9 100644 --- a/wallet/invoices.c +++ b/wallet/invoices.c @@ -260,6 +260,7 @@ bool invoices_create(struct invoices *invoices, const struct json_escaped *label TAKES, u64 expiry, const char *b11enc, + const char *description, const struct preimage *r, const struct sha256 *rhash) { @@ -288,11 +289,11 @@ bool invoices_create(struct invoices *invoices, " ( payment_hash, payment_key, state" " , msatoshi, label, expiry_time" " , pay_index, msatoshi_received" - " , paid_timestamp, bolt11)" + " , paid_timestamp, bolt11, description)" " VALUES ( ?, ?, ?" " , ?, ?, ?" " , NULL, NULL" - " , NULL, ?);"); + " , NULL, ?, ?);"); sqlite3_bind_blob(stmt, 1, rhash, sizeof(struct sha256), SQLITE_TRANSIENT); sqlite3_bind_blob(stmt, 2, r, sizeof(struct preimage), SQLITE_TRANSIENT); @@ -304,6 +305,7 @@ bool invoices_create(struct invoices *invoices, sqlite3_bind_json_escaped(stmt, 5, label); sqlite3_bind_int64(stmt, 6, expiry_time); sqlite3_bind_text(stmt, 7, b11enc, strlen(b11enc), SQLITE_TRANSIENT); + sqlite3_bind_text(stmt, 8, description, strlen(description), SQLITE_TRANSIENT); db_exec_prepared(invoices->db, stmt); diff --git a/wallet/invoices.h b/wallet/invoices.h index 4ac70a042..e41ddd555 100644 --- a/wallet/invoices.h +++ b/wallet/invoices.h @@ -59,6 +59,7 @@ bool invoices_create(struct invoices *invoices, const struct json_escaped *label TAKES, u64 expiry, const char *b11enc, + const char *description, const struct preimage *r, const struct sha256 *rhash); diff --git a/wallet/test/run-wallet.c b/wallet/test/run-wallet.c index 83dfee31a..f9f3cb611 100644 --- a/wallet/test/run-wallet.c +++ b/wallet/test/run-wallet.c @@ -109,6 +109,7 @@ bool invoices_create(struct invoices *invoices UNNEEDED, const struct json_escaped *label TAKES UNNEEDED, u64 expiry UNNEEDED, const char *b11enc UNNEEDED, + const char *description UNNEEDED, const struct preimage *r UNNEEDED, const struct sha256 *rhash UNNEEDED) { fprintf(stderr, "invoices_create called!\n"); abort(); } diff --git a/wallet/wallet.c b/wallet/wallet.c index b318a8f27..9c563c406 100644 --- a/wallet/wallet.c +++ b/wallet/wallet.c @@ -1402,10 +1402,11 @@ bool wallet_invoice_create(struct wallet *wallet, const struct json_escaped *label TAKES, u64 expiry, const char *b11enc, + const char *description, const struct preimage *r, const struct sha256 *rhash) { - return invoices_create(wallet->invoices, pinvoice, msatoshi, label, expiry, b11enc, r, rhash); + return invoices_create(wallet->invoices, pinvoice, msatoshi, label, expiry, b11enc, description, r, rhash); } bool wallet_invoice_find_by_label(struct wallet *wallet, struct invoice *pinvoice, diff --git a/wallet/wallet.h b/wallet/wallet.h index 694ca7786..6ac71bd00 100644 --- a/wallet/wallet.h +++ b/wallet/wallet.h @@ -501,6 +501,7 @@ bool wallet_invoice_create(struct wallet *wallet, const struct json_escaped *label TAKES, u64 expiry, const char *b11enc, + const char *description, const struct preimage *r, const struct sha256 *rhash);