2017-08-28 18:06:01 +02:00
|
|
|
#ifndef LIGHTNING_COMMON_KEYSET_H
|
|
|
|
#define LIGHTNING_COMMON_KEYSET_H
|
2017-08-18 06:43:53 +02:00
|
|
|
#include "config.h"
|
|
|
|
#include <bitcoin/pubkey.h>
|
|
|
|
|
2018-07-23 04:23:02 +02:00
|
|
|
struct basepoints;
|
|
|
|
|
2017-08-18 06:43:53 +02:00
|
|
|
/* Keys needed to derive a particular commitment tx. */
|
|
|
|
struct keyset {
|
|
|
|
struct pubkey self_revocation_key;
|
2017-11-15 07:16:39 +01:00
|
|
|
struct pubkey self_htlc_key, other_htlc_key;
|
2017-08-18 06:43:53 +02:00
|
|
|
struct pubkey self_delayed_payment_key;
|
|
|
|
struct pubkey self_payment_key, other_payment_key;
|
|
|
|
};
|
|
|
|
|
2018-07-23 04:23:02 +02:00
|
|
|
/* Self == owner of commitment tx, other == non-owner. */
|
2017-08-18 06:43:53 +02:00
|
|
|
bool derive_keyset(const struct pubkey *per_commitment_point,
|
2018-07-23 04:23:02 +02:00
|
|
|
const struct basepoints *self,
|
|
|
|
const struct basepoints *other,
|
2019-09-10 04:25:27 +02:00
|
|
|
bool option_static_remotekey,
|
2017-08-18 06:43:53 +02:00
|
|
|
struct keyset *keyset);
|
2017-08-28 18:06:01 +02:00
|
|
|
#endif /* LIGHTNING_COMMON_KEYSET_H */
|