]> git.codecow.com Git - libnemo.git/commitdiff
Test basic wallet export and restoration.
authorChris Duncan <chris@zoso.dev>
Fri, 25 Jul 2025 14:14:28 +0000 (07:14 -0700)
committerChris Duncan <chris@zoso.dev>
Fri, 25 Jul 2025 14:14:28 +0000 (07:14 -0700)
test/test.import-wallet.mjs

index af4ba407615e63aeabbc9104fc05ffb08467b6be..59f5fafe933e2d80976090c31f5b0536e01e34f7 100644 (file)
@@ -301,5 +301,30 @@ await Promise.all([
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
+\r
+               await test('export wallet IDs from storage and reimport them', async () => {\r
+                       const wallet = await Bip44Wallet.fromMnemonic(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
+                       const ids = await Bip44Wallet.export()\r
+\r
+                       assert.ok(ids.some(id => id === wallet.id))\r
+\r
+                       const restored = await Bip44Wallet.restore(wallet.id)\r
+\r
+                       assert.ok('mnemonic' in restored)\r
+                       assert.ok('seed' in restored)\r
+                       assert.throws(() => restored.mnemonic)\r
+                       assert.throws(() => restored.seed)\r
+\r
+                       const unlockResult = await restored.unlock(NANO_TEST_VECTORS.PASSWORD)\r
+\r
+                       assert.equal(unlockResult, true)\r
+                       assert.ok('mnemonic' in restored)\r
+                       assert.ok('seed' in restored)\r
+                       assert.equal(restored.mnemonic, NANO_TEST_VECTORS.MNEMONIC)\r
+                       assert.equal(restored.seed, NANO_TEST_VECTORS.BIP39_SEED)\r
+\r
+                       await assert.resolves(wallet.destroy())\r
+                       await assert.resolves(restored.destroy())\r
+               })\r
        })\r
 ])\r