Skip to content

Conversation

@rustyrussell
Copy link
Contributor

v25.12 introduced a new hsm_secret format, but did not switch the hsmtool or recover commands to support it.

If you "recover" a node created by 25.12 using the codex32 params, YOU WILL NOT SEE ANY IS YOUR FUNDS.

So we fix this: hsmtool now has "getsecret" and you hand that string (whatever it is) to "recover" and it works.

@rustyrussell rustyrussell added this to the v26.04 milestone Jan 12, 2026
@rustyrussell rustyrussell requested a review from cdecker as a code owner January 12, 2026 03:46
@rustyrussell rustyrussell added the 25.12.1 Point release for 25.12 label Jan 12, 2026
@rustyrussell rustyrussell force-pushed the guilt/recovery-for-modern-nodes branch from c63e6fb to e276c02 Compare January 12, 2026 05:11
We cannot use the codex32 or raw hex for recovery of 25.12 nodes,
since they will then use the incorrect derivation for all paths, and
be unable to spend (or even find!) their funds.

So implement `getsecret` to replace `getcodexsecret`.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Changed: `lightning-hsmtool`: `getsecret` replaces `getcodexsecret` for modern nodes (gives mnemonic).
Changelog-Deprecated: `lightning-hsmtool`: `getcodexsecret`.  Use `getsecret`.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
In fact, you *must* use mnemonic to successfully recover a modern node!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Changed: JSON-RPC: `recover` takes a 12-word mnemonic for nodes created by v25.12 or later.
@rustyrussell rustyrussell force-pushed the guilt/recovery-for-modern-nodes branch from e276c02 to dc3959b Compare January 13, 2026 02:51
@rustyrussell rustyrussell merged commit 779a478 into ElementsProject:master Jan 13, 2026
82 of 85 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

25.12.1 Point release for 25.12

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant