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