From c8b570db97a9c74452dcd2f1cf3cda020d7589e9 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Wed, 5 Aug 2026 10:44:37 -0700 Subject: [PATCH] Slice new wallet secrets for user backup before they are erased in finally. --- src/lib/crypto/wallet-aes-gcm.ts | 2 -- src/lib/vault/vault-worker.ts | 4 +++- test/GLOBALS.mjs | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib/crypto/wallet-aes-gcm.ts b/src/lib/crypto/wallet-aes-gcm.ts index 27ad449..ce47c5b 100644 --- a/src/lib/crypto/wallet-aes-gcm.ts +++ b/src/lib/crypto/wallet-aes-gcm.ts @@ -1,5 +1,3 @@ - - //! SPDX-FileCopyrightText: 2025 Chris Duncan //! SPDX-License-Identifier: GPL-3.0-or-later diff --git a/src/lib/vault/vault-worker.ts b/src/lib/vault/vault-worker.ts index 9e89179..ec4b40a 100644 --- a/src/lib/vault/vault-worker.ts +++ b/src/lib/vault/vault-worker.ts @@ -154,7 +154,9 @@ function create (type?: WalletType, id?: UUID, key?: CryptoKey, keySalt?: ArrayB if (_seed == null || _mnemonic == null) { throw new Error('Failed to generate seed and mnemonic') } - return { iv, salt, encrypted, seed: _seed.slice(), mnemonic: _mnemonic.slice() } + const seed = _seed.slice() + const mnemonic = _mnemonic.slice() + return { iv, salt, encrypted, seed, mnemonic } }) .catch(err => { console.error(err) diff --git a/test/GLOBALS.mjs b/test/GLOBALS.mjs index 1b4c065..fbc1992 100644 --- a/test/GLOBALS.mjs +++ b/test/GLOBALS.mjs @@ -283,14 +283,15 @@ export class assert { /** * @param {unknown} bool + * @param {string} message * @returns {asserts bool} */ - static ok (bool) { + static ok (bool, message) { if (typeof bool !== 'boolean') { throw new Error('Invalid assertion') } if (!bool) { - throw new Error(`test result falsy`, { cause: bool }) + throw new Error(`test result falsy`, { cause: message }) } } -- 2.52.0