@xyo-network/bip39 2.107.3 → 2.107.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,53 @@
1
- "use strict";var U=Object.create;var n=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var S=(e,a)=>{for(var o in a)n(e,o,{get:a[o],enumerable:!0})},p=(e,a,o,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of I(a))!M.call(e,i)&&i!==o&&n(e,i,{get:()=>a[i],enumerable:!(r=C(a,i))||r.enumerable});return e};var $=(e,a,o)=>(o=e!=null?U(L(e)):{},p(a||!e||!e.__esModule?n(o,"default",{value:e,enumerable:!0}):o,e)),F=e=>p(n({},"__esModule",{value:!0}),e);var H={};S(H,{entropyToMnemonic:()=>E,generateMnemonic:()=>D,mnemonicToEntropy:()=>A,mnemonicToSeed:()=>N,mnemonicToSeedSync:()=>G,validateMnemonic:()=>K,wordlists:()=>W});module.exports=F(H);var s=$(require("@noble/hashes/_assert"),1),l=require("@noble/hashes/pbkdf2"),y=require("@noble/hashes/sha256"),c=require("@noble/hashes/sha512"),j=require("@noble/hashes/utils"),t=require("@scure/base");var d=`abdikace
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ entropyToMnemonic: () => entropyToMnemonic,
34
+ generateMnemonic: () => generateMnemonic,
35
+ mnemonicToEntropy: () => mnemonicToEntropy,
36
+ mnemonicToSeed: () => mnemonicToSeed,
37
+ mnemonicToSeedSync: () => mnemonicToSeedSync,
38
+ validateMnemonic: () => validateMnemonic,
39
+ wordlists: () => wordlists
40
+ });
41
+ module.exports = __toCommonJS(src_exports);
42
+ var import_assert = __toESM(require("@noble/hashes/_assert"), 1);
43
+ var import_pbkdf2 = require("@noble/hashes/pbkdf2");
44
+ var import_sha256 = require("@noble/hashes/sha256");
45
+ var import_sha512 = require("@noble/hashes/sha512");
46
+ var import_utils = require("@noble/hashes/utils");
47
+ var import_base = require("@scure/base");
48
+
49
+ // src/wordlists/czech.ts
50
+ var wordlist = `abdikace
2
51
  abeceda
3
52
  adresa
4
53
  agrese
@@ -2045,8 +2094,10 @@ zvesela
2045
2094
  zvon
2046
2095
  zvrat
2047
2096
  zvukovod
2048
- zvyk`.split(`
2049
- `);var m=`abandon
2097
+ zvyk`.split("\n");
2098
+
2099
+ // src/wordlists/english.ts
2100
+ var wordlist2 = `abandon
2050
2101
  ability
2051
2102
  able
2052
2103
  about
@@ -4093,8 +4144,10 @@ youth
4093
4144
  zebra
4094
4145
  zero
4095
4146
  zone
4096
- zoo`.split(`
4097
- `);var b=`abaisser
4147
+ zoo`.split("\n");
4148
+
4149
+ // src/wordlists/french.ts
4150
+ var wordlist3 = `abaisser
4098
4151
  abandon
4099
4152
  abdiquer
4100
4153
  abeille
@@ -6141,8 +6194,10 @@ yacht
6141
6194
  ze\u0300bre
6142
6195
  ze\u0301nith
6143
6196
  zeste
6144
- zoologie`.split(`
6145
- `);var v=`abaco
6197
+ zoologie`.split("\n");
6198
+
6199
+ // src/wordlists/italian.ts
6200
+ var wordlist4 = `abaco
6146
6201
  abbaglio
6147
6202
  abbinato
6148
6203
  abete
@@ -8189,8 +8244,10 @@ zotico
8189
8244
  zucchero
8190
8245
  zufolo
8191
8246
  zulu
8192
- zuppa`.split(`
8193
- `);var g=`\u3042\u3044\u3053\u304F\u3057\u3093
8247
+ zuppa`.split("\n");
8248
+
8249
+ // src/wordlists/japanese.ts
8250
+ var wordlist5 = `\u3042\u3044\u3053\u304F\u3057\u3093
8194
8251
  \u3042\u3044\u3055\u3064
8195
8252
  \u3042\u3044\u305F\u3099
8196
8253
  \u3042\u304A\u305D\u3099\u3089
