MCPcopy Create free account
hub / github.com/ElementsProject/lightning / get_channel_seed

Function get_channel_seed

tools/lightning-hsmtool.c:252–270  ·  view source on GitHub ↗

Taken from hsmd. */

Source from the content-addressed store, hash-verified

250
251/* Taken from hsmd. */
252static void get_channel_seed(struct secret *channel_seed, const struct node_id *peer_id,
253 u64 dbid, struct secret *hsm_secret)
254{
255 struct secret channel_base;
256 u8 input[sizeof(peer_id->k) + sizeof(dbid)];
257 const char *info = "per-peer seed";
258
259 hkdf_sha256(&channel_base, sizeof(struct secret), NULL, 0,
260 hsm_secret, sizeof(*hsm_secret),
261 "peer seed", strlen("peer seed"));
262 memcpy(input, peer_id->k, sizeof(peer_id->k));
263 BUILD_ASSERT(sizeof(peer_id->k) == PUBKEY_CMPR_LEN);
264 memcpy(input + PUBKEY_CMPR_LEN, &dbid, sizeof(dbid));
265
266 hkdf_sha256(channel_seed, sizeof(*channel_seed),
267 input, sizeof(input),
268 &channel_base, sizeof(channel_base),
269 info, strlen(info));
270}
271
272static void print_secret(const char *hsm_secret_path, const char *id, bool must_be_oldstyle)
273{

Callers 3

dump_commitments_infosFunction · 0.70
guess_to_remoteFunction · 0.70
derive_to_remoteFunction · 0.70

Calls 1

hkdf_sha256Function · 0.85

Tested by

no test coverage detected