diff --git a/plugins/bkpr/Makefile b/plugins/bkpr/Makefile index 3a1f51462..34b54ae1d 100644 --- a/plugins/bkpr/Makefile +++ b/plugins/bkpr/Makefile @@ -2,6 +2,7 @@ BOOKKEEPER_PLUGIN_SRC := \ plugins/bkpr/account.c \ + plugins/bkpr/account_entry.c \ plugins/bkpr/bookkeeper.c \ plugins/bkpr/channel_event.c \ plugins/bkpr/db.c \ @@ -14,6 +15,7 @@ BOOKKEEPER_DB_QUERIES := \ BOOKKEEPER_SRC := $(BOOKKEEPER_PLUGIN_SRC) $(BOOKKEEPER_DB_QUERIES) BOOKKEEPER_HEADER := \ plugins/bkpr/account.h \ + plugins/bkpr/account_entry.h \ plugins/bkpr/chain_event.h \ plugins/bkpr/channel_event.h \ plugins/bkpr/db.h \ diff --git a/plugins/bkpr/account_entry.c b/plugins/bkpr/account_entry.c new file mode 100644 index 000000000..10cd29a75 --- /dev/null +++ b/plugins/bkpr/account_entry.c @@ -0,0 +1,26 @@ +#include "config.h" + +#include +#include +#include + +static const char *tags[] = { + "journal_entry", +}; + +const char *account_entry_tag_str(enum account_entry_tag tag) +{ + return tags[tag]; +} + +bool account_entry_tag_find(char *str, enum account_entry_tag *tag) +{ + for (size_t i = 0; i < NUM_ACCOUNT_ENTRY_TAGS; i++) { + if (streq(str, tags[i])) { + *tag = (enum account_entry_tag) i; + return true; + } + } + + return false; +} diff --git a/plugins/bkpr/account_entry.h b/plugins/bkpr/account_entry.h new file mode 100644 index 000000000..d0e608ba8 --- /dev/null +++ b/plugins/bkpr/account_entry.h @@ -0,0 +1,15 @@ +#ifndef LIGHTNING_PLUGINS_BKPR_ACCOUNT_ENTRY_H +#define LIGHTNING_PLUGINS_BKPR_ACCOUNT_ENTRY_H +#include "config.h" + +#define NUM_ACCOUNT_ENTRY_TAGS (JOURNAL_ENTRY + 1) +enum account_entry_tag { + JOURNAL_ENTRY = 0, +}; + +/* Convert an enum into a string */ +const char *account_entry_tag_str(enum account_entry_tag tag); + +/* True if entry tag found, false otherwise */ +bool account_entry_tag_find(char *str, enum account_entry_tag *tag); +#endif /* LIGHTNING_PLUGINS_BKPR_ACCOUNT_ENTRY_H */ diff --git a/plugins/bkpr/bookkeeper.c b/plugins/bkpr/bookkeeper.c index 33e0c4ba0..71cacb692 100644 --- a/plugins/bkpr/bookkeeper.c +++ b/plugins/bkpr/bookkeeper.c @@ -9,10 +9,11 @@ #include #include #include -#include #include +#include #include #include +#include #include #include #include @@ -285,7 +286,7 @@ static bool new_missed_channel_account(struct command *cmd, continue; chain_ev = tal(cmd, struct chain_event); - chain_ev->tag = "channel_open"; + chain_ev->tag = mvt_tag_str(CHANNEL_OPEN); chain_ev->credit = amt; chain_ev->debit = AMOUNT_MSAT(0); chain_ev->output_value = AMOUNT_MSAT(0); @@ -403,7 +404,8 @@ static void log_journal_entry(struct account *acct, return; chan_ev = new_channel_event(tmpctx, - tal_fmt(tmpctx, "journal_entry"), + tal_fmt(tmpctx, "%s", + account_entry_tag_str(JOURNAL_ENTRY)), credit_diff, debit_diff, AMOUNT_MSAT(0), @@ -693,7 +695,8 @@ static struct command_result *json_balance_snapshot(struct command *cmd, } ev = new_channel_event(cmd, - tal_fmt(tmpctx, "journal_entry"), + tal_fmt(tmpctx, "%s", + account_entry_tag_str(JOURNAL_ENTRY)), credit_diff, debit_diff, AMOUNT_MSAT(0),