export async function _restore (id?: unknown) {
try {
- if (typeof id !== undefined && typeof id !== 'string') {
+ if (id !== undefined && typeof id !== 'string') {
throw new TypeError('ID to restore must be a string')
}
const wallets = []
await assert.resolves(restored.destroy())\r
})\r
\r
+ await test('restore wallets without referencing IDs', async () => {\r
+ const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
+ const backups = await Wallet.backup()\r
+\r
+ assert.ok(backups.some(record => record.id === wallet.id))\r
+\r
+ const restored = (await Wallet.restore())[0]\r
+\r
+ assert.ok('mnemonic' in restored)\r
+ assert.ok('seed' in restored)\r
+ assert.ok(restored.mnemonic === undefined)\r
+ assert.ok(restored.seed === undefined)\r
+\r
+ await restored.unlock(NANO_TEST_VECTORS.PASSWORD)\r
+\r
+ assert.ok(await restored.verify(NANO_TEST_VECTORS.MNEMONIC))\r
+ assert.ok(await restored.verify(NANO_TEST_VECTORS.BIP39_SEED))\r
+\r
+ await assert.resolves(wallet.destroy())\r
+ await assert.resolves(restored.destroy())\r
+ })\r
+\r
await test('load account from legacy address', async () => {\r
const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r