@tacet-ink/journal-core 0.3.0 → 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 +5 -4
- 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 +4 -3
- package/dist/client/argon2.js +4 -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/package.json +9 -2
- package/scripts/verify-core-crypto.ts +325 -7
- 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+AhBACACKQNwIAEpA3CFNwOACUEAIAIpA3ggASkDeIU3A4gJQQAgAikDgAEgASkDgAGFNwOQCUEAIAIpA4gBIAEpA4gBhTcDmAlBACACKQOQASABKQOQAYU3A6AJQQAgAikDmAEgASkDmAGFNwOoCUEAIAIpA6ABIAEpA6ABhTcDsAlBACACKQOoASABKQOoAYU3A7gJQQAgAikDsAEgASkDsAGFNwPACUEAIAIpA7gBIAEpA7gBhTcDyAlBACACKQPAASABKQPAAYU3A9AJQQAgAikDyAEgASkDyAGFNwPYCUEAIAIpA9ABIAEpA9ABhTcD4AlBACACKQPYASABKQPYAYU3A+gJQQAgAikD4AEgASkD4AGFNwPwCUEAIAIpA+gBIAEpA+gBhTcD+AlBACACKQPwASABKQPwAYU3A4AKQQAgAikD+AEgASkD+AGFNwOICkEAIAIpA4ACIAEpA4AChTcDkApBACACKQOIAiABKQOIAoU3A5gKQQAgAikDkAIgASkDkAKFNwOgCkEAIAIpA5gCIAEpA5gChTcDqApBACACKQOgAiABKQOgAoU3A7AKQQAgAikDqAIgASkDqAKFNwO4CkEAIAIpA7ACIAEpA7AChTcDwApBACACKQO4AiABKQO4AoU3A8gKQQAgAikDwAIgASkDwAKFNwPQCkEAIAIpA8gCIAEpA8gChTcD2ApBACACKQPQAiABKQPQAoU3A+AKQQAgAikD2AIgASkD2AKFNwPoCkEAIAIpA+ACIAEpA+AChTcD8ApBACACKQPoAiABKQPoAoU3A/gKQQAgAikD8AIgASkD8AKFNwOAC0EAIAIpA/gCIAEpA/gChTcDiAtBACACKQOAAyABKQOAA4U3A5ALQQAgAikDiAMgASkDiAOFNwOYC0EAIAIpA5ADIAEpA5ADhTcDoAtBACACKQOYAyABKQOYA4U3A6gLQQAgAikDoAMgASkDoAOFNwOwC0EAIAIpA6gDIAEpA6gDhTcDuAtBACACKQOwAyABKQOwA4U3A8ALQQAgAikDuAMgASkDuAOFNwPIC0EAIAIpA8ADIAEpA8ADhTcD0AtBACACKQPIAyABKQPIA4U3A9gLQQAgAikD0AMgASkD0AOFNwPgC0EAIAIpA9gDIAEpA9gDhTcD6AtBACACKQPgAyABKQPgA4U3A/ALQQAgAikD6AMgASkD6AOFNwP4C0EAIAIpA/ADIAEpA/ADhTcDgAxBACACKQP4AyABKQP4A4U3A4gMQQAgAikDgAQgASkDgASFNwOQDEEAIAIpA4gEIAEpA4gEhTcDmAxBACACKQOQBCABKQOQBIU3A6AMQQAgAikDmAQgASkDmASFNwOoDEEAIAIpA6AEIAEpA6AEhTcDsAxBACACKQOoBCABKQOoBIU3A7gMQQAgAikDsAQgASkDsASFNwPADEEAIAIpA7gEIAEpA7gEhTcDyAxBACACKQPABCABKQPABIU3A9AMQQAgAikDyAQgASkDyASFNwPYDEEAIAIpA9AEIAEpA9AEhTcD4AxBACACKQPYBCABKQPYBIU3A+gMQQAgAikD4AQgASkD4ASFNwPwDEEAIAIpA+gEIAEpA+gEhTcD+AxBACACKQPwBCABKQPwBIU3A4ANQQAgAikD+AQgASkD+ASFNwOIDUEAIAIpA4AFIAEpA4AFhTcDkA1BACACKQOIBSABKQOIBYU3A5gNQQAgAikDkAUgASkDkAWFNwOgDUEAIAIpA5gFIAEpA5gFhTcDqA1BACACKQOgBSABKQOgBYU3A7ANQQAgAikDqAUgASkDqAWFNwO4DUEAIAIpA7AFIAEpA7AFhTcDwA1BACACKQO4BSABKQO4BYU3A8gNQQAgAikDwAUgASkDwAWFNwPQDUEAIAIpA8gFIAEpA8gFhTcD2A1BACACKQPQBSABKQPQBYU3A+ANQQAgAikD2AUgASkD2AWFNwPoDUEAIAIpA+AFIAEpA+AFhTcD8A1BACACKQPoBSABKQPoBYU3A/gNQQAgAikD8AUgASkD8AWFNwOADkEAIAIpA/gFIAEpA/gFhTcDiA5BACACKQOABiABKQOABoU3A5AOQQAgAikDiAYgASkDiAaFNwOYDkEAIAIpA5AGIAEpA5AGhTcDoA5BACACKQOYBiABKQOYBoU3A6gOQQAgAikDoAYgASkDoAaFNwOwDkEAIAIpA6gGIAEpA6gGhTcDuA5BACACKQOwBiABKQOwBoU3A8AOQQAgAikDuAYgASkDuAaFNwPIDkEAIAIpA8AGIAEpA8AGhTcD0A5BACACKQPIBiABKQPIBoU3A9gOQQAgAikD0AYgASkD0AaFNwPgDkEAIAIpA9gGIAEpA9gGhTcD6A5BACACKQPgBiABKQPgBoU3A/AOQQAgAikD6AYgASkD6AaFNwP4DkEAIAIpA/AGIAEpA/AGhTcDgA9BACACKQP4BiABKQP4BoU3A4gPQQAgAikDgAcgASkDgAeFNwOQD0EAIAIpA4gHIAEpA4gHhTcDmA9BACACKQOQByABKQOQB4U3A6APQQAgAikDmAcgASkDmAeFNwOoD0EAIAIpA6AHIAEpA6AHhTcDsA9BACACKQOoByABKQOoB4U3A7gPQQAgAikDsAcgASkDsAeFNwPAD0EAIAIpA7gHIAEpA7gHhTcDyA9BACACKQPAByABKQPAB4U3A9APQQAgAikDyAcgASkDyAeFNwPYD0EAIAIpA9AHIAEpA9AHhTcD4A9BACACKQPYByABKQPYB4U3A+gPQQAgAikD4AcgASkD4AeFNwPwD0EAIAIpA+gHIAEpA+gHhTcD+A9BACACKQPwByABKQPwB4U3A4AQQQAgAikD+AcgASkD+AeFNwOIEEGQCEGYCEGgCEGoCEGwCEG4CEHACEHICEHQCEHYCEHgCEHoCEHwCEH4CEGACUGICRACQZAJQZgJQaAJQagJQbAJQbgJQcAJQcgJQdAJQdgJQeAJQegJQfAJQfgJQYAKQYgKEAJBkApBmApBoApBqApBsApBuApBwApByApB0ApB2ApB4ApB6ApB8ApB+ApBgAtBiAsQAkGQC0GYC0GgC0GoC0GwC0G4C0HAC0HIC0HQC0HYC0HgC0HoC0HwC0H4C0GADEGIDBACQZAMQZgMQaAMQagMQbAMQbgMQcAMQcgMQdAMQdgMQeAMQegMQfAMQfgMQYANQYgNEAJBkA1BmA1BoA1BqA1BsA1BuA1BwA1ByA1B0A1B2A1B4A1B6A1B8A1B+A1BgA5BiA4QAkGQDkGYDkGgDkGoDkGwDkG4DkHADkHIDkHQDkHYDkHgDkHoDkHwDkH4DkGAD0GIDxACQZAPQZgPQaAPQagPQbAPQbgPQcAPQcgPQdAPQdgPQeAPQegPQfAPQfgPQYAQQYgQEAJBkAhBmAhBkAlBmAlBkApBmApBkAtBmAtBkAxBmAxBkA1BmA1BkA5BmA5BkA9BmA8QAkGgCEGoCEGgCUGoCUGgCkGoCkGgC0GoC0GgDEGoDEGgDUGoDUGgDkGoDkGgD0GoDxACQbAIQbgIQbAJQbgJQbAKQbgKQbALQbgLQbAMQbgMQbANQbgNQbAOQbgOQbAPQbgPEAJBwAhByAhBwAlByAlBwApByApBwAtByAtBwAxByAxBwA1ByA1BwA5ByA5BwA9ByA8QAkHQCEHYCEHQCUHYCUHQCkHYCkHQC0HYC0HQDEHYDEHQDUHYDUHQDkHYDkHQD0HYDxACQeAIQegIQeAJQegJQeAKQegKQeALQegLQeAMQegMQeANQegNQeAOQegOQeAPQegPEAJB8AhB+AhB8AlB+AlB8ApB+ApB8AtB+AtB8AxB+AxB8A1B+A1B8A5B+A5B8A9B+A8QAkGACUGICUGACkGICkGAC0GIC0GADEGIDEGADUGIDUGADkGIDkGAD0GID0GAEEGIEBACAkACQCADRQ0AA0AgACAEaiIDIAIgBGoiBSkDACABIARqIgYpAwCFIARBkAhqKQMAhSADKQMAhTcDACADQQhqIgMgBUEIaikDACAGQQhqKQMAhSAEQZgIaikDAIUgAykDAIU3AwAgBEEQaiIEQYAIRw0ADAILC0EAIQQDQCAAIARqIgMgAiAEaiIFKQMAIAEgBGoiBikDAIUgBEGQCGopAwCFNwMAIANBCGogBUEIaikDACAGQQhqKQMAhSAEQZgIaikDAIU3AwAgBEEQaiIEQYAIRw0ACwsL5QcMBX8BfgR/An4BfwF+AX8Bfgd/AX4DfwF+AkBBACgCgAgiAiABQQp0aiIDKAIIIAFHDQAgAygCDCEEIAMoAgAhBUEAIAMoAhQiBq03A7gQQQAgBK0iBzcDsBBBACAFIAEgBUECdG4iCGwiCUECdK03A6gQAkACQAJAAkAgBEUNAEF/IQogBUUNASAIQQNsIQsgCEECdCIErSEMIAWtIQ0gBkF/akECSSEOQgAhDwNAQQAgDzcDkBAgD6chEEIAIRFBACEBA0BBACARNwOgECAPIBGEUCIDIA5xIRIgBkEBRiAPUCITIAZBAkYgEUICVHFxciEUQX8gAUEBakEDcSAIbEF/aiATGyEVIAEgEHIhFiABIAhsIRcgA0EBdCEYQgAhGQNAQQBCADcDwBBBACAZNwOYECAYIQECQCASRQ0AQQBCATcDwBBBkBhBkBBBkCBBABADQZAYQZAYQZAgQQAQA0ECIQELAkAgASAITw0AIAQgGaciGmwgF2ogAWohAwNAIANBACAEIAEbQQAgEVAiGxtqQX9qIRwCQAJAIBQNAEEAKAKACCICIBxBCnQiHGohCgwBCwJAIAFB/wBxIgINAEEAQQApA8AQQgF8NwPAEEGQGEGQEEGQIEEAEANBkBhBkBhBkCBBABADCyAcQQp0IRwgAkEDdEGQGGohCkEAKAKACCECCyACIANBCnRqIAIgHGogAiAKKQMAIh1CIIinIAVwIBogFhsiHCAEbCABIAFBACAZIBytUSIcGyIKIBsbIBdqIAogC2ogExsgAUUgHHJrIhsgFWqtIB1C/////w+DIh0gHX5CIIggG61+QiCIfSAMgqdqQQp0akEBEAMgA0EBaiEDIAggAUEBaiIBRw0ACwsgGUIBfCIZIA1SDQALIBFCAXwiEachASARQgRSDQALIA9CAXwiDyAHUg0AC0EAKAKACCECCyAJQQx0QYB4aiEXIAVBf2oiCkUNAgwBC0EAQgM3A6AQQQAgBEF/aq03A5AQQYB4IRcLIAIgF2ohGyAIQQx0IQhBACEcA0AgCCAcQQFqIhxsQYB4aiEEQQAhAQNAIBsgAWoiAyADKQMAIAIgBCABamopAwCFNwMAIANBCGoiAyADKQMAIAIgBCABQQhyamopAwCFNwMAIAFBCGohAyABQRBqIQEgA0H4B0kNAAsgHCAKRw0ACwsgAiAXaiEbQXghAQNAIAIgAWoiA0EIaiAbIAFqIgRBCGopAwA3AwAgA0EQaiAEQRBqKQMANwMAIANBGGogBEEYaikDADcDACADQSBqIARBIGopAwA3AwAgAUEgaiIBQfgHSQ0ACwsL", 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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacet-ink/journal-core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Zero-knowledge journal core — e2e crypto, passphrase-only auth, transport, ratelimit. The server never sees plaintext.",
|
|
5
5
|
"homepage": "https://tacet.ink",
|
|
6
6
|
"repository": {
|
|
@@ -57,6 +57,10 @@
|
|
|
57
57
|
"types": "./dist/client/wordlist.d.ts",
|
|
58
58
|
"default": "./dist/client/wordlist.js"
|
|
59
59
|
},
|
|
60
|
+
"./client/vault": {
|
|
61
|
+
"types": "./dist/client/vault.d.ts",
|
|
62
|
+
"default": "./dist/client/vault.js"
|
|
63
|
+
},
|
|
60
64
|
"./server/auth": {
|
|
61
65
|
"types": "./dist/server/auth.d.ts",
|
|
62
66
|
"default": "./dist/server/auth.js"
|
|
@@ -88,6 +92,7 @@
|
|
|
88
92
|
"src",
|
|
89
93
|
"scripts",
|
|
90
94
|
"!scripts/generate-vectors.ts",
|
|
95
|
+
"!scripts/vendor-hash-wasm.cjs",
|
|
91
96
|
"migrations",
|
|
92
97
|
"README.md",
|
|
93
98
|
"LICENSE"
|
|
@@ -99,11 +104,13 @@
|
|
|
99
104
|
"build": "tsc -p tsconfig.build.json",
|
|
100
105
|
"prepublishOnly": "npm run build",
|
|
101
106
|
"verify": "node --experimental-strip-types scripts/verify-core-crypto.ts",
|
|
102
|
-
"typecheck": "tsc -p ."
|
|
107
|
+
"typecheck": "tsc -p .",
|
|
108
|
+
"vendor:hash-wasm": "node scripts/vendor-hash-wasm.cjs"
|
|
103
109
|
},
|
|
104
110
|
"devDependencies": {
|
|
105
111
|
"@cloudflare/workers-types": "^5.20260831.1",
|
|
106
112
|
"@scure/bip39": "^2.4.0",
|
|
113
|
+
"hash-wasm": "^4.12.0",
|
|
107
114
|
"typescript": "~7.0.2"
|
|
108
115
|
}
|
|
109
116
|
}
|