]> git.codecow.com Git - libnemo.git/commitdiff
Fix tests.
authorChris Duncan <chris@zoso.dev>
Mon, 11 Aug 2025 16:03:38 +0000 (09:03 -0700)
committerChris Duncan <chris@zoso.dev>
Mon, 11 Aug 2025 16:03:38 +0000 (09:03 -0700)
test/perf.block.mjs
test/test.blake2b.mjs
test/test.blocks.mjs
test/test.import-wallet.mjs
test/test.refresh-accounts.mjs

index f1ee95c52440279b8dc42b22fd154ec3ae961608..650911006e68a8e1ff6b44c609ec1a0501219fda 100644 (file)
@@ -24,8 +24,7 @@ await Promise.all([
                        const { account, balance, previous, representative } = NANO_TEST_VECTORS.SEND_BLOCK
                        const times = []
                        const block = new Block(account, balance, representative, previous)
-                               .send(0)
-                               .to(NANO_TEST_VECTORS.SEND_BLOCK.link)
+                               .send(NANO_TEST_VECTORS.SEND_BLOCK.link, 0)
                        for (let i = 0; i < COUNT; i++) {
                                const start = performance.now()
                                await block.pow()
index ee19f6e4c52452ab5a47d2a6c5c9b608c45f7f6e..32ffd752f8baa71fb179684238a50f840cbb9e87 100644 (file)
@@ -105,10 +105,15 @@ await Promise.all([
                await test('invalid output lengths', async () => {\r
                        //@ts-expect-error\r
                        assert.throws(() => new Blake2b())\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b(null))\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b(true))\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b(''))\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b('a'))\r
+                       //@ts-expect-error\r
                        assert.throws(() => new Blake2b('1'))\r
                        assert.throws(() => new Blake2b(0))\r
                        assert.throws(() => new Blake2b(65))\r
index 81fe264a8c7ce5126bf0643d94b3c1cf68290a74..731df8ecc15d2c32c4d97a4613464471fa72e73f 100644 (file)
@@ -95,7 +95,7 @@ await Promise.all([
        }),\r
 \r
        suite('Block signing using official test vectors', async () => {\r
-               const { ADDRESS_0, BIP39_SEED, BLAKE2B_ADDRESS_1, BLAKE2B_PUBLIC_1, BLAKE2B_SEED, OPEN_BLOCK, PASSWORD, PRIVATE_0, RECEIVE_BLOCK, SEND_BLOCK } = NANO_TEST_VECTORS\r
+               const { ADDRESS_0, BIP39_SEED, BLAKE2B_ADDRESS_1, BLAKE2B_PUBLIC_1, BLAKE2B_SEED, OPEN_BLOCK, PASSWORD, PUBLIC_0, PRIVATE_0, RECEIVE_BLOCK, SEND_BLOCK } = NANO_TEST_VECTORS\r
 \r
                await test('sign open block with BLAKE2b wallet', async () => {\r
                        const wallet = await Wallet.load('BLAKE2b', PASSWORD, BLAKE2B_SEED)\r
@@ -103,8 +103,7 @@ await Promise.all([
 \r
                        const block = new Block(BLAKE2B_ADDRESS_1, '0', OPEN_BLOCK.previous, OPEN_BLOCK.representative)\r
                                .receive(OPEN_BLOCK.link, OPEN_BLOCK.balance)\r
-                       const signature = await wallet.sign(1, block, 'hex')\r
-                       assert.equal(block.signature, signature)\r
+                       await wallet.sign(1, block)\r
                        assert.ok(await block.verify(BLAKE2B_PUBLIC_1))\r
 \r
                        await wallet.destroy()\r
@@ -116,8 +115,8 @@ await Promise.all([
 \r
                        const block = new Block(ADDRESS_0, '0', OPEN_BLOCK.previous, OPEN_BLOCK.representative)\r
                                .receive(OPEN_BLOCK.link, OPEN_BLOCK.balance)\r
-                       const signature = await wallet.sign(0, block, 'hex')\r
-                       assert.equal(block.signature, signature)\r
+                       await wallet.sign(0, block)\r
+                       assert.ok(await block.verify(PUBLIC_0))\r
 \r
                        await wallet.destroy()\r
                })\r
index 784199c5ffe9b29a261ca8d55409e6fed9ca5fce..b15abeffa5bd7207e4a4a4e596db77d5b73ba531 100644 (file)
@@ -264,7 +264,7 @@ await Promise.all([
 \r
                await test('export wallet IDs from storage and reimport them', 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.export()\r
+                       const backups = await Wallet.backup()\r
 \r
                        assert.ok(backups.some(record => record.id === wallet.id))\r
 \r
index 3b149dcf803e29431d277643f9093a3ee8a7039d..0ddbb4e5e07052ef02d7664f4c9dba4c8e56be80 100644 (file)
@@ -11,17 +11,17 @@ import { NANO_TEST_VECTORS } from './VECTORS.mjs'
 */
 let Account
 /**
-* @type {typeof import('../dist/types.d.ts').Bip44Wallet}
+* @type {typeof import('../dist/types.d.ts').Wallet}
 */
-let Bip44Wallet
+let Wallet
 /**
 * @type {typeof import('../dist/types.d.ts').Rpc}
 */
 let Rpc
 if (isNode) {
-       ({ Account, Bip44Wallet, Rpc } = await import('../dist/nodejs.min.js'))
+       ({ Account, Wallet, Rpc } = await import('../dist/nodejs.min.js'))
 } else {
-       ({ Account, Bip44Wallet, Rpc } = await import('../dist/browser.min.js'))
+       ({ Account, Wallet, Rpc } = await import('../dist/browser.min.js'))
 }
 
 const rpc = new Rpc(env.NODE_URL ?? '', env.API_KEY_NAME)
@@ -30,7 +30,7 @@ await Promise.all([
        suite('Refreshing account info', { skip: true }, async () => {
 
                await test('fetch balance, frontier, and representative', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const account = await wallet.account()
                        await account.refresh(rpc)
@@ -56,7 +56,7 @@ await Promise.all([
                })
 
                await test('throw when refreshing unopened account', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const account = await wallet.account(0x7fffffff)
 
@@ -67,7 +67,7 @@ await Promise.all([
                })
 
                await test('throw when referencing invalid account index', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
                        await assert.rejects(wallet.account(0x80000000),
@@ -77,7 +77,7 @@ await Promise.all([
                })
 
                await test('throw with invalid node', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const invalidNode = new Rpc('http://invalid.com')
                        const account = await wallet.account()
@@ -92,7 +92,7 @@ await Promise.all([
        suite('Fetch next unopened account', { skip: true }, async () => {
 
                await test('return correct account from test vector', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const account = await wallet.unopened(rpc)
 
@@ -104,7 +104,7 @@ await Promise.all([
                })
 
                await test('return successfully for small batch size', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const account = await wallet.unopened(rpc, 1)
 
@@ -116,7 +116,7 @@ await Promise.all([
                })
 
                await test('return successfully for large batch size', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const account = await wallet.unopened(rpc, 100)
 
@@ -128,7 +128,7 @@ await Promise.all([
                })
 
                await test('should throw on invalid node URL', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
                        //@ts-expect-error
@@ -146,7 +146,7 @@ await Promise.all([
                })
 
                await test('should throw on invalid batch size', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
                        //@ts-expect-error
@@ -166,7 +166,7 @@ await Promise.all([
        suite('Refreshing wallet accounts', { skip: true }, async () => {
 
                await test('should get balance, frontier, and representative for one account', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const accounts = await wallet.refresh(rpc)
                        const account = accounts[0]
@@ -180,7 +180,7 @@ await Promise.all([
                })
 
                await test('should get balance, frontier, and representative for multiple accounts', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
                        const accounts = await wallet.refresh(rpc, 0, 2)
 
@@ -191,7 +191,7 @@ await Promise.all([
                })
 
                await test('should handle failure gracefully', async () => {
-                       const wallet = await Bip44Wallet.fromSeed(NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
+                       const wallet = await Wallet.load('BIP-44', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.BIP39_SEED)
                        await wallet.unlock(NANO_TEST_VECTORS.PASSWORD)
 
                        await assert.resolves(wallet.refresh(rpc, 0, 20))