core-lightning/common/keyset.h
Rusty Russell ee3480e56b derive_keyset: don't rotate key for remote iff option_static_remotekey.
The largest change is inside hsmd: it hands a null per-commitment key
to the wallet to tell it to spend the to_remote output.

It can also now resolve unknown commitments, even if it doesn't have a
possible_remote_per_commitment_point from the peer.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-09-10 16:18:25 -05:00

24 lines
705 B
C

#ifndef LIGHTNING_COMMON_KEYSET_H
#define LIGHTNING_COMMON_KEYSET_H
#include "config.h"
#include <bitcoin/pubkey.h>
#include <stdbool.h>
struct basepoints;
/* Keys needed to derive a particular commitment tx. */
struct keyset {
struct pubkey self_revocation_key;
struct pubkey self_htlc_key, other_htlc_key;
struct pubkey self_delayed_payment_key;
struct pubkey self_payment_key, other_payment_key;
};
/* Self == owner of commitment tx, other == non-owner. */
bool derive_keyset(const struct pubkey *per_commitment_point,
const struct basepoints *self,
const struct basepoints *other,
bool option_static_remotekey,
struct keyset *keyset);
#endif /* LIGHTNING_COMMON_KEYSET_H */