mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 09:54:16 +01:00
753f15f503
Needed for creating/verifying signatures on bolt11 invoices. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
22 lines
605 B
C
22 lines
605 B
C
/* bech32 (thus bolt11) deal in 5-bit values */
|
|
#ifndef LIGHTNING_COMMON_HASH_U5_H
|
|
#define LIGHTNING_COMMON_HASH_U5_H
|
|
#include "config.h"
|
|
#include <ccan/crypto/sha256/sha256.h>
|
|
#include <ccan/short_types/short_types.h>
|
|
|
|
/* Type to annotate a 5 bit value. */
|
|
typedef unsigned char u5;
|
|
|
|
struct hash_u5 {
|
|
u64 buf;
|
|
unsigned int num_bits;
|
|
struct sha256_ctx hash;
|
|
};
|
|
|
|
void hash_u5_init(struct hash_u5 *hu5, const char *hrp);
|
|
void hash_u5(struct hash_u5 *hu5, const u5 *u5, size_t len);
|
|
void hash_u5_done(struct hash_u5 *hu5, struct sha256 *res);
|
|
|
|
#endif /* LIGHTNING_COMMON_HASH_U5_H */
|