]> git.codecow.com Git - libnemo.git/commitdiff
Typecheck test files.
authorChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 21:23:07 +0000 (14:23 -0700)
committerChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 21:23:07 +0000 (14:23 -0700)
15 files changed:
src/types.d.ts
test/perf.account.mjs
test/perf.block.mjs
test/perf.wallet.mjs
test/test.blake2b.mjs
test/test.blocks.mjs
test/test.calculate-pow.mjs
test/test.create-wallet.mjs
test/test.derive-accounts.mjs
test/test.import-wallet.mjs
test/test.ledger.mjs
test/test.lock-unlock.mjs
test/test.manage-rolodex.mjs
test/test.refresh-accounts.mjs
test/test.tools.mjs

index 5d945fd1a46fc4e098bff998b83ba8b98767cd38..adc548ee7330fe0914a6adb1f54ce60942993796 100644 (file)
@@ -567,8 +567,8 @@ export declare abstract class Wallet {
        get id (): string
        get isLocked (): boolean
        get isUnlocked (): boolean
-       get mnemonic (): string | null
-       get seed (): string | null
+       get mnemonic (): string
+       get seed (): string
        constructor (id: Entropy, seed?: Uint8Array<ArrayBuffer>, mnemonic?: Bip39Mnemonic)
        /**
        * Retrieves an account from a wallet using its child key derivation function.
index 15b2d82ea98df5c50608efe9146e7e4d0dc2553d..ea6e18e69784d1f2486272084f3eaf0dbce25c26 100644 (file)
@@ -6,7 +6,14 @@
 import { assert, isNode, stats, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
-let Bip44Wallet, Blake2bWallet
+/**
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}
+*/
+let Bip44Wallet
+/**
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}
+*/
+let Blake2bWallet
 if (isNode) {
        ({ Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))
 } else {
index fa9447342b77a718c1328a1bee4b0c1f44b83d34..ffadedb07b4e9aa1acbe011392a4a393367a1a97 100644 (file)
@@ -6,6 +6,9 @@
 import { isNode, stats, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
+/**
+* @type {typeof import('../dist/types.d.ts').SendBlock}
+*/
 let SendBlock
 if (isNode) {
        ({ SendBlock } = await import('../dist/nodejs.min.js'))
index 20c2d7e651d92c7d96bcbc5c074c9b693f024c3b..956827108fc99c555357f7d2dab94ccc796406b9 100644 (file)
@@ -6,7 +6,14 @@
 import { isNode, stats, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
-let Bip44Wallet, Blake2bWallet
+/**
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}
+*/
+let Bip44Wallet
+/**
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}
+*/
+let Blake2bWallet
 if (isNode) {
        ({ Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))
 } else {
index 626589b7c90b5303f24f75c7668d24cf806cb880..ee19f6e4c52452ab5a47d2a6c5c9b608c45f7f6e 100644 (file)
@@ -6,6 +6,9 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { BLAKE2B_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2b}\r
+*/\r
 let Blake2b\r
 if (isNode) {\r
        ({ Blake2b } = await import('../dist/nodejs.min.js'))\r
@@ -100,6 +103,7 @@ await Promise.all([
        suite('BLAKE2b exceptions', async () => {\r
 \r
                await test('invalid output lengths', async () => {\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b())\r
                        assert.throws(() => new Blake2b(null))\r
                        assert.throws(() => new Blake2b(true))\r
@@ -112,9 +116,13 @@ await Promise.all([
 \r
                await test('invalid input data', async () => {\r
                        const blake2b = new Blake2b(64)\r
+                       //@ts-expect-error\r
                        assert.throws(() => blake2b.update(null))\r
+                       //@ts-expect-error\r
                        assert.throws(() => blake2b.update(true))\r
+                       //@ts-expect-error\r
                        assert.throws(() => blake2b.update('a'))\r
+                       //@ts-expect-error\r
                        assert.throws(() => blake2b.update(1))\r
                })\r
        })\r
index a4e58aee0e6ed88615d8cbfeef79abedfaa0d1c0..bc1804aa2612a6a5bd9e76356133c4a4da419d37 100644 (file)
@@ -6,11 +6,22 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let SendBlock, ReceiveBlock, ChangeBlock\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').ChangeBlock}\r
+*/\r
+let ChangeBlock\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').ReceiveBlock}\r
+*/\r
+let ReceiveBlock\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').SendBlock}\r
+*/\r
+let SendBlock\r
 if (isNode) {\r
-       ({ SendBlock, ReceiveBlock, ChangeBlock } = await import('../dist/nodejs.min.js'))\r
+       ({ ChangeBlock, ReceiveBlock, SendBlock } = await import('../dist/nodejs.min.js'))\r
 } else {\r
-       ({ SendBlock, ReceiveBlock, ChangeBlock } = await import('../dist/browser.min.js'))\r
+       ({ ChangeBlock, ReceiveBlock, SendBlock } = await import('../dist/browser.min.js'))\r
 }\r
 \r
 await Promise.all([\r
@@ -183,6 +194,7 @@ await Promise.all([
 \r
                        await assert.rejects(block.sign())\r
                        assert.nullish(block.signature)\r
+                       //@ts-expect-error\r
                        await assert.rejects(block.sign(null))\r
                        assert.nullish(block.signature)\r
                        await assert.rejects(block.sign('1'))\r
index a7f35d8a2884fe7e819f517bdbe6d43ece1f2155..187938b5dd1fffe79744d2b586d9571ce33027ec 100644 (file)
@@ -6,7 +6,14 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Blake2b, SendBlock\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2b}\r
+*/\r
+let Blake2b\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').SendBlock}\r
+*/\r
+let SendBlock\r
 if (isNode) {\r
        ({ Blake2b, SendBlock } = await import('../dist/nodejs.min.js'))\r
 } else {\r
index ff2a486e857805eddea044b9ca2c55fdf0c9fc9c..35ed16e8c750aa19c8ca2a8893fd320c46f9dc29 100644 (file)
@@ -6,7 +6,14 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Bip44Wallet, Blake2bWallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}\r
+*/\r
+let Bip44Wallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}\r
+*/\r
+let Blake2bWallet\r
 if (isNode) {\r
        ({ Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))\r
 } else {\r
@@ -22,8 +29,8 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.rejects(wallet.unlock(NANO_TEST_VECTORS.PASSWORD))\r
                })\r
@@ -59,6 +66,7 @@ await Promise.all([
                await test('BIP-44 replace invalid salt with empty string', async () => {\r
                        const invalidArgs = [null, true, false, 0, 1, 2, { foo: 'bar' }]\r
                        for (const arg of invalidArgs) {\r
+                               //@ts-expect-error\r
                                const wallet = Bip44Wallet.create(NANO_TEST_VECTORS.PASSWORD, arg)\r
                                await assert.resolves(wallet)\r
                                await assert.resolves((await wallet).destroy())\r
@@ -66,12 +74,16 @@ await Promise.all([
                })\r
 \r
                await test('fail when using new', async () => {\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Bip44Wallet())\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2bWallet())\r
                })\r
 \r
                await test('fail without a password', async () => {\r
+                       //@ts-expect-error\r
                        await assert.rejects(Bip44Wallet.create())\r
+                       //@ts-expect-error\r
                        await assert.rejects(Blake2bWallet.create())\r
                })\r
        })\r
index fb6428ad01db19b5c912f4ae4e1c1e90a3700762..29eb02e0e8c7ca58652858311293f614c9e964eb 100644 (file)
@@ -6,7 +6,14 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Bip44Wallet, Blake2bWallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}\r
+*/\r
+let Bip44Wallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}\r
+*/\r
+let Blake2bWallet\r
 if (isNode) {\r
        ({ Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))\r
 } else {\r
index b16049124a5c6f67c6595d5e0c8f4303ba63d4a4..ef416127e4b03fe2097db7adb8e26cf50670a44b 100644 (file)
@@ -6,7 +6,18 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { BIP32_TEST_VECTORS, CUSTOM_TEST_VECTORS, NANO_TEST_VECTORS, TREZOR_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Account, Bip44Wallet, Blake2bWallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Account}\r
+*/\r
+let Account\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}\r
+*/\r
+let Bip44Wallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}\r
+*/\r
+let Blake2bWallet\r
 if (isNode) {\r
        ({ Account, Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))\r
 } else {\r
@@ -43,7 +54,7 @@ await Promise.all([
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
                        assert.ok(account instanceof Account)\r
-                       assert.nullish(wallet.mnemonic)\r
+                       assert.throws(() => wallet.mnemonic)\r
                        assert.equal(wallet.seed, NANO_TEST_VECTORS.BIP39_SEED)\r
                        assert.equal(account.publicKey, NANO_TEST_VECTORS.PUBLIC_0)\r
                        assert.equal(account.address, NANO_TEST_VECTORS.ADDRESS_0)\r
@@ -257,8 +268,8 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
@@ -277,8 +288,8 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
index 03980735a2d0a4900ab5eeaf5a962e74dbf5b1d1..c4ae355fbfce9537cc85b56284d6c108c6bcf540 100644 (file)
@@ -6,7 +6,27 @@
 import { assert, click, env, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
-let Account, LedgerWallet, ReceiveBlock, Rpc, SendBlock
+/**
+* @type {typeof import('../dist/types.d.ts').Account}
+*/
+let Account
+/**
+* @type {typeof import('../dist/types.d.ts').LedgerWallet}
+*/
+let LedgerWallet
+/**
+* @type {typeof import('../dist/types.d.ts').ReceiveBlock}
+*/
+let ReceiveBlock
+/**
+* @type {typeof import('../dist/types.d.ts').Rpc}
+*/
+let Rpc
+/**
+* @type {typeof import('../dist/types.d.ts').SendBlock}
+*/
+let SendBlock
+
 if (isNode) {
        ({ Account, LedgerWallet, ReceiveBlock, Rpc, SendBlock } = await import('../dist/nodejs.min.js'))
 } else {
@@ -122,7 +142,8 @@ await Promise.all([
 
                        await openBlock.sign(0)
 
-                       assert.ok(/^[A-Fa-f0-9]{128}$/.test(openBlock.signature))
+                       assert.exists(openBlock.signature)
+                       assert.ok(/^[A-Fa-f0-9]{128}$/.test(openBlock.signature ?? ''))
                        assert.equal(signature, openBlock.signature)
                })
 
@@ -170,7 +191,8 @@ await Promise.all([
 
                        await receiveBlock.sign(0, sendBlock)
 
-                       assert.ok(/^[A-Fa-f0-9]{128}$/.test(receiveBlock.signature))
+                       assert.exists(receiveBlock.signature)
+                       assert.ok(/^[A-Fa-f0-9]{128}$/.test(receiveBlock.signature ?? ''))
                })
 
                // nonce signing is currently broken: https://github.com/LedgerHQ/app-nano/pull/14
@@ -188,6 +210,7 @@ await Promise.all([
                })
 
                await test('fail when using new', async () => {
+                       //@ts-expect-error
                        assert.throws(() => new LedgerWallet())
                })
 
index 7222b50fd4cba7a52965b05ad875876972b71e46..31f258d60862b06efd3fb8e84bf693a5d2d6abb5 100644 (file)
@@ -6,11 +6,22 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'\r
 import { NANO_TEST_VECTORS, TREZOR_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Bip44Wallet, Blake2bWallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Account}\r
+*/\r
+let Account\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}\r
+*/\r
+let Bip44Wallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Blake2bWallet}\r
+*/\r
+let Blake2bWallet\r
 if (isNode) {\r
-       ({ Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))\r
+       ({ Account, Bip44Wallet, Blake2bWallet } = await import('../dist/nodejs.min.js'))\r
 } else {\r
-       ({ Bip44Wallet, Blake2bWallet } = await import('../dist/browser.min.js'))\r
+       ({ Account, Bip44Wallet, Blake2bWallet } = await import('../dist/browser.min.js'))\r
 }\r
 \r
 await Promise.all([\r
@@ -21,8 +32,8 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
@@ -44,8 +55,8 @@ await Promise.all([
                        assert.ok(lockResult)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(new Uint8Array(key))\r
 \r
@@ -84,8 +95,8 @@ await Promise.all([
                        assert.equal(lockResult, true)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -101,8 +112,8 @@ await Promise.all([
                        assert.equal(lockResult, true)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -114,8 +125,8 @@ await Promise.all([
                        await assert.rejects(wallet.unlock(new Uint8Array(key)), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -124,6 +135,7 @@ await Promise.all([
                        const wallet = await Bip44Wallet.fromMnemonic(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.lock(), { message: 'Failed to lock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
@@ -132,11 +144,12 @@ await Promise.all([
 \r
                        await wallet.lock('password')\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -145,6 +158,7 @@ await Promise.all([
                        const wallet = await Bip44Wallet.fromMnemonic(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.MNEMONIC, NANO_TEST_VECTORS.PASSWORD)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.lock(1), { message: 'Failed to lock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
@@ -153,11 +167,12 @@ await Promise.all([
 \r
                        await wallet.lock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(1), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -167,8 +182,8 @@ await Promise.all([
 \r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
@@ -190,8 +205,8 @@ await Promise.all([
                        assert.equal(lockResult, true)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        const unlockResult = await wallet.unlock(new Uint8Array(key))\r
 \r
@@ -228,8 +243,8 @@ await Promise.all([
                        await assert.rejects(wallet.unlock(TREZOR_TEST_VECTORS.PASSWORD), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -245,8 +260,8 @@ await Promise.all([
                        assert.equal(lockResult, true)\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -258,8 +273,8 @@ await Promise.all([
                        await assert.rejects(wallet.unlock(new Uint8Array(key)), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -268,6 +283,7 @@ await Promise.all([
                        const wallet = await Blake2bWallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_1)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.lock(), { message: 'Failed to lock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
@@ -276,11 +292,12 @@ await Promise.all([
 \r
                        await wallet.lock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
@@ -289,6 +306,7 @@ await Promise.all([
                        const wallet = await Blake2bWallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, TREZOR_TEST_VECTORS.ENTROPY_1)\r
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.lock(1), { message: 'Failed to lock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
@@ -297,11 +315,12 @@ await Promise.all([
 \r
                        await wallet.lock(NANO_TEST_VECTORS.PASSWORD)\r
 \r
+                       //@ts-expect-error\r
                        await assert.rejects(wallet.unlock(1), { message: 'Failed to unlock wallet' })\r
                        assert.ok('mnemonic' in wallet)\r
                        assert.ok('seed' in wallet)\r
-                       assert.nullish(wallet.mnemonic)\r
-                       assert.nullish(wallet.seed)\r
+                       assert.throws(() => wallet.mnemonic)\r
+                       assert.throws(() => wallet.seed)\r
 \r
                        await assert.resolves(wallet.destroy())\r
                })\r
index 43419fc36168442570eca6a4368f907285965667..e0b8c75b069067d6cdbbe8d99ef8fda6a3cd1f57 100644 (file)
@@ -6,7 +6,14 @@
 import { assert, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
-let Rolodex, Tools
+/**
+* @type {typeof import('../dist/types.d.ts').Rolodex}
+*/
+let Rolodex
+/**
+* @type {import('../dist/types.d.ts').Tools}
+*/
+let Tools
 if (isNode) {
        ({ Rolodex, Tools } = await import('../dist/nodejs.min.js'))
 } else {
index f3ba139facd4a29b4534e27e5cc40cf2208bf468..3b149dcf803e29431d277643f9093a3ee8a7039d 100644 (file)
@@ -6,7 +6,18 @@
 import { assert, env, isNode, suite, test } from './GLOBALS.mjs'
 import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 
-let Account, Bip44Wallet, Rpc
+/**
+* @type {typeof import('../dist/types.d.ts').Account}
+*/
+let Account
+/**
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}
+*/
+let Bip44Wallet
+/**
+* @type {typeof import('../dist/types.d.ts').Rpc}
+*/
+let Rpc
 if (isNode) {
        ({ Account, Bip44Wallet, Rpc } = await import('../dist/nodejs.min.js'))
 } else {
@@ -27,16 +38,17 @@ await Promise.all([
                        assert.exists(account.balance)
                        assert.notEqual(account.balance, '')
                        assert.equal(typeof account.balance, 'bigint')
+                       //@ts-expect-error
                        assert.ok(account.balance >= 0)
 
                        assert.exists(account.frontier)
                        assert.equal(typeof account.frontier, 'string')
                        assert.notEqual(account.frontier, '')
-                       assert.ok(/^[A-Fa-f0-9]{64}$/.test(account.frontier))
+                       assert.ok(/^[A-Fa-f0-9]{64}$/.test(account.frontier ?? ''))
 
                        assert.exists(account.representative)
                        assert.notEqual(account.representative, '')
-                       assert.equal(account.representative.constructor, Account)
+                       assert.equal(account.representative?.constructor, Account)
                        assert.exists(account.representative?.address)
                        assert.notEqual(account.representative?.address, '')
 
@@ -119,10 +131,15 @@ await Promise.all([
                        const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened())
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(null))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(1))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(''))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened('foo'))
 
                        await assert.resolves(wallet.destroy())
@@ -132,10 +149,14 @@ await Promise.all([
                        const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(rpc, null))
                        await assert.rejects(wallet.unopened(rpc, -1))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(rpc, ''))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(rpc, 'foo'))
+                       //@ts-expect-error
                        await assert.rejects(wallet.unopened(rpc, { 'foo': 'bar' }))
 
                        await assert.resolves(wallet.destroy())
index c3318596c641b06b1f59744d987b70b71788efc9..db726665a8f37504923abc5f7061fe2319dc6cb2 100644 (file)
@@ -6,7 +6,26 @@
 import { assert, env, isNode, suite, test } from './GLOBALS.mjs'\r
 import { RAW_MAX, NANO_TEST_VECTORS } from './VECTORS.mjs'\r
 \r
-let Account, Bip44Wallet, Rpc, SendBlock, Tools\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Account}\r
+*/\r
+let Account\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Bip44Wallet}\r
+*/\r
+let Bip44Wallet\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Rpc}\r
+*/\r
+let Rpc\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').SendBlock}\r
+*/\r
+let SendBlock\r
+/**\r
+* @type {typeof import('../dist/types.d.ts').Tools}\r
+*/\r
+let Tools\r
 if (isNode) {\r
        ({ Account, Bip44Wallet, Rpc, SendBlock, Tools } = await import('../dist/nodejs.min.js'))\r
 } else {\r
@@ -146,6 +165,7 @@ await Promise.all([
                })\r
 \r
                await test('sweeper throws without required parameters', async () => {\r
+                       //@ts-expect-error\r
                        await assert.rejects(Tools.sweep(),\r
                                'Missing required sweep arguments')\r
                })\r