@tacet-ink/journal-core 0.2.5 → 0.3.1
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.
- package/README.md +38 -15
- package/dist/client/argon-auto.d.ts +47 -0
- package/dist/client/argon-auto.js +226 -0
- package/dist/client/argon-worker.d.ts +31 -0
- package/dist/client/argon-worker.js +147 -0
- package/dist/client/argon2.d.ts +167 -0
- package/dist/client/argon2.js +410 -0
- package/dist/client/bip39.d.ts +11 -0
- package/dist/client/bip39.js +139 -0
- package/dist/client/keys.d.ts +15 -0
- package/dist/client/keys.js +30 -0
- package/dist/client/note-crypto.d.ts +203 -0
- package/dist/client/note-crypto.js +600 -0
- package/dist/client/pinlock.d.ts +38 -0
- package/dist/client/pinlock.js +84 -0
- package/dist/client/vault-error.d.ts +44 -0
- package/dist/client/vault-error.js +19 -0
- package/dist/client/vault.d.ts +107 -0
- package/dist/client/vault.js +391 -0
- package/dist/client/vendor/hash-wasm-argon2.d.ts +14 -0
- package/dist/client/vendor/hash-wasm-argon2.js +160 -0
- package/dist/client/wordlist.d.ts +7 -0
- package/dist/client/wordlist.js +264 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +17 -0
- package/dist/server/auth.d.ts +99 -0
- package/dist/server/auth.js +158 -0
- package/dist/server/cors.d.ts +10 -0
- package/dist/server/cors.js +21 -0
- package/dist/server/env.d.ts +6 -0
- package/dist/server/env.js +1 -0
- package/dist/server/hash.d.ts +11 -0
- package/dist/server/hash.js +26 -0
- package/dist/server/ladder.d.ts +49 -0
- package/dist/server/ladder.js +50 -0
- package/dist/server/ratelimit.d.ts +32 -0
- package/dist/server/ratelimit.js +63 -0
- package/docs/format-spec.md +369 -0
- package/docs/vectors/bip39.json +1063 -0
- package/docs/vectors/families.json +594 -0
- package/docs/vectors/kat.json +145 -0
- package/package.json +68 -17
- package/scripts/verify-core-crypto.ts +406 -11
- package/src/client/argon-auto.ts +224 -0
- package/src/client/argon-worker.ts +147 -0
- package/src/client/argon2.ts +7 -2
- package/src/client/vault-error.ts +51 -0
- package/src/client/vault.ts +486 -0
- package/src/client/vendor/hash-wasm-argon2.ts +27 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
export const HASH_WASM_VERSION = '4.12.0';
|
|
2
|
+
export const HASH_WASM_ARGON2_SHA256 = 'dcec617a2e1b700fa132d1583a186cb70611113395e869f2dd6cc82b415d3094';
|
|
3
|
+
export function hashWasmArgon2Factory() {
|
|
4
|
+
var exports = {}, module = { exports: exports }, define = undefined;
|
|
5
|
+
// VENDOR-BEGIN
|
|
6
|
+
/*!
|
|
7
|
+
* hash-wasm (https://www.npmjs.com/package/hash-wasm)
|
|
8
|
+
* (c) Dani Biro
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
!function (A, I) { "object" == typeof exports && "undefined" != typeof module ? I(exports) : "function" == typeof define && define.amd ? define(["exports"], I) : I((A = "undefined" != typeof globalThis ? globalThis : A || self).hashwasm = A.hashwasm || {}); }(this, (function (A) {
|
|
12
|
+
"use strict";
|
|
13
|
+
function I(A, I, i, C) { return new (i || (i = Promise))((function (g, Q) { function B(A) { try {
|
|
14
|
+
e(C.next(A));
|
|
15
|
+
}
|
|
16
|
+
catch (A) {
|
|
17
|
+
Q(A);
|
|
18
|
+
} } function h(A) { try {
|
|
19
|
+
e(C.throw(A));
|
|
20
|
+
}
|
|
21
|
+
catch (A) {
|
|
22
|
+
Q(A);
|
|
23
|
+
} } function e(A) { var I; A.done ? g(A.value) : (I = A.value, I instanceof i ? I : new i((function (A) { A(I); }))).then(B, h); } e((C = C.apply(A, I || [])).next()); })); }
|
|
24
|
+
"function" == typeof SuppressedError && SuppressedError;
|
|
25
|
+
var i, C = { name: "argon2", data: "AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR/f39/AGACf38AAwYFAAECAwQFBgEBAoCAAgYIAX8BQZCoBAsHQQQGbWVtb3J5AgASSGFzaF9TZXRNZW1vcnlTaXplAAAOSGFzaF9HZXRCdWZmZXIAAQ5IYXNoX0NhbGN1bGF0ZQAECvEyBVgBAn9BACEBAkAgAEEAKAKICCICRg0AAkAgACACayIAQRB2IABBgIB8cSAASWoiAEAAQX9HDQBB/wHADwtBACEBQQBBACkDiAggAEEQdK18NwOICAsgAcALcAECfwJAQQAoAoAIIgANAEEAPwBBEHQiADYCgAhBACgCiAgiAUGAgCBGDQACQEGAgCAgAWsiAEEQdiAAQYCAfHEgAElqIgBAAEF/Rw0AQQAPC0EAQQApA4gIIABBEHStfDcDiAhBACgCgAghAAsgAAvcDgECfiAAIAQpAwAiECAAKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAMIBAgDCkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgBCAQIAQpAwCFQiiJIhA3AwAgACAQIAApAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAwgECAMKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwAgASAFKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAEgECABKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAIgBikDACIQIAIpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIA4gECAOKQMAhUIgiSIQNwMAIAogECAKKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACACIBAgAikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDiAQIA4pAwCFQjCJIhA3AwAgCiAQIAopAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACADIAcpAwAiECADKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAPIBAgDykDAIVCIIkiEDcDACALIBAgCykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAyAQIAMpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA8gECAPKQMAhUIwiSIQNwMAIAsgECALKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgACAFKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFQiCJIhA3AwAgCiAQIAopAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAAgECAAKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIVCMIkiEDcDACAKIBAgCikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAEgBikDACIQIAEpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAwgECAMKQMAhUIgiSIQNwMAIAsgECALKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACABIBAgASkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDCAQIAwpAwCFQjCJIhA3AwAgCyAQIAspAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACACIAcpAwAiECACKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACANIBAgDSkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAiAQIAIpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA0gECANKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgAyAEKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAQgECAEKQMAhUIoiSIQNwMAIAMgECADKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBCAQIAQpAwCFQgGJNwMAC98aAQN/QQAhBEEAIAIpAwAgASkDAIU3A5AIQQAgAikDCCABKQMIhTcDmAhBACACKQMQIAEpAxCFNwOgCEEAIAIpAxggASkDGIU3A6gIQQAgAikDICABKQMghTcDsAhBACACKQMoIAEpAyiFNwO4CEEAIAIpAzAgASkDMIU3A8AIQQAgAikDOCABKQM4hTcDyAhBACACKQNAIAEpA0CFNwPQCEEAIAIpA0ggASkDSIU3A9gIQQAgAikDUCABKQNQhTcD4AhBACACKQNYIAEpA1iFNwPoCEEAIAIpA2AgASkDYIU3A/AIQQAgAikDaCABKQNohTcD+AhBACACKQNwIAEpA3CFNwOACUEAIAIpA3ggASkDeIU3A4gJQQAgAikDgAEgASkDgAGFNwOQCUEAIAIpA4gBIAEpA4gBhTcDmAlBACACKQOQASABKQOQAYU3A6AJQQAgAikDmAEgASkDmAGFNwOoCUEAIAIpA6ABIAEpA6ABhTcDsAlBACACKQOoASABKQOoAYU3A7gJQQAgAikDsAEgASkDsAGFNwPACUEAIAIpA7gBIAEpA7gBhTcDyAlBACACKQPAASABKQPAAYU3A9AJQQAgAikDyAEgASkD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", hash: "e4cdc523" };
|
|
26
|
+
class g {
|
|
27
|
+
constructor() { this.mutex = Promise.resolve(); }
|
|
28
|
+
lock() { let A = () => { }; return this.mutex = this.mutex.then((() => new Promise(A))), new Promise((I => { A = I; })); }
|
|
29
|
+
dispatch(A) { return I(this, void 0, void 0, (function* () { const I = yield this.lock(); try {
|
|
30
|
+
return yield Promise.resolve(A());
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
I();
|
|
34
|
+
} })); }
|
|
35
|
+
}
|
|
36
|
+
const Q = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : "undefined" != typeof window ? window : global, B = null !== (i = Q.Buffer) && void 0 !== i ? i : null, h = Q.TextEncoder ? new Q.TextEncoder : null;
|
|
37
|
+
function e(A, I) { return (15 & A) + (A >> 6 | A >> 3 & 8) << 4 | (15 & I) + (I >> 6 | I >> 3 & 8); }
|
|
38
|
+
function w(A, I) { const i = I.length >> 1; for (let C = 0; C < i; C++) {
|
|
39
|
+
const i = C << 1;
|
|
40
|
+
A[C] = e(I.charCodeAt(i), I.charCodeAt(i + 1));
|
|
41
|
+
} }
|
|
42
|
+
const t = "a".charCodeAt(0) - 10, o = "0".charCodeAt(0);
|
|
43
|
+
function E(A, I, i) { let C = 0; for (let g = 0; g < i; g++) {
|
|
44
|
+
let i = I[g] >>> 4;
|
|
45
|
+
A[C++] = i > 9 ? i + t : i + o, i = 15 & I[g], A[C++] = i > 9 ? i + t : i + o;
|
|
46
|
+
} return String.fromCharCode.apply(null, A); }
|
|
47
|
+
const n = null !== B ? A => { if ("string" == typeof A) {
|
|
48
|
+
const I = B.from(A, "utf8");
|
|
49
|
+
return new Uint8Array(I.buffer, I.byteOffset, I.length);
|
|
50
|
+
} if (B.isBuffer(A))
|
|
51
|
+
return new Uint8Array(A.buffer, A.byteOffset, A.length); if (ArrayBuffer.isView(A))
|
|
52
|
+
return new Uint8Array(A.buffer, A.byteOffset, A.byteLength); throw new Error("Invalid data type!"); } : A => { if ("string" == typeof A)
|
|
53
|
+
return h.encode(A); if (ArrayBuffer.isView(A))
|
|
54
|
+
return new Uint8Array(A.buffer, A.byteOffset, A.byteLength); throw new Error("Invalid data type!"); }, r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", D = new Uint8Array(256);
|
|
55
|
+
for (let A = 0; A < r.length; A++)
|
|
56
|
+
D[r.charCodeAt(A)] = A;
|
|
57
|
+
function F(A, I = !0) { const i = A.length, C = i % 3, g = [], Q = i - C; for (let I = 0; I < Q; I += 3) {
|
|
58
|
+
const i = (A[I] << 16 & 16711680) + (A[I + 1] << 8 & 65280) + (255 & A[I + 2]), C = r.charAt(i >> 18 & 63) + r.charAt(i >> 12 & 63) + r.charAt(i >> 6 & 63) + r.charAt(63 & i);
|
|
59
|
+
g.push(C);
|
|
60
|
+
} if (1 === C) {
|
|
61
|
+
const C = A[i - 1], Q = r.charAt(C >> 2), B = r.charAt(C << 4 & 63);
|
|
62
|
+
g.push(`${Q}${B}`), I && g.push("==");
|
|
63
|
+
}
|
|
64
|
+
else if (2 === C) {
|
|
65
|
+
const C = (A[i - 2] << 8) + A[i - 1], Q = r.charAt(C >> 10), B = r.charAt(C >> 4 & 63), h = r.charAt(C << 2 & 63);
|
|
66
|
+
g.push(`${Q}${B}${h}`), I && g.push("=");
|
|
67
|
+
} return g.join(""); }
|
|
68
|
+
function f(A) { let I = Math.floor(.75 * A.length); const i = A.length; return "=" === A[i - 1] && (I -= 1, "=" === A[i - 2] && (I -= 1)), I; }
|
|
69
|
+
function k(A) { const I = f(A), i = A.length, C = new Uint8Array(I); let g = 0; for (let I = 0; I < i; I += 4) {
|
|
70
|
+
const i = D[A.charCodeAt(I)], Q = D[A.charCodeAt(I + 1)], B = D[A.charCodeAt(I + 2)], h = D[A.charCodeAt(I + 3)];
|
|
71
|
+
C[g] = i << 2 | Q >> 4, g += 1, C[g] = (15 & Q) << 4 | B >> 2, g += 1, C[g] = (3 & B) << 6 | 63 & h, g += 1;
|
|
72
|
+
} return C; }
|
|
73
|
+
const a = 16384, s = new g, S = new Map;
|
|
74
|
+
function U(A, i) { return I(this, void 0, void 0, (function* () { let C = null, g = null, Q = !1; if ("undefined" == typeof WebAssembly)
|
|
75
|
+
throw new Error("WebAssembly is not supported in this environment!"); const B = () => new DataView(C.exports.memory.buffer).getUint32(C.exports.STATE_SIZE, !0), h = s.dispatch((() => I(this, void 0, void 0, (function* () { if (!S.has(A.name)) {
|
|
76
|
+
const I = k(A.data), i = WebAssembly.compile(I);
|
|
77
|
+
S.set(A.name, i);
|
|
78
|
+
} const I = yield S.get(A.name); C = yield WebAssembly.instantiate(I, {}); })))), t = (A = null) => { Q = !0, C.exports.Hash_Init(A); }, o = A => { if (!Q)
|
|
79
|
+
throw new Error("update() called before init()"); (A => { let I = 0; for (; I < A.length;) {
|
|
80
|
+
const i = A.subarray(I, I + a);
|
|
81
|
+
I += i.length, g.set(i), C.exports.Hash_Update(i.length);
|
|
82
|
+
} })(n(A)); }, r = new Uint8Array(2 * i), D = (A, I = null) => { if (!Q)
|
|
83
|
+
throw new Error("digest() called before init()"); return Q = !1, C.exports.Hash_Final(I), "binary" === A ? g.slice(0, i) : E(r, g, i); }, F = A => "string" == typeof A ? A.length < 4096 : A.byteLength < a; let f = F; switch (A.name) {
|
|
84
|
+
case "argon2":
|
|
85
|
+
case "scrypt":
|
|
86
|
+
f = () => !0;
|
|
87
|
+
break;
|
|
88
|
+
case "blake2b":
|
|
89
|
+
case "blake2s":
|
|
90
|
+
f = (A, I) => I <= 512 && F(A);
|
|
91
|
+
break;
|
|
92
|
+
case "blake3":
|
|
93
|
+
f = (A, I) => 0 === I && F(A);
|
|
94
|
+
break;
|
|
95
|
+
case "xxhash64":
|
|
96
|
+
case "xxhash3":
|
|
97
|
+
case "xxhash128":
|
|
98
|
+
case "crc64": f = () => !1;
|
|
99
|
+
} return yield (() => I(this, void 0, void 0, (function* () { C || (yield h); const A = C.exports.Hash_GetBuffer(), I = C.exports.memory.buffer; g = new Uint8Array(I, A, a); })))(), { getMemory: () => g, writeMemory: (A, I = 0) => { g.set(A, I); }, getExports: () => C.exports, setMemorySize: A => { C.exports.Hash_SetMemorySize(A); const I = C.exports.Hash_GetBuffer(), i = C.exports.memory.buffer; g = new Uint8Array(i, I, A); }, init: t, update: o, digest: D, save: () => { if (!Q)
|
|
100
|
+
throw new Error("save() can only be called after init() and before digest()"); const I = C.exports.Hash_GetState(), i = B(), g = C.exports.memory.buffer, h = new Uint8Array(g, I, i), e = new Uint8Array(4 + i); return w(e, A.hash), e.set(h, 4), e; }, load: I => { if (!(I instanceof Uint8Array))
|
|
101
|
+
throw new Error("load() expects an Uint8Array generated by save()"); const i = C.exports.Hash_GetState(), g = B(), h = 4 + g, w = C.exports.memory.buffer; if (I.length !== h)
|
|
102
|
+
throw new Error(`Bad state length (expected ${h} bytes, got ${I.length})`); if (!function (A, I) { if (A.length !== 2 * I.length)
|
|
103
|
+
return !1; for (let i = 0; i < I.length; i++) {
|
|
104
|
+
const C = i << 1;
|
|
105
|
+
if (I[i] !== e(A.charCodeAt(C), A.charCodeAt(C + 1)))
|
|
106
|
+
return !1;
|
|
107
|
+
} return !0; }(A.hash, I.subarray(0, 4)))
|
|
108
|
+
throw new Error("This state was written by an incompatible hash implementation"); const t = I.subarray(4); new Uint8Array(w, i, g).set(t), Q = !0; }, calculate: (A, I = null, Q = null) => { if (!f(A, I))
|
|
109
|
+
return t(I), o(A), D("hex", Q); const B = n(A); return g.set(B), C.exports.Hash_Calculate(B.length, I, Q), E(r, g, i); }, hashLength: i }; })); }
|
|
110
|
+
var c = { name: "blake2b", data: "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", hash: "c6f286e6" };
|
|
111
|
+
function G(A) { return !Number.isInteger(A) || A < 8 || A > 512 || A % 8 != 0 ? new Error("Invalid variant! Valid values: 8, 16, ..., 512") : null; }
|
|
112
|
+
function p(A = 512, I = null) { if (G(A))
|
|
113
|
+
return Promise.reject(G(A)); let i = null, C = A; if (null !== I) {
|
|
114
|
+
if (i = n(I), i.length > 64)
|
|
115
|
+
return Promise.reject(new Error("Max key length is 64 bytes"));
|
|
116
|
+
g = A, Q = i.length, C = g | Q << 16;
|
|
117
|
+
} var g, Q; const B = A / 8; return U(c, B).then((A => { C > 512 && A.writeMemory(i), A.init(C); const I = { init: C > 512 ? () => (A.writeMemory(i), A.init(C), I) : () => (A.init(C), I), update: i => (A.update(i), I), digest: I => A.digest(I), save: () => A.save(), load: i => (A.load(i), I), blockSize: 128, digestSize: B }; return I; })); }
|
|
118
|
+
new g;
|
|
119
|
+
const y = new DataView(new ArrayBuffer(4));
|
|
120
|
+
function J(A) { return y.setInt32(0, A, !0), new Uint8Array(y.buffer); }
|
|
121
|
+
function l(A, i, C) { return I(this, void 0, void 0, (function* () { if (C <= 64) {
|
|
122
|
+
const A = yield p(8 * C);
|
|
123
|
+
return A.update(J(C)), A.update(i), A.digest("binary");
|
|
124
|
+
} const I = Math.ceil(C / 32) - 2, g = new Uint8Array(C); A.init(), A.update(J(C)), A.update(i); let Q = A.digest("binary"); g.set(Q.subarray(0, 32), 0); for (let i = 1; i < I; i++)
|
|
125
|
+
A.init(), A.update(Q), Q = A.digest("binary"), g.set(Q.subarray(0, 32), 32 * i); const B = C - 32 * I; let h; return 64 === B ? (h = A, h.init()) : h = yield p(8 * B), h.update(Q), Q = h.digest("binary"), g.set(Q.subarray(0, B), 32 * I), g; })); }
|
|
126
|
+
function u(A) { return I(this, void 0, void 0, (function* () { var I; const { parallelism: i, iterations: g, hashLength: Q } = A, B = n(A.password), h = n(A.salt), e = function (A) { switch (A) {
|
|
127
|
+
case "d": return 0;
|
|
128
|
+
case "i": return 1;
|
|
129
|
+
default: return 2;
|
|
130
|
+
} }(A.hashType), { memorySize: t } = A, o = n(null !== (I = A.secret) && void 0 !== I ? I : ""), [r, D] = yield Promise.all([U(C, 1024), p(512)]); r.setMemorySize(1024 * t + 1024); const f = new Uint8Array(24), k = new DataView(f.buffer); k.setInt32(0, i, !0), k.setInt32(4, Q, !0), k.setInt32(8, t, !0), k.setInt32(12, g, !0), k.setInt32(16, 19, !0), k.setInt32(20, e, !0), r.writeMemory(f, 1024 * t), D.init(), D.update(f), D.update(J(B.length)), D.update(B), D.update(J(h.length)), D.update(h), D.update(J(o.length)), D.update(o), D.update(J(0)); const a = 4 * Math.floor(t / (4 * i)), s = new Uint8Array(72), S = D.digest("binary"); s.set(S); for (let A = 0; A < i; A++) {
|
|
131
|
+
s.set(J(0), 64), s.set(J(A), 68);
|
|
132
|
+
let I = A * a, i = yield l(D, s, 1024);
|
|
133
|
+
r.writeMemory(i, 1024 * I), I += 1, s.set(J(1), 64), i = yield l(D, s, 1024), r.writeMemory(i, 1024 * I);
|
|
134
|
+
} const c = new Uint8Array(1024); w(c, r.calculate(new Uint8Array([]), t)); const G = yield l(D, c, Q); if ("hex" === A.outputType) {
|
|
135
|
+
return E(new Uint8Array(2 * Q), G, Q);
|
|
136
|
+
} return "encoded" === A.outputType ? function (A, I, i) { const C = [`m=${I.memorySize}`, `t=${I.iterations}`, `p=${I.parallelism}`].join(","); return `$argon2${I.hashType}$v=19$${C}$${F(A, !1)}$${F(i, !1)}`; }(h, A, G) : G; })); }
|
|
137
|
+
const H = A => { var I; if (!A || "object" != typeof A)
|
|
138
|
+
throw new Error("Invalid options parameter. It requires an object."); if (!A.password)
|
|
139
|
+
throw new Error("Password must be specified"); if (A.password = n(A.password), A.password.length < 1)
|
|
140
|
+
throw new Error("Password must be specified"); if (!A.salt)
|
|
141
|
+
throw new Error("Salt must be specified"); if (A.salt = n(A.salt), A.salt.length < 8)
|
|
142
|
+
throw new Error("Salt should be at least 8 bytes long"); if (A.secret = n(null !== (I = A.secret) && void 0 !== I ? I : ""), !Number.isInteger(A.iterations) || A.iterations < 1)
|
|
143
|
+
throw new Error("Iterations should be a positive number"); if (!Number.isInteger(A.parallelism) || A.parallelism < 1)
|
|
144
|
+
throw new Error("Parallelism should be a positive number"); if (!Number.isInteger(A.hashLength) || A.hashLength < 4)
|
|
145
|
+
throw new Error("Hash length should be at least 4 bytes."); if (!Number.isInteger(A.memorySize))
|
|
146
|
+
throw new Error("Memory size should be specified."); if (A.memorySize < 8 * A.parallelism)
|
|
147
|
+
throw new Error("Memory size should be at least 8 * parallelism."); if (void 0 === A.outputType && (A.outputType = "hex"), !["hex", "binary", "encoded"].includes(A.outputType))
|
|
148
|
+
throw new Error(`Insupported output type ${A.outputType}. Valid values: ['hex', 'binary', 'encoded']`); };
|
|
149
|
+
A.argon2Verify = function (A) { return I(this, void 0, void 0, (function* () { (A => { if (!A || "object" != typeof A)
|
|
150
|
+
throw new Error("Invalid options parameter. It requires an object."); if (void 0 === A.hash || "string" != typeof A.hash)
|
|
151
|
+
throw new Error("Hash should be specified"); })(A); const I = ((A, I, i) => { const C = I.match(/^\$argon2(id|i|d)\$v=([0-9]+)\$((?:[mtp]=[0-9]+,){2}[mtp]=[0-9]+)\$([A-Za-z0-9+/]+)\$([A-Za-z0-9+/]+)$/); if (!C)
|
|
152
|
+
throw new Error("Invalid hash"); const [, g, Q, B, h, e] = C; if ("19" !== Q)
|
|
153
|
+
throw new Error(`Unsupported version: ${Q}`); const w = {}, t = { m: "memorySize", p: "parallelism", t: "iterations" }; for (const A of B.split(",")) {
|
|
154
|
+
const [I, i] = A.split("=");
|
|
155
|
+
w[t[I]] = Number(i);
|
|
156
|
+
} return Object.assign(Object.assign({}, w), { password: A, secret: i, hashType: g, salt: k(h), hashLength: f(e), outputType: "encoded" }); })(A.password, A.hash, A.secret); H(I); const i = A.hash.lastIndexOf("$") + 1; return (yield u(I)).substring(i) === A.hash.substring(i); })); }, A.argon2d = function (A) { return I(this, void 0, void 0, (function* () { return H(A), u(Object.assign(Object.assign({}, A), { hashType: "d" })); })); }, A.argon2i = function (A) { return I(this, void 0, void 0, (function* () { return H(A), u(Object.assign(Object.assign({}, A), { hashType: "i" })); })); }, A.argon2id = function (A) { return I(this, void 0, void 0, (function* () { return H(A), u(Object.assign(Object.assign({}, A), { hashType: "id" })); })); };
|
|
157
|
+
}));
|
|
158
|
+
// VENDOR-END
|
|
159
|
+
return exports;
|
|
160
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wordlist.ts — BIP39 英文詞表(2048 詞,標準常數;非任何套件的碼)。
|
|
3
|
+
* 源:BIP39 官方 english wordlist(經 @scure/bip39 v2.4.0 wordlists/english.js 校對)。
|
|
4
|
+
* MIT (c) 2022 Patricio Palladino, Paul Miller(@scure/bip39)。
|
|
5
|
+
* 契約:全小寫 a-z、恰 2048 詞、索引即 11-bit 編碼值;只供 kit 轉寫層使用。
|
|
6
|
+
*/
|
|
7
|
+
export declare const wordlist: readonly string[];
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* wordlist.ts — BIP39 英文詞表(2048 詞,標準常數;非任何套件的碼)。
|
|
3
|
+
* 源:BIP39 官方 english wordlist(經 @scure/bip39 v2.4.0 wordlists/english.js 校對)。
|
|
4
|
+
* MIT (c) 2022 Patricio Palladino, Paul Miller(@scure/bip39)。
|
|
5
|
+
* 契約:全小寫 a-z、恰 2048 詞、索引即 11-bit 編碼值;只供 kit 轉寫層使用。
|
|
6
|
+
*/
|
|
7
|
+
export const wordlist = Object.freeze([
|
|
8
|
+
'abandon', 'ability', 'able', 'about', 'above', 'absent', 'absorb', 'abstract',
|
|
9
|
+
'absurd', 'abuse', 'access', 'accident', 'account', 'accuse', 'achieve', 'acid',
|
|
10
|
+
'acoustic', 'acquire', 'across', 'act', 'action', 'actor', 'actress', 'actual',
|
|
11
|
+
'adapt', 'add', 'addict', 'address', 'adjust', 'admit', 'adult', 'advance',
|
|
12
|
+
'advice', 'aerobic', 'affair', 'afford', 'afraid', 'again', 'age', 'agent',
|
|
13
|
+
'agree', 'ahead', 'aim', 'air', 'airport', 'aisle', 'alarm', 'album',
|
|
14
|
+
'alcohol', 'alert', 'alien', 'all', 'alley', 'allow', 'almost', 'alone',
|
|
15
|
+
'alpha', 'already', 'also', 'alter', 'always', 'amateur', 'amazing', 'among',
|
|
16
|
+
'amount', 'amused', 'analyst', 'anchor', 'ancient', 'anger', 'angle', 'angry',
|
|
17
|
+
'animal', 'ankle', 'announce', 'annual', 'another', 'answer', 'antenna', 'antique',
|
|
18
|
+
'anxiety', 'any', 'apart', 'apology', 'appear', 'apple', 'approve', 'april',
|
|
19
|
+
'arch', 'arctic', 'area', 'arena', 'argue', 'arm', 'armed', 'armor',
|
|
20
|
+
'army', 'around', 'arrange', 'arrest', 'arrive', 'arrow', 'art', 'artefact',
|
|
21
|
+
'artist', 'artwork', 'ask', 'aspect', 'assault', 'asset', 'assist', 'assume',
|
|
22
|
+
'asthma', 'athlete', 'atom', 'attack', 'attend', 'attitude', 'attract', 'auction',
|
|
23
|
+
'audit', 'august', 'aunt', 'author', 'auto', 'autumn', 'average', 'avocado',
|
|
24
|
+
'avoid', 'awake', 'aware', 'away', 'awesome', 'awful', 'awkward', 'axis',
|
|
25
|
+
'baby', 'bachelor', 'bacon', 'badge', 'bag', 'balance', 'balcony', 'ball',
|
|
26
|
+
'bamboo', 'banana', 'banner', 'bar', 'barely', 'bargain', 'barrel', 'base',
|
|
27
|
+
'basic', 'basket', 'battle', 'beach', 'bean', 'beauty', 'because', 'become',
|
|
28
|
+
'beef', 'before', 'begin', 'behave', 'behind', 'believe', 'below', 'belt',
|
|
29
|
+
'bench', 'benefit', 'best', 'betray', 'better', 'between', 'beyond', 'bicycle',
|
|
30
|
+
'bid', 'bike', 'bind', 'biology', 'bird', 'birth', 'bitter', 'black',
|
|
31
|
+
'blade', 'blame', 'blanket', 'blast', 'bleak', 'bless', 'blind', 'blood',
|
|
32
|
+
'blossom', 'blouse', 'blue', 'blur', 'blush', 'board', 'boat', 'body',
|
|
33
|
+
'boil', 'bomb', 'bone', 'bonus', 'book', 'boost', 'border', 'boring',
|
|
34
|
+
'borrow', 'boss', 'bottom', 'bounce', 'box', 'boy', 'bracket', 'brain',
|
|
35
|
+
'brand', 'brass', 'brave', 'bread', 'breeze', 'brick', 'bridge', 'brief',
|
|
36
|
+
'bright', 'bring', 'brisk', 'broccoli', 'broken', 'bronze', 'broom', 'brother',
|
|
37
|
+
'brown', 'brush', 'bubble', 'buddy', 'budget', 'buffalo', 'build', 'bulb',
|
|
38
|
+
'bulk', 'bullet', 'bundle', 'bunker', 'burden', 'burger', 'burst', 'bus',
|
|
39
|
+
'business', 'busy', 'butter', 'buyer', 'buzz', 'cabbage', 'cabin', 'cable',
|
|
40
|
+
'cactus', 'cage', 'cake', 'call', 'calm', 'camera', 'camp', 'can',
|
|
41
|
+
'canal', 'cancel', 'candy', 'cannon', 'canoe', 'canvas', 'canyon', 'capable',
|
|
42
|
+
'capital', 'captain', 'car', 'carbon', 'card', 'cargo', 'carpet', 'carry',
|
|
43
|
+
'cart', 'case', 'cash', 'casino', 'castle', 'casual', 'cat', 'catalog',
|
|
44
|
+
'catch', 'category', 'cattle', 'caught', 'cause', 'caution', 'cave', 'ceiling',
|
|
45
|
+
'celery', 'cement', 'census', 'century', 'cereal', 'certain', 'chair', 'chalk',
|
|
46
|
+
'champion', 'change', 'chaos', 'chapter', 'charge', 'chase', 'chat', 'cheap',
|
|
47
|
+
'check', 'cheese', 'chef', 'cherry', 'chest', 'chicken', 'chief', 'child',
|
|
48
|
+
'chimney', 'choice', 'choose', 'chronic', 'chuckle', 'chunk', 'churn', 'cigar',
|
|
49
|
+
'cinnamon', 'circle', 'citizen', 'city', 'civil', 'claim', 'clap', 'clarify',
|
|
50
|
+
'claw', 'clay', 'clean', 'clerk', 'clever', 'click', 'client', 'cliff',
|
|
51
|
+
'climb', 'clinic', 'clip', 'clock', 'clog', 'close', 'cloth', 'cloud',
|
|
52
|
+
'clown', 'club', 'clump', 'cluster', 'clutch', 'coach', 'coast', 'coconut',
|
|
53
|
+
'code', 'coffee', 'coil', 'coin', 'collect', 'color', 'column', 'combine',
|
|
54
|
+
'come', 'comfort', 'comic', 'common', 'company', 'concert', 'conduct', 'confirm',
|
|
55
|
+
'congress', 'connect', 'consider', 'control', 'convince', 'cook', 'cool', 'copper',
|
|
56
|
+
'copy', 'coral', 'core', 'corn', 'correct', 'cost', 'cotton', 'couch',
|
|
57
|
+
'country', 'couple', 'course', 'cousin', 'cover', 'coyote', 'crack', 'cradle',
|
|
58
|
+
'craft', 'cram', 'crane', 'crash', 'crater', 'crawl', 'crazy', 'cream',
|
|
59
|
+
'credit', 'creek', 'crew', 'cricket', 'crime', 'crisp', 'critic', 'crop',
|
|
60
|
+
'cross', 'crouch', 'crowd', 'crucial', 'cruel', 'cruise', 'crumble', 'crunch',
|
|
61
|
+
'crush', 'cry', 'crystal', 'cube', 'culture', 'cup', 'cupboard', 'curious',
|
|
62
|
+
'current', 'curtain', 'curve', 'cushion', 'custom', 'cute', 'cycle', 'dad',
|
|
63
|
+
'damage', 'damp', 'dance', 'danger', 'daring', 'dash', 'daughter', 'dawn',
|
|
64
|
+
'day', 'deal', 'debate', 'debris', 'decade', 'december', 'decide', 'decline',
|
|
65
|
+
'decorate', 'decrease', 'deer', 'defense', 'define', 'defy', 'degree', 'delay',
|
|
66
|
+
'deliver', 'demand', 'demise', 'denial', 'dentist', 'deny', 'depart', 'depend',
|
|
67
|
+
'deposit', 'depth', 'deputy', 'derive', 'describe', 'desert', 'design', 'desk',
|
|
68
|
+
'despair', 'destroy', 'detail', 'detect', 'develop', 'device', 'devote', 'diagram',
|
|
69
|
+
'dial', 'diamond', 'diary', 'dice', 'diesel', 'diet', 'differ', 'digital',
|
|
70
|
+
'dignity', 'dilemma', 'dinner', 'dinosaur', 'direct', 'dirt', 'disagree', 'discover',
|
|
71
|
+
'disease', 'dish', 'dismiss', 'disorder', 'display', 'distance', 'divert', 'divide',
|
|
72
|
+
'divorce', 'dizzy', 'doctor', 'document', 'dog', 'doll', 'dolphin', 'domain',
|
|
73
|
+
'donate', 'donkey', 'donor', 'door', 'dose', 'double', 'dove', 'draft',
|
|
74
|
+
'dragon', 'drama', 'drastic', 'draw', 'dream', 'dress', 'drift', 'drill',
|
|
75
|
+
'drink', 'drip', 'drive', 'drop', 'drum', 'dry', 'duck', 'dumb',
|
|
76
|
+
'dune', 'during', 'dust', 'dutch', 'duty', 'dwarf', 'dynamic', 'eager',
|
|
77
|
+
'eagle', 'early', 'earn', 'earth', 'easily', 'east', 'easy', 'echo',
|
|
78
|
+
'ecology', 'economy', 'edge', 'edit', 'educate', 'effort', 'egg', 'eight',
|
|
79
|
+
'either', 'elbow', 'elder', 'electric', 'elegant', 'element', 'elephant', 'elevator',
|
|
80
|
+
'elite', 'else', 'embark', 'embody', 'embrace', 'emerge', 'emotion', 'employ',
|
|
81
|
+
'empower', 'empty', 'enable', 'enact', 'end', 'endless', 'endorse', 'enemy',
|
|
82
|
+
'energy', 'enforce', 'engage', 'engine', 'enhance', 'enjoy', 'enlist', 'enough',
|
|
83
|
+
'enrich', 'enroll', 'ensure', 'enter', 'entire', 'entry', 'envelope', 'episode',
|
|
84
|
+
'equal', 'equip', 'era', 'erase', 'erode', 'erosion', 'error', 'erupt',
|
|
85
|
+
'escape', 'essay', 'essence', 'estate', 'eternal', 'ethics', 'evidence', 'evil',
|
|
86
|
+
'evoke', 'evolve', 'exact', 'example', 'excess', 'exchange', 'excite', 'exclude',
|
|
87
|
+
'excuse', 'execute', 'exercise', 'exhaust', 'exhibit', 'exile', 'exist', 'exit',
|
|
88
|
+
'exotic', 'expand', 'expect', 'expire', 'explain', 'expose', 'express', 'extend',
|
|
89
|
+
'extra', 'eye', 'eyebrow', 'fabric', 'face', 'faculty', 'fade', 'faint',
|
|
90
|
+
'faith', 'fall', 'false', 'fame', 'family', 'famous', 'fan', 'fancy',
|
|
91
|
+
'fantasy', 'farm', 'fashion', 'fat', 'fatal', 'father', 'fatigue', 'fault',
|
|
92
|
+
'favorite', 'feature', 'february', 'federal', 'fee', 'feed', 'feel', 'female',
|
|
93
|
+
'fence', 'festival', 'fetch', 'fever', 'few', 'fiber', 'fiction', 'field',
|
|
94
|
+
'figure', 'file', 'film', 'filter', 'final', 'find', 'fine', 'finger',
|
|
95
|
+
'finish', 'fire', 'firm', 'first', 'fiscal', 'fish', 'fit', 'fitness',
|
|
96
|
+
'fix', 'flag', 'flame', 'flash', 'flat', 'flavor', 'flee', 'flight',
|
|
97
|
+
'flip', 'float', 'flock', 'floor', 'flower', 'fluid', 'flush', 'fly',
|
|
98
|
+
'foam', 'focus', 'fog', 'foil', 'fold', 'follow', 'food', 'foot',
|
|
99
|
+
'force', 'forest', 'forget', 'fork', 'fortune', 'forum', 'forward', 'fossil',
|
|
100
|
+
'foster', 'found', 'fox', 'fragile', 'frame', 'frequent', 'fresh', 'friend',
|
|
101
|
+
'fringe', 'frog', 'front', 'frost', 'frown', 'frozen', 'fruit', 'fuel',
|
|
102
|
+
'fun', 'funny', 'furnace', 'fury', 'future', 'gadget', 'gain', 'galaxy',
|
|
103
|
+
'gallery', 'game', 'gap', 'garage', 'garbage', 'garden', 'garlic', 'garment',
|
|
104
|
+
'gas', 'gasp', 'gate', 'gather', 'gauge', 'gaze', 'general', 'genius',
|
|
105
|
+
'genre', 'gentle', 'genuine', 'gesture', 'ghost', 'giant', 'gift', 'giggle',
|
|
106
|
+
'ginger', 'giraffe', 'girl', 'give', 'glad', 'glance', 'glare', 'glass',
|
|
107
|
+
'glide', 'glimpse', 'globe', 'gloom', 'glory', 'glove', 'glow', 'glue',
|
|
108
|
+
'goat', 'goddess', 'gold', 'good', 'goose', 'gorilla', 'gospel', 'gossip',
|
|
109
|
+
'govern', 'gown', 'grab', 'grace', 'grain', 'grant', 'grape', 'grass',
|
|
110
|
+
'gravity', 'great', 'green', 'grid', 'grief', 'grit', 'grocery', 'group',
|
|
111
|
+
'grow', 'grunt', 'guard', 'guess', 'guide', 'guilt', 'guitar', 'gun',
|
|
112
|
+
'gym', 'habit', 'hair', 'half', 'hammer', 'hamster', 'hand', 'happy',
|
|
113
|
+
'harbor', 'hard', 'harsh', 'harvest', 'hat', 'have', 'hawk', 'hazard',
|
|
114
|
+
'head', 'health', 'heart', 'heavy', 'hedgehog', 'height', 'hello', 'helmet',
|
|
115
|
+
'help', 'hen', 'hero', 'hidden', 'high', 'hill', 'hint', 'hip',
|
|
116
|
+
'hire', 'history', 'hobby', 'hockey', 'hold', 'hole', 'holiday', 'hollow',
|
|
117
|
+
'home', 'honey', 'hood', 'hope', 'horn', 'horror', 'horse', 'hospital',
|
|
118
|
+
'host', 'hotel', 'hour', 'hover', 'hub', 'huge', 'human', 'humble',
|
|
119
|
+
'humor', 'hundred', 'hungry', 'hunt', 'hurdle', 'hurry', 'hurt', 'husband',
|
|
120
|
+
'hybrid', 'ice', 'icon', 'idea', 'identify', 'idle', 'ignore', 'ill',
|
|
121
|
+
'illegal', 'illness', 'image', 'imitate', 'immense', 'immune', 'impact', 'impose',
|
|
122
|
+
'improve', 'impulse', 'inch', 'include', 'income', 'increase', 'index', 'indicate',
|
|
123
|
+
'indoor', 'industry', 'infant', 'inflict', 'inform', 'inhale', 'inherit', 'initial',
|
|
124
|
+
'inject', 'injury', 'inmate', 'inner', 'innocent', 'input', 'inquiry', 'insane',
|
|
125
|
+
'insect', 'inside', 'inspire', 'install', 'intact', 'interest', 'into', 'invest',
|
|
126
|
+
'invite', 'involve', 'iron', 'island', 'isolate', 'issue', 'item', 'ivory',
|
|
127
|
+
'jacket', 'jaguar', 'jar', 'jazz', 'jealous', 'jeans', 'jelly', 'jewel',
|
|
128
|
+
'job', 'join', 'joke', 'journey', 'joy', 'judge', 'juice', 'jump',
|
|
129
|
+
'jungle', 'junior', 'junk', 'just', 'kangaroo', 'keen', 'keep', 'ketchup',
|
|
130
|
+
'key', 'kick', 'kid', 'kidney', 'kind', 'kingdom', 'kiss', 'kit',
|
|
131
|
+
'kitchen', 'kite', 'kitten', 'kiwi', 'knee', 'knife', 'knock', 'know',
|
|
132
|
+
'lab', 'label', 'labor', 'ladder', 'lady', 'lake', 'lamp', 'language',
|
|
133
|
+
'laptop', 'large', 'later', 'latin', 'laugh', 'laundry', 'lava', 'law',
|
|
134
|
+
'lawn', 'lawsuit', 'layer', 'lazy', 'leader', 'leaf', 'learn', 'leave',
|
|
135
|
+
'lecture', 'left', 'leg', 'legal', 'legend', 'leisure', 'lemon', 'lend',
|
|
136
|
+
'length', 'lens', 'leopard', 'lesson', 'letter', 'level', 'liar', 'liberty',
|
|
137
|
+
'library', 'license', 'life', 'lift', 'light', 'like', 'limb', 'limit',
|
|
138
|
+
'link', 'lion', 'liquid', 'list', 'little', 'live', 'lizard', 'load',
|
|
139
|
+
'loan', 'lobster', 'local', 'lock', 'logic', 'lonely', 'long', 'loop',
|
|
140
|
+
'lottery', 'loud', 'lounge', 'love', 'loyal', 'lucky', 'luggage', 'lumber',
|
|
141
|
+
'lunar', 'lunch', 'luxury', 'lyrics', 'machine', 'mad', 'magic', 'magnet',
|
|
142
|
+
'maid', 'mail', 'main', 'major', 'make', 'mammal', 'man', 'manage',
|
|
143
|
+
'mandate', 'mango', 'mansion', 'manual', 'maple', 'marble', 'march', 'margin',
|
|
144
|
+
'marine', 'market', 'marriage', 'mask', 'mass', 'master', 'match', 'material',
|
|
145
|
+
'math', 'matrix', 'matter', 'maximum', 'maze', 'meadow', 'mean', 'measure',
|
|
146
|
+
'meat', 'mechanic', 'medal', 'media', 'melody', 'melt', 'member', 'memory',
|
|
147
|
+
'mention', 'menu', 'mercy', 'merge', 'merit', 'merry', 'mesh', 'message',
|
|
148
|
+
'metal', 'method', 'middle', 'midnight', 'milk', 'million', 'mimic', 'mind',
|
|
149
|
+
'minimum', 'minor', 'minute', 'miracle', 'mirror', 'misery', 'miss', 'mistake',
|
|
150
|
+
'mix', 'mixed', 'mixture', 'mobile', 'model', 'modify', 'mom', 'moment',
|
|
151
|
+
'monitor', 'monkey', 'monster', 'month', 'moon', 'moral', 'more', 'morning',
|
|
152
|
+
'mosquito', 'mother', 'motion', 'motor', 'mountain', 'mouse', 'move', 'movie',
|
|
153
|
+
'much', 'muffin', 'mule', 'multiply', 'muscle', 'museum', 'mushroom', 'music',
|
|
154
|
+
'must', 'mutual', 'myself', 'mystery', 'myth', 'naive', 'name', 'napkin',
|
|
155
|
+
'narrow', 'nasty', 'nation', 'nature', 'near', 'neck', 'need', 'negative',
|
|
156
|
+
'neglect', 'neither', 'nephew', 'nerve', 'nest', 'net', 'network', 'neutral',
|
|
157
|
+
'never', 'news', 'next', 'nice', 'night', 'noble', 'noise', 'nominee',
|
|
158
|
+
'noodle', 'normal', 'north', 'nose', 'notable', 'note', 'nothing', 'notice',
|
|
159
|
+
'novel', 'now', 'nuclear', 'number', 'nurse', 'nut', 'oak', 'obey',
|
|
160
|
+
'object', 'oblige', 'obscure', 'observe', 'obtain', 'obvious', 'occur', 'ocean',
|
|
161
|
+
'october', 'odor', 'off', 'offer', 'office', 'often', 'oil', 'okay',
|
|
162
|
+
'old', 'olive', 'olympic', 'omit', 'once', 'one', 'onion', 'online',
|
|
163
|
+
'only', 'open', 'opera', 'opinion', 'oppose', 'option', 'orange', 'orbit',
|
|
164
|
+
'orchard', 'order', 'ordinary', 'organ', 'orient', 'original', 'orphan', 'ostrich',
|
|
165
|
+
'other', 'outdoor', 'outer', 'output', 'outside', 'oval', 'oven', 'over',
|
|
166
|
+
'own', 'owner', 'oxygen', 'oyster', 'ozone', 'pact', 'paddle', 'page',
|
|
167
|
+
'pair', 'palace', 'palm', 'panda', 'panel', 'panic', 'panther', 'paper',
|
|
168
|
+
'parade', 'parent', 'park', 'parrot', 'party', 'pass', 'patch', 'path',
|
|
169
|
+
'patient', 'patrol', 'pattern', 'pause', 'pave', 'payment', 'peace', 'peanut',
|
|
170
|
+
'pear', 'peasant', 'pelican', 'pen', 'penalty', 'pencil', 'people', 'pepper',
|
|
171
|
+
'perfect', 'permit', 'person', 'pet', 'phone', 'photo', 'phrase', 'physical',
|
|
172
|
+
'piano', 'picnic', 'picture', 'piece', 'pig', 'pigeon', 'pill', 'pilot',
|
|
173
|
+
'pink', 'pioneer', 'pipe', 'pistol', 'pitch', 'pizza', 'place', 'planet',
|
|
174
|
+
'plastic', 'plate', 'play', 'please', 'pledge', 'pluck', 'plug', 'plunge',
|
|
175
|
+
'poem', 'poet', 'point', 'polar', 'pole', 'police', 'pond', 'pony',
|
|
176
|
+
'pool', 'popular', 'portion', 'position', 'possible', 'post', 'potato', 'pottery',
|
|
177
|
+
'poverty', 'powder', 'power', 'practice', 'praise', 'predict', 'prefer', 'prepare',
|
|
178
|
+
'present', 'pretty', 'prevent', 'price', 'pride', 'primary', 'print', 'priority',
|
|
179
|
+
'prison', 'private', 'prize', 'problem', 'process', 'produce', 'profit', 'program',
|
|
180
|
+
'project', 'promote', 'proof', 'property', 'prosper', 'protect', 'proud', 'provide',
|
|
181
|
+
'public', 'pudding', 'pull', 'pulp', 'pulse', 'pumpkin', 'punch', 'pupil',
|
|
182
|
+
'puppy', 'purchase', 'purity', 'purpose', 'purse', 'push', 'put', 'puzzle',
|
|
183
|
+
'pyramid', 'quality', 'quantum', 'quarter', 'question', 'quick', 'quit', 'quiz',
|
|
184
|
+
'quote', 'rabbit', 'raccoon', 'race', 'rack', 'radar', 'radio', 'rail',
|
|
185
|
+
'rain', 'raise', 'rally', 'ramp', 'ranch', 'random', 'range', 'rapid',
|
|
186
|
+
'rare', 'rate', 'rather', 'raven', 'raw', 'razor', 'ready', 'real',
|
|
187
|
+
'reason', 'rebel', 'rebuild', 'recall', 'receive', 'recipe', 'record', 'recycle',
|
|
188
|
+
'reduce', 'reflect', 'reform', 'refuse', 'region', 'regret', 'regular', 'reject',
|
|
189
|
+
'relax', 'release', 'relief', 'rely', 'remain', 'remember', 'remind', 'remove',
|
|
190
|
+
'render', 'renew', 'rent', 'reopen', 'repair', 'repeat', 'replace', 'report',
|
|
191
|
+
'require', 'rescue', 'resemble', 'resist', 'resource', 'response', 'result', 'retire',
|
|
192
|
+
'retreat', 'return', 'reunion', 'reveal', 'review', 'reward', 'rhythm', 'rib',
|
|
193
|
+
'ribbon', 'rice', 'rich', 'ride', 'ridge', 'rifle', 'right', 'rigid',
|
|
194
|
+
'ring', 'riot', 'ripple', 'risk', 'ritual', 'rival', 'river', 'road',
|
|
195
|
+
'roast', 'robot', 'robust', 'rocket', 'romance', 'roof', 'rookie', 'room',
|
|
196
|
+
'rose', 'rotate', 'rough', 'round', 'route', 'royal', 'rubber', 'rude',
|
|
197
|
+
'rug', 'rule', 'run', 'runway', 'rural', 'sad', 'saddle', 'sadness',
|
|
198
|
+
'safe', 'sail', 'salad', 'salmon', 'salon', 'salt', 'salute', 'same',
|
|
199
|
+
'sample', 'sand', 'satisfy', 'satoshi', 'sauce', 'sausage', 'save', 'say',
|
|
200
|
+
'scale', 'scan', 'scare', 'scatter', 'scene', 'scheme', 'school', 'science',
|
|
201
|
+
'scissors', 'scorpion', 'scout', 'scrap', 'screen', 'script', 'scrub', 'sea',
|
|
202
|
+
'search', 'season', 'seat', 'second', 'secret', 'section', 'security', 'seed',
|
|
203
|
+
'seek', 'segment', 'select', 'sell', 'seminar', 'senior', 'sense', 'sentence',
|
|
204
|
+
'series', 'service', 'session', 'settle', 'setup', 'seven', 'shadow', 'shaft',
|
|
205
|
+
'shallow', 'share', 'shed', 'shell', 'sheriff', 'shield', 'shift', 'shine',
|
|
206
|
+
'ship', 'shiver', 'shock', 'shoe', 'shoot', 'shop', 'short', 'shoulder',
|
|
207
|
+
'shove', 'shrimp', 'shrug', 'shuffle', 'shy', 'sibling', 'sick', 'side',
|
|
208
|
+
'siege', 'sight', 'sign', 'silent', 'silk', 'silly', 'silver', 'similar',
|
|
209
|
+
'simple', 'since', 'sing', 'siren', 'sister', 'situate', 'six', 'size',
|
|
210
|
+
'skate', 'sketch', 'ski', 'skill', 'skin', 'skirt', 'skull', 'slab',
|
|
211
|
+
'slam', 'sleep', 'slender', 'slice', 'slide', 'slight', 'slim', 'slogan',
|
|
212
|
+
'slot', 'slow', 'slush', 'small', 'smart', 'smile', 'smoke', 'smooth',
|
|
213
|
+
'snack', 'snake', 'snap', 'sniff', 'snow', 'soap', 'soccer', 'social',
|
|
214
|
+
'sock', 'soda', 'soft', 'solar', 'soldier', 'solid', 'solution', 'solve',
|
|
215
|
+
'someone', 'song', 'soon', 'sorry', 'sort', 'soul', 'sound', 'soup',
|
|
216
|
+
'source', 'south', 'space', 'spare', 'spatial', 'spawn', 'speak', 'special',
|
|
217
|
+
'speed', 'spell', 'spend', 'sphere', 'spice', 'spider', 'spike', 'spin',
|
|
218
|
+
'spirit', 'split', 'spoil', 'sponsor', 'spoon', 'sport', 'spot', 'spray',
|
|
219
|
+
'spread', 'spring', 'spy', 'square', 'squeeze', 'squirrel', 'stable', 'stadium',
|
|
220
|
+
'staff', 'stage', 'stairs', 'stamp', 'stand', 'start', 'state', 'stay',
|
|
221
|
+
'steak', 'steel', 'stem', 'step', 'stereo', 'stick', 'still', 'sting',
|
|
222
|
+
'stock', 'stomach', 'stone', 'stool', 'story', 'stove', 'strategy', 'street',
|
|
223
|
+
'strike', 'strong', 'struggle', 'student', 'stuff', 'stumble', 'style', 'subject',
|
|
224
|
+
'submit', 'subway', 'success', 'such', 'sudden', 'suffer', 'sugar', 'suggest',
|
|
225
|
+
'suit', 'summer', 'sun', 'sunny', 'sunset', 'super', 'supply', 'supreme',
|
|
226
|
+
'sure', 'surface', 'surge', 'surprise', 'surround', 'survey', 'suspect', 'sustain',
|
|
227
|
+
'swallow', 'swamp', 'swap', 'swarm', 'swear', 'sweet', 'swift', 'swim',
|
|
228
|
+
'swing', 'switch', 'sword', 'symbol', 'symptom', 'syrup', 'system', 'table',
|
|
229
|
+
'tackle', 'tag', 'tail', 'talent', 'talk', 'tank', 'tape', 'target',
|
|
230
|
+
'task', 'taste', 'tattoo', 'taxi', 'teach', 'team', 'tell', 'ten',
|
|
231
|
+
'tenant', 'tennis', 'tent', 'term', 'test', 'text', 'thank', 'that',
|
|
232
|
+
'theme', 'then', 'theory', 'there', 'they', 'thing', 'this', 'thought',
|
|
233
|
+
'three', 'thrive', 'throw', 'thumb', 'thunder', 'ticket', 'tide', 'tiger',
|
|
234
|
+
'tilt', 'timber', 'time', 'tiny', 'tip', 'tired', 'tissue', 'title',
|
|
235
|
+
'toast', 'tobacco', 'today', 'toddler', 'toe', 'together', 'toilet', 'token',
|
|
236
|
+
'tomato', 'tomorrow', 'tone', 'tongue', 'tonight', 'tool', 'tooth', 'top',
|
|
237
|
+
'topic', 'topple', 'torch', 'tornado', 'tortoise', 'toss', 'total', 'tourist',
|
|
238
|
+
'toward', 'tower', 'town', 'toy', 'track', 'trade', 'traffic', 'tragic',
|
|
239
|
+
'train', 'transfer', 'trap', 'trash', 'travel', 'tray', 'treat', 'tree',
|
|
240
|
+
'trend', 'trial', 'tribe', 'trick', 'trigger', 'trim', 'trip', 'trophy',
|
|
241
|
+
'trouble', 'truck', 'true', 'truly', 'trumpet', 'trust', 'truth', 'try',
|
|
242
|
+
'tube', 'tuition', 'tumble', 'tuna', 'tunnel', 'turkey', 'turn', 'turtle',
|
|
243
|
+
'twelve', 'twenty', 'twice', 'twin', 'twist', 'two', 'type', 'typical',
|
|
244
|
+
'ugly', 'umbrella', 'unable', 'unaware', 'uncle', 'uncover', 'under', 'undo',
|
|
245
|
+
'unfair', 'unfold', 'unhappy', 'uniform', 'unique', 'unit', 'universe', 'unknown',
|
|
246
|
+
'unlock', 'until', 'unusual', 'unveil', 'update', 'upgrade', 'uphold', 'upon',
|
|
247
|
+
'upper', 'upset', 'urban', 'urge', 'usage', 'use', 'used', 'useful',
|
|
248
|
+
'useless', 'usual', 'utility', 'vacant', 'vacuum', 'vague', 'valid', 'valley',
|
|
249
|
+
'valve', 'van', 'vanish', 'vapor', 'various', 'vast', 'vault', 'vehicle',
|
|
250
|
+
'velvet', 'vendor', 'venture', 'venue', 'verb', 'verify', 'version', 'very',
|
|
251
|
+
'vessel', 'veteran', 'viable', 'vibrant', 'vicious', 'victory', 'video', 'view',
|
|
252
|
+
'village', 'vintage', 'violin', 'virtual', 'virus', 'visa', 'visit', 'visual',
|
|
253
|
+
'vital', 'vivid', 'vocal', 'voice', 'void', 'volcano', 'volume', 'vote',
|
|
254
|
+
'voyage', 'wage', 'wagon', 'wait', 'walk', 'wall', 'walnut', 'want',
|
|
255
|
+
'warfare', 'warm', 'warrior', 'wash', 'wasp', 'waste', 'water', 'wave',
|
|
256
|
+
'way', 'wealth', 'weapon', 'wear', 'weasel', 'weather', 'web', 'wedding',
|
|
257
|
+
'weekend', 'weird', 'welcome', 'west', 'wet', 'whale', 'what', 'wheat',
|
|
258
|
+
'wheel', 'when', 'where', 'whip', 'whisper', 'wide', 'width', 'wife',
|
|
259
|
+
'wild', 'will', 'win', 'window', 'wine', 'wing', 'wink', 'winner',
|
|
260
|
+
'winter', 'wire', 'wisdom', 'wise', 'wish', 'witness', 'wolf', 'woman',
|
|
261
|
+
'wonder', 'wood', 'wool', 'word', 'work', 'world', 'worry', 'worth',
|
|
262
|
+
'wrap', 'wreck', 'wrestle', 'wrist', 'write', 'wrong', 'yard', 'year',
|
|
263
|
+
'yellow', 'you', 'young', 'youth', 'zebra', 'zero', 'zone', 'zoo',
|
|
264
|
+
]);
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* index.ts — 公開 API barrel。
|
|
3
|
+
*
|
|
4
|
+
* 客戶端原語(WebCrypto;Argon2id 瀏覽器載體見 argon2.ts 檔頭 setArgonLoader):
|
|
5
|
+
*/
|
|
6
|
+
export { makeHeldKey, generateNoteKey, encryptNote, decryptNote, encryptAttach, decryptAttach, encryptLocal, decryptLocal, wrapNoteKey, unwrapNoteKey, wrapNoteKeyWithRecToken, unwrapNoteKeyWithRecToken, wrapNoteKeyDual, unwrapNoteKeyDual, storeLocalWrap, clearLocalWrap, buildBindPayload, ph1Of, normalizePin, normalizePassphrase, recTokenHash, generateRecToken, PBKDF2_ITERATIONS, PIN_PBKDF2_ITERATIONS, type NoteCryptoConfig, type IdentityProvider, type HeldKey, } from './client/note-crypto.ts';
|
|
7
|
+
export { setArgonLoader, verifyArgonKat, wrapNoteKey3, unwrapNoteKey3, wrapNoteKeyDual3, unwrapNoteKeyDual3, wrapNoteKey4, unwrapNoteKey4, wrapNoteKeyDual4, unwrapNoteKeyDual4, wrapNoteKeyShare3, unwrapNoteKeyShare3, derivePh1Argon, derivePh1ArgonV3, PH1_V2_SALT, PH1_V3_SALT, ARGON_MEMORY_KIB, ARGON_ITERATIONS, ARGON_PARALLELISM, ARGON_TAG_LEN, type Argon3Config, } from './client/argon2.ts';
|
|
8
|
+
export { wrapNoteKeyPinLock, unwrapNoteKeyPinLock, PINLOCK_ITERATIONS, type PinLockConfig, } from './client/pinlock.ts';
|
|
9
|
+
export { generateBip39Words, wordsToRecToken, recTokenToWords, spotCheckIndexes, } from './client/bip39.ts';
|
|
10
|
+
export { makeKeyStore, type KeyStore, type KeyStoreConfig } from './client/keys.ts';
|
|
11
|
+
export { wordlist } from './client/wordlist.ts';
|
|
12
|
+
/** 伺服器端原語(Cloudflare Workers + D1)。 */
|
|
13
|
+
export { makeInboundCipher, isCipherFor, validWrappedKey, validHash64, validSalt, pickKeyPackage, loginRouteCore, errResponse, AUTH_RATE, type AuthRow, type AuthStore, type CipherFormats, type KeyPackage, } from './server/auth.ts';
|
|
14
|
+
export { checkRate, type RateWindow } from './server/ratelimit.ts';
|
|
15
|
+
export { corsResponse, CORS_HEADERS } from './server/cors.ts';
|
|
16
|
+
export { sha256Hex, hashString, generateSessionToken, timingSafeEq, } from './server/hash.ts';
|
|
17
|
+
export type { Env } from './server/env.ts';
|
|
18
|
+
export { PH2_LADDER_TABLE, PH2_LADDER_KIND_LEGACY, PH2_LADDER_KIND_V2, type Ph2LadderKind, type Ph2LadderRow, } from './server/ladder.ts';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* index.ts — 公開 API barrel。
|
|
3
|
+
*
|
|
4
|
+
* 客戶端原語(WebCrypto;Argon2id 瀏覽器載體見 argon2.ts 檔頭 setArgonLoader):
|
|
5
|
+
*/
|
|
6
|
+
export { makeHeldKey, generateNoteKey, encryptNote, decryptNote, encryptAttach, decryptAttach, encryptLocal, decryptLocal, wrapNoteKey, unwrapNoteKey, wrapNoteKeyWithRecToken, unwrapNoteKeyWithRecToken, wrapNoteKeyDual, unwrapNoteKeyDual, storeLocalWrap, clearLocalWrap, buildBindPayload, ph1Of, normalizePin, normalizePassphrase, recTokenHash, generateRecToken, PBKDF2_ITERATIONS, PIN_PBKDF2_ITERATIONS, } from './client/note-crypto.js';
|
|
7
|
+
export { setArgonLoader, verifyArgonKat, wrapNoteKey3, unwrapNoteKey3, wrapNoteKeyDual3, unwrapNoteKeyDual3, wrapNoteKey4, unwrapNoteKey4, wrapNoteKeyDual4, unwrapNoteKeyDual4, wrapNoteKeyShare3, unwrapNoteKeyShare3, derivePh1Argon, derivePh1ArgonV3, PH1_V2_SALT, PH1_V3_SALT, ARGON_MEMORY_KIB, ARGON_ITERATIONS, ARGON_PARALLELISM, ARGON_TAG_LEN, } from './client/argon2.js';
|
|
8
|
+
export { wrapNoteKeyPinLock, unwrapNoteKeyPinLock, PINLOCK_ITERATIONS, } from './client/pinlock.js';
|
|
9
|
+
export { generateBip39Words, wordsToRecToken, recTokenToWords, spotCheckIndexes, } from './client/bip39.js';
|
|
10
|
+
export { makeKeyStore } from './client/keys.js';
|
|
11
|
+
export { wordlist } from './client/wordlist.js';
|
|
12
|
+
/** 伺服器端原語(Cloudflare Workers + D1)。 */
|
|
13
|
+
export { makeInboundCipher, isCipherFor, validWrappedKey, validHash64, validSalt, pickKeyPackage, loginRouteCore, errResponse, AUTH_RATE, } from './server/auth.js';
|
|
14
|
+
export { checkRate } from './server/ratelimit.js';
|
|
15
|
+
export { corsResponse, CORS_HEADERS } from './server/cors.js';
|
|
16
|
+
export { sha256Hex, hashString, generateSessionToken, timingSafeEq, } from './server/hash.js';
|
|
17
|
+
export { PH2_LADDER_TABLE, PH2_LADDER_KIND_LEGACY, PH2_LADDER_KIND_V2, } from './server/ladder.js';
|