Skip to content

Commit 9deec1d

Browse files
committed
hsmd: refactor hsmd_init
Add preapprove_check capabilities: WIRE_HSMD_PREAPPROVE_INCOICE_CHECK and WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK to the capabilities array if dev_no_preapprove_check is not set. Do not assume those occupy the last two slots in the array. Changelog-None Signed-off-by: Lagrang3 <lagrang3@protonmail.com>
1 parent 5cfad6b commit 9deec1d

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

hsmd/libhsmd.c

+6-11
Original file line numberDiff line numberDiff line change
@@ -2334,10 +2334,8 @@ u8 *hsmd_init(struct secret hsm_secret, const u64 hsmd_version,
23342334
WIRE_HSMD_REVOKE_COMMITMENT_TX,
23352335
WIRE_HSMD_SIGN_BOLT12_2,
23362336
WIRE_HSMD_BIP137_SIGN_MESSAGE,
2337-
WIRE_HSMD_PREAPPROVE_INVOICE_CHECK,
2338-
WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK,
23392337
};
2340-
const u32 *caps;
2338+
u32 *caps;
23412339

23422340
/*~ Don't swap this. */
23432341
sodium_mlock(secretstuff.hsm_secret.data,
@@ -2460,14 +2458,11 @@ u8 *hsmd_init(struct secret hsm_secret, const u64 hsmd_version,
24602458
"derived secrets", strlen("derived secrets"));
24612459

24622460
/* Capabilities arg needs to be a tal array */
2463-
if (dev_no_preapprove_check) {
2464-
/* Skip preapprove capabilities */
2465-
caps = tal_dup_arr(tmpctx, u32,
2466-
capabilities, ARRAY_SIZE(capabilities) - 2,
2467-
0);
2468-
} else {
2469-
caps = tal_dup_arr(tmpctx, u32,
2470-
capabilities, ARRAY_SIZE(capabilities), 0);
2461+
caps =
2462+
tal_dup_arr(tmpctx, u32, capabilities, ARRAY_SIZE(capabilities), 0);
2463+
if (!dev_no_preapprove_check) {
2464+
tal_arr_expand(&caps, WIRE_HSMD_PREAPPROVE_INVOICE_CHECK);
2465+
tal_arr_expand(&caps, WIRE_HSMD_PREAPPROVE_KEYSEND_CHECK);
24712466
}
24722467

24732468
/*~ Note: marshalling a bip32 tree only marshals the public side,

0 commit comments

Comments
 (0)