Repository navigation
Seed Tool: QR scanning, Nostr keys, descriptors, passphrase lists, reference vectors - #82
Merged
Merged
Conversation
…ctors New - QR scanner (camera, or pick an image), decoded in the page with jsQR and bc-ur via build_qrscan.js. Enter words reads a SeedQR, Compact SeedQR or seed-words QR into the word boxes for checking; nothing loads until Load Seed. The PSBT Inspector reads a PSBT QR or an animated UR code (ur:psbt, ur:crypto-psbt) with a progress bar. Read only. - Standard SeedQR next to Compact SeedQR, using a new numeric mode in the QR library (25x25 for 12 words, 29x29 for 24). - Nostr Keys tool: NIP-06 and the BIP-85 Nostr application. - Output descriptors in Derived Addresses for BIP-44/49/84/86 accounts: combined <0;1>, receive and change, with key origin and checksum. - Passphrase tester takes a list of passphrases, with progress, Stop and "Use this passphrase". Taproot paths now give Taproot addresses. Improved - Seed input tabs have text labels. - Word boxes are checked as typed and on leaving, with the nearest word suggested; Load Seed marks the bad box and explains a checksum failure. Seed word boxes have labels, and spellcheck and autocorrect are off. - Clear seed also wipes the new fields. Tests - test/keys.test.js pins the bundled libraries against published vectors: BIP-39 (24 English), BIP-32, BIP-85 (every application through the tool's own code), NIP-06, BIP-85 Nostr, BIP-380, BIP-84/86 addresses from descriptors, SeedQR. - test/qrscan.test.js and test/ui.test.js cover scanning and the new UI. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The new tests load jsqr, @ngraveio/bc-ur and @bitcoinerlab/descriptors, so the workflow now runs npm ci --ignore-scripts before npm test. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The next batch for the upcoming release. Nothing here is released yet.
New
ur:psbtorur:crypto-psbt) with a progress bar, and then inspects it. It only reads; there's no signing.build_qrscan.js. Nothing is sent anywhere, and it works under the page's Content Security Policy.m/44'/1237'/n'/0/0) and the BIP-85 Nostr application (m/83696968'/128002'/identity'/account'). It shows npub and nsec, hex keys, and a QR for the npub.<0;1>form, plus separate receive and change descriptorsm/86') paths now give Taproot addresses; before, they fell back to legacy.Improved
Reference vectors.
test/keys.test.jspins the bundled libraries before the planned library upgrade. It covers:Test plan
npm test: all 7 suites pass. There are 20 new tests: keys (10), qrscan (4) and ui (6).dist/index.htmlis 11.15 MB, 0.41 MB more than before. Most of that is the scanning bundle.🤖 Generated with Claude Code