From 3aa3073688008e2f044e96895246c28cd0728c51 Mon Sep 17 00:00:00 2001 From: Chris Duncan Date: Sun, 23 Nov 2025 02:46:02 -0800 Subject: [PATCH] Start adding Exodus-length test vectors. --- test/VECTORS.mjs | 15 +++++++++++++++ test/test.import-wallet.mjs | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/test/VECTORS.mjs b/test/VECTORS.mjs index f948c70..43d0db1 100644 --- a/test/VECTORS.mjs +++ b/test/VECTORS.mjs @@ -44,6 +44,21 @@ export const NANO_TEST_VECTORS = Object.freeze({ PUBLIC_2: 'A46DA51986E25A14D82E32D765DCEE69B9EECCD4405411430D91DDB61B717566', ADDRESS_2: 'nano_3b5fnnerfrkt4me4wepqeqggwtfsxu8fai4n473iu6gxprfq4xd8pk9gh1dg', + SHORT_MNEMONIC: 'edge defense waste choose enrich upon flee junk siren film clown finish luggage leader kid quick brick print evidence swap drill paddle truly occur', + SHORT_BIP39_SEED: '924A962CAE64448812BE28A514093EBFEEED537D61A44318EB35F902961D21B2FCCD30008D33C8D1D5327A34B9B73281C4B27A0A3D004C1C2E85E8DBB234CBA8', + + SHORT_PRIVATE_0: '6f73d61ca0b56fcdb79d69d437f102348ad75ca971433eb92b2b003f8c99b48d', + SHORT_PUBLIC_0: '134d938215f68bcaa3a0e574fde325fc4b1abad9bd3d698bfef95633b54ffb57', + SHORT_ADDRESS_0: 'nano_16tfkg33dxndscjt3sdnzqjkdz4d5cxfmhbxf87zxycp8gtnzytqmcosi3zr', + + SHORT_PRIVATE_1: '7e104389811a0967ef574af1f3f423f23cbf7b614be17844f67fb6fd315f9a7e', + SHORT_PUBLIC_1: '71e6caac915affe836c3e822be6a5b3464f40c74bd2e5459d4e74205c6a7c0df', + SHORT_ADDRESS_1: 'nano_1wh8scpb4pqzx1ue9t34qso7pf56yi89bhbgcjexbst41q5chi8zqtwb74ih', + + SHORT_PRIVATE_2: '8b7250869207a277ac37068dbe32782c2ab9fc6a5342f0deabbfdfae1285196a', + SHORT_PUBLIC_2: 'fcebc6554853ed01c242817abf1b5050b887002f8de8f55d00c7c6b5fe01075d', + SHORT_ADDRESS_2: 'nano_3z9drscninzf193671dtqwfo1n7riw14z5hayogi3jy8pqz143txaghe4gbk', + // from nano.org transaction examples SEND_BLOCK: { account: "nano_1e5aqegc1jb7qe964u4adzmcezyo6o146zb8hm6dft8tkp79za3sxwjym5rx", diff --git a/test/test.import-wallet.mjs b/test/test.import-wallet.mjs index 5eabff4..7615964 100644 --- a/test/test.import-wallet.mjs +++ b/test/test.import-wallet.mjs @@ -313,5 +313,19 @@ await Promise.all([ await assert.resolves(wallet.destroy()) }) + + await test('nano.org Exodus test vector mnemonic', async () => { + const wallet = await Wallet.load('Exodus', NANO_TEST_VECTORS.PASSWORD, NANO_TEST_VECTORS.SHORT_MNEMONIC) + await wallet.unlock(NANO_TEST_VECTORS.PASSWORD) + const account = await wallet.account() + + assert.ok(await wallet.verify(NANO_TEST_VECTORS.SHORT_MNEMONIC)) + assert.ok(await wallet.verify(NANO_TEST_VECTORS.SHORT_BIP39_SEED)) + assert.ok(account instanceof Account) + assert.equal(account.publicKey, NANO_TEST_VECTORS.SHORT_PUBLIC_0) + assert.equal(account.address, NANO_TEST_VECTORS.SHORT_ADDRESS_0) + + await assert.resolves(wallet.destroy()) + }) }) ]) -- 2.47.3