// Generated, do not edit. sha256:5b9dd8675758ba64b85bca5e16a855027af470810bba49c97e909a501ef3fbbd import { describe, it, mock } from 'node:test'; import assert from 'node:assert/strict'; import { createDbHarness } from '../helpers/db-node.mjs'; const harness = createDbHarness(); mock.module('../../server/db.js', { namedExports: harness.exports }); const { firstReceiveAddress } = await import('../../client/price/wallet-scanner.js'); const VECTOREN = [ ['p2pkh', 'xpub6BosfCnifzxcFwrSzQiqu2DBVTshkCXacvNsWGYJVVhhawA7d4R5WSWGFNbi8Aw6ZRc1brxMyWMzG3DSSSSoekkudhUd9yLb6qx39T9nMdj', '1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA'], ['p2sh-p2wpkh', 'ypub6Ww3ibxVfGzLrAH1PNcjyAWenMTbbAosGNB6VvmSEgytSER9azLDWCxoJwW7Ke7icmizBMXrzBx9979FfaHxHcrArf3zbeJJJUZPf663zsP', '37VucYSaXLCAsxYyAPfbSi9eh4iEcbShgf'], ['p2wpkh', 'zpub6rFR7y4Q2AijBEqTUquhVz398htDFrtymD9xYYfG1m4wAcvPhXNfE3EfH1r1ADqtfSdVCToUG868RvUUkgDKf31mGDtKsAYz2oz2AGutZYs', 'bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu'], ['p2tr', 'xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ', 'bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr'], ]; describe('firstReceiveAddress: BIP-testvectoren via de gevendorde noble/scure-bundel', () => { for (const [scriptType, extKey, verwacht] of VECTOREN) { it(`leidt het eerste ontvangstadres af voor ${scriptType}`, () => { assert.equal(firstReceiveAddress(extKey, scriptType), verwacht); }); } it('gooit bij een sleutel met een kapotte checksum (geen stil verkeerd adres)', () => { const [, zpub] = VECTOREN[2]; const kapot = zpub.slice(0, -1) + (zpub.endsWith('s') ? 't' : 's'); assert.throws(() => firstReceiveAddress(kapot, 'p2wpkh')); }); it('valt bij een onbekend scripttype terug op p2pkh in plaats van te gooien', () => { const [, xpub, p2pkhAdres] = VECTOREN[0]; assert.equal(firstReceiveAddress(xpub, 'p2wsh-bestaat-niet'), p2pkhAdres); }); });