@@ -10237,8 +10294,10 @@ zuppa`.split(`
10237
10294
  \u308F\u3057\u3099\u307E\u3057
10238
10295
  \u308F\u3059\u308C\u3082\u306E
10239
10296
  \u308F\u3089\u3046
10240
- \u308F\u308C\u308B`.split(`
10241
- `);var h=`\u1100\u1161\u1100\u1167\u11A8
10297
+ \u308F\u308C\u308B`.split("\n");
10298
+
10299
+ // src/wordlists/korean.ts
10300
+ var wordlist6 = `\u1100\u1161\u1100\u1167\u11A8
10242
10301
  \u1100\u1161\u1101\u1173\u11B7
10243
10302
  \u1100\u1161\u1102\u1161\u11AB
10244
10303
  \u1100\u1161\u1102\u1173\u11BC
@@ -12285,8 +12344,10 @@ zuppa`.split(`
12285
12344
  \u1112\u1174\u1106\u1161\u11BC
12286
12345
  \u1112\u1174\u1109\u1162\u11BC
12287
12346
  \u1112\u1174\u11AB\u1109\u1162\u11A8
12288
- \u1112\u1175\u11B7\u1101\u1165\u11BA`.split(`
12289
- `);var f=`\u7684
12347
+ \u1112\u1175\u11B7\u1101\u1165\u11BA`.split("\n");
12348
+
12349
+ // src/wordlists/simplified-chinese.ts
12350
+ var wordlist7 = `\u7684
12290
12351
  \u4E00
12291
12352
  \u662F
12292
12353
  \u5728
@@ -14333,8 +14394,10 @@ zuppa`.split(`
14333
14394
  \u97E6
14334
14395
  \u6028
14335
14396
  \u77EE
14336
- \u6B47`.split(`
14337
- `);var k=`a\u0301baco
14397
+ \u6B47`.split("\n");
14398
+
14399
+ // src/wordlists/spanish.ts
14400
+ var wordlist8 = `a\u0301baco
14338
14401
  abdomen
14339
14402
  abeja
14340
14403
  abierto
@@ -16381,8 +16444,10 @@ zarza
16381
16444
  zona
16382
16445
  zorro
16383
16446
  zumo
16384
- zurdo`.split(`
16385
- `);var z=`\u7684
16447
+ zurdo`.split("\n");
16448
+
16449
+ // src/wordlists/traditional-chinese.ts
16450
+ var wordlist9 = `\u7684
16386
16451
  \u4E00
16387
16452
  \u662F
16388
16453
  \u5728
@@ -18429,7 +18494,78 @@ zurdo`.split(`
18429
18494
  \u97CB
18430
18495
  \u6028
18431
18496
  \u77EE
