daemon/invoice: wean off dstate (a little), link into new daemon.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2017-04-01 21:28:30 +10:30
parent d3cbde4b46
commit eb61446ec8
4 changed files with 33 additions and 10 deletions

View File

@ -78,9 +78,9 @@ void invoice_add(struct invoices *invs,
list_add(&invs->unpaid, &invoice->list);
}
struct invoices *invoices_init(struct lightningd_state *dstate)
struct invoices *invoices_init(const tal_t *ctx)
{
struct invoices *invs = tal(dstate, struct invoices);
struct invoices *invs = tal(ctx, struct invoices);
list_head_init(&invs->unpaid);
list_head_init(&invs->paid);

View File

@ -29,5 +29,5 @@ void resolve_invoice(struct lightningd_state *dstate, struct invoice *invoice);
struct invoice *find_unpaid(struct invoices *i,
const struct sha256 *rhash);
struct invoices *invoices_init(struct lightningd_state *dstate);
struct invoices *invoices_init(const tal_t *ctx);
#endif /* LIGHTNING_DAEMON_INVOICE_H */

View File

@ -14,7 +14,7 @@ LIGHTNINGD_OLD_SRC := \
daemon/chaintopology.c \
daemon/configdir.c \
daemon/dns.c \
daemon/netaddr.c \
daemon/invoice.c \
daemon/json.c \
daemon/jsonrpc.c \
daemon/log.c \

View File

@ -30,12 +30,6 @@ char *bitcoin_datadir;
#define FIXME_IMPLEMENT() errx(1, "FIXME: Implement %s", __func__)
/* FIXME: Implement */
struct invoices *invoices_init(struct lightningd_state *dstate)
{
return NULL;
}
struct peer *find_peer(struct lightningd_state *dstate, const struct pubkey *id);
struct peer *find_peer(struct lightningd_state *dstate, const struct pubkey *id)
{
@ -70,6 +64,34 @@ void notify_new_block(struct chain_topology *topo, u32 height)
/* FIXME */
}
void db_resolve_invoice(struct lightningd_state *dstate,
const char *label, u64 paid_num);
void db_resolve_invoice(struct lightningd_state *dstate,
const char *label, u64 paid_num)
{
/* FIXME */
}
bool db_new_invoice(struct lightningd_state *dstate,
u64 msatoshi,
const char *label,
const struct preimage *r);
bool db_new_invoice(struct lightningd_state *dstate,
u64 msatoshi,
const char *label,
const struct preimage *r)
{
/* FIXME */
return true;
}
bool db_remove_invoice(struct lightningd_state *dstate, const char *label);
bool db_remove_invoice(struct lightningd_state *dstate,
const char *label)
{
/* FIXME */
return true;
}
#include <daemon/packets.h>
void queue_pkt_nested(struct peer *peer,
@ -108,6 +130,7 @@ static struct lightningd *new_lightningd(const tal_t *ctx)
ld->topology = ld->dstate.topology = new_topology(ld, ld->log);
ld->bitcoind = ld->dstate.bitcoind = new_bitcoind(ld, ld->log);
/* FIXME: Move into invoice daemon. */
ld->dstate.invoices = invoices_init(&ld->dstate);
return ld;
}