From 36cec5a7667920c228d74fb8d5f9303c205ff595 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Mon, 4 Aug 2025 15:21:00 -0700 Subject: [PATCH] Destroy wallets used in tests to free their resources. --- test/test.blocks.mjs | 4 ++++ test/test.import-wallet.mjs | 46 +++++++++++++++++++------------------ 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/test/test.blocks.mjs b/test/test.blocks.mjs index db876c3..269ef8a 100644 --- a/test/test.blocks.mjs +++ b/test/test.blocks.mjs @@ -99,6 +99,8 @@ await Promise.all([ ) const signature = await wallet.sign(0, block) assert.equal(block.signature, signature) + + await wallet.destroy() }) await test('fail to sign open block with wallet when locked', async () => { @@ -115,6 +117,8 @@ await Promise.all([ await assert.rejects(wallet.sign(0, block)) assert.equal(block.hash, NANO_TEST_VECTORS.OPEN_BLOCK.hash) assert.ok(block.signature === undefined) + + await wallet.destroy() }) await test('sign open block with private key', async () => { diff --git a/test/test.import-wallet.mjs b/test/test.import-wallet.mjs index 910f957..e5b7ff1 100644 --- a/test/test.import-wallet.mjs +++ b/test/test.import-wallet.mjs @@ -221,42 +221,44 @@ await Promise.all([ }) await test('Import BIP-44 wallet from storage using a wallet-generated ID', async () => { - const id = (await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)).id - const wallet = await Wallet.restore(id) + const wallet = await Wallet.import('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD) + const restored = await Wallet.restore(wallet.id) - assert.ok('mnemonic' in wallet) - assert.ok('seed' in wallet) - assert.ok(wallet.mnemonic === undefined) - assert.ok(wallet.seed === undefined) - await assert.rejects(wallet.verify(NANO_TEST_VECTORS.MNEMONIC)) - await assert.rejects(wallet.verify(NANO_TEST_VECTORS.BIP39_SEED)) + assert.ok('mnemonic' in restored) + assert.ok('seed' in restored) + assert.ok(restored.mnemonic === undefined) + assert.ok(restored.seed === undefined) + await assert.rejects(restored.verify(NANO_TEST_VECTORS.MNEMONIC)) + await assert.rejects(restored.verify(NANO_TEST_VECTORS.BIP39_SEED)) - const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD) + const unlockResult = await restored.unlock(NANO_TEST_VECTORS.PASSWORD) assert.equal(unlockResult, true) - assert.ok(await wallet.verify(NANO_TEST_VECTORS.MNEMONIC)) - assert.ok(await wallet.verify(NANO_TEST_VECTORS.BIP39_SEED)) + assert.ok(await restored.verify(NANO_TEST_VECTORS.MNEMONIC)) + assert.ok(await restored.verify(NANO_TEST_VECTORS.BIP39_SEED)) + await assert.resolves(restored.destroy()) await assert.resolves(wallet.destroy()) }) await test('Import BLAKE2B wallet from storage using a wallet-generated ID', async () => { - const id = (await Wallet.import('BLAKE2b', NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_0)).id - const wallet = await Wallet.restore(id) + const wallet = await Wallet.import('BLAKE2b', NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_0) + const restored = await Wallet.restore(wallet.id) - assert.ok('mnemonic' in wallet) - assert.ok('seed' in wallet) - assert.ok(wallet.mnemonic === undefined) - assert.ok(wallet.seed === undefined) - await assert.rejects(wallet.verify(TREZOR_TEST_VECTORS.MNEMONIC_0)) - await assert.rejects(wallet.verify(TREZOR_TEST_VECTORS.ENTROPY_0)) + assert.ok('mnemonic' in restored) + assert.ok('seed' in restored) + assert.ok(restored.mnemonic === undefined) + assert.ok(restored.seed === undefined) + await assert.rejects(restored.verify(TREZOR_TEST_VECTORS.MNEMONIC_0)) + await assert.rejects(restored.verify(TREZOR_TEST_VECTORS.ENTROPY_0)) - const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD) + const unlockResult = await restored.unlock(NANO_TEST_VECTORS.PASSWORD) assert.equal(unlockResult, true) - assert.ok(await wallet.verify(TREZOR_TEST_VECTORS.MNEMONIC_0)) - assert.ok(await wallet.verify(TREZOR_TEST_VECTORS.ENTROPY_0)) + assert.ok(await restored.verify(TREZOR_TEST_VECTORS.MNEMONIC_0)) + assert.ok(await restored.verify(TREZOR_TEST_VECTORS.ENTROPY_0)) + await assert.resolves(restored.destroy()) await assert.resolves(wallet.destroy()) }) -- 2.47.3