18432
- \u6B47`.split(`
18433
- `);var W={czech:d,english:m,french:b,italian:v,japanese:g,korean:h,simplifiedChinese:f,spanish:k,traditionalChinese:z};var B=e=>e[0]==="\u3042\u3044\u3053\u304F\u3057\u3093";function x(e){if(typeof e!="string")throw new TypeError(`Invalid mnemonic type: ${typeof e}`);return e.normalize("NFKD")}function u(e){let a=x(e),o=a.split(" ");if(![12,15,18,21,24].includes(o.length))throw new Error("Invalid mnemonic");return{nfkd:a,words:o}}function w(e){s.default.bytes(e,16,20,24,28,32)}function D(e,a=128){if(s.default.number(a),a%32!==0||a>256)throw new TypeError("Invalid entropy");return E((0,j.randomBytes)(a/8),e)}var J=e=>{let a=8-e.length/4;return new Uint8Array([(0,y.sha256)(e)[0]>>a<<a])};function q(e){if(!Array.isArray(e)||e.length!==2048||typeof e[0]!="string")throw new Error("Worlist: expected array of 2048 strings");for(let a of e)if(typeof a!="string")throw new Error(`Wordlist: non-string element: ${a}`);return t.utils.chain(t.utils.checksum(1,J),t.utils.radix2(11,!0),t.utils.alphabet(e))}function A(e,a){let{words:o}=u(e),r=q(a).decode(o);return w(r),r}function E(e,a){return w(e),q(a).encode(e).join(B(a)?"\u3000":" ")}function K(e,a){try{A(e,a)}catch{return!1}return!0}var T=e=>x(`mnemonic${e}`);function N(e,a=""){return(0,l.pbkdf2Async)(c.sha512,u(e).nfkd,T(a),{c:2048,dkLen:64})}function G(e,a=""){return(0,l.pbkdf2)(c.sha512,u(e).nfkd,T(a),{c:2048,dkLen:64})}
18497
+ \u6B47`.split("\n");
18498
+
18499
+ // src/wordlists/index.ts
18500
+ var wordlists = {
18501
+ czech: wordlist,
18502
+ english: wordlist2,
18503
+ french: wordlist3,
18504
+ italian: wordlist4,
18505
+ japanese: wordlist5,
18506
+ korean: wordlist6,
18507
+ simplifiedChinese: wordlist7,
18508
+ spanish: wordlist8,
18509
+ traditionalChinese: wordlist9
18510
+ };
18511
+
18512
+ // src/index.ts
18513
+ var isJapanese = (wordlist10) => wordlist10[0] === "\u3042\u3044\u3053\u304F\u3057\u3093";
18514
+ function nfkd(str) {
18515
+ if (typeof str !== "string") throw new TypeError(`Invalid mnemonic type: ${typeof str}`);
18516
+ return str.normalize("NFKD");
18517
+ }
18518
+ function normalize(str) {
18519
+ const norm = nfkd(str);
18520
+ const words = norm.split(" ");
18521
+ if (![12, 15, 18, 21, 24].includes(words.length)) throw new Error("Invalid mnemonic");
18522
+ return { nfkd: norm, words };
18523
+ }
18524
+ function assertEntropy(entropy) {
18525
+ import_assert.default.bytes(entropy, 16, 20, 24, 28, 32);
18526
+ }
18527
+ function generateMnemonic(wordlist10, strength = 128) {
18528
+ import_assert.default.number(strength);
18529
+ if (strength % 32 !== 0 || strength > 256) throw new TypeError("Invalid entropy");
18530
+ return entropyToMnemonic((0, import_utils.randomBytes)(strength / 8), wordlist10);
18531
+ }
18532
+ var calcChecksum = (entropy) => {
18533
+ const bitsLeft = 8 - entropy.length / 4;
18534
+ return new Uint8Array([(0, import_sha256.sha256)(entropy)[0] >> bitsLeft << bitsLeft]);
18535
+ };
18536
+ function getCoder(wordlist10) {
18537
+ if (!Array.isArray(wordlist10) || wordlist10.length !== 2048 || typeof wordlist10[0] !== "string")
18538
+ throw new Error("Worlist: expected array of 2048 strings");
18539
+ for (const i of wordlist10) {
18540
+ if (typeof i !== "string") throw new Error(`Wordlist: non-string element: ${i}`);
18541
+ }
18542
+ return import_base.utils.chain(import_base.utils.checksum(1, calcChecksum), import_base.utils.radix2(11, true), import_base.utils.alphabet(wordlist10));
18543
+ }
18544
+ function mnemonicToEntropy(mnemonic, wordlist10) {
18545
+ const { words } = normalize(mnemonic);
18546
+ const entropy = getCoder(wordlist10).decode(words);
18547
+ assertEntropy(entropy);
18548
+ return entropy;
18549
+ }
18550
+ function entropyToMnemonic(entropy, wordlist10) {
18551
+ assertEntropy(entropy);
18552
+ const words = getCoder(wordlist10).encode(entropy);
18553
+ return words.join(isJapanese(wordlist10) ? "\u3000" : " ");
18554
+ }
18555
+ function validateMnemonic(mnemonic, wordlist10) {
18556
+ try {
18557
+ mnemonicToEntropy(mnemonic, wordlist10);
18558
+ } catch {
18559
+ return false;
18560
+ }
18561
+ return true;
18562
+ }
18563
+ var salt = (passphrase) => nfkd(`mnemonic${passphrase}`);
18564
+ function mnemonicToSeed(mnemonic, passphrase = "") {
18565
+ return (0, import_pbkdf2.pbkdf2Async)(import_sha512.sha512, normalize(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 });
18566
+ }
18567
+ function mnemonicToSeedSync(mnemonic, passphrase = "") {
18568
+ return (0, import_pbkdf2.pbkdf2)(import_sha512.sha512, normalize(mnemonic).nfkd, salt(passphrase), { c: 2048, dkLen: 64 });
18569
+ }
18434
18570
  /*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */
18435
18571
  //# sourceMappingURL=index.cjs.map