// nip06.ts import { bytesToHex } from "@noble/hashes/utils"; import { wordlist } from "@scure/bip39/wordlists/english"; import { generateMnemonic, mnemonicToSeedSync, validateMnemonic } from "@scure/bip39"; import { HDKey } from "@scure/bip32"; function privateKeyFromSeedWords(mnemonic, passphrase) { let root = HDKey.fromMasterSeed(mnemonicToSeedSync(mnemonic, passphrase)); let privateKey = root.derive(`m/44'/1237'/0'/0/0`).privateKey; if (!privateKey) throw new Error("could not derive private key"); return bytesToHex(privateKey); } function generateSeedWords() { return generateMnemonic(wordlist); } function validateWords(words) { return validateMnemonic(words, wordlist); } export { generateSeedWords, privateKeyFromSeedWords, validateWords };