core-lightning/lightningd/keyset.h
Rusty Russell 4bfaaef408 keyset: abstraction over what keys we need for a specific commitment.
onchaind will need to do similar logic to channeld, so this allows them
to share much more code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-08-20 13:06:41 +09:30

21 lines
690 B
C

#ifndef LIGHTNING_LIGHTNINGD_KEYSET_H
#define LIGHTNING_LIGHTNINGD_KEYSET_H
#include "config.h"
#include <bitcoin/pubkey.h>
#include <stdbool.h>
/* Keys needed to derive a particular commitment tx. */
struct keyset {
struct pubkey self_revocation_key;
struct pubkey self_delayed_payment_key;
struct pubkey self_payment_key, other_payment_key;
};
bool derive_keyset(const struct pubkey *per_commitment_point,
const struct pubkey *self_payment_basepoint,
const struct pubkey *other_payment_basepoint,
const struct pubkey *self_delayed_basepoint,
const struct pubkey *other_revocation_basepoint,
struct keyset *keyset);
#endif /* LIGHTNING_LIGHTNINGD_KEYSET_